From 177fbee9f5c38af03668c35775eeef0cfd40007a Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Tue, 26 May 2026 08:21:09 +0100 Subject: [PATCH 001/159] feat(python-native): Rust shim for adaptive Pauli-Lindbladian time evolution Adds a LindbladSpec PyClass that exposes three primitives needed for direct Heisenberg-picture evolution of a generic Pauli Lindbladian (Hermitian Hamiltonian sum + Hermitian Pauli jumps) on an adaptive Pauli-string basis: - action(p): L*(p) for a single Pauli string - leakage(basis, coeffs): off-basis component of L*(Sum c_j p_j) - generator(basis): sparse generator matrix in COO form The hot path stores Pauli words as packed [u8; W] X/Z bit arrays and runs a single fused per-byte multiply that computes both r = h XOR p and the product phase in one pass. Active-site iteration (per-qubit inverted index of which H/jump terms touch each qubit) restricts the inner loop to non-trivially-acting terms; an action cache (DashMap, FxHash) memoises per-input contribution lists; rayon parallelises the basis loops. The numpy boundary takes uint8 code arrays (0=I 1=X 2=Z 3=Y) end-to-end, so the Python driver never builds per-row strings on the hot path. A thin Python wrapper (ppvm.Lindbladian) exposes both ndarray and string-keyed APIs for callers who don't need the ndarray fast path. End-to-end agreement with a pure-Python reference is within 1e-16 in max |Ck|. At L=51, kmax=1, dt=0.2, 20 steps, the shim runs in 17s vs 481s for the pure-Python adaptive driver (~28x), with the action cache and ndarray-native wrapper jointly responsible for the speedup over naive Rust. --- Cargo.lock | 66 +++ crates/ppvm-python-native/Cargo.toml | 4 + crates/ppvm-python-native/src/lib.rs | 5 + crates/ppvm-python-native/src/lindblad.rs | 616 ++++++++++++++++++++++ ppvm-python/src/ppvm/__init__.py | 1 + ppvm-python/src/ppvm/lindblad.py | 184 +++++++ 6 files changed, 876 insertions(+) create mode 100644 crates/ppvm-python-native/src/lindblad.rs create mode 100644 ppvm-python/src/ppvm/lindblad.py diff --git a/Cargo.lock b/Cargo.lock index ca746529..9be38954 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -669,6 +669,16 @@ version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +[[package]] +name = "matrixmultiply" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "memchr" version = "2.7.6" @@ -684,6 +694,21 @@ dependencies = [ "autocfg", ] +[[package]] +name = "ndarray" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "portable-atomic", + "portable-atomic-util", + "rawpointer", +] + [[package]] name = "num" version = "0.4.3" @@ -757,6 +782,22 @@ dependencies = [ "autocfg", ] +[[package]] +name = "numpy" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aac2e6a6e4468ffa092ad43c39b81c79196c2bb773b8db4085f695efe3bba17" +dependencies = [ + "libc", + "ndarray", + "num-complex", + "num-integer", + "num-traits", + "pyo3", + "pyo3-build-config", + "rustc-hash", +] + [[package]] name = "object" version = "0.37.3" @@ -831,6 +872,15 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +[[package]] +name = "portable-atomic-util" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +dependencies = [ + "portable-atomic", +] + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -856,12 +906,16 @@ name = "ppvm-python-native" version = "0.1.0" dependencies = [ "bnum", + "dashmap", + "fxhash", "num", + "numpy", "paste", "ppvm-runtime", "ppvm-stim", "ppvm-tableau", "pyo3", + "rayon", ] [[package]] @@ -1128,6 +1182,12 @@ dependencies = [ "rand_core 0.9.5", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.11.0" @@ -1203,6 +1263,12 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +[[package]] +name = "rustc-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" + [[package]] name = "rustix" version = "1.1.2" diff --git a/crates/ppvm-python-native/Cargo.toml b/crates/ppvm-python-native/Cargo.toml index ce22f3de..a4cf4108 100644 --- a/crates/ppvm-python-native/Cargo.toml +++ b/crates/ppvm-python-native/Cargo.toml @@ -10,9 +10,13 @@ crate-type = ["cdylib"] [dependencies] bnum = "0.13.0" +dashmap = "6.1.0" +fxhash = "0.2.1" num = "0.4.3" +numpy = "0.27" paste = "1.0.15" ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } ppvm-stim = { version = "0.1.0", path = "../ppvm-stim" } ppvm-tableau = { version = "0.1.0", path = "../ppvm-tableau" } pyo3 = { version = "0.27.0", features = ["multiple-pymethods"] } +rayon = "1.11" diff --git a/crates/ppvm-python-native/src/lib.rs b/crates/ppvm-python-native/src/lib.rs index 8924db9d..9fd26899 100644 --- a/crates/ppvm-python-native/src/lib.rs +++ b/crates/ppvm-python-native/src/lib.rs @@ -5,6 +5,7 @@ use pyo3::prelude::*; pub mod interface; pub mod interface_tableau; +pub mod lindblad; pub mod stim_program; #[pymodule] @@ -148,4 +149,8 @@ pub mod ppvm_python_native { // Stim #[pymodule_export] pub use crate::stim_program::PyStimProgram; + + // Lindbladian time evolution shim + #[pymodule_export] + pub use crate::lindblad::LindbladSpec; } diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs new file mode 100644 index 00000000..1a394c06 --- /dev/null +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -0,0 +1,616 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Rust shim for direct Pauli-Lindbladian time evolution on an adaptive +//! Pauli-string basis. See `xy-experiments/main_k_adaptive.py` for the +//! Python driver that owns the linear algebra and basis adaptation. +//! +//! Given a Hermitian Pauli Hamiltonian `H = Σ c_i P_i` and Hermitian Pauli +//! jump operators `L_k` with rates `γ_k ≥ 0`, the adjoint Lindbladian acts +//! on an operator `p` (a single Pauli string) as +//! +//! ```text +//! L*(p) = i Σ_i c_i [P_i, p] + Σ_k γ_k (L_k p L_k − p). +//! ``` +//! +//! For Hermitian Pauli `P` and Hermitian Pauli `p`, the product `P · p` has +//! a phase in `{±1, ±i}`. Real phase ⇔ commute (no contribution to the +//! commutator); imaginary phase ⇔ anti-commute, in which case +//! `[P, p] = 2 P p` and `i · 2 P p ∈ {+2 r, −2 r}` where `r = P ⊕ p` (xz +//! bits XORed). Hermitian Pauli jumps give `L p L = ±p`: the anti-commuting +//! case contributes `−2 γ_k · p` (diagonal). +//! +//! The hot path bypasses the higher-level `PauliWord` / `PhasedPauliWord` +//! types because their `set()`/`rehash()` calls dominate when this code is +//! invoked O(10^5) times per evolution step. Each Pauli string is held as +//! a packed pair of bit arrays (`[u8; W]` for X-bits and `[u8; W]` for +//! Z-bits) and we run a single fused multiply that produces both the +//! product phase and the XOR'd output in one byte-level pass. + +use dashmap::DashMap; +use fxhash::{FxBuildHasher, FxHashMap}; +use numpy::{IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, PyReadonlyArray2}; +use pyo3::{exceptions::PyValueError, prelude::*}; +use rayon::prelude::*; + +/// Bytes per X / Z bit array. 16 bytes = 128 bits, covers up to 128 qubits. +const W: usize = 16; + +/// Packed key: first `W` bytes are the X-bit array, next `W` bytes are the +/// Z-bit array. Equality and hashing are over the 32 raw bytes. +#[derive(Clone, Copy, PartialEq, Eq, Hash)] +struct Word { + x: [u8; W], + z: [u8; W], +} + +impl Word { + #[inline(always)] + fn zero() -> Self { + Self { + x: [0; W], + z: [0; W], + } + } +} + +/// Parsed Hamiltonian or jump term: the packed Pauli word and its real +/// coefficient (or rate, for a jump). +#[derive(Clone)] +struct Term { + word: Word, + coeff: f64, +} + +/// `(out_basis, out_coeffs)` — packed Pauli rows + their real coefficients. +type PyPauliMap<'py> = (Bound<'py, PyArray2>, Bound<'py, PyArray1>); +/// `(rows, cols, vals)` — COO triplets for a real sparse matrix. +type PyCoo<'py> = ( + Bound<'py, PyArray1>, + Bound<'py, PyArray1>, + Bound<'py, PyArray1>, +); + +/// Precompiled Lindbladian. Constructed once from string-form Hamiltonian +/// terms + jump operators; reused across many calls to `action`, +/// `leakage`, `generator`. +/// +/// `action_cache` memoises the per-input contribution list, the Rust +/// analogue of the `@lru_cache(None)` in the original Python driver. +/// Without it, every `leakage`/`generator` call re-derives the same +/// `L*(p)` from scratch for the same Pauli strings. +#[pyclass] +pub struct LindbladSpec { + n_qubits: usize, + h_terms: Vec, + j_terms: Vec, + /// `h_support[q]` = indices of Hamiltonian terms acting on qubit `q`. + h_support: Vec>, + /// `j_support[q]` = indices of jump operators acting on qubit `q`. + j_support: Vec>, + /// `action_cache[p]` = unscaled list of `(output_word, contribution)` + /// pairs from `L*(p)` excluding the input coefficient. Callers + /// multiply through by `scale` at the use site. + action_cache: DashMap, FxBuildHasher>, +} + +// ────────────────── codec helpers ────────────────── + +/// Set qubit `q` of `w` to the Pauli encoded by code `b ∈ {0,1,2,3}`. +/// 0 = I, 1 = X, 2 = Z, 3 = Y. (Bit layout: x = b & 1, z = (b >> 1) & 1.) +#[inline(always)] +fn set_code(w: &mut Word, q: usize, b: u8) { + let byte = q >> 3; + let mask = 1u8 << (q & 7); + if b & 1 != 0 { + w.x[byte] |= mask; + } + if b & 2 != 0 { + w.z[byte] |= mask; + } +} + +/// Inverse of `set_code`: read qubit `q` of `w` and return the Pauli code. +#[inline(always)] +fn get_code(w: &Word, q: usize) -> u8 { + let byte = q >> 3; + let mask = 1u8 << (q & 7); + let xb = ((w.x[byte] & mask) != 0) as u8; + let zb = ((w.z[byte] & mask) != 0) as u8; + xb | (zb << 1) +} + +/// Decode a row of `n_qubits` Pauli codes into a `Word`. +fn word_from_codes(codes: &[u8], n_qubits: usize) -> PyResult { + if codes.len() != n_qubits { + return Err(PyValueError::new_err(format!( + "Expected {n_qubits} Pauli codes per row, got {}", + codes.len() + ))); + } + let mut w = Word::zero(); + for (q, &b) in codes.iter().enumerate() { + if b > 3 { + return Err(PyValueError::new_err(format!( + "Pauli code must be 0 (I), 1 (X), 2 (Z), or 3 (Y); got {b}" + ))); + } + if b != 0 { + set_code(&mut w, q, b); + } + } + Ok(w) +} + +/// Write `w` into `out` as `n_qubits` Pauli codes (one byte each). +fn codes_from_word(w: &Word, n_qubits: usize, out: &mut [u8]) { + debug_assert_eq!(out.len(), n_qubits); + for (q, slot) in out.iter_mut().take(n_qubits).enumerate() { + *slot = get_code(w, q); + } +} + +/// Parse a string `"IXYZ..."` into a `Word` and the list of qubits where +/// the Pauli is non-identity (the term's support). +fn parse_term(s: &str, n_qubits: usize) -> PyResult<(Word, Vec)> { + let chars: Vec = s.chars().filter(|c| *c != '_').collect(); + if chars.len() != n_qubits { + return Err(PyValueError::new_err(format!( + "Pauli string \"{s}\" has length {} but n_qubits = {n_qubits}", + chars.len() + ))); + } + if n_qubits > 8 * W { + return Err(PyValueError::new_err(format!( + "LindbladSpec supports n_qubits ≤ {}; got {n_qubits}", + 8 * W + ))); + } + let mut word = Word::zero(); + let mut support: Vec = Vec::new(); + for (q, c) in chars.into_iter().enumerate() { + let code: u8 = match c { + 'I' => 0, + 'X' => 1, + 'Z' => 2, + 'Y' => 3, + other => { + return Err(PyValueError::new_err(format!( + "Invalid Pauli character '{other}' in \"{s}\"" + ))); + } + }; + if code != 0 { + set_code(&mut word, q, code); + support.push(q as u32); + } + } + Ok((word, support)) +} + +// ────────────────── algebra helpers ────────────────── + +/// `true` if Pauli words `a` and `b` anti-commute. +/// +/// Two Pauli strings anti-commute iff +/// `popcount(a.x & b.z) + popcount(a.z & b.x)` is odd. +#[inline(always)] +fn anti_commutes(a: &Word, b: &Word) -> bool { + let mut bits: u32 = 0; + for i in 0..W { + bits += (a.x[i] & b.z[i]).count_ones(); + bits += (a.z[i] & b.x[i]).count_ones(); + } + bits & 1 == 1 +} + +/// Fused product `h · p`: returns `(out, eps)` where `out.x = h.x ^ p.x`, +/// `out.z = h.z ^ p.z`, and +/// +/// - `eps = 0` if `h` and `p` commute (caller should skip — `[h,p] = 0`), +/// - `eps = -2.0` if `h·p` has phase `+i` (so `i·[h,p] = -2·out`), +/// - `eps = +2.0` if `h·p` has phase `-i` (so `i·[h,p] = +2·out`). +/// +/// Phase = `(2·sign_count + imag_count) mod 4`, where the per-byte XOR/AND +/// formulas are the same ones used by `PhasedPauliWord::mul_assign`. +#[inline(always)] +fn comm_product(h: &Word, p: &Word) -> (Word, f64) { + let mut out = Word::zero(); + let mut sign_count: u32 = 0; + let mut imag_count: u32 = 0; + for i in 0..W { + let a = h.x[i]; + let b = h.z[i]; + let c = p.x[i]; + let d = p.z[i]; + let sign = (a & b & c & !d) | (a & !b & !c & d) | (!a & b & c & d); + let imag = (a & !b & d) | (a & !c & d) | (!a & b & c) | (b & c & !d); + sign_count += sign.count_ones(); + imag_count += imag.count_ones(); + out.x[i] = a ^ c; + out.z[i] = b ^ d; + } + let phase = (2 * sign_count + imag_count) & 3; + let eps = match phase { + 1 => -2.0, + 3 => 2.0, + _ => 0.0, + }; + (out, eps) +} + +/// Union of `index[q]` for each `q ∈ p_support`, deduped. +#[inline] +fn candidate_terms(p_support: &[u32], index: &[Vec], scratch: &mut Vec) { + scratch.clear(); + for &q in p_support { + scratch.extend_from_slice(&index[q as usize]); + } + scratch.sort_unstable(); + scratch.dedup(); +} + +/// Find qubits where `p` is non-identity (the support of `p`). +#[inline] +fn word_support(p: &Word, n_qubits: usize, out: &mut Vec) { + out.clear(); + for q in 0..n_qubits { + let byte = q >> 3; + let mask = 1u8 << (q & 7); + if (p.x[byte] | p.z[byte]) & mask != 0 { + out.push(q as u32); + } + } +} + +/// Compute the unscaled list of `(output, coefficient)` pairs that +/// `L*(p)` would contribute, without the input coefficient. Used by +/// `cached_action` to populate the cache. The scratch buffers are +/// allocated by the caller so this is allocation-light per p. +fn compute_action_terms( + spec: &LindbladSpec, + p: &Word, + scratch_support: &mut Vec, + scratch_cands: &mut Vec, +) -> Vec<(Word, f64)> { + word_support(p, spec.n_qubits, scratch_support); + // Aggregate within a small local map; for typical action sizes the + // overhead of FxHashMap is dwarfed by the dedup it provides. + let mut local: FxHashMap = FxHashMap::default(); + + // Hamiltonian (off-diagonal) terms + candidate_terms(scratch_support, &spec.h_support, scratch_cands); + for &i in scratch_cands.iter() { + let h = &spec.h_terms[i as usize]; + let (r, eps) = comm_product(&h.word, p); + if eps != 0.0 { + *local.entry(r).or_insert(0.0) += h.coeff * eps; + } + } + + // Jump (diagonal) terms — single diagonal entry on `p`. + candidate_terms(scratch_support, &spec.j_support, scratch_cands); + let mut diag: f64 = 0.0; + for &k in scratch_cands.iter() { + let j = &spec.j_terms[k as usize]; + if anti_commutes(&j.word, p) { + diag += -2.0 * j.coeff; + } + } + if diag != 0.0 { + *local.entry(*p).or_insert(0.0) += diag; + } + + local.into_iter().collect() +} + +/// Accumulate `scale · L*(p)` into `out`, hitting the cache when warm. +fn accumulate_action( + spec: &LindbladSpec, + p: &Word, + scale: f64, + out: &mut FxHashMap, + scratch_support: &mut Vec, + scratch_cands: &mut Vec, +) { + if let Some(r) = spec.action_cache.get(p) { + for (w, c) in r.value().iter() { + *out.entry(*w).or_insert(0.0) += scale * c; + } + return; + } + // Compute, install in cache, and accumulate. + let terms = compute_action_terms(spec, p, scratch_support, scratch_cands); + for (w, c) in terms.iter() { + *out.entry(*w).or_insert(0.0) += scale * c; + } + // If a concurrent task raced and inserted first, the recomputed + // value is identical so the overwrite is harmless. + spec.action_cache.insert(*p, terms); +} + +/// Decode a `(N, n_qubits)` uint8 ndarray view into `N` packed `Word`s. +fn decode_basis(view: &numpy::ndarray::ArrayView2, n_qubits: usize) -> PyResult> { + let n_basis = view.shape()[0]; + let mut out: Vec = Vec::with_capacity(n_basis); + for i in 0..n_basis { + let row = view.row(i); + let mut w = Word::zero(); + for q in 0..n_qubits { + let b = row[q]; + if b > 3 { + return Err(PyValueError::new_err(format!( + "Pauli code must be 0-3; got {b} at row {i}, col {q}" + ))); + } + if b != 0 { + set_code(&mut w, q, b); + } + } + out.push(w); + } + Ok(out) +} + +// ────────────────── PyClass ────────────────── + +#[pymethods] +impl LindbladSpec { + #[new] + #[pyo3(signature = (n_qubits, h_terms, h_coeffs, jump_terms, jump_rates))] + fn new( + n_qubits: usize, + h_terms: Vec, + h_coeffs: Vec, + jump_terms: Vec, + jump_rates: Vec, + ) -> PyResult { + if n_qubits > 8 * W { + return Err(PyValueError::new_err(format!( + "LindbladSpec supports n_qubits ≤ {}; got {n_qubits}", + 8 * W + ))); + } + if h_terms.len() != h_coeffs.len() { + return Err(PyValueError::new_err( + "h_terms and h_coeffs must have the same length", + )); + } + if jump_terms.len() != jump_rates.len() { + return Err(PyValueError::new_err( + "jump_terms and jump_rates must have the same length", + )); + } + + let mut h: Vec = Vec::with_capacity(h_terms.len()); + let mut h_support_idx: Vec> = vec![Vec::new(); n_qubits]; + for (i, (s, c)) in h_terms.iter().zip(h_coeffs.iter()).enumerate() { + let (word, support) = parse_term(s, n_qubits)?; + for q in support { + h_support_idx[q as usize].push(i as u32); + } + h.push(Term { word, coeff: *c }); + } + + let mut j: Vec = Vec::with_capacity(jump_terms.len()); + let mut j_support_idx: Vec> = vec![Vec::new(); n_qubits]; + for (k, (s, g)) in jump_terms.iter().zip(jump_rates.iter()).enumerate() { + let (word, support) = parse_term(s, n_qubits)?; + for q in support { + j_support_idx[q as usize].push(k as u32); + } + j.push(Term { word, coeff: *g }); + } + + Ok(Self { + n_qubits, + h_terms: h, + j_terms: j, + h_support: h_support_idx, + j_support: j_support_idx, + action_cache: DashMap::with_hasher(FxBuildHasher::default()), + }) + } + + /// Drop all memoised `L*(p)` entries. Useful between independent + /// problems sharing the same spec but acting on disjoint Pauli sets. + fn clear_cache(&self) { + self.action_cache.clear(); + } + + #[getter] + fn cache_size(&self) -> usize { + self.action_cache.len() + } + + #[getter] + fn n_qubits(&self) -> usize { + self.n_qubits + } + + #[getter] + fn num_h_terms(&self) -> usize { + self.h_terms.len() + } + + #[getter] + fn num_jump_terms(&self) -> usize { + self.j_terms.len() + } + + /// Apply `L*` to a single Pauli string `p`. + fn action<'py>( + &self, + py: Python<'py>, + p: PyReadonlyArray1<'py, u8>, + ) -> PyResult> { + let p_slice = p.as_slice()?; + let p_word = word_from_codes(p_slice, self.n_qubits)?; + let mut out: FxHashMap = FxHashMap::default(); + let mut s1 = Vec::new(); + let mut s2 = Vec::new(); + accumulate_action(self, &p_word, 1.0, &mut out, &mut s1, &mut s2); + + let m = out.len(); + let n = self.n_qubits; + let mut basis = vec![0u8; m * n]; + let mut coeffs = vec![0f64; m]; + for (i, (w, c)) in out.into_iter().enumerate() { + codes_from_word(&w, n, &mut basis[i * n..(i + 1) * n]); + coeffs[i] = c; + } + let basis_arr = basis + .into_pyarray(py) + .reshape([m, n]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, coeffs.into_pyarray(py))) + } + + /// Off-basis component of `L*( Σ_j coeffs[j] · basis[j] )`. + /// + /// `basis` is `(N, n_qubits)` uint8 Pauli codes; `coeffs` is length-N + /// float64. Returns `(out_basis, out_coeffs)` with output Paulis NOT + /// in `basis` (and not in `protected`, if given). + #[pyo3(signature = (basis, coeffs, protected = None))] + fn leakage<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, f64>, + protected: Option>, + ) -> PyResult> { + let basis_view = basis.as_array(); + let coeffs_view = coeffs.as_slice()?; + let (n_basis, n_q) = (basis_view.shape()[0], basis_view.shape()[1]); + if n_q != self.n_qubits { + return Err(PyValueError::new_err(format!( + "basis has {n_q} columns but spec.n_qubits = {}", + self.n_qubits + ))); + } + if coeffs_view.len() != n_basis { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {n_basis} rows", + coeffs_view.len() + ))); + } + + let basis_words = decode_basis(&basis_view, self.n_qubits)?; + let in_basis: FxHashMap = basis_words.iter().map(|w| (*w, ())).collect(); + + let protected_set: FxHashMap = if let Some(ref prot) = protected { + let pv = prot.as_array(); + if pv.shape()[1] != self.n_qubits { + return Err(PyValueError::new_err(format!( + "protected has {} columns but spec.n_qubits = {}", + pv.shape()[1], + self.n_qubits + ))); + } + let words = decode_basis(&pv, self.n_qubits)?; + words.into_iter().map(|w| (w, ())).collect() + } else { + FxHashMap::default() + }; + + let local: Vec> = basis_words + .par_iter() + .zip(coeffs_view.par_iter()) + .map(|(p, &c)| { + let mut m: FxHashMap = FxHashMap::default(); + let mut s1 = Vec::new(); + let mut s2 = Vec::new(); + accumulate_action(self, p, c, &mut m, &mut s1, &mut s2); + m + }) + .collect(); + + let mut merged: FxHashMap = FxHashMap::default(); + for m in local { + for (k, v) in m { + if in_basis.contains_key(&k) || protected_set.contains_key(&k) { + continue; + } + *merged.entry(k).or_insert(0.0) += v; + } + } + + let m = merged.len(); + let n = self.n_qubits; + let mut out_basis = vec![0u8; m * n]; + let mut out_coeffs = vec![0f64; m]; + for (i, (w, c)) in merged.into_iter().enumerate() { + codes_from_word(&w, n, &mut out_basis[i * n..(i + 1) * n]); + out_coeffs[i] = c; + } + let basis_arr = out_basis + .into_pyarray(py) + .reshape([m, n]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, out_coeffs.into_pyarray(py))) + } + + /// Sparse generator matrix in COO form: returns `(rows, cols, vals)` + /// that the caller wraps with scipy. + /// + /// Row index = output Pauli's position in `basis`; col index = input + /// Pauli's position. Output Paulis not in `basis` are silently + /// dropped (handled by `leakage`). + fn generator<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + ) -> PyResult> { + let basis_view = basis.as_array(); + let n_q = basis_view.shape()[1]; + if n_q != self.n_qubits { + return Err(PyValueError::new_err(format!( + "basis has {n_q} columns but spec.n_qubits = {}", + self.n_qubits + ))); + } + + let basis_words = decode_basis(&basis_view, self.n_qubits)?; + let index: FxHashMap = basis_words + .iter() + .enumerate() + .map(|(i, w)| (*w, i as u32)) + .collect(); + + let local: Vec> = basis_words + .par_iter() + .enumerate() + .map(|(col, p)| { + let mut m: FxHashMap = FxHashMap::default(); + let mut s1 = Vec::new(); + let mut s2 = Vec::new(); + accumulate_action(self, p, 1.0, &mut m, &mut s1, &mut s2); + let mut out = Vec::with_capacity(m.len()); + for (w, v) in m { + if let Some(&row) = index.get(&w) { + out.push((row as u64, col as u64, v)); + } + } + out + }) + .collect(); + + let total: usize = local.iter().map(|v| v.len()).sum(); + let mut rows = Vec::with_capacity(total); + let mut cols = Vec::with_capacity(total); + let mut vals = Vec::with_capacity(total); + for trips in local { + for (r, c, v) in trips { + rows.push(r); + cols.push(c); + vals.push(v); + } + } + + Ok(( + rows.into_pyarray(py), + cols.into_pyarray(py), + vals.into_pyarray(py), + )) + } +} diff --git a/ppvm-python/src/ppvm/__init__.py b/ppvm-python/src/ppvm/__init__.py index f2807284..246531d1 100644 --- a/ppvm-python/src/ppvm/__init__.py +++ b/ppvm-python/src/ppvm/__init__.py @@ -6,6 +6,7 @@ from .generalized_tableau import GeneralizedTableau as GeneralizedTableau from .generalized_tableau import MeasurementResult as MeasurementResult from .generalized_tableau import sample_stim as sample_stim +from .lindblad import Lindbladian as Lindbladian from .paulisum import LossyPauliSum as LossyPauliSum from .paulisum import PauliSum as PauliSum from .squin_interpreter.device import ( diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py new file mode 100644 index 00000000..352c055b --- /dev/null +++ b/ppvm-python/src/ppvm/lindblad.py @@ -0,0 +1,184 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Direct Pauli-Lindbladian time evolution on an adaptive Pauli-string basis. + +Given a Hermitian Pauli Hamiltonian H = Σ c_i P_i and Hermitian Pauli jump +operators L_k with rates γ_k ≥ 0, this module exposes three primitives +needed for adaptive Heisenberg-picture evolution: + +- ``action(p)`` / ``action_arr(p)``: L*(p) for one Pauli string p +- ``leakage(basis, coeffs)`` / ``leakage_arr(...)``: off-basis component of + L*(Σ c_j p_j), driving basis expansion +- ``generator(basis)``: scipy CSC matrix M such that L* restricted to + ``basis`` is ``M @ coeffs`` + +The ``*_arr`` variants pass Pauli strings as ``(N, n_qubits)`` ``uint8`` +arrays of Pauli codes (``0=I, 1=X, 2=Z, 3=Y``) and skip string +construction entirely — at ~10^5 basis rows per evolution step, per-row +``str.join`` dominates wall time. +""" + +from __future__ import annotations + +from collections.abc import Iterable, Sequence + +import numpy as np +import scipy.sparse as sp +from ppvm_python_native import LindbladSpec as _LindbladSpec + +_PAULI_CODE = {"I": 0, "X": 1, "Z": 2, "Y": 3} +# Lookup table mapping code -> ASCII byte for vectorised string output. +_CODE_TO_ASCII = np.array([ord("I"), ord("X"), ord("Z"), ord("Y")], dtype=np.uint8) + + +def string_to_codes(s: str, n_qubits: int) -> np.ndarray: + """Encode a Pauli string ``"IXYZ..."`` as a length-``n_qubits`` uint8 array.""" + if len(s) != n_qubits: + raise ValueError(f"Pauli string {s!r} has length {len(s)} != n_qubits {n_qubits}") + return np.array([_PAULI_CODE[c] for c in s], dtype=np.uint8) + + +def codes_to_string(codes: np.ndarray) -> str: + """Decode one length-``n_qubits`` row of Pauli codes back to a string.""" + return _CODE_TO_ASCII[codes].tobytes().decode("ascii") + + +def basis_to_codes(basis: Sequence[str], n_qubits: int) -> np.ndarray: + """Stack a sequence of Pauli strings into an ``(N, n_qubits)`` uint8 array.""" + arr = np.zeros((len(basis), n_qubits), dtype=np.uint8) + for i, s in enumerate(basis): + arr[i] = string_to_codes(s, n_qubits) + return arr + + +def codes_to_basis(arr: np.ndarray) -> list[str]: + """Inverse of :func:`basis_to_codes`. One call into C per row.""" + bytes_per_row = _CODE_TO_ASCII[arr].tobytes() + n = arr.shape[1] + return [bytes_per_row[i * n : (i + 1) * n].decode("ascii") for i in range(arr.shape[0])] + + +class Lindbladian: + """Pre-compiled adjoint Pauli-Lindbladian acting on Pauli strings. + + Parameters + ---------- + n_qubits: + Number of qubits. + h_terms: + Iterable of ``(pauli_string, coefficient)`` pairs for the + Hermitian Hamiltonian ``H = Σ c_i P_i``. Each ``pauli_string`` is + a length-``n_qubits`` ``str`` over ``"IXYZ"``. + jump_terms: + Iterable of ``(pauli_string, rate)`` pairs for the Hermitian Pauli + jump operators ``L_k`` with non-negative rates ``γ_k``. + """ + + def __init__( + self, + n_qubits: int, + h_terms: Iterable[tuple[str, float]], + jump_terms: Iterable[tuple[str, float]] = (), + ): + self.n_qubits = int(n_qubits) + h_strs: list[str] = [] + h_coeffs: list[float] = [] + for s, c in h_terms: + h_strs.append(s) + h_coeffs.append(float(c)) + j_strs: list[str] = [] + j_rates: list[float] = [] + for s, g in jump_terms: + j_strs.append(s) + j_rates.append(float(g)) + self._spec = _LindbladSpec(self.n_qubits, h_strs, h_coeffs, j_strs, j_rates) + + @property + def num_h_terms(self) -> int: + return self._spec.num_h_terms + + @property + def num_jump_terms(self) -> int: + return self._spec.num_jump_terms + + @property + def cache_size(self) -> int: + return self._spec.cache_size + + def clear_cache(self) -> None: + self._spec.clear_cache() + + # ── Pure-ndarray hot path ── + + def action_arr(self, p: np.ndarray) -> tuple[np.ndarray, np.ndarray]: + """Apply ``L*`` to a single Pauli string given as uint8 codes. + + Returns ``(out_basis, out_coeffs)``: a ``(M, n_qubits)`` uint8 + array and a length-``M`` float64 array. + """ + return self._spec.action(np.ascontiguousarray(p, dtype=np.uint8)) + + def leakage_arr( + self, + basis_arr: np.ndarray, + coeffs: np.ndarray, + protected_arr: np.ndarray | None = None, + ) -> tuple[np.ndarray, np.ndarray]: + """Off-basis component of ``L*( Σ_j coeffs[j] basis[j] )``. + + ``basis_arr``: ``(N, n_qubits)`` uint8. ``coeffs``: length-N float64. + ``protected_arr``: optional ``(K, n_qubits)`` uint8 of Pauli strings + that must NEVER appear in the leakage output. + + Returns ``(out_basis, out_coeffs)`` packed the same way as + :meth:`action_arr`. + """ + n = self.n_qubits + if protected_arr is None: + protected_arr = np.zeros((0, n), dtype=np.uint8) + return self._spec.leakage( + np.ascontiguousarray(basis_arr, dtype=np.uint8), + np.ascontiguousarray(coeffs, dtype=np.float64), + np.ascontiguousarray(protected_arr, dtype=np.uint8), + ) + + def generator_arr(self, basis_arr: np.ndarray) -> sp.csc_matrix: + """Sparse generator matrix in CSC form, basis given as uint8 codes.""" + n_basis = basis_arr.shape[0] + rows, cols, vals = self._spec.generator(np.ascontiguousarray(basis_arr, dtype=np.uint8)) + return sp.coo_matrix((vals, (rows, cols)), shape=(n_basis, n_basis)).tocsc() + + # ── String-keyed convenience API (slower; for tests / display) ── + + def action(self, p: str) -> dict[str, float]: + """Apply ``L*`` to a single Pauli string ``p`` (string-keyed dict).""" + codes = string_to_codes(p, self.n_qubits) + out_basis, out_coeffs = self._spec.action(codes) + keys = codes_to_basis(out_basis) + return {k: float(v) for k, v in zip(keys, out_coeffs) if v != 0.0} + + def leakage( + self, + basis: Sequence[str], + coeffs: np.ndarray, + protected: Sequence[str] | None = None, + ) -> dict[str, float]: + """Off-basis leakage as a ``dict[str, float]`` (slower API).""" + n = self.n_qubits + basis_arr = basis_to_codes(basis, n) + protected_arr = ( + basis_to_codes(list(protected), n) if protected else np.zeros((0, n), dtype=np.uint8) + ) + out_basis, out_coeffs = self._spec.leakage( + basis_arr, + np.ascontiguousarray(coeffs, dtype=np.float64), + protected_arr, + ) + keys = codes_to_basis(out_basis) + return {k: float(v) for k, v in zip(keys, out_coeffs) if v != 0.0} + + def generator(self, basis: Sequence[str]) -> sp.csc_matrix: + """Sparse generator matrix in CSC form, basis given as strings.""" + n = self.n_qubits + basis_arr = basis_to_codes(basis, n) + return self.generator_arr(basis_arr) From 962ba18909b2fefcb5faf3128735c06ac1cdaf89 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 27 May 2026 21:11:23 +0100 Subject: [PATCH 002/159] feat(python): adaptive Lindbladian demo, shim tests, lazy SciPy - demo/lindblad_adaptive.py: adaptive Pauli-Lindbladian time evolution on a leakage-grown Pauli-string basis (all-to-all XY + single-site Z dephasing), with an optional predictor-corrector (lifts the dt-error from O(dt^2) to O(dt^3)) and a discarded-weight a-posteriori error monitor. Exercises ppvm.Lindbladian (action / leakage / generator) end to end. - test/test_lindblad.py: cross-check action / leakage / generator / the protected set against an independent dense Pauli-multiplication-table reference, on XY+Z-dephasing and TFIM+X-dephasing Lindbladians. - Declare numpy as a runtime dependency (the shim wrapper uses it) and import SciPy lazily inside generator()/generator_arr(); `import ppvm` and the action/leakage primitives no longer require SciPy -- only the sparse-matrix convenience does. --- ppvm-python/demo/lindblad_adaptive.py | 260 ++++++++++++++++++++++++++ ppvm-python/pyproject.toml | 1 + ppvm-python/src/ppvm/lindblad.py | 13 +- ppvm-python/test/test_lindblad.py | 209 +++++++++++++++++++++ ppvm-python/uv.lock | 2 + 5 files changed, 483 insertions(+), 2 deletions(-) create mode 100644 ppvm-python/demo/lindblad_adaptive.py create mode 100644 ppvm-python/test/test_lindblad.py diff --git a/ppvm-python/demo/lindblad_adaptive.py b/ppvm-python/demo/lindblad_adaptive.py new file mode 100644 index 00000000..9c2f040f --- /dev/null +++ b/ppvm-python/demo/lindblad_adaptive.py @@ -0,0 +1,260 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Adaptive Pauli-Lindbladian time evolution on a growing Pauli-string basis. + +Demonstrates ``ppvm.Lindbladian``: direct Heisenberg-picture evolution of a +transport observable under a generic Pauli-Lindbladian -- here an all-to-all +XY model (Kac-normalised 1/r^alpha) with single-site Z dephasing -- *without* +Trotterisation. The observable is kept as a sum over a finite set of Pauli +strings (the "basis"), and each step: + + 1. measures the leakage (1 - P_B) L*(O) out of the current basis B; + 2. adds the leakage strings above ``add_tol`` to B; + 3. advances the coefficient vector by exp(dt * M), where + M = P_B L* P_B is the Lindbladian restricted to B + (scipy.sparse.linalg.expm_multiply on the sparse generator); + 4. prunes coefficients below ``drop_tol`` (a protected set -- the target + observable's own support -- is never dropped). + +The matrix exponential is exact in dt within the basis, so there is no +Trotter splitting error; the only approximation is the finite basis, whose +adequacy is monitored by the cumulative discarded weight. + +``--predictor_corrector 1`` additionally enriches B with the strings the +predictor step flows into and redoes the step, lifting the adaptive- +integration error from O(dt^2) to O(dt^3) at the cost of one extra matrix +exponential per step. + +The observable is the single-Z Fourier mode O_k = sum_j cos(k x_j) Z_j; its +decay C_k(t) = / is the (infinite-temperature) +spin transport coefficient at momentum k. + +Run, e.g.:: + + python lindblad_adaptive.py --L 12 --kmax 2 --steps 20 --dt 0.1 + python lindblad_adaptive.py --L 12 --kmax 2 --predictor_corrector 1 +""" + +from argparse import ArgumentParser + +import numpy as np +from scipy.sparse.linalg import expm_multiply + +from ppvm import Lindbladian + +CONSTANTS = dict( + L=8, alpha=3.0, gamma=0.1, dt=0.05, steps=20, kmax=3, + add_tol=1e-8, drop_tol=1e-10, max_pauli_weight=0, + max_basis=0, predictor_corrector=0, out="", +) +p = ArgumentParser(description=__doc__.splitlines()[0]) +for key, val in CONSTANTS.items(): + p.add_argument(f"--{key}", type=type(val), default=val) +c = p.parse_args() +if c.max_pauli_weight == 0: + c.max_pauli_weight = c.L + +pairs = [(a, b, min(b - a, c.L - b + a)) for a in range(c.L) for b in range(a + 1, c.L)] +kac = sum(1 / r**c.alpha for _, _, r in pairs) / c.L +pairs = [(a, b, 1 / kac / r**c.alpha) for a, b, r in pairs] +times = np.arange(c.steps + 1) * c.dt +n = np.arange(1, c.kmax + 1) +k_modes = 2 * np.pi * n / c.L +x = (np.arange(c.L) - c.L // 2 + c.L // 2) % c.L - c.L // 2 + + +def zterm_codes(j): + """Z on site j as a length-L array of Pauli codes (0=I, 1=X, 2=Z, 3=Y).""" + row = np.zeros(c.L, dtype=np.uint8) + row[j] = 2 # Z + return row + + +def build_hamiltonian_and_jumps(): + """All-to-all XY Hamiltonian H = sum_{a c.drop_tol: + target_rows.append(zterm_codes(j)) + target_coeffs.append(coef) + basis_arr = np.array(target_rows, dtype=np.uint8) + coeff = np.array(target_coeffs, dtype=float) + target_arr = basis_arr.copy() + target_coeff_arr = coeff.copy() + protected_arr = basis_arr.copy() # never dropped, never emitted as leakage + protected_keys = {row.tobytes() for row in protected_arr} + index = {row.tobytes(): i for i, row in enumerate(basis_arr)} + Ck0[m] = float(np.dot(coeff, coeff)) + norm_target = np.sqrt(Ck0[m]) + + L_op.clear_cache() # action cache is per-k since each k starts a fresh basis + + for nt in range(c.steps + 1): + ck_t = 0.0 + for trow, tc in zip(target_arr, target_coeff_arr): + idx = index.get(trow.tobytes()) + if idx is not None: + ck_t += coeff[idx] * tc + Ck[nt, m] = ck_t / Ck0[m] + n_basis[nt, m] = len(basis_arr) + max_weight[nt, m] = int(weights_of(basis_arr).max()) + if nt == c.steps: + break + + # Leakage out of the basis; the part below add_tol is irrecoverably + # discarded this step (rate_before), the rest is added to the basis. + leak_basis, leak_coeffs = L_op.leakage_arr(basis_arr, coeff, protected_arr) + if len(leak_coeffs): + lw = weights_of(leak_basis) + add_mask = (np.abs(leak_coeffs) > c.add_tol) & (lw <= c.max_pauli_weight) + rate_before = float(np.linalg.norm(leak_coeffs[~add_mask])) + if add_mask.any(): + cand = leak_basis[add_mask] + cand_abs = np.abs(leak_coeffs[add_mask]) + cand = cand[np.argsort(cand_abs)[::-1]] + cand = cand[dedup_against(cand, index)] + if c.max_basis: + cand = cand[: max(c.max_basis - len(basis_arr), 0)] + if len(cand): + n0 = len(basis_arr) + basis_arr = np.vstack([basis_arr, cand]) + coeff = np.r_[coeff, np.zeros(len(cand))] + for i, row in enumerate(cand): + index[row.tobytes()] = n0 + i + else: + rate_before = 0.0 + + # Predictor: advance the restricted generator (exact in dt). + coeff_t = coeff.copy() + coeff = expm_multiply(c.dt * L_op.generator_arr(basis_arr), coeff) + + if c.predictor_corrector: + # Enrich with the predictor's second-hop strings and redo the step + # from the time-t state on the enriched basis (dt^2 -> dt^3). + lb2, lc2 = L_op.leakage_arr(basis_arr, coeff, protected_arr) + if len(lc2): + w2 = weights_of(lb2) + am2 = (np.abs(lc2) > c.add_tol) & (w2 <= c.max_pauli_weight) + if am2.any(): + cand2 = lb2[am2] + cand2 = cand2[dedup_against(cand2, index)] + if c.max_basis: + cand2 = cand2[: max(c.max_basis - len(basis_arr), 0)] + if len(cand2): + n0 = len(basis_arr) + basis_arr = np.vstack([basis_arr, cand2]) + coeff_t = np.r_[coeff_t, np.zeros(len(cand2))] + for i, row in enumerate(cand2): + index[row.tobytes()] = n0 + i + coeff = expm_multiply( + c.dt * L_op.generator_arr(basis_arr), coeff_t + ) + + w_pre = float(np.dot(coeff, coeff)) + _, leak_after = L_op.leakage_arr(basis_arr, coeff, protected_arr) + rate_after = float(np.linalg.norm(leak_after)) if len(leak_after) else 0.0 + + keep = np.array( + [(row.tobytes() in protected_keys) or (abs(v) >= c.drop_tol) + for row, v in zip(basis_arr, coeff)] + ) + basis_arr, coeff, index, protected_keys = compress( + basis_arr, coeff, protected_keys, keep + ) + basis_arr, coeff, index, protected_keys, _ = cap_basis( + basis_arr, coeff, index, protected_keys + ) + # Pruning/capping only remove entries, so the discarded l2 weight is + # sqrt(||c||^2_pre - ||c||^2_post). + dropped_w = np.sqrt(max(w_pre - float(np.dot(coeff, coeff)), 0.0)) + d_lead = c.dt * rate_before + dropped_w + d_total = 0.5 * c.dt * (rate_before + rate_after) + dropped_w + discarded_cum[nt + 1, m] = discarded_cum[nt, m] + d_lead / norm_target + discarded_cum_total[nt + 1, m] = ( + discarded_cum_total[nt, m] + d_total / norm_target + ) + +print(f"L={c.L} gamma={c.gamma} alpha={c.alpha} dt={c.dt} steps={c.steps} " + f"predictor_corrector={c.predictor_corrector}") +for m, kk in enumerate(k_modes): + print(f"\nk = 2*pi*{n[m]}/{c.L} = {kk:.4f}") + print(f" {'t':>6} {'C_k(t)':>10} {'n_basis':>8} {'max_wt':>7} {'err_est':>10}") + for nt in range(c.steps + 1): + print(f" {times[nt]:>6.2f} {Ck[nt, m]:>10.6f} {n_basis[nt, m]:>8d} " + f"{max_weight[nt, m]:>7d} {discarded_cum_total[nt, m]:>10.2e}") + +if c.out: + np.savez( + c.out, times=times, k=k_modes, Ck=Ck, Ck0=Ck0, n_basis=n_basis, + max_weight=max_weight, discarded_cum=discarded_cum, + discarded_cum_total=discarded_cum_total, + ) + print(f"\nsaved -> {c.out}") diff --git a/ppvm-python/pyproject.toml b/ppvm-python/pyproject.toml index ee6a9636..e76a3e00 100644 --- a/ppvm-python/pyproject.toml +++ b/ppvm-python/pyproject.toml @@ -10,6 +10,7 @@ requires-python = ">=3.10" dependencies = [ "bloqade-circuit>=0.14.1", "kirin>=0.0.15", + "numpy>=1.26", "ppvm-python-native", ] diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 352c055b..1197a5be 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -21,11 +21,14 @@ from __future__ import annotations from collections.abc import Iterable, Sequence +from typing import TYPE_CHECKING import numpy as np -import scipy.sparse as sp from ppvm_python_native import LindbladSpec as _LindbladSpec +if TYPE_CHECKING: + import scipy.sparse as sp + _PAULI_CODE = {"I": 0, "X": 1, "Z": 2, "Y": 3} # Lookup table mapping code -> ASCII byte for vectorised string output. _CODE_TO_ASCII = np.array([ord("I"), ord("X"), ord("Z"), ord("Y")], dtype=np.uint8) @@ -143,7 +146,13 @@ def leakage_arr( ) def generator_arr(self, basis_arr: np.ndarray) -> sp.csc_matrix: - """Sparse generator matrix in CSC form, basis given as uint8 codes.""" + """Sparse generator matrix in CSC form, basis given as uint8 codes. + + Requires SciPy (imported lazily): only the sparse-matrix convenience + needs it; the ``action``/``leakage`` primitives do not. + """ + import scipy.sparse as sp + n_basis = basis_arr.shape[0] rows, cols, vals = self._spec.generator(np.ascontiguousarray(basis_arr, dtype=np.uint8)) return sp.coo_matrix((vals, (rows, cols)), shape=(n_basis, n_basis)).tocsc() diff --git a/ppvm-python/test/test_lindblad.py b/ppvm-python/test/test_lindblad.py new file mode 100644 index 00000000..c96dab23 --- /dev/null +++ b/ppvm-python/test/test_lindblad.py @@ -0,0 +1,209 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Cross-checks for the adjoint Pauli-Lindbladian shim (``ppvm.Lindbladian``). + +Each test compares the Rust shim's ``action`` / ``leakage`` / ``generator`` +against an independent, dense reference built from the single-qubit Pauli +multiplication table, on a few representative Lindbladians (XY + Z dephasing, +TFIM + X dephasing). +""" + +from __future__ import annotations + +import numpy as np +import scipy.sparse.linalg as spla + +from ppvm import Lindbladian + +# --- independent reference via the dense Pauli multiplication table --------- +I, X, Y, Z = range(4) # noqa: E741 (I is standard Pauli notation here) +MUL = { + (I, I): (1, I), + (I, X): (1, X), + (I, Y): (1, Y), + (I, Z): (1, Z), + (X, I): (1, X), + (X, X): (1, I), + (X, Y): (1j, Z), + (X, Z): (-1j, Y), + (Y, I): (1, Y), + (Y, X): (-1j, Z), + (Y, Y): (1, I), + (Y, Z): (1j, X), + (Z, I): (1, Z), + (Z, X): (1j, Y), + (Z, Y): (-1j, X), + (Z, Z): (1, I), +} +CODE = {I: "I", X: "X", Y: "Y", Z: "Z"} +ICODE = {"I": I, "X": X, "Y": Y, "Z": Z} + + +def _str_to_tuple(s): + return tuple(ICODE[ch] for ch in s) + + +def _tuple_to_str(t): + return "".join(CODE[ch] for ch in t) + + +def _mul_pauli(p, q): + """Return (phase, p·q) for two Pauli strings given as code tuples.""" + phase = 1 + r = list(p) + for i, (pi, qi) in enumerate(zip(p, q)): + ph, rr = MUL[(pi, qi)] + phase *= ph + r[i] = rr + return phase, tuple(r) + + +def _reference_action(p_str, h_terms, jump_terms): + """L*(p) = i[H, p] + sum_k gamma_k (L_k p L_k - p), term by term.""" + p = _str_to_tuple(p_str) + out: dict = {} + for h_str, coeff_h in h_terms: + h = _str_to_tuple(h_str) + ph_pp, pp = _mul_pauli(h, p) + ph_pq, _ = _mul_pauli(p, h) + # i[H, p] = i (Hp - pH) = i (ph_pp - ph_pq) r ; real for Hermitian H, p. + coeff = (1j * coeff_h * (ph_pp - ph_pq)).real + if coeff: + out[pp] = out.get(pp, 0.0) + coeff + for j_str, gamma in jump_terms: + j = _str_to_tuple(j_str) + ph_pp, _ = _mul_pauli(j, p) + # Hermitian Pauli L, p: Lp has imaginary phase iff they anti-commute, + # and then L p L = -p, contributing -2 gamma p. + if abs(ph_pp.imag) > 0.5: + out[p] = out.get(p, 0.0) + (-2.0 * gamma) + return {kk: v for kk, v in out.items() if v} + + +def _to_str_dict(d): + return {_tuple_to_str(kk): v for kk, v in d.items()} + + +def _xy_dephasing(L, alpha, gamma): + pairs = [ + (a, b, 1.0 / min(b - a, L - b + a) ** alpha) for a in range(L) for b in range(a + 1, L) + ] + kac = sum(j for _, _, j in pairs) / L + pairs = [(a, b, j / kac) for a, b, j in pairs] + h_terms = [] + for a, b, j in pairs: + for q in "XY": + term = ["I"] * L + term[a] = term[b] = q + h_terms.append(("".join(term), j)) + jump_terms = [] + for i in range(L): + term = ["I"] * L + term[i] = "Z" + jump_terms.append(("".join(term), gamma)) + return h_terms, jump_terms + + +def _tfim_xdeph(L, J, h, gamma): + h_terms = [] + for i in range(L - 1): + term = ["I"] * L + term[i] = term[i + 1] = "Z" + h_terms.append(("".join(term), J)) + for i in range(L): + term = ["I"] * L + term[i] = "X" + h_terms.append(("".join(term), h)) + jump_terms = [] + for i in range(L): + term = ["I"] * L + term[i] = "X" + jump_terms.append(("".join(term), gamma)) + return h_terms, jump_terms + + +def _random_pauli_str(rng, L): + chars = ["I"] * L + positions = rng.choice(L, size=int(rng.integers(1, L + 1)), replace=False) + for q in positions: + chars[q] = rng.choice(["X", "Y", "Z"]) + return "".join(chars) + + +def _assert_action_matches(L_op, h_terms, jump_terms, strings): + for p in strings: + got = L_op.action(p) + want = _to_str_dict(_reference_action(p, h_terms, jump_terms)) + for kk in set(got) | set(want): + assert abs(got.get(kk, 0.0) - want.get(kk, 0.0)) < 1e-12, ( + f"action mismatch at p={p!r} k={kk!r}: " + f"shim={got.get(kk, 0.0)} ref={want.get(kk, 0.0)}" + ) + + +def test_action_xy_dephasing(): + L = 8 + h_terms, jump_terms = _xy_dephasing(L, alpha=1.0, gamma=0.3) + L_op = Lindbladian(L, h_terms, jump_terms) + rng = np.random.default_rng(42) + strings = ["I" * L] + strings += ["I" * i + "Z" + "I" * (L - i - 1) for i in range(L)] + strings += [_random_pauli_str(rng, L) for _ in range(20)] + _assert_action_matches(L_op, h_terms, jump_terms, strings) + + +def test_action_tfim_xdephasing(): + L = 6 + h_terms, jump_terms = _tfim_xdeph(L, J=0.7, h=0.4, gamma=0.2) + L_op = Lindbladian(L, h_terms, jump_terms) + rng = np.random.default_rng(7) + strings = [_random_pauli_str(rng, L) for _ in range(30)] + _assert_action_matches(L_op, h_terms, jump_terms, strings) + + +def test_generator_leakage_and_expm(): + L = 5 + dt = 0.1 + h_terms, jump_terms = _xy_dephasing(L, alpha=1.0, gamma=0.4) + L_op = Lindbladian(L, h_terms, jump_terms) + basis = ["I" * i + "Z" + "I" * (L - i - 1) for i in range(L)] + basis += ["YIYII", "IYIYI", "ZZIII"] + coeffs = np.array([0.5, -0.3, 0.2, 0.4, -0.1, 0.6, 0.2, 0.1]) + + M_shim = L_op.generator(basis).toarray() + M_ref = np.zeros((len(basis), len(basis))) + index = {p: i for i, p in enumerate(basis)} + for col, p in enumerate(basis): + for r_tuple, v in _reference_action(p, h_terms, jump_terms).items(): + r = _tuple_to_str(r_tuple) + if r in index: + M_ref[index[r], col] += v + assert np.max(np.abs(M_shim - M_ref)) < 1e-12 + + shim_leak = L_op.leakage(basis, coeffs) + ref_leak: dict = {} + for p, cf in zip(basis, coeffs): + for r_tuple, v in _reference_action(p, h_terms, jump_terms).items(): + r = _tuple_to_str(r_tuple) + if r not in index: + ref_leak[r] = ref_leak.get(r, 0.0) + v * cf + ref_leak = {kk: v for kk, v in ref_leak.items() if v} + for kk in set(shim_leak) | set(ref_leak): + assert abs(shim_leak.get(kk, 0.0) - ref_leak.get(kk, 0.0)) < 1e-12 + + c_shim = spla.expm_multiply(dt * L_op.generator(basis), coeffs) + c_ref = spla.expm_multiply(dt * M_ref, coeffs) + assert np.allclose(c_shim, c_ref, atol=1e-13) + + +def test_protected_strings_suppressed(): + L = 4 + h_terms, jump_terms = _xy_dephasing(L, alpha=1.0, gamma=0.0) + L_op = Lindbladian(L, h_terms, jump_terms) + basis = ["ZIII"] + coeffs = np.array([1.0]) + leak = L_op.leakage(basis, coeffs) + assert leak, "expected some leakage" + protected_key = next(iter(leak)) + leak2 = L_op.leakage(basis, coeffs, protected=[protected_key]) + assert protected_key not in leak2 diff --git a/ppvm-python/uv.lock b/ppvm-python/uv.lock index a940c703..4e16c4ba 100644 --- a/ppvm-python/uv.lock +++ b/ppvm-python/uv.lock @@ -3045,6 +3045,7 @@ source = { editable = "." } dependencies = [ { name = "bloqade-circuit" }, { name = "kirin" }, + { name = "numpy" }, { name = "ppvm-python-native" }, ] @@ -3069,6 +3070,7 @@ doc = [ requires-dist = [ { name = "bloqade-circuit", specifier = ">=0.14.1" }, { name = "kirin", specifier = ">=0.0.15" }, + { name = "numpy", specifier = ">=1.26" }, { name = "ppvm-python-native", directory = "../crates/ppvm-python-native" }, ] From 1a7d0540981b20cc5c3f4d8eef7203a2fff47798 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 29 May 2026 11:26:43 +0100 Subject: [PATCH 003/159] feat(lindblad): extract ppvm-lindblad crate, non-Hermitian jumps, pure-Rust PC step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split the adjoint Pauli-Lindbladian algorithm out of `ppvm-python-native` into a standalone `ppvm-lindblad` crate backed by `PauliWord<[u64; 2]>` from `ppvm-runtime`, and extend it with: - Non-Hermitian Pauli-sum jumps via `JumpInput` / `JumpKind::{HermitianPauli, General}`. The general path implements the full GKSL sandwich `Σ_{a,b} λ_a* λ_b P_a O P_b - 1/2 {L†L, O}` with the `L†L` Pauli expansion precomputed at construction. Same fast diagonal path for the common Hermitian-Pauli jump case. - Pure-Rust matrix-exponential action `expm_multiply` implementing Al-Mohy & Higham (2011) Algorithm 3.2: degree-`m` Horner-form Taylor with scaling-and-squaring, `(m, s)` from a precomputed `θ_m` table, optional early termination. Backed by a minimal CSR matrix type with serial and rayon-parallel SpMV (parallel above a configurable nnz threshold). - `LindbladSpec::pc_step` runs the entire predictor-corrector step in Rust (first-hop leakage expansion → predictor expm → second-hop leakage expansion → corrector expm), so the Python driver no longer needs scipy for the inner loop. - `pc_step_timed` returns a per-phase microsecond breakdown (leakage1/expand1/gencsr1/expm1/...) for profiling parallel scaling. - `num_threads: Option` parameter wraps the entire PC step in a freshly-built rayon `pool.install`, isolating the requested core count for benchmarking. - Performance: parallel-scatter CSR build (skips `from_triplets`'s sequential count/scatter); `rayon::map_init` thread-local scratch (hashmap + scratch vectors reused across rayon tasks instead of per-task allocations); hash-only `in_basis`/`protected_set` membership tables (`FxHashMap` instead of `` shrinks the working set ~6× and keeps it in L2/L3 past basis 10⁶). At L=51, long-range XY α=1, γ=1, T=1 (basis grows to 577K), 20 PC steps runs end-to-end in ~512 s wall on 4 threads — down from ~734 s pre-optimisation (1.43× faster). Co-Authored-By: Claude Opus 4.7 --- Cargo.lock | 13 + Cargo.toml | 1 + crates/ppvm-lindblad/Cargo.toml | 15 + crates/ppvm-lindblad/examples/spmv_scaling.rs | 65 + crates/ppvm-lindblad/src/expm.rs | 405 ++++++ crates/ppvm-lindblad/src/lib.rs | 1184 +++++++++++++++++ crates/ppvm-python-native/Cargo.toml | 1 + crates/ppvm-python-native/src/lindblad.rs | 737 ++++------ 8 files changed, 1919 insertions(+), 502 deletions(-) create mode 100644 crates/ppvm-lindblad/Cargo.toml create mode 100644 crates/ppvm-lindblad/examples/spmv_scaling.rs create mode 100644 crates/ppvm-lindblad/src/expm.rs create mode 100644 crates/ppvm-lindblad/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 9be38954..0dc93502 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -901,6 +901,18 @@ dependencies = [ "ppvm-tableau", ] +[[package]] +name = "ppvm-lindblad" +version = "0.1.0" +dependencies = [ + "approx", + "dashmap", + "fxhash", + "num", + "ppvm-runtime", + "rayon", +] + [[package]] name = "ppvm-python-native" version = "0.1.0" @@ -911,6 +923,7 @@ dependencies = [ "num", "numpy", "paste", + "ppvm-lindblad", "ppvm-runtime", "ppvm-stim", "ppvm-tableau", diff --git a/Cargo.toml b/Cargo.toml index e319ce0e..dc4a85ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ ppvm-sym = { version = "0.1.0", path = "crates/ppvm-sym" } members = [ "crates/ppvm-runtime", "crates/ppvm-sym", + "crates/ppvm-lindblad", "crates/ppvm-python-native", "crates/ppvm-tableau", "crates/ppvm-stim", "crates/stim-parser", diff --git a/crates/ppvm-lindblad/Cargo.toml b/crates/ppvm-lindblad/Cargo.toml new file mode 100644 index 00000000..0c06c0ea --- /dev/null +++ b/crates/ppvm-lindblad/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "ppvm-lindblad" +version = "0.1.0" +edition = "2024" +description = "Direct Heisenberg-picture Lindbladian evolution on an adaptive Pauli-string basis." + +[dependencies] +dashmap = "6.1.0" +fxhash = "0.2.1" +num = "0.4.3" +ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } +rayon = "1.11" + +[dev-dependencies] +approx = "0.5.1" diff --git a/crates/ppvm-lindblad/examples/spmv_scaling.rs b/crates/ppvm-lindblad/examples/spmv_scaling.rs new file mode 100644 index 00000000..4abe6758 --- /dev/null +++ b/crates/ppvm-lindblad/examples/spmv_scaling.rs @@ -0,0 +1,65 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Tiny SpMV scaling check: builds a tridiagonal CSR matrix of a target +//! `nnz`, times `spmv_parallel` repeatedly inside rayon pools of varying +//! thread counts, and prints the wall time and speedup. Useful to confirm +//! the SpMV path itself scales before debugging higher-level paths. + +use ppvm_lindblad::CsrMatrix; +use std::time::Instant; + +fn build_tridiagonal(n: usize) -> CsrMatrix { + let mut trips = Vec::with_capacity(3 * n); + for i in 0..n { + trips.push((i, i, -2.0)); + if i > 0 { + trips.push((i, i - 1, 1.0)); + } + if i + 1 < n { + trips.push((i, i + 1, 1.0)); + } + } + CsrMatrix::from_triplets(n, &trips) +} + +fn main() { + let n: usize = 100_000; + let m = build_tridiagonal(n); + let x: Vec = (0..n).map(|i| (i as f64).sin()).collect(); + let mut y = vec![0f64; n]; + let n_iters = 1000; + println!( + "n = {n}, nnz = {}, {n_iters} SpMVs per measurement", + m.nnz() + ); + println!(); + println!("{:>8} {:>14} {:>10}", "threads", "wall (ms)", "speedup"); + println!("{}", "-".repeat(36)); + + let mut baseline_ms: Option = None; + for nt in [1usize, 2, 3, 4, 6, 8, 10] { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(nt) + .build() + .unwrap(); + // warm up + pool.install(|| { + for _ in 0..50 { + m.spmv_parallel(&x, &mut y); + } + }); + let t0 = Instant::now(); + pool.install(|| { + for _ in 0..n_iters { + m.spmv_parallel(&x, &mut y); + } + }); + let wall_ms = t0.elapsed().as_secs_f64() * 1000.0; + let speedup = baseline_ms.unwrap_or(wall_ms) / wall_ms; + if baseline_ms.is_none() { + baseline_ms = Some(wall_ms); + } + println!("{nt:>8} {wall_ms:>14.1} {speedup:>9.2}x"); + } +} diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs new file mode 100644 index 00000000..d84edb26 --- /dev/null +++ b/crates/ppvm-lindblad/src/expm.rs @@ -0,0 +1,405 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Action of the matrix exponential, `y = exp(t·A)·b`, for real sparse `A`. +//! +//! Implements Al-Mohy & Higham (2011), Algorithm 3.2: a Horner-form +//! degree-`m` Taylor polynomial evaluated `s` times (scaling-and-squaring), +//! with `(m, s)` chosen from a precomputed table that minimises total SpMV +//! count subject to a double-precision truncation bound. +//! +//! The hot path is repeated sparse-matrix × dense-vector products. SpMV is +//! parallelised over rows with `rayon` when the matrix has more than +//! [`ExpmOpts::parallel_threshold`] nonzeros; below that, the task-spawn +//! overhead beats the cache-friendliness of the serial loop, so we stay +//! single-threaded. Both branches share the same CSR storage and produce +//! bit-identical output. + +use rayon::prelude::*; + +/// `θ_m` table from Al-Mohy & Higham (2011), Table A.3, for double +/// precision (unit roundoff `u = 2^{-53}`). +/// +/// `θ_m` bounds `‖A‖₁` such that the degree-`m` Taylor polynomial +/// approximates `exp(A)` to within `u`. We pick `(m, s)` with +/// `s ≥ ⌈‖tA‖₁ / θ_m⌉` and minimise `m·s` (total SpMV count). +const THETA: &[(u32, f64)] = &[ + (1, 2.29e-16), + (2, 2.58e-8), + (3, 1.39e-5), + (4, 3.40e-4), + (5, 2.40e-3), + (6, 9.07e-3), + (7, 2.38e-2), + (8, 5.00e-2), + (9, 8.96e-2), + (10, 1.44e-1), + (11, 2.14e-1), + (12, 3.00e-1), + (13, 4.00e-1), + (14, 5.14e-1), + (15, 6.41e-1), + (16, 7.81e-1), + (17, 9.31e-1), + (18, 1.09), + (19, 1.26), + (20, 1.44), + (21, 1.62), + (22, 1.82), + (23, 2.01), + (24, 2.22), + (25, 2.43), + (26, 2.64), + (27, 2.86), + (28, 3.08), + (29, 3.31), + (30, 3.54), +]; + +/// Compressed Sparse Row matrix (square, `n × n`). +#[derive(Clone, Debug)] +pub struct CsrMatrix { + pub n: usize, + /// Length `n+1`; row `i` spans `[row_ptr[i], row_ptr[i+1])` in + /// `col_idx` and `values`. + pub row_ptr: Vec, + pub col_idx: Vec, + pub values: Vec, +} + +impl CsrMatrix { + /// Number of structural nonzeros. + pub fn nnz(&self) -> usize { + self.values.len() + } + + /// Build CSR from a list of `(row, col, value)` triplets. Duplicate + /// triplets at the same `(row, col)` are summed. + pub fn from_triplets(n: usize, triplets: &[(usize, usize, f64)]) -> Self { + let mut counts = vec![0usize; n]; + for &(r, _, _) in triplets { + debug_assert!(r < n, "row index {r} out of range"); + counts[r] += 1; + } + let mut row_ptr = vec![0usize; n + 1]; + for i in 0..n { + row_ptr[i + 1] = row_ptr[i] + counts[i]; + } + let mut col_idx = vec![0u32; triplets.len()]; + let mut values = vec![0f64; triplets.len()]; + let mut offset = vec![0usize; n]; + for &(r, c, v) in triplets { + debug_assert!(c < n, "col index {c} out of range"); + let pos = row_ptr[r] + offset[r]; + col_idx[pos] = c as u32; + values[pos] = v; + offset[r] += 1; + } + Self { + n, + row_ptr, + col_idx, + values, + } + } + + /// Matrix 1-norm: `max_j Σ_i |A_{ij}|` (max column sum of absolute + /// values). Used to pick the Taylor parameters `(m, s)`. + pub fn one_norm(&self) -> f64 { + if self.n == 0 { + return 0.0; + } + let mut col_sums = vec![0f64; self.n]; + for k in 0..self.values.len() { + col_sums[self.col_idx[k] as usize] += self.values[k].abs(); + } + col_sums.into_iter().fold(0f64, f64::max) + } + + /// `y ← A · x` (serial). + pub fn spmv_serial(&self, x: &[f64], y: &mut [f64]) { + debug_assert_eq!(x.len(), self.n); + debug_assert_eq!(y.len(), self.n); + for (i, yi) in y.iter_mut().enumerate() { + let mut sum = 0.0; + for k in self.row_ptr[i]..self.row_ptr[i + 1] { + sum += self.values[k] * x[self.col_idx[k] as usize]; + } + *yi = sum; + } + } + + /// `y ← A · x` (rayon-parallel over rows). + pub fn spmv_parallel(&self, x: &[f64], y: &mut [f64]) { + debug_assert_eq!(x.len(), self.n); + debug_assert_eq!(y.len(), self.n); + y.par_iter_mut().enumerate().for_each(|(i, yi)| { + let mut sum = 0.0; + for k in self.row_ptr[i]..self.row_ptr[i + 1] { + sum += self.values[k] * x[self.col_idx[k] as usize]; + } + *yi = sum; + }); + } + + /// Dispatches to [`Self::spmv_parallel`] when `nnz ≥ parallel_threshold`, + /// else [`Self::spmv_serial`]. + #[inline] + pub fn spmv(&self, x: &[f64], y: &mut [f64], parallel_threshold: usize) { + if self.nnz() >= parallel_threshold { + self.spmv_parallel(x, y); + } else { + self.spmv_serial(x, y); + } + } +} + +/// Options for [`expm_multiply`]. +#[derive(Clone, Copy, Debug)] +pub struct ExpmOpts { + /// Stop the inner Horner loop once successive Taylor terms drop below + /// `tol · ‖F‖`. Default `1e-12`. + pub tol: f64, + /// Threshold (in matrix `nnz`) above which SpMV is parallelised. Below + /// this rayon's task overhead beats cache-friendly serial. Default + /// `50_000`. + pub parallel_threshold: usize, +} + +impl Default for ExpmOpts { + fn default() -> Self { + Self { + tol: 1e-12, + parallel_threshold: 50_000, + } + } +} + +/// Pick `(m, s)` minimising `s·m` subject to `s ≥ ⌈t_norm / θ_m⌉, s ≥ 1`. +/// Restricted to `m ≤ 30`; for larger norms `s` simply grows linearly. +fn select_ms(t_norm: f64) -> (u32, u32) { + if t_norm <= 0.0 { + return (1, 1); + } + let mut best_m = 1u32; + let mut best_s = 1u32; + let mut best_cost = u64::MAX; + for &(m, theta) in THETA { + let s_f = (t_norm / theta).ceil(); + let s = if s_f >= 1.0 { s_f as u32 } else { 1 }; + let cost = (m as u64) * (s as u64); + if cost < best_cost { + best_cost = cost; + best_m = m; + best_s = s; + } + } + (best_m, best_s) +} + +#[inline] +fn inf_norm(v: &[f64]) -> f64 { + v.iter().fold(0f64, |acc, &x| acc.max(x.abs())) +} + +/// Compute `exp(t · A) · b` for a real square sparse matrix `A` in CSR +/// form. Allocates a fresh `Vec` of length `A.n`. +/// +/// The algorithm is Al-Mohy & Higham (2011) Algorithm 3.2: pick +/// `(m, s)` from the precomputed `θ_m` table to minimise SpMV count, +/// then iteratively apply a degree-`m` Horner-form Taylor polynomial +/// `s` times. Inside each Horner sweep we terminate early once two +/// successive Taylor terms have norm below `opts.tol · ‖F‖`. +pub fn expm_multiply(a: &CsrMatrix, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { + assert_eq!( + a.n, + b.len(), + "matrix size {} mismatches vector length {}", + a.n, + b.len() + ); + let n = a.n; + if n == 0 { + return Vec::new(); + } + + let t_a_one_norm = t.abs() * a.one_norm(); + let (m_star, s) = select_ms(t_a_one_norm); + let scale = t / s as f64; + + let mut f = b.to_vec(); + let mut bk = b.to_vec(); + let mut work = vec![0f64; n]; + + for _ in 0..s { + let mut c1 = inf_norm(&bk); + for i in 1..=m_star { + // bk ← (scale / i) · A · bk + a.spmv(&bk, &mut work, opts.parallel_threshold); + let factor = scale / i as f64; + for j in 0..n { + bk[j] = factor * work[j]; + } + // f ← f + bk + for j in 0..n { + f[j] += bk[j]; + } + // Early termination: two small successive Taylor terms. + let c2 = inf_norm(&bk); + let f_norm = inf_norm(&f).max(f64::MIN_POSITIVE); + if c1 + c2 <= opts.tol * f_norm { + break; + } + c1 = c2; + } + // Outer step: `f` becomes the input for the next scaling power. + bk.copy_from_slice(&f); + } + + f +} + +#[cfg(test)] +mod tests { + use super::*; + use approx::assert_abs_diff_eq; + + fn diag(vals: &[f64]) -> CsrMatrix { + let trips: Vec<_> = vals.iter().enumerate().map(|(i, &v)| (i, i, v)).collect(); + CsrMatrix::from_triplets(vals.len(), &trips) + } + + #[test] + fn spmv_correctness() { + // [[1, 0, 2], + // [0, 3, 0], + // [4, 0, 5]] + let m = CsrMatrix::from_triplets( + 3, + &[ + (0, 0, 1.0), + (0, 2, 2.0), + (1, 1, 3.0), + (2, 0, 4.0), + (2, 2, 5.0), + ], + ); + let x = vec![1.0, 1.0, 1.0]; + let mut y = vec![0.0; 3]; + m.spmv_serial(&x, &mut y); + assert_eq!(y, vec![3.0, 3.0, 9.0]); + let mut y_par = vec![0.0; 3]; + m.spmv_parallel(&x, &mut y_par); + assert_eq!(y_par, vec![3.0, 3.0, 9.0]); + } + + #[test] + fn one_norm() { + // 1-norm = max column abs-sum. Above: col0=5, col1=3, col2=7 → 7. + let m = CsrMatrix::from_triplets( + 3, + &[ + (0, 0, 1.0), + (0, 2, 2.0), + (1, 1, 3.0), + (2, 0, 4.0), + (2, 2, 5.0), + ], + ); + assert_abs_diff_eq!(m.one_norm(), 7.0); + } + + #[test] + fn expm_zero_t_identity() { + let m = diag(&[1.5, -2.0, 0.7]); + let b = vec![1.0, 2.0, 3.0]; + let r = expm_multiply(&m, 0.0, &b, ExpmOpts::default()); + for i in 0..3 { + assert_abs_diff_eq!(r[i], b[i], epsilon = 1e-14); + } + } + + #[test] + fn expm_diagonal_closed_form() { + // diag matrix → exp(t·A)·b is elementwise exp(t·a_i) * b_i. + let m = diag(&[1.5, -2.0, 0.7]); + let b = vec![1.0, 1.0, 1.0]; + let t = 0.5; + let r = expm_multiply(&m, t, &b, ExpmOpts::default()); + for (i, &a_i) in [1.5, -2.0, 0.7].iter().enumerate() { + assert_abs_diff_eq!(r[i], (t * a_i).exp(), epsilon = 1e-12); + } + } + + #[test] + fn expm_skew_rotation() { + // A = [[0, 1], [-1, 0]]: exp(tA) is rotation by t. + // exp(t·A)·(1, 0)^T = (cos t, -sin t)^T. + let m = CsrMatrix::from_triplets(2, &[(0, 1, 1.0), (1, 0, -1.0)]); + let b = vec![1.0, 0.0]; + let t = 0.7; + let r = expm_multiply(&m, t, &b, ExpmOpts::default()); + assert_abs_diff_eq!(r[0], t.cos(), epsilon = 1e-12); + assert_abs_diff_eq!(r[1], -t.sin(), epsilon = 1e-12); + } + + #[test] + fn expm_serial_matches_parallel() { + // Same algorithm both paths; force one with a high threshold and + // one with zero. Results must be bit-identical (no floating + // reordering across rows since each row's reduction is sequential). + let trips: Vec<_> = (0..50) + .flat_map(|i| { + let i: usize = i; + let prev = if i > 0 { Some((i, i - 1, 0.3)) } else { None }; + let next = if i + 1 < 50 { + Some((i, i + 1, 0.5)) + } else { + None + }; + [Some((i, i, -0.4 - 0.01 * i as f64)), prev, next] + .into_iter() + .flatten() + }) + .collect(); + let m = CsrMatrix::from_triplets(50, &trips); + let b: Vec = (0..50).map(|i| 1.0 / (i + 1) as f64).collect(); + let r_serial = expm_multiply( + &m, + 0.3, + &b, + ExpmOpts { + tol: 1e-14, + parallel_threshold: usize::MAX, + }, + ); + let r_parallel = expm_multiply( + &m, + 0.3, + &b, + ExpmOpts { + tol: 1e-14, + parallel_threshold: 0, + }, + ); + for (a, b) in r_serial.iter().zip(r_parallel.iter()) { + assert_eq!(a, b, "serial and parallel SpMV diverged"); + } + } + + #[test] + fn ms_selection_sane() { + // tiny norm → small m, s = 1 + let (m, s) = select_ms(1e-9); + assert!(m <= 5, "expected small m for tiny norm, got m={m}"); + assert_eq!(s, 1); + + // moderate norm → m·s should be ~10-50 + let (m, s) = select_ms(1.0); + assert!((m * s) <= 50, "moderate norm cost too high: m={m} s={s}"); + + // large norm → s grows + let (_m, s) = select_ms(100.0); + assert!(s >= 20, "large norm should require many steps, got s={s}"); + } +} diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs new file mode 100644 index 00000000..cfd3a85f --- /dev/null +++ b/crates/ppvm-lindblad/src/lib.rs @@ -0,0 +1,1184 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Direct Heisenberg-picture Lindbladian evolution on an adaptive +//! Pauli-string basis. +//! +//! For a Hermitian Pauli Hamiltonian `H = Σ c_i P_i` and jump operators +//! `L_k = Σ_a λ_{k,a} P_{k,a}` (each a Hermitian-Pauli linear combination +//! with possibly complex coefficients) with rates `γ_k ≥ 0`, the adjoint +//! Lindbladian acts on a single Pauli string `p` as +//! +//! ```text +//! L*(p) = i [H, p] + Σ_k γ_k ( L_k† p L_k − 1/2 {L_k† L_k, p} ). +//! ``` +//! +//! Two jump shapes are supported with separate code paths: +//! +//! - **Hermitian Pauli** (`L = P`, `λ ∈ ℝ`): the dissipator collapses to a +//! diagonal `-2γ` on Pauli strings that anti-commute with `P`. Same fast +//! path used by every dephasing-style model. +//! +//! - **General** (complex `λ_a`, e.g. `σ± = (X ± iY)/2`): the dissipator +//! becomes a double sum `Σ_{a,b} λ_a* λ_b P_a p P_b` plus a Pauli- +//! linear-combination anti-commutator with `L†L`, which is precomputed +//! once at construction. Intermediate coefficients are complex; the +//! result is real because `L*` preserves Hermiticity, so we cast back +//! to `f64` at the boundary (with a debug-only check that `|Im|` is at +//! FP noise). +//! +//! Pauli strings are stored as [`ppvm_runtime::word::PauliWord`] backed by +//! `[u64; 2]` (≤128 qubits) with cached hashes for fast HashMap lookup. The +//! hot-path commutator/product loops bypass the higher-level word API and +//! operate directly on raw `u64` chunks for speed. + +use dashmap::DashMap; +use fxhash::{FxBuildHasher, FxHashMap}; +use num::Complex; +use ppvm_runtime::traits::PauliWordTrait; +use ppvm_runtime::word::PauliWord; +use rayon::prelude::*; +use std::fmt; +use std::time::Instant; + +pub mod expm; +pub use expm::{CsrMatrix, ExpmOpts, expm_multiply}; + +/// Words pack up to 128 qubits. +const W_U64: usize = 2; + +/// Maximum number of qubits supported by [`Word`] (= `8 · W_U64 · sizeof(u64)`). +pub const MAX_QUBITS: usize = 64 * W_U64; + +/// The Pauli-word storage type used throughout this crate. +/// +/// `[u64; 2]` covers up to 128 qubits; the `FxBuildHasher` matches the +/// hash used by the `FxHashMap` keys we wrap with; `REHASH=true` means +/// `set()` keeps the cached hash in sync. +pub type Word = PauliWord<[u64; W_U64], FxBuildHasher, true>; + +/// Errors raised when constructing a [`LindbladSpec`]. +#[derive(Debug, Clone)] +pub enum Error { + TooManyQubits { + got: usize, + }, + LengthMismatch { + what: &'static str, + a: usize, + b: usize, + }, + InvalidPauliCode { + code: u8, + }, + InvalidPauliChar { + c: char, + }, + WrongLength { + expected: usize, + got: usize, + }, + NegativeRate { + index: usize, + rate: f64, + }, + EmptyLincomb { + index: usize, + }, + Internal(String), +} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Error::TooManyQubits { got } => { + write!( + f, + "LindbladSpec supports n_qubits ≤ {MAX_QUBITS}; got {got}" + ) + } + Error::LengthMismatch { what, a, b } => { + write!(f, "{what}: expected matching lengths, got {a} and {b}") + } + Error::InvalidPauliCode { code } => write!( + f, + "Pauli code must be 0 (I), 1 (X), 2 (Z), or 3 (Y); got {code}" + ), + Error::InvalidPauliChar { c } => { + write!(f, "invalid Pauli character '{c}'; expected I, X, Y, or Z") + } + Error::WrongLength { expected, got } => { + write!(f, "Pauli string has length {got} but n_qubits = {expected}") + } + Error::NegativeRate { index, rate } => { + write!(f, "jump rate must be non-negative; got γ_{index} = {rate}") + } + Error::EmptyLincomb { index } => { + write!( + f, + "jump {index}: lincomb must contain at least one Pauli term" + ) + } + Error::Internal(msg) => write!(f, "internal error: {msg}"), + } + } +} + +impl std::error::Error for Error {} + +/// `Send + Sync` wrapper around `*mut T` for parallel scatter writes from +/// rayon tasks into pre-allocated arrays. Caller must guarantee that the +/// writes target disjoint indices. +/// +/// The field is intentionally private so closures that use [`Self::write`] +/// capture the whole struct (which is `Send + Sync`) rather than the +/// inner `*mut T` (which is not) — Rust 2021's disjoint-field capture +/// would otherwise peel the wrapper. +#[derive(Clone, Copy)] +struct SendPtr(*mut T); +unsafe impl Send for SendPtr {} +unsafe impl Sync for SendPtr {} + +impl SendPtr { + /// SAFETY: caller guarantees `offset` is in bounds and that no other + /// thread writes to the same offset. + #[inline(always)] + unsafe fn write(self, offset: usize, value: T) { + unsafe { self.0.add(offset).write(value) } + } +} + +/// Per-phase timing breakdown (microseconds) returned by +/// [`LindbladSpec::pc_step_timed`]. +#[derive(Default, Clone, Copy, Debug)] +pub struct PcStepTimings { + pub leakage1_us: u64, + pub expand1_us: u64, + pub gencsr1_us: u64, + pub expm1_us: u64, + pub leakage2_us: u64, + pub expand2_us: u64, + pub gencsr2_us: u64, + pub expm2_us: u64, +} + +impl PcStepTimings { + pub fn total_us(&self) -> u64 { + self.leakage1_us + + self.expand1_us + + self.gencsr1_us + + self.expm1_us + + self.leakage2_us + + self.expand2_us + + self.gencsr2_us + + self.expm2_us + } +} + +// ────────────────── codec helpers ────────────────── + +/// Build a [`Word`] from a length-`n_qubits` slice of Pauli codes +/// (`0=I, 1=X, 2=Z, 3=Y`). Sets all bits and rehashes once. +pub fn word_from_codes(codes: &[u8]) -> Result { + let n_qubits = codes.len(); + if n_qubits > MAX_QUBITS { + return Err(Error::TooManyQubits { got: n_qubits }); + } + let mut w = Word::new(n_qubits); + for (q, &b) in codes.iter().enumerate() { + if b > 3 { + return Err(Error::InvalidPauliCode { code: b }); + } + if b & 1 != 0 { + w.xbits.set(q, true); + } + if b & 2 != 0 { + w.zbits.set(q, true); + } + } + w.rehash(); + Ok(w) +} + +/// Inverse of [`word_from_codes`]: write `n_qubits` Pauli codes into `out`. +pub fn codes_from_word(w: &Word, out: &mut [u8]) { + debug_assert_eq!(out.len(), w.n_qubits()); + for (q, slot) in out.iter_mut().enumerate() { + let xb = w.xbits[q] as u8; + let zb = w.zbits[q] as u8; + *slot = xb | (zb << 1); + } +} + +/// Parse a `"IXYZ..."` string into a [`Word`] together with the list of +/// qubits where the Pauli is non-identity (the term's support). +pub fn parse_pauli_string(s: &str, n_qubits: usize) -> Result<(Word, Vec), Error> { + if n_qubits > MAX_QUBITS { + return Err(Error::TooManyQubits { got: n_qubits }); + } + let chars: Vec = s.chars().filter(|c| *c != '_').collect(); + if chars.len() != n_qubits { + return Err(Error::WrongLength { + expected: n_qubits, + got: chars.len(), + }); + } + let mut w = Word::new(n_qubits); + let mut support = Vec::new(); + for (q, c) in chars.into_iter().enumerate() { + match c { + 'I' => {} + 'X' => { + w.xbits.set(q, true); + support.push(q as u32); + } + 'Z' => { + w.zbits.set(q, true); + support.push(q as u32); + } + 'Y' => { + w.xbits.set(q, true); + w.zbits.set(q, true); + support.push(q as u32); + } + other => return Err(Error::InvalidPauliChar { c: other }), + } + } + w.rehash(); + Ok((w, support)) +} + +/// Compute the support (non-identity qubits) of `w`. +fn word_support(w: &Word, out: &mut Vec) { + out.clear(); + for q in 0..w.n_qubits() { + if w.xbits[q] || w.zbits[q] { + out.push(q as u32); + } + } +} + +// ────────────────── Pauli algebra ────────────────── +// +// Phase encoding: `Pauli product P·Q = ω · R` where `ω = i^phase` and +// `phase ∈ {0,1,2,3}` ↔ `ω ∈ {1, i, -1, -i}`. The per-byte XOR/AND +// formulas are the same ones used by `PhasedPauliWord::mul_assign` in +// `ppvm-runtime`. + +#[inline(always)] +fn phase_factor(phase: u8) -> Complex { + match phase & 3 { + 0 => Complex::new(1.0, 0.0), + 1 => Complex::new(0.0, 1.0), + 2 => Complex::new(-1.0, 0.0), + _ => Complex::new(0.0, -1.0), + } +} + +/// `true` if Pauli words `a` and `b` anti-commute. +/// +/// Two Pauli strings anti-commute iff +/// `popcount(a.x & b.z) + popcount(a.z & b.x)` is odd. +#[inline(always)] +fn anti_commutes(a: &Word, b: &Word) -> bool { + let mut bits: u32 = 0; + for i in 0..W_U64 { + bits += (a.xbits.data[i] & b.zbits.data[i]).count_ones(); + bits += (a.zbits.data[i] & b.xbits.data[i]).count_ones(); + } + bits & 1 == 1 +} + +/// Fused product `h · p`: returns `(out, eps)` where `out = h ⊕ p` and +/// +/// - `eps = 0` if `h` and `p` commute (caller should skip — `[h,p] = 0`), +/// - `eps = -2.0` if `h·p` has phase `+i` (so `i·[h,p] = -2·out`), +/// - `eps = +2.0` if `h·p` has phase `-i` (so `i·[h,p] = +2·out`). +#[inline(always)] +fn comm_product(h: &Word, p: &Word) -> (Word, f64) { + let mut out = Word::new(h.n_qubits()); + let mut sign_count: u32 = 0; + let mut imag_count: u32 = 0; + for i in 0..W_U64 { + let a = h.xbits.data[i]; + let b = h.zbits.data[i]; + let c = p.xbits.data[i]; + let d = p.zbits.data[i]; + let sign = (a & b & c & !d) | (a & !b & !c & d) | (!a & b & c & d); + let imag = (a & !b & d) | (a & !c & d) | (!a & b & c) | (b & c & !d); + sign_count += sign.count_ones(); + imag_count += imag.count_ones(); + out.xbits.data[i] = a ^ c; + out.zbits.data[i] = b ^ d; + } + out.rehash(); + let phase = (2 * sign_count + imag_count) & 3; + let eps = match phase { + 1 => -2.0, + 3 => 2.0, + _ => 0.0, + }; + (out, eps) +} + +/// Full Pauli product `p · q`: returns `(out, phase)` where the product +/// is `ω · out` with `ω = i^phase`. +#[inline(always)] +fn pauli_mul(p: &Word, q: &Word) -> (Word, u8) { + let mut out = Word::new(p.n_qubits()); + let mut sign_count: u32 = 0; + let mut imag_count: u32 = 0; + for i in 0..W_U64 { + let a = p.xbits.data[i]; + let b = p.zbits.data[i]; + let c = q.xbits.data[i]; + let d = q.zbits.data[i]; + let sign = (a & b & c & !d) | (a & !b & !c & d) | (!a & b & c & d); + let imag = (a & !b & d) | (a & !c & d) | (!a & b & c) | (b & c & !d); + sign_count += sign.count_ones(); + imag_count += imag.count_ones(); + out.xbits.data[i] = a ^ c; + out.zbits.data[i] = b ^ d; + } + out.rehash(); + (out, ((2 * sign_count + imag_count) & 3) as u8) +} + +// ────────────────── Spec types ────────────────── + +/// Parsed Hamiltonian term. +#[derive(Clone)] +struct HTerm { + word: Word, + coeff: f64, +} + +/// One Pauli term in a complex linear combination (a single summand of +/// `L = Σ_a λ_a P_a` or of the precomputed `L†L`). +#[derive(Clone)] +struct PauliTerm { + word: Word, + coeff: Complex, +} + +/// One jump operator `L_k` with rate `γ_k`. The `HermitianPauli` variant +/// is a fast path; `General` handles arbitrary complex Pauli sums. +#[derive(Clone)] +enum JumpKind { + HermitianPauli { + word: Word, + rate: f64, + }, + General { + terms: Vec, // L = Σ_a λ_a P_a + dagger_dagger: Vec, // L†L = Σ_c μ_c P_c (μ_c ∈ ℝ) + rate: f64, + }, +} + +/// Expand `L†L = (Σ_a λ_a P_a)† (Σ_b λ_b P_b) = Σ_{a,b} λ_a* λ_b P_a P_b` +/// as a Pauli linear combination, dropping FP-noise zeros. Coefficients are +/// real because `L†L` is Hermitian; we keep them complex for arithmetic +/// uniformity. +fn precompute_ldagger_l(terms: &[PauliTerm]) -> Vec { + let zero = Complex::new(0.0, 0.0); + let mut acc: FxHashMap> = FxHashMap::default(); + for a in terms { + for b in terms { + let (word, phase) = pauli_mul(&a.word, &b.word); + let coeff = a.coeff.conj() * b.coeff * phase_factor(phase); + *acc.entry(word).or_insert(zero) += coeff; + } + } + acc.into_iter() + .filter(|(_, c)| c.norm() > 1e-14) + .map(|(word, coeff)| PauliTerm { word, coeff }) + .collect() +} + +/// Precompiled Lindbladian. Constructed once from string-form Hamiltonian +/// terms + jump operators; reused across many calls to [`Self::action`], +/// [`Self::leakage`], [`Self::generator`]. +/// +/// `action_cache` memoises the per-input contribution list — without it, +/// every call re-derives the same `L*(p)` from scratch for the same input. +pub struct LindbladSpec { + n_qubits: usize, + h_terms: Vec, + j_kinds: Vec, + /// `h_support[q]` = indices of Hamiltonian terms acting on qubit `q`. + h_support: Vec>, + /// `j_support[q]` = indices of jumps whose support contains qubit `q`. + j_support: Vec>, + action_cache: DashMap, FxBuildHasher>, +} + +/// User-facing description of one jump operator: a complex Pauli linear +/// combination together with its rate. +#[derive(Clone, Debug)] +pub struct JumpInput { + /// `(pauli_string, λ)` pairs forming `L_k = Σ_a λ_a P_a`. + pub lincomb: Vec<(String, Complex)>, + /// Non-negative GKSL rate `γ_k`. + pub rate: f64, +} + +impl LindbladSpec { + /// Construct a Lindbladian spec from Hamiltonian terms and jump operators. + /// + /// `h_terms` are `(pauli_string, coefficient)` pairs forming the Hermitian + /// Hamiltonian. Each jump operator is a complex Pauli linear combination; + /// a length-1 jump with imaginary part `0` is routed to the Hermitian-Pauli + /// fast path (with rate scaled by the squared real coefficient). + pub fn new( + n_qubits: usize, + h_terms: &[(String, f64)], + jumps: &[JumpInput], + ) -> Result { + if n_qubits > MAX_QUBITS { + return Err(Error::TooManyQubits { got: n_qubits }); + } + + let mut h_parsed: Vec = Vec::with_capacity(h_terms.len()); + let mut h_support_idx: Vec> = vec![Vec::new(); n_qubits]; + for (i, (s, c)) in h_terms.iter().enumerate() { + let (word, support) = parse_pauli_string(s, n_qubits)?; + for q in support { + h_support_idx[q as usize].push(i as u32); + } + h_parsed.push(HTerm { word, coeff: *c }); + } + + let mut j_kinds: Vec = Vec::with_capacity(jumps.len()); + let mut j_support_idx: Vec> = vec![Vec::new(); n_qubits]; + for (k, jump) in jumps.iter().enumerate() { + if jump.rate < 0.0 { + return Err(Error::NegativeRate { + index: k, + rate: jump.rate, + }); + } + if jump.lincomb.is_empty() { + return Err(Error::EmptyLincomb { index: k }); + } + + // Fast path: single-term, purely real → Hermitian Pauli. + if jump.lincomb.len() == 1 && jump.lincomb[0].1.im == 0.0 { + let (s, c) = &jump.lincomb[0]; + let (word, support) = parse_pauli_string(s, n_qubits)?; + for q in support { + j_support_idx[q as usize].push(k as u32); + } + j_kinds.push(JumpKind::HermitianPauli { + word, + rate: jump.rate * c.re * c.re, + }); + continue; + } + + // General path: parse all terms, precompute L†L, record union support. + let mut terms: Vec = Vec::with_capacity(jump.lincomb.len()); + let mut union_support: std::collections::BTreeSet = + std::collections::BTreeSet::new(); + for (s, c) in &jump.lincomb { + let (word, support) = parse_pauli_string(s, n_qubits)?; + for q in &support { + union_support.insert(*q); + } + terms.push(PauliTerm { word, coeff: *c }); + } + for q in union_support { + j_support_idx[q as usize].push(k as u32); + } + let dagger_dagger = precompute_ldagger_l(&terms); + j_kinds.push(JumpKind::General { + terms, + dagger_dagger, + rate: jump.rate, + }); + } + + Ok(Self { + n_qubits, + h_terms: h_parsed, + j_kinds, + h_support: h_support_idx, + j_support: j_support_idx, + action_cache: DashMap::with_hasher(FxBuildHasher::default()), + }) + } + + /// Drop all memoised `L*(p)` entries. + pub fn clear_cache(&self) { + self.action_cache.clear(); + } + + pub fn cache_size(&self) -> usize { + self.action_cache.len() + } + + pub fn n_qubits(&self) -> usize { + self.n_qubits + } + + pub fn num_h_terms(&self) -> usize { + self.h_terms.len() + } + + pub fn num_jump_terms(&self) -> usize { + self.j_kinds.len() + } + + /// Apply `L*` to a single Pauli string `p`. Returns the output Pauli + /// strings and their real coefficients (zero entries omitted). + pub fn action(&self, p: &Word) -> Vec<(Word, f64)> { + let mut out: FxHashMap = FxHashMap::default(); + let mut s1 = Vec::new(); + let mut s2 = Vec::new(); + self.accumulate_action(p, 1.0, &mut out, &mut s1, &mut s2); + out.into_iter().filter(|(_, c)| *c != 0.0).collect() + } + + /// Off-basis component of `L*( Σ_j coeffs[j] · basis[j] )`. Output + /// strings that lie in `basis` or in `protected` are dropped. + pub fn leakage( + &self, + basis: &[Word], + coeffs: &[f64], + protected: &[Word], + ) -> Result, Error> { + if basis.len() != coeffs.len() { + return Err(Error::LengthMismatch { + what: "basis and coeffs", + a: basis.len(), + b: coeffs.len(), + }); + } + // Hash-only membership tables: storing 8-byte `u64` keys instead + // of 48-byte Words shrinks the in-basis structure ~6×, keeping it + // in L3 (and often L2) at basis sizes where the full-Word version + // would spill to DRAM. Each query then costs ~30 ns instead of + // ~500 ns. False-positive risk from a 64-bit hash collision is + // ≈ N/2⁶⁴ per lookup (e.g. ≈ 3·10⁻¹⁴ at N = 5·10⁵); the worst-case + // cost is occasionally dropping a single leakage entry that should + // have been kept, which is negligible against `tau_add` and other + // approximations. + let in_basis: FxHashMap = basis.iter().map(|w| (word_hash(w), ())).collect(); + let protected_set: FxHashMap = + protected.iter().map(|w| (word_hash(w), ())).collect(); + + // `map_init` gives each rayon worker a thread-local scratch tuple + // that lives for the duration of the par_iter. We reuse the + // hashmap + scratch vectors across all basis elements processed + // by the same thread — the previous per-task allocations were a + // real cost at large basis sizes. + let local: Vec> = basis + .par_iter() + .zip(coeffs.par_iter()) + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (p, &c)| { + if let Some(r) = self.action_cache.get(p) { + let terms = r.value(); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + let h = word_hash(w); + if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { + out.push((w.clone(), c * *v)); + } + } + out + } else { + let terms = self.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + let h = word_hash(w); + if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { + out.push((w.clone(), c * *v)); + } + } + self.action_cache.insert(p.clone(), terms); + out + } + }, + ) + .collect(); + + let mut merged: FxHashMap = FxHashMap::default(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(0.0) += val; + } + } + Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) + } + + /// Sparse generator matrix in COO form: returns `(row, col, val)` + /// triplets. Row = output Pauli's position in `basis`; col = input + /// Pauli's position. Output Paulis not in `basis` are silently dropped. + pub fn generator(&self, basis: &[Word]) -> Vec<(usize, usize, f64)> { + let index: FxHashMap = basis + .iter() + .enumerate() + .map(|(i, w)| (w.clone(), i as u32)) + .collect(); + + // The cached `L*(p)` is already a deduplicated `Vec<(Word, f64)>`, + // so we can iterate it directly without going through a per-task + // `FxHashMap` accumulator (which was the previous hot spot). + let local: Vec> = basis + .par_iter() + .enumerate() + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (col, p)| { + let mut out: Vec<(usize, usize, f64)>; + if let Some(r) = self.action_cache.get(p) { + let terms = r.value(); + out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row as usize, col, *v)); + } + } + } else { + let terms = self.compute_action_terms(p, s1, s2, lm); + out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row as usize, col, *v)); + } + } + self.action_cache.insert(p.clone(), terms); + } + out + }, + ) + .collect(); + + // Pre-allocate the flat output to avoid sequential push reallocation. + let total: usize = local.iter().map(|v| v.len()).sum(); + let mut flat = Vec::with_capacity(total); + for v in local { + flat.extend(v); + } + flat + } + + /// Build the generator restricted to `basis` directly in CSR form, + /// skipping the intermediate `(row, col, val)` triplet materialisation. + /// + /// Algorithm: each task computes its column's contributions and writes + /// them into a thread-local `(col_idx, values)` buffer plus a per-row + /// count. Counts are then prefix-summed across threads into the final + /// CSR `row_ptr`, and a second parallel pass scatters each task's data + /// into the right CSR positions. This avoids both the + /// `Vec>` → `Vec<...>` flatten *and* the sequential + /// `from_triplets` count-and-scatter that dominated the original + /// `generator_csr` (~40% of PC-step wall time). + pub fn generator_csr(&self, basis: &[Word]) -> CsrMatrix { + let n = basis.len(); + if n == 0 { + return CsrMatrix { + n: 0, + row_ptr: vec![0], + col_idx: Vec::new(), + values: Vec::new(), + }; + } + + let index: FxHashMap = basis + .iter() + .enumerate() + .map(|(i, w)| (w.clone(), i as u32)) + .collect(); + + // Phase 1: per-column, collect `(row, value)` pairs (already + // filtered to in-basis), in parallel with thread-local scratch. + let cols: Vec> = basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), p| { + let mut out: Vec<(u32, f64)>; + if let Some(r) = self.action_cache.get(p) { + let terms = r.value(); + out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row, *v)); + } + } + } else { + let terms = self.compute_action_terms(p, s1, s2, lm); + out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row, *v)); + } + } + self.action_cache.insert(p.clone(), terms); + } + out + }, + ) + .collect(); + + // Phase 2: per-row counts. Each task scans its column and bumps + // an atomic per-row counter; total cost is `O(nnz / threads)`. + use std::sync::atomic::{AtomicU32, Ordering}; + let row_counts: Vec = (0..n).map(|_| AtomicU32::new(0)).collect(); + cols.par_iter().for_each(|col_data| { + for &(row, _) in col_data.iter() { + row_counts[row as usize].fetch_add(1, Ordering::Relaxed); + } + }); + + // Phase 3: prefix-sum the counts into `row_ptr`. Sequential but + // tiny (`O(n)`). + let mut row_ptr = vec![0usize; n + 1]; + for i in 0..n { + let c = row_counts[i].load(Ordering::Relaxed) as usize; + row_ptr[i + 1] = row_ptr[i] + c; + } + let nnz = row_ptr[n]; + + // Phase 4: scatter. Reuse `row_counts` as a per-row write offset + // (atomic fetch-and-add); each task writes its column's entries + // into the row's allocated slot. The increments target distinct + // rows mostly, and even when they collide, atomics on `Relaxed` + // are cheap on modern x86 / ARM. + for c in row_counts.iter() { + c.store(0, Ordering::Relaxed); + } + // We need parallel writes into shared `col_idx` and `values`. + // Safety: each `(row, slot)` pair is unique by construction (every + // (row, col) appears at most once per column, and atomic increment + // gives a unique slot per (row, write) event). We use raw-pointer + // writes inside `unsafe` to express this without RwLock overhead. + let mut col_idx = vec![0u32; nnz]; + let mut values = vec![0f64; nnz]; + let col_idx_ptr = SendPtr(col_idx.as_mut_ptr()); + let values_ptr = SendPtr(values.as_mut_ptr()); + let row_ptr_ref: &[usize] = &row_ptr; + let row_counts_ref: &[AtomicU32] = &row_counts; + // `move` on the closure forces whole-struct capture of `SendPtr` + // (rust 2021 edition does field-level capture by default, which + // would peel the inner `*mut T` and leak the !Sync). All captures + // are Copy (SendPtr) or `&` (refs), so `Fn` is still satisfied. + cols.par_iter() + .enumerate() + .for_each(move |(col, col_data)| { + for &(row, v) in col_data.iter() { + let slot_offset = row_counts_ref[row as usize].fetch_add(1, Ordering::Relaxed); + let pos = row_ptr_ref[row as usize] + slot_offset as usize; + // SAFETY: each `pos` is unique (atomic gives a unique slot + // per (row, write event)) and `pos < nnz` (counter bounded + // by precomputed row count). + unsafe { + col_idx_ptr.write(pos, col as u32); + values_ptr.write(pos, v); + } + } + }); + + CsrMatrix { + n, + row_ptr, + col_idx, + values, + } + } + + /// Predictor-corrector adaptive step. + /// + /// Mutates `basis` (may grow) and `coeffs` in place to reflect the + /// state at time `t + dt`. The step is: + /// + /// 1. **First-hop expansion**: compute leakage from the current state + /// and append any leakage Pauli with `|coeff| > tau_add` to the + /// basis (with starting coefficient 0). + /// 2. **Predictor**: apply `exp(dt · M)` to `coeffs` on the enlarged + /// basis, yielding a predicted state. + /// 3. **Second-hop expansion**: compute leakage from the *predicted* + /// state and append any further leakage strings — these are the + /// second-hop Paulis the predictor flowed into but did not yet have + /// in basis. + /// 4. **Corrector**: redo `exp(dt · M)` on the doubly-enlarged basis + /// starting from the saved pre-step coefficients. + /// + /// Lifts the per-step truncation error from `O(dt²)` (single-hop) to + /// `O(dt³)`. Strings in `protected` are never added to the basis as + /// leakage targets — typically the observable's support, which the + /// caller wants tracked exactly. + /// + /// `num_threads`, when set, runs the entire step inside a freshly built + /// rayon thread pool of that size — useful for benchmarking parallel + /// scaling. When `None`, the global rayon pool is used. + #[allow(clippy::too_many_arguments)] + pub fn pc_step( + &self, + basis: &mut Vec, + coeffs: &mut Vec, + dt: f64, + tau_add: f64, + protected: &[Word], + opts: ExpmOpts, + num_threads: Option, + ) -> Result<(), Error> { + if let Some(n) = num_threads { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(n) + .build() + .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; + pool.install(|| self.pc_step_inner(basis, coeffs, dt, tau_add, protected, opts)) + } else { + self.pc_step_inner(basis, coeffs, dt, tau_add, protected, opts) + } + } + + /// Same as [`Self::pc_step`] but also returns a per-phase timing + /// breakdown (microseconds), for profiling parallel scaling and hot + /// spots. Output: `(leakage1, expand1, gencsr1, expm1, leakage2, + /// expand2, gencsr2, expm2)`. + #[allow(clippy::too_many_arguments)] + pub fn pc_step_timed( + &self, + basis: &mut Vec, + coeffs: &mut Vec, + dt: f64, + tau_add: f64, + protected: &[Word], + opts: ExpmOpts, + num_threads: Option, + ) -> Result { + if let Some(n) = num_threads { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(n) + .build() + .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; + pool.install(|| self.pc_step_inner_timed(basis, coeffs, dt, tau_add, protected, opts)) + } else { + self.pc_step_inner_timed(basis, coeffs, dt, tau_add, protected, opts) + } + } + + fn pc_step_inner_timed( + &self, + basis: &mut Vec, + coeffs: &mut Vec, + dt: f64, + tau_add: f64, + protected: &[Word], + opts: ExpmOpts, + ) -> Result { + let mut t = PcStepTimings::default(); + + let t0 = Instant::now(); + let leak = self.leakage(basis, coeffs, protected)?; + t.leakage1_us = t0.elapsed().as_micros() as u64; + + let t0 = Instant::now(); + for (w, v) in leak { + if v.abs() > tau_add { + basis.push(w); + coeffs.push(0.0); + } + } + t.expand1_us = t0.elapsed().as_micros() as u64; + + let coeffs_pre = coeffs.clone(); + + let t0 = Instant::now(); + let csr = self.generator_csr(basis); + t.gencsr1_us = t0.elapsed().as_micros() as u64; + + let t0 = Instant::now(); + let coeffs_predict = expm_multiply(&csr, dt, coeffs, opts); + t.expm1_us = t0.elapsed().as_micros() as u64; + + let t0 = Instant::now(); + let leak2 = self.leakage(basis, &coeffs_predict, protected)?; + t.leakage2_us = t0.elapsed().as_micros() as u64; + + let t0 = Instant::now(); + let mut coeffs_pre_padded = coeffs_pre; + for (w, v) in leak2 { + if v.abs() > tau_add { + basis.push(w); + coeffs_pre_padded.push(0.0); + } + } + t.expand2_us = t0.elapsed().as_micros() as u64; + + let t0 = Instant::now(); + let csr = self.generator_csr(basis); + t.gencsr2_us = t0.elapsed().as_micros() as u64; + + let t0 = Instant::now(); + *coeffs = expm_multiply(&csr, dt, &coeffs_pre_padded, opts); + t.expm2_us = t0.elapsed().as_micros() as u64; + + Ok(t) + } + + fn pc_step_inner( + &self, + basis: &mut Vec, + coeffs: &mut Vec, + dt: f64, + tau_add: f64, + protected: &[Word], + opts: ExpmOpts, + ) -> Result<(), Error> { + // 1. First-hop expansion. + let leak = self.leakage(basis, coeffs, protected)?; + for (w, v) in leak { + if v.abs() > tau_add { + basis.push(w); + coeffs.push(0.0); + } + } + // 2. Predictor. + let coeffs_pre = coeffs.clone(); + let csr = self.generator_csr(basis); + let coeffs_predict = expm_multiply(&csr, dt, coeffs, opts); + // 3. Second-hop expansion from the predicted state. + let leak2 = self.leakage(basis, &coeffs_predict, protected)?; + let mut coeffs_pre_padded = coeffs_pre; + for (w, v) in leak2 { + if v.abs() > tau_add { + basis.push(w); + coeffs_pre_padded.push(0.0); + } + } + // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. + let csr = self.generator_csr(basis); + *coeffs = expm_multiply(&csr, dt, &coeffs_pre_padded, opts); + Ok(()) + } + + /// Compute the unscaled list of `(output, coefficient)` pairs that + /// `L*(p)` contributes (without the input coefficient). + fn compute_action_terms( + &self, + p: &Word, + scratch_support: &mut Vec, + scratch_cands: &mut Vec, + scratch_local: &mut FxHashMap>, + ) -> Vec<(Word, f64)> { + word_support(p, scratch_support); + let zero = Complex::new(0.0, 0.0); + scratch_local.clear(); + let local = scratch_local; + + // ── i [H, p] ───────────────────────────────────────────────── + candidate_terms(scratch_support, &self.h_support, scratch_cands); + for &i in scratch_cands.iter() { + let h = &self.h_terms[i as usize]; + let (r, eps) = comm_product(&h.word, p); + if eps != 0.0 { + *local.entry(r).or_insert(zero) += Complex::new(h.coeff * eps, 0.0); + } + } + + // ── dissipator ─────────────────────────────────────────────── + candidate_terms(scratch_support, &self.j_support, scratch_cands); + for &k in scratch_cands.iter() { + match &self.j_kinds[k as usize] { + JumpKind::HermitianPauli { word, rate } => { + if anti_commutes(word, p) { + *local.entry(p.clone()).or_insert(zero) += Complex::new(-2.0 * *rate, 0.0); + } + } + JumpKind::General { + terms, + dagger_dagger, + rate, + } => { + let rate_c = Complex::new(*rate, 0.0); + // Sandwich: γ Σ_{a,b} λ_a* λ_b P_a p P_b. + for a in terms { + let (r_ap, phi1) = pauli_mul(&a.word, p); + for b in terms { + let (s, phi2) = pauli_mul(&r_ap, &b.word); + let coeff = + a.coeff.conj() * b.coeff * phase_factor(phi1 + phi2) * rate_c; + *local.entry(s).or_insert(zero) += coeff; + } + } + // -1/2 γ {L†L, p}. For Hermitian Pauli P_c and Pauli p, + // {P_c, p} = 2·sign·R if they commute (P_c·p = sign·R), + // = 0 if they anti-commute. + for c_term in dagger_dagger { + let (r, phase) = pauli_mul(&c_term.word, p); + if phase & 1 == 0 { + let sign = if phase == 0 { 1.0 } else { -1.0 }; + let coeff = -c_term.coeff * rate_c * Complex::new(sign, 0.0); + *local.entry(r).or_insert(zero) += coeff; + } + } + } + } + } + + // L* preserves Hermiticity; imaginary parts must cancel to FP noise. + // `drain()` empties `scratch_local` so its allocation can be reused + // by the next call on the same thread (`Vec` keeps capacity). + local + .drain() + .filter_map(|(w, c)| { + debug_assert!( + c.im.abs() < 1e-9, + "L*(p) produced non-real coefficient {c}; bug in dissipator" + ); + if c.re == 0.0 { None } else { Some((w, c.re)) } + }) + .collect() + } + + /// Accumulate `scale · L*(p)` into `out`, hitting the cache when warm. + fn accumulate_action( + &self, + p: &Word, + scale: f64, + out: &mut FxHashMap, + scratch_support: &mut Vec, + scratch_cands: &mut Vec, + ) { + if let Some(r) = self.action_cache.get(p) { + for (w, c) in r.value().iter() { + *out.entry(w.clone()).or_insert(0.0) += scale * c; + } + return; + } + let mut scratch_local = FxHashMap::default(); + let terms = + self.compute_action_terms(p, scratch_support, scratch_cands, &mut scratch_local); + for (w, c) in terms.iter() { + *out.entry(w.clone()).or_insert(0.0) += scale * c; + } + self.action_cache.insert(p.clone(), terms); + } +} + +/// Compact 64-bit hash of a [`Word`], used as the key in cache-friendly +/// membership tables. +/// +/// `PauliWord::hash` writes its cached `u64` into the supplied `Hasher`; +/// running it through `FxHasher` once mixes the bits enough that the +/// resulting `u64` is well-distributed when stored as a key in a downstream +/// `FxHashMap` (whose outer hash function then needs only a cheap multiply +/// on a `u64` key). The whole call is ~2-5 ns and never touches `Word`'s +/// 32-byte payload, which is the entire point: an `FxHashMap` +/// over the basis has a working set ~6× smaller than `FxHashMap` +/// and stays in L2/L3 well past basis 10⁶. +#[inline(always)] +fn word_hash(w: &Word) -> u64 { + use std::hash::{Hash, Hasher}; + let mut h = fxhash::FxHasher::default(); + w.hash(&mut h); + h.finish() +} + +/// Union of `index[q]` for each `q ∈ p_support`, deduped. +#[inline] +fn candidate_terms(p_support: &[u32], index: &[Vec], scratch: &mut Vec) { + scratch.clear(); + for &q in p_support { + scratch.extend_from_slice(&index[q as usize]); + } + scratch.sort_unstable(); + scratch.dedup(); +} + +#[cfg(test)] +mod tests { + use super::*; + + fn jump_hpauli(s: &str, rate: f64) -> JumpInput { + JumpInput { + lincomb: vec![(s.to_string(), Complex::new(1.0, 0.0))], + rate, + } + } + + #[test] + fn z_dephasing_action_on_x() { + // L = Z on a single qubit; L*(X) = γ(ZXZ - X) = γ(-X - X) = -2γ X. + let spec = LindbladSpec::new( + 1, + &[("X".to_string(), 0.0)], // no Hamiltonian + &[jump_hpauli("Z", 0.5)], + ) + .unwrap(); + let (x, _) = parse_pauli_string("X", 1).unwrap(); + let terms = spec.action(&x); + assert_eq!(terms.len(), 1); + assert!((terms[0].1 - (-1.0)).abs() < 1e-12); // -2·0.5 = -1 + } + + #[test] + fn amplitude_damping_action_on_z() { + // Single-qubit σ⁻ jump: L*(Z) = -γ(I + Z). With γ=1 we expect + // I coefficient = -1, Z coefficient = -1. + let sigma_minus = JumpInput { + lincomb: vec![ + ("X".to_string(), Complex::new(0.5, 0.0)), + ("Y".to_string(), Complex::new(0.0, -0.5)), + ], + rate: 1.0, + }; + let spec = LindbladSpec::new(1, &[], &[sigma_minus]).unwrap(); + let (z, _) = parse_pauli_string("Z", 1).unwrap(); + let terms = spec.action(&z); + let (i_word, _) = parse_pauli_string("I", 1).unwrap(); + let mut i_coeff = 0.0; + let mut z_coeff = 0.0; + for (w, c) in &terms { + if w == &i_word { + i_coeff = *c; + } else if w == &z { + z_coeff = *c; + } + } + assert!((i_coeff - (-1.0)).abs() < 1e-10, "I coeff = {i_coeff}"); + assert!((z_coeff - (-1.0)).abs() < 1e-10, "Z coeff = {z_coeff}"); + } + + #[test] + fn word_codec_roundtrip() { + let codes = [0u8, 1, 2, 3, 1, 0, 3, 2]; + let w = word_from_codes(&codes).unwrap(); + let mut out = vec![0u8; codes.len()]; + codes_from_word(&w, &mut out); + assert_eq!(out.as_slice(), &codes); + } +} diff --git a/crates/ppvm-python-native/Cargo.toml b/crates/ppvm-python-native/Cargo.toml index a4cf4108..01987b18 100644 --- a/crates/ppvm-python-native/Cargo.toml +++ b/crates/ppvm-python-native/Cargo.toml @@ -15,6 +15,7 @@ fxhash = "0.2.1" num = "0.4.3" numpy = "0.27" paste = "1.0.15" +ppvm-lindblad = { version = "0.1.0", path = "../ppvm-lindblad" } ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } ppvm-stim = { version = "0.1.0", path = "../ppvm-stim" } ppvm-tableau = { version = "0.1.0", path = "../ppvm-tableau" } diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index 1a394c06..6807845e 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -1,441 +1,144 @@ // SPDX-FileCopyrightText: 2026 The PPVM Authors // SPDX-License-Identifier: Apache-2.0 -//! Rust shim for direct Pauli-Lindbladian time evolution on an adaptive -//! Pauli-string basis. See `xy-experiments/main_k_adaptive.py` for the -//! Python driver that owns the linear algebra and basis adaptation. +//! PyO3 wrapper around [`ppvm_lindblad::LindbladSpec`]. //! -//! Given a Hermitian Pauli Hamiltonian `H = Σ c_i P_i` and Hermitian Pauli -//! jump operators `L_k` with rates `γ_k ≥ 0`, the adjoint Lindbladian acts -//! on an operator `p` (a single Pauli string) as -//! -//! ```text -//! L*(p) = i Σ_i c_i [P_i, p] + Σ_k γ_k (L_k p L_k − p). -//! ``` -//! -//! For Hermitian Pauli `P` and Hermitian Pauli `p`, the product `P · p` has -//! a phase in `{±1, ±i}`. Real phase ⇔ commute (no contribution to the -//! commutator); imaginary phase ⇔ anti-commute, in which case -//! `[P, p] = 2 P p` and `i · 2 P p ∈ {+2 r, −2 r}` where `r = P ⊕ p` (xz -//! bits XORed). Hermitian Pauli jumps give `L p L = ±p`: the anti-commuting -//! case contributes `−2 γ_k · p` (diagonal). -//! -//! The hot path bypasses the higher-level `PauliWord` / `PhasedPauliWord` -//! types because their `set()`/`rehash()` calls dominate when this code is -//! invoked O(10^5) times per evolution step. Each Pauli string is held as -//! a packed pair of bit arrays (`[u8; W]` for X-bits and `[u8; W]` for -//! Z-bits) and we run a single fused multiply that produces both the -//! product phase and the XOR'd output in one byte-level pass. - -use dashmap::DashMap; -use fxhash::{FxBuildHasher, FxHashMap}; +//! All algorithmic work — Pauli arithmetic, active-site iteration, cache +//! management, and the dissipator branches (Hermitian Pauli fast path vs +//! general complex Pauli sum) — lives in the [`ppvm_lindblad`] crate. This +//! module is responsible only for the Python boundary: decoding the +//! `(N, n_qubits)` numpy uint8 arrays into [`ppvm_lindblad::Word`] vectors, +//! and re-encoding outputs back into numpy. + +use num::Complex; use numpy::{IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, PyReadonlyArray2}; +use ppvm_lindblad::{ + ExpmOpts, JumpInput, LindbladSpec as CoreSpec, Word, codes_from_word, word_from_codes, +}; use pyo3::{exceptions::PyValueError, prelude::*}; -use rayon::prelude::*; - -/// Bytes per X / Z bit array. 16 bytes = 128 bits, covers up to 128 qubits. -const W: usize = 16; - -/// Packed key: first `W` bytes are the X-bit array, next `W` bytes are the -/// Z-bit array. Equality and hashing are over the 32 raw bytes. -#[derive(Clone, Copy, PartialEq, Eq, Hash)] -struct Word { - x: [u8; W], - z: [u8; W], -} - -impl Word { - #[inline(always)] - fn zero() -> Self { - Self { - x: [0; W], - z: [0; W], - } - } -} -/// Parsed Hamiltonian or jump term: the packed Pauli word and its real -/// coefficient (or rate, for a jump). -#[derive(Clone)] -struct Term { - word: Word, - coeff: f64, -} - -/// `(out_basis, out_coeffs)` — packed Pauli rows + their real coefficients. type PyPauliMap<'py> = (Bound<'py, PyArray2>, Bound<'py, PyArray1>); -/// `(rows, cols, vals)` — COO triplets for a real sparse matrix. type PyCoo<'py> = ( Bound<'py, PyArray1>, Bound<'py, PyArray1>, Bound<'py, PyArray1>, ); -/// Precompiled Lindbladian. Constructed once from string-form Hamiltonian -/// terms + jump operators; reused across many calls to `action`, -/// `leakage`, `generator`. -/// -/// `action_cache` memoises the per-input contribution list, the Rust -/// analogue of the `@lru_cache(None)` in the original Python driver. -/// Without it, every `leakage`/`generator` call re-derives the same -/// `L*(p)` from scratch for the same Pauli strings. -#[pyclass] -pub struct LindbladSpec { - n_qubits: usize, - h_terms: Vec, - j_terms: Vec, - /// `h_support[q]` = indices of Hamiltonian terms acting on qubit `q`. - h_support: Vec>, - /// `j_support[q]` = indices of jump operators acting on qubit `q`. - j_support: Vec>, - /// `action_cache[p]` = unscaled list of `(output_word, contribution)` - /// pairs from `L*(p)` excluding the input coefficient. Callers - /// multiply through by `scale` at the use site. - action_cache: DashMap, FxBuildHasher>, -} - -// ────────────────── codec helpers ────────────────── - -/// Set qubit `q` of `w` to the Pauli encoded by code `b ∈ {0,1,2,3}`. -/// 0 = I, 1 = X, 2 = Z, 3 = Y. (Bit layout: x = b & 1, z = (b >> 1) & 1.) -#[inline(always)] -fn set_code(w: &mut Word, q: usize, b: u8) { - let byte = q >> 3; - let mask = 1u8 << (q & 7); - if b & 1 != 0 { - w.x[byte] |= mask; - } - if b & 2 != 0 { - w.z[byte] |= mask; - } -} - -/// Inverse of `set_code`: read qubit `q` of `w` and return the Pauli code. -#[inline(always)] -fn get_code(w: &Word, q: usize) -> u8 { - let byte = q >> 3; - let mask = 1u8 << (q & 7); - let xb = ((w.x[byte] & mask) != 0) as u8; - let zb = ((w.z[byte] & mask) != 0) as u8; - xb | (zb << 1) -} - -/// Decode a row of `n_qubits` Pauli codes into a `Word`. -fn word_from_codes(codes: &[u8], n_qubits: usize) -> PyResult { - if codes.len() != n_qubits { - return Err(PyValueError::new_err(format!( - "Expected {n_qubits} Pauli codes per row, got {}", - codes.len() - ))); - } - let mut w = Word::zero(); - for (q, &b) in codes.iter().enumerate() { - if b > 3 { - return Err(PyValueError::new_err(format!( - "Pauli code must be 0 (I), 1 (X), 2 (Z), or 3 (Y); got {b}" - ))); - } - if b != 0 { - set_code(&mut w, q, b); - } - } - Ok(w) -} - -/// Write `w` into `out` as `n_qubits` Pauli codes (one byte each). -fn codes_from_word(w: &Word, n_qubits: usize, out: &mut [u8]) { - debug_assert_eq!(out.len(), n_qubits); - for (q, slot) in out.iter_mut().take(n_qubits).enumerate() { - *slot = get_code(w, q); - } +fn map_err(e: ppvm_lindblad::Error) -> PyErr { + PyValueError::new_err(e.to_string()) } -/// Parse a string `"IXYZ..."` into a `Word` and the list of qubits where -/// the Pauli is non-identity (the term's support). -fn parse_term(s: &str, n_qubits: usize) -> PyResult<(Word, Vec)> { - let chars: Vec = s.chars().filter(|c| *c != '_').collect(); - if chars.len() != n_qubits { - return Err(PyValueError::new_err(format!( - "Pauli string \"{s}\" has length {} but n_qubits = {n_qubits}", - chars.len() - ))); - } - if n_qubits > 8 * W { +/// Decode a `(N, n_qubits)` uint8 ndarray view into `N` packed [`Word`]s. +fn decode_basis(view: &numpy::ndarray::ArrayView2, n_qubits: usize) -> PyResult> { + let n_basis = view.shape()[0]; + let n_cols = view.shape()[1]; + if n_cols != n_qubits { return Err(PyValueError::new_err(format!( - "LindbladSpec supports n_qubits ≤ {}; got {n_qubits}", - 8 * W + "basis has {n_cols} columns but spec.n_qubits = {n_qubits}" ))); } - let mut word = Word::zero(); - let mut support: Vec = Vec::new(); - for (q, c) in chars.into_iter().enumerate() { - let code: u8 = match c { - 'I' => 0, - 'X' => 1, - 'Z' => 2, - 'Y' => 3, - other => { - return Err(PyValueError::new_err(format!( - "Invalid Pauli character '{other}' in \"{s}\"" - ))); - } - }; - if code != 0 { - set_code(&mut word, q, code); - support.push(q as u32); - } - } - Ok((word, support)) -} - -// ────────────────── algebra helpers ────────────────── - -/// `true` if Pauli words `a` and `b` anti-commute. -/// -/// Two Pauli strings anti-commute iff -/// `popcount(a.x & b.z) + popcount(a.z & b.x)` is odd. -#[inline(always)] -fn anti_commutes(a: &Word, b: &Word) -> bool { - let mut bits: u32 = 0; - for i in 0..W { - bits += (a.x[i] & b.z[i]).count_ones(); - bits += (a.z[i] & b.x[i]).count_ones(); - } - bits & 1 == 1 -} - -/// Fused product `h · p`: returns `(out, eps)` where `out.x = h.x ^ p.x`, -/// `out.z = h.z ^ p.z`, and -/// -/// - `eps = 0` if `h` and `p` commute (caller should skip — `[h,p] = 0`), -/// - `eps = -2.0` if `h·p` has phase `+i` (so `i·[h,p] = -2·out`), -/// - `eps = +2.0` if `h·p` has phase `-i` (so `i·[h,p] = +2·out`). -/// -/// Phase = `(2·sign_count + imag_count) mod 4`, where the per-byte XOR/AND -/// formulas are the same ones used by `PhasedPauliWord::mul_assign`. -#[inline(always)] -fn comm_product(h: &Word, p: &Word) -> (Word, f64) { - let mut out = Word::zero(); - let mut sign_count: u32 = 0; - let mut imag_count: u32 = 0; - for i in 0..W { - let a = h.x[i]; - let b = h.z[i]; - let c = p.x[i]; - let d = p.z[i]; - let sign = (a & b & c & !d) | (a & !b & !c & d) | (!a & b & c & d); - let imag = (a & !b & d) | (a & !c & d) | (!a & b & c) | (b & c & !d); - sign_count += sign.count_ones(); - imag_count += imag.count_ones(); - out.x[i] = a ^ c; - out.z[i] = b ^ d; - } - let phase = (2 * sign_count + imag_count) & 3; - let eps = match phase { - 1 => -2.0, - 3 => 2.0, - _ => 0.0, - }; - (out, eps) -} - -/// Union of `index[q]` for each `q ∈ p_support`, deduped. -#[inline] -fn candidate_terms(p_support: &[u32], index: &[Vec], scratch: &mut Vec) { - scratch.clear(); - for &q in p_support { - scratch.extend_from_slice(&index[q as usize]); - } - scratch.sort_unstable(); - scratch.dedup(); -} - -/// Find qubits where `p` is non-identity (the support of `p`). -#[inline] -fn word_support(p: &Word, n_qubits: usize, out: &mut Vec) { - out.clear(); - for q in 0..n_qubits { - let byte = q >> 3; - let mask = 1u8 << (q & 7); - if (p.x[byte] | p.z[byte]) & mask != 0 { - out.push(q as u32); - } - } -} - -/// Compute the unscaled list of `(output, coefficient)` pairs that -/// `L*(p)` would contribute, without the input coefficient. Used by -/// `cached_action` to populate the cache. The scratch buffers are -/// allocated by the caller so this is allocation-light per p. -fn compute_action_terms( - spec: &LindbladSpec, - p: &Word, - scratch_support: &mut Vec, - scratch_cands: &mut Vec, -) -> Vec<(Word, f64)> { - word_support(p, spec.n_qubits, scratch_support); - // Aggregate within a small local map; for typical action sizes the - // overhead of FxHashMap is dwarfed by the dedup it provides. - let mut local: FxHashMap = FxHashMap::default(); - - // Hamiltonian (off-diagonal) terms - candidate_terms(scratch_support, &spec.h_support, scratch_cands); - for &i in scratch_cands.iter() { - let h = &spec.h_terms[i as usize]; - let (r, eps) = comm_product(&h.word, p); - if eps != 0.0 { - *local.entry(r).or_insert(0.0) += h.coeff * eps; - } - } - - // Jump (diagonal) terms — single diagonal entry on `p`. - candidate_terms(scratch_support, &spec.j_support, scratch_cands); - let mut diag: f64 = 0.0; - for &k in scratch_cands.iter() { - let j = &spec.j_terms[k as usize]; - if anti_commutes(&j.word, p) { - diag += -2.0 * j.coeff; + let mut out = Vec::with_capacity(n_basis); + let mut row_buf = vec![0u8; n_qubits]; + for i in 0..n_basis { + let row = view.row(i); + for (q, slot) in row_buf.iter_mut().enumerate() { + *slot = row[q]; } + out.push(word_from_codes(&row_buf).map_err(map_err)?); } - if diag != 0.0 { - *local.entry(*p).or_insert(0.0) += diag; - } - - local.into_iter().collect() + Ok(out) } -/// Accumulate `scale · L*(p)` into `out`, hitting the cache when warm. -fn accumulate_action( - spec: &LindbladSpec, - p: &Word, - scale: f64, - out: &mut FxHashMap, - scratch_support: &mut Vec, - scratch_cands: &mut Vec, -) { - if let Some(r) = spec.action_cache.get(p) { - for (w, c) in r.value().iter() { - *out.entry(*w).or_insert(0.0) += scale * c; - } - return; - } - // Compute, install in cache, and accumulate. - let terms = compute_action_terms(spec, p, scratch_support, scratch_cands); - for (w, c) in terms.iter() { - *out.entry(*w).or_insert(0.0) += scale * c; +/// Pack `Vec<(Word, f64)>` into the standard PyO3 return shape. +fn pack_pauli_map<'py>( + py: Python<'py>, + pairs: Vec<(Word, f64)>, + n_qubits: usize, +) -> PyResult> { + let m = pairs.len(); + let mut basis = vec![0u8; m * n_qubits]; + let mut coeffs = vec![0f64; m]; + for (i, (w, c)) in pairs.into_iter().enumerate() { + codes_from_word(&w, &mut basis[i * n_qubits..(i + 1) * n_qubits]); + coeffs[i] = c; } - // If a concurrent task raced and inserted first, the recomputed - // value is identical so the overwrite is harmless. - spec.action_cache.insert(*p, terms); + let basis_arr = basis + .into_pyarray(py) + .reshape([m, n_qubits]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, coeffs.into_pyarray(py))) } -/// Decode a `(N, n_qubits)` uint8 ndarray view into `N` packed `Word`s. -fn decode_basis(view: &numpy::ndarray::ArrayView2, n_qubits: usize) -> PyResult> { - let n_basis = view.shape()[0]; - let mut out: Vec = Vec::with_capacity(n_basis); - for i in 0..n_basis { - let row = view.row(i); - let mut w = Word::zero(); - for q in 0..n_qubits { - let b = row[q]; - if b > 3 { - return Err(PyValueError::new_err(format!( - "Pauli code must be 0-3; got {b} at row {i}, col {q}" - ))); - } - if b != 0 { - set_code(&mut w, q, b); - } - } - out.push(w); - } - Ok(out) +/// PyO3 facade exposing the Lindbladian shim to Python. +#[pyclass] +pub struct LindbladSpec { + inner: CoreSpec, } -// ────────────────── PyClass ────────────────── - #[pymethods] impl LindbladSpec { + /// Construct a Lindbladian spec from Hamiltonian terms and jump operators. + /// + /// `jump_lincombs[k]` is a list of `(pauli_string, real, imag)` triples + /// encoding `L_k = Σ_a (re + i·im) P_a`. A length-1 jump with `im == 0` + /// is routed to the Hermitian-Pauli fast path (with rate scaled by `re²`). #[new] - #[pyo3(signature = (n_qubits, h_terms, h_coeffs, jump_terms, jump_rates))] + #[pyo3(signature = (n_qubits, h_terms, h_coeffs, jump_lincombs, jump_rates))] fn new( n_qubits: usize, h_terms: Vec, h_coeffs: Vec, - jump_terms: Vec, + jump_lincombs: Vec>, jump_rates: Vec, ) -> PyResult { - if n_qubits > 8 * W { - return Err(PyValueError::new_err(format!( - "LindbladSpec supports n_qubits ≤ {}; got {n_qubits}", - 8 * W - ))); - } if h_terms.len() != h_coeffs.len() { return Err(PyValueError::new_err( "h_terms and h_coeffs must have the same length", )); } - if jump_terms.len() != jump_rates.len() { + if jump_lincombs.len() != jump_rates.len() { return Err(PyValueError::new_err( - "jump_terms and jump_rates must have the same length", + "jump_lincombs and jump_rates must have the same length", )); } - - let mut h: Vec = Vec::with_capacity(h_terms.len()); - let mut h_support_idx: Vec> = vec![Vec::new(); n_qubits]; - for (i, (s, c)) in h_terms.iter().zip(h_coeffs.iter()).enumerate() { - let (word, support) = parse_term(s, n_qubits)?; - for q in support { - h_support_idx[q as usize].push(i as u32); - } - h.push(Term { word, coeff: *c }); - } - - let mut j: Vec = Vec::with_capacity(jump_terms.len()); - let mut j_support_idx: Vec> = vec![Vec::new(); n_qubits]; - for (k, (s, g)) in jump_terms.iter().zip(jump_rates.iter()).enumerate() { - let (word, support) = parse_term(s, n_qubits)?; - for q in support { - j_support_idx[q as usize].push(k as u32); - } - j.push(Term { word, coeff: *g }); - } - - Ok(Self { - n_qubits, - h_terms: h, - j_terms: j, - h_support: h_support_idx, - j_support: j_support_idx, - action_cache: DashMap::with_hasher(FxBuildHasher::default()), - }) + let h: Vec<(String, f64)> = h_terms.into_iter().zip(h_coeffs).collect(); + let jumps: Vec = jump_lincombs + .into_iter() + .zip(jump_rates) + .map(|(lincomb, rate)| JumpInput { + lincomb: lincomb + .into_iter() + .map(|(s, re, im)| (s, Complex::new(re, im))) + .collect(), + rate, + }) + .collect(); + let inner = CoreSpec::new(n_qubits, &h, &jumps).map_err(map_err)?; + Ok(Self { inner }) } - /// Drop all memoised `L*(p)` entries. Useful between independent - /// problems sharing the same spec but acting on disjoint Pauli sets. fn clear_cache(&self) { - self.action_cache.clear(); + self.inner.clear_cache(); } #[getter] fn cache_size(&self) -> usize { - self.action_cache.len() + self.inner.cache_size() } #[getter] fn n_qubits(&self) -> usize { - self.n_qubits + self.inner.n_qubits() } #[getter] fn num_h_terms(&self) -> usize { - self.h_terms.len() + self.inner.num_h_terms() } #[getter] fn num_jump_terms(&self) -> usize { - self.j_terms.len() + self.inner.num_jump_terms() } /// Apply `L*` to a single Pauli string `p`. @@ -445,32 +148,12 @@ impl LindbladSpec { p: PyReadonlyArray1<'py, u8>, ) -> PyResult> { let p_slice = p.as_slice()?; - let p_word = word_from_codes(p_slice, self.n_qubits)?; - let mut out: FxHashMap = FxHashMap::default(); - let mut s1 = Vec::new(); - let mut s2 = Vec::new(); - accumulate_action(self, &p_word, 1.0, &mut out, &mut s1, &mut s2); - - let m = out.len(); - let n = self.n_qubits; - let mut basis = vec![0u8; m * n]; - let mut coeffs = vec![0f64; m]; - for (i, (w, c)) in out.into_iter().enumerate() { - codes_from_word(&w, n, &mut basis[i * n..(i + 1) * n]); - coeffs[i] = c; - } - let basis_arr = basis - .into_pyarray(py) - .reshape([m, n]) - .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; - Ok((basis_arr, coeffs.into_pyarray(py))) + let p_word = word_from_codes(p_slice).map_err(map_err)?; + let pairs = self.inner.action(&p_word); + pack_pauli_map(py, pairs, self.inner.n_qubits()) } /// Off-basis component of `L*( Σ_j coeffs[j] · basis[j] )`. - /// - /// `basis` is `(N, n_qubits)` uint8 Pauli codes; `coeffs` is length-N - /// float64. Returns `(out_basis, out_coeffs)` with output Paulis NOT - /// in `basis` (and not in `protected`, if given). #[pyo3(signature = (basis, coeffs, protected = None))] fn leakage<'py>( &self, @@ -479,134 +162,184 @@ impl LindbladSpec { coeffs: PyReadonlyArray1<'py, f64>, protected: Option>, ) -> PyResult> { + let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); - let coeffs_view = coeffs.as_slice()?; - let (n_basis, n_q) = (basis_view.shape()[0], basis_view.shape()[1]); - if n_q != self.n_qubits { - return Err(PyValueError::new_err(format!( - "basis has {n_q} columns but spec.n_qubits = {}", - self.n_qubits - ))); - } - if coeffs_view.len() != n_basis { + let basis_words = decode_basis(&basis_view, n_q)?; + let coeffs_slice = coeffs.as_slice()?; + if coeffs_slice.len() != basis_words.len() { return Err(PyValueError::new_err(format!( - "coeffs has length {} but basis has {n_basis} rows", - coeffs_view.len() + "coeffs has length {} but basis has {} rows", + coeffs_slice.len(), + basis_words.len() ))); } - - let basis_words = decode_basis(&basis_view, self.n_qubits)?; - let in_basis: FxHashMap = basis_words.iter().map(|w| (*w, ())).collect(); - - let protected_set: FxHashMap = if let Some(ref prot) = protected { + let protected_words: Vec = if let Some(ref prot) = protected { let pv = prot.as_array(); - if pv.shape()[1] != self.n_qubits { - return Err(PyValueError::new_err(format!( - "protected has {} columns but spec.n_qubits = {}", - pv.shape()[1], - self.n_qubits - ))); - } - let words = decode_basis(&pv, self.n_qubits)?; - words.into_iter().map(|w| (w, ())).collect() + decode_basis(&pv, n_q)? } else { - FxHashMap::default() + Vec::new() }; - - let local: Vec> = basis_words - .par_iter() - .zip(coeffs_view.par_iter()) - .map(|(p, &c)| { - let mut m: FxHashMap = FxHashMap::default(); - let mut s1 = Vec::new(); - let mut s2 = Vec::new(); - accumulate_action(self, p, c, &mut m, &mut s1, &mut s2); - m - }) - .collect(); - - let mut merged: FxHashMap = FxHashMap::default(); - for m in local { - for (k, v) in m { - if in_basis.contains_key(&k) || protected_set.contains_key(&k) { - continue; - } - *merged.entry(k).or_insert(0.0) += v; - } - } - - let m = merged.len(); - let n = self.n_qubits; - let mut out_basis = vec![0u8; m * n]; - let mut out_coeffs = vec![0f64; m]; - for (i, (w, c)) in merged.into_iter().enumerate() { - codes_from_word(&w, n, &mut out_basis[i * n..(i + 1) * n]); - out_coeffs[i] = c; - } - let basis_arr = out_basis - .into_pyarray(py) - .reshape([m, n]) - .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; - Ok((basis_arr, out_coeffs.into_pyarray(py))) + let pairs = self + .inner + .leakage(&basis_words, coeffs_slice, &protected_words) + .map_err(map_err)?; + pack_pauli_map(py, pairs, n_q) } - /// Sparse generator matrix in COO form: returns `(rows, cols, vals)` - /// that the caller wraps with scipy. + /// One predictor-corrector adaptive step. /// - /// Row index = output Pauli's position in `basis`; col index = input - /// Pauli's position. Output Paulis not in `basis` are silently - /// dropped (handled by `leakage`). - fn generator<'py>( + /// Internally: expand basis with first-hop leakage, predictor step + /// (`exp(dt·M)`), expand again with second-hop leakage from the + /// predicted state, then redo the step from the pre-step coefficients + /// on the doubly-enlarged basis. The matrix exponential is computed in + /// Rust via Al-Mohy & Higham scaling-and-squaring; no scipy required. + /// + /// Returns `(new_basis, new_coeffs)`. + #[pyo3(signature = ( + basis, coeffs, dt, tau_add, + protected = None, + expm_tol = 1e-12, + parallel_threshold = 50_000, + num_threads = None, + ))] + #[allow(clippy::too_many_arguments)] + fn pc_step<'py>( &self, py: Python<'py>, basis: PyReadonlyArray2<'py, u8>, - ) -> PyResult> { + coeffs: PyReadonlyArray1<'py, f64>, + dt: f64, + tau_add: f64, + protected: Option>, + expm_tol: f64, + parallel_threshold: usize, + num_threads: Option, + ) -> PyResult> { + let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); - let n_q = basis_view.shape()[1]; - if n_q != self.n_qubits { + let mut basis_words = decode_basis(&basis_view, n_q)?; + let mut coeffs_vec = coeffs.as_slice()?.to_vec(); + if coeffs_vec.len() != basis_words.len() { return Err(PyValueError::new_err(format!( - "basis has {n_q} columns but spec.n_qubits = {}", - self.n_qubits + "coeffs has length {} but basis has {} rows", + coeffs_vec.len(), + basis_words.len() ))); } + let protected_words: Vec = if let Some(ref p) = protected { + decode_basis(&p.as_array(), n_q)? + } else { + Vec::new() + }; + let opts = ExpmOpts { + tol: expm_tol, + parallel_threshold, + }; + self.inner + .pc_step( + &mut basis_words, + &mut coeffs_vec, + dt, + tau_add, + &protected_words, + opts, + num_threads, + ) + .map_err(map_err)?; + + // Pack output. Basis may have grown; coeffs has the same new length. + let pairs: Vec<(Word, f64)> = basis_words.into_iter().zip(coeffs_vec).collect(); + pack_pauli_map(py, pairs, n_q) + } - let basis_words = decode_basis(&basis_view, self.n_qubits)?; - let index: FxHashMap = basis_words - .iter() - .enumerate() - .map(|(i, w)| (*w, i as u32)) - .collect(); - - let local: Vec> = basis_words - .par_iter() - .enumerate() - .map(|(col, p)| { - let mut m: FxHashMap = FxHashMap::default(); - let mut s1 = Vec::new(); - let mut s2 = Vec::new(); - accumulate_action(self, p, 1.0, &mut m, &mut s1, &mut s2); - let mut out = Vec::with_capacity(m.len()); - for (w, v) in m { - if let Some(&row) = index.get(&w) { - out.push((row as u64, col as u64, v)); - } - } - out - }) - .collect(); + /// Same as [`Self::pc_step`] but also returns a dict mapping phase + /// name → microseconds spent in that phase, for profiling. + #[pyo3(signature = ( + basis, coeffs, dt, tau_add, + protected = None, + expm_tol = 1e-12, + parallel_threshold = 50_000, + num_threads = None, + ))] + #[allow(clippy::too_many_arguments)] + fn pc_step_timed<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, f64>, + dt: f64, + tau_add: f64, + protected: Option>, + expm_tol: f64, + parallel_threshold: usize, + num_threads: Option, + ) -> PyResult<(PyPauliMap<'py>, Bound<'py, pyo3::types::PyDict>)> { + let n_q = self.inner.n_qubits(); + let basis_view = basis.as_array(); + let mut basis_words = decode_basis(&basis_view, n_q)?; + let mut coeffs_vec = coeffs.as_slice()?.to_vec(); + if coeffs_vec.len() != basis_words.len() { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {} rows", + coeffs_vec.len(), + basis_words.len() + ))); + } + let protected_words: Vec = if let Some(ref p) = protected { + decode_basis(&p.as_array(), n_q)? + } else { + Vec::new() + }; + let opts = ExpmOpts { + tol: expm_tol, + parallel_threshold, + }; + let timings = self + .inner + .pc_step_timed( + &mut basis_words, + &mut coeffs_vec, + dt, + tau_add, + &protected_words, + opts, + num_threads, + ) + .map_err(map_err)?; + + let pairs: Vec<(Word, f64)> = basis_words.into_iter().zip(coeffs_vec).collect(); + let map = pack_pauli_map(py, pairs, n_q)?; + let d = pyo3::types::PyDict::new(py); + d.set_item("leakage1_us", timings.leakage1_us)?; + d.set_item("expand1_us", timings.expand1_us)?; + d.set_item("gencsr1_us", timings.gencsr1_us)?; + d.set_item("expm1_us", timings.expm1_us)?; + d.set_item("leakage2_us", timings.leakage2_us)?; + d.set_item("expand2_us", timings.expand2_us)?; + d.set_item("gencsr2_us", timings.gencsr2_us)?; + d.set_item("expm2_us", timings.expm2_us)?; + Ok((map, d)) + } - let total: usize = local.iter().map(|v| v.len()).sum(); + /// Sparse generator matrix in COO form: `(rows, cols, vals)`. + fn generator<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + ) -> PyResult> { + let n_q = self.inner.n_qubits(); + let basis_view = basis.as_array(); + let basis_words = decode_basis(&basis_view, n_q)?; + let triplets = self.inner.generator(&basis_words); + let total = triplets.len(); let mut rows = Vec::with_capacity(total); let mut cols = Vec::with_capacity(total); let mut vals = Vec::with_capacity(total); - for trips in local { - for (r, c, v) in trips { - rows.push(r); - cols.push(c); - vals.push(v); - } + for (r, c, v) in triplets { + rows.push(r as u64); + cols.push(c as u64); + vals.push(v); } - Ok(( rows.into_pyarray(py), cols.into_pyarray(py), From ea294e3916e57a009134f9ca9758224b419cf8de Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 29 May 2026 11:27:27 +0100 Subject: [PATCH 004/159] feat(python): Lindbladian pc_step, sigma_plus/minus jumps, convergence tests, scaling demo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wrapper updates and tests for the new `ppvm-lindblad` crate. API additions on `Lindbladian`: - `pc_step` / `pc_step_arr`: thin Python wrappers around the pure-Rust predictor-corrector step. Expose `parallel_threshold`, `num_threads`, and `expm_tol` knobs for benchmarking parallel scaling without re-importing scipy. - Accept jumps as either a Pauli string (Hermitian-Pauli fast path) or a complex Pauli linear combination `Iterable[(str, complex)]` for non-Hermitian dissipators. - `sigma_plus(site, n_qubits)` and `sigma_minus(site, n_qubits)` helpers produce the `(X ± iY)/2` Pauli sums for amplitude damping / thermal excitation. Re-exported from the top-level `ppvm` package. Tests: - Amplitude damping (`test_amplitude_damping_action`, `test_amplitude_damping_generator_and_leakage`) and thermal σ± mix (`test_thermal_excitation_damping_action`) cross-checked against a dense Liouvillian super-operator reference. - Adaptive shim convergence vs the closed Jordan-Wigner bilinear ODE for NN-XY + Z-dephasing on OBC (`test_adaptive_converges_to_nn_xy_z_dephasing_bilinear`). - Predictor-corrector raises the dt-scaling from quadratic to cubic (`test_predictor_corrector_lifts_dt_scaling_to_cubic`). - Pure-Rust pc_step matches scipy-based PC at FP precision (`test_pc_step_rust_matches_scipy_pc`) and exhibits the same cubic dt-scaling against the bilinear reference (`test_pc_step_rust_dt_scaling_is_cubic`). - Length-1 real lincomb routes to the Hermitian fast path (`test_lincomb_single_term_matches_hermitian_fast_path`). Demo: - `demo/lindblad_pc_scaling.py`: end-to-end wall-time scaling sweep with `--max-cores`, `--model {nn,long-range}`, `--alpha`, `--gamma`, `--tau` CLI for HPC nodes. Reports first-step + steady-state ms per thread count with the entire PC step pinned to a per-call rayon pool. Co-Authored-By: Claude Opus 4.7 --- ppvm-python/demo/lindblad_pc_scaling.py | 184 +++++++++ ppvm-python/src/ppvm/__init__.py | 2 + ppvm-python/src/ppvm/lindblad.py | 161 +++++++- ppvm-python/test/test_lindblad.py | 516 +++++++++++++++++++++++- 4 files changed, 850 insertions(+), 13 deletions(-) create mode 100644 ppvm-python/demo/lindblad_pc_scaling.py diff --git a/ppvm-python/demo/lindblad_pc_scaling.py b/ppvm-python/demo/lindblad_pc_scaling.py new file mode 100644 index 00000000..45927aae --- /dev/null +++ b/ppvm-python/demo/lindblad_pc_scaling.py @@ -0,0 +1,184 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""End-to-end wall-time scaling of the pure-Rust predictor-corrector step +with rayon thread count. + +The entire ``pc_step`` body (both leakage calls, the generator build, and +both ``expm_multiply`` calls) is wrapped in a rayon pool of the requested +size — leakage and generator parallelise over basis elements, the matrix +exponential parallelises over SpMV rows. So the speedup numbers reflect +overall PC throughput, not just SpMV. + +Usage:: + + python lindblad_pc_scaling.py --L 51 --steps 20 --max-cores 16 + +For HPC: ``--max-cores`` is the upper bound of the thread sweep, so on a +32-core node you'd pass ``--max-cores 32`` (or any subset). +""" + +from __future__ import annotations + +import argparse +import importlib.util as _ilu +import sys as _sys +import time +from pathlib import Path as _Path +from statistics import median + +import numpy as np + +# Bypass the `ppvm` package __init__ to avoid a pre-existing stim/bloqade +# version mismatch in the dev env. Pull the bare submodule path directly. +_spec = _ilu.spec_from_file_location( + "_ppvm_lindblad", + _Path(__file__).resolve().parent.parent / "src" / "ppvm" / "lindblad.py", +) +_mod = _ilu.module_from_spec(_spec) +_sys.modules["_ppvm_lindblad"] = _mod +_spec.loader.exec_module(_mod) +Lindbladian = _mod.Lindbladian + + +def build_nn_xy_dephasing(L: int, J: float, gamma: float): + h_terms = [] + for i in range(L - 1): + a, b = i, i + 1 + xs = ["I"] * L + xs[a] = xs[b] = "X" + ys = ["I"] * L + ys[a] = ys[b] = "Y" + h_terms += [("".join(xs), J), ("".join(ys), J)] + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + return h_terms, jump_terms + + +def build_long_range_xy_dephasing(L: int, J: float, alpha: float, gamma: float): + """All-to-all XY with 1/r^α couplings (matches the lindblad_adaptive + demo). Operator weight grows much faster than NN because every bond + activates every step, giving a basis size that meaningfully exercises + parallel scaling.""" + pairs = [ + (a, b, 1.0 / min(b - a, L - b + a) ** alpha) + for a in range(L) + for b in range(a + 1, L) + ] + kac = sum(j for _, _, j in pairs) / L + pairs = [(a, b, j / kac) for a, b, j in pairs] + h_terms = [] + for a, b, j in pairs: + for q in "XY": + term = ["I"] * L + term[a] = term[b] = q + h_terms.append(("".join(term), J * j)) + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + return h_terms, jump_terms + + +def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + times = [] + for _ in range(n_steps): + t0 = time.perf_counter() + basis, coeffs = L_op.pc_step( + basis, + coeffs, + dt, + tau_add, + protected=protected, + parallel_threshold=0, + num_threads=num_threads, + ) + times.append(time.perf_counter() - t0) + return times, len(basis) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + parser.add_argument("--L", type=int, default=51, help="number of qubits") + parser.add_argument("--steps", type=int, default=20, help="PC steps per measurement") + parser.add_argument("--dt", type=float, default=0.05, help="time step") + parser.add_argument("--J", type=float, default=1.0, help="XY exchange") + parser.add_argument("--gamma", type=float, default=1.0, help="Z dephasing rate") + parser.add_argument( + "--model", + choices=("nn", "long-range"), + default="long-range", + help="NN XY or all-to-all 1/r^alpha XY (default: long-range)", + ) + parser.add_argument( + "--alpha", type=float, default=1.0, help="power-law exponent for long-range model" + ) + parser.add_argument( + "--tau", type=float, default=1e-8, help="leakage threshold for basis expansion" + ) + parser.add_argument( + "--max-cores", type=int, default=4, help="upper bound of the thread sweep" + ) + parser.add_argument( + "--warmup-steps", + type=int, + default=4, + help="PC steps to discard before timing (lets the basis settle)", + ) + args = parser.parse_args() + + L = args.L + site0 = L // 2 + if args.model == "nn": + h_terms, jump_terms = build_nn_xy_dephasing(L, args.J, args.gamma) + else: + h_terms, jump_terms = build_long_range_xy_dephasing( + L, args.J, args.alpha, args.gamma + ) + L_op = Lindbladian(L, h_terms, jump_terms) + + # Warmup: pre-build pools at each thread count and amortise one-time setup. + print(f"Warmup (L={L}, {args.warmup_steps} steps per pool size)...") + for n in range(1, args.max_cores + 1): + run_pc_steps(L_op, L, site0, args.dt, args.warmup_steps, args.tau, n) + L_op.clear_cache() + + print() + model_str = ( + "NN XY (OBC)" if args.model == "nn" else f"long-range XY alpha={args.alpha}" + ) + print( + f"{model_str} + Z-dephasing L={L} J={args.J} gamma={args.gamma} " + f"dt={args.dt} tau={args.tau:g}" + ) + print( + f"{args.steps} PC steps per measurement, parallel_threshold=0 " + f"(force parallel SpMV); rayon pool wraps the entire PC step " + f"(leakage + generator + expm)." + ) + print() + header = ( + f"{'threads':>8s} {'first-step (ms)':>16s} {'steady (ms)':>12s} " + f"{'speedup':>9s} {'|basis|':>8s}" + ) + print(header) + print("-" * len(header)) + + baseline = None + for n in range(1, args.max_cores + 1): + L_op.clear_cache() + times, basis_size = run_pc_steps( + L_op, L, site0, args.dt, args.steps, args.tau, n + ) + first = times[0] * 1000.0 + steady = median(times[1:]) * 1000.0 + if baseline is None: + baseline = steady + speedup = baseline / steady + print( + f"{n:>8d} {first:>16.1f} {steady:>12.2f} {speedup:>8.2f}x " + f"{basis_size:>8d}" + ) + + +if __name__ == "__main__": + main() diff --git a/ppvm-python/src/ppvm/__init__.py b/ppvm-python/src/ppvm/__init__.py index 246531d1..57beb942 100644 --- a/ppvm-python/src/ppvm/__init__.py +++ b/ppvm-python/src/ppvm/__init__.py @@ -7,6 +7,8 @@ from .generalized_tableau import MeasurementResult as MeasurementResult from .generalized_tableau import sample_stim as sample_stim from .lindblad import Lindbladian as Lindbladian +from .lindblad import sigma_minus as sigma_minus +from .lindblad import sigma_plus as sigma_plus from .paulisum import LossyPauliSum as LossyPauliSum from .paulisum import PauliSum as PauliSum from .squin_interpreter.device import ( diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 1197a5be..00e5f6a6 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -2,9 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 """Direct Pauli-Lindbladian time evolution on an adaptive Pauli-string basis. -Given a Hermitian Pauli Hamiltonian H = Σ c_i P_i and Hermitian Pauli jump -operators L_k with rates γ_k ≥ 0, this module exposes three primitives -needed for adaptive Heisenberg-picture evolution: +Given a Hermitian Pauli Hamiltonian H = Σ c_i P_i and jump operators +L_k = Σ_a λ_{k,a} P_{k,a} (each a complex linear combination of Pauli +strings) with rates γ_k ≥ 0, this module exposes three primitives needed +for adaptive Heisenberg-picture evolution: - ``action(p)`` / ``action_arr(p)``: L*(p) for one Pauli string p - ``leakage(basis, coeffs)`` / ``leakage_arr(...)``: off-basis component of @@ -16,12 +17,23 @@ arrays of Pauli codes (``0=I, 1=X, 2=Z, 3=Y``) and skip string construction entirely — at ~10^5 basis rows per evolution step, per-row ``str.join`` dominates wall time. + +Each jump term can be either: + +- a single Hermitian Pauli (`("ZZII", γ)`), routed to a fast diagonal path, + or +- a complex Pauli sum (`([("XIII", 0.5+0j), ("YIII", 0+0.5j)], γ)`) to + describe e.g. amplitude-damping (`σ⁻`) and excitation (`σ⁺`) operators. + +For the general case the shim evaluates +``γ ( L† p L − ½ {L†L, p} )`` directly; the L†L Pauli expansion is +precomputed once at construction. """ from __future__ import annotations from collections.abc import Iterable, Sequence -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Union import numpy as np from ppvm_python_native import LindbladSpec as _LindbladSpec @@ -33,6 +45,11 @@ # Lookup table mapping code -> ASCII byte for vectorised string output. _CODE_TO_ASCII = np.array([ord("I"), ord("X"), ord("Z"), ord("Y")], dtype=np.uint8) +# A jump operator is either a Hermitian Pauli (single string) or a complex +# linear combination of Pauli strings. +PauliLincomb = Iterable[tuple[str, complex]] +JumpSpec = Union[tuple[str, float], tuple[PauliLincomb, float]] + def string_to_codes(s: str, n_qubits: int) -> np.ndarray: """Encode a Pauli string ``"IXYZ..."`` as a length-``n_qubits`` uint8 array.""" @@ -61,6 +78,43 @@ def codes_to_basis(arr: np.ndarray) -> list[str]: return [bytes_per_row[i * n : (i + 1) * n].decode("ascii") for i in range(arr.shape[0])] +def sigma_plus(site: int, n_qubits: int) -> list[tuple[str, complex]]: + """``σ⁺_q = (X_q + i Y_q) / 2``. Use as a Lindblad jump for excitation.""" + if not 0 <= site < n_qubits: + raise ValueError(f"site {site} out of range for n_qubits={n_qubits}") + x_str = "I" * site + "X" + "I" * (n_qubits - site - 1) + y_str = "I" * site + "Y" + "I" * (n_qubits - site - 1) + return [(x_str, 0.5 + 0.0j), (y_str, 0.0 + 0.5j)] + + +def sigma_minus(site: int, n_qubits: int) -> list[tuple[str, complex]]: + """``σ⁻_q = (X_q − i Y_q) / 2``. Use as a Lindblad jump for amplitude damping.""" + if not 0 <= site < n_qubits: + raise ValueError(f"site {site} out of range for n_qubits={n_qubits}") + x_str = "I" * site + "X" + "I" * (n_qubits - site - 1) + y_str = "I" * site + "Y" + "I" * (n_qubits - site - 1) + return [(x_str, 0.5 + 0.0j), (y_str, 0.0 - 0.5j)] + + +def _normalize_jump(jump_op: object) -> list[tuple[str, float, float]]: + """Convert a user-supplied jump operator to ``[(pauli_str, re, im), ...]``. + + Accepts either a single Pauli string (treated as a Hermitian-Pauli jump + with coefficient 1) or an iterable of ``(pauli_str, complex_coeff)`` + pairs. + """ + if isinstance(jump_op, str): + return [(jump_op, 1.0, 0.0)] + out: list[tuple[str, float, float]] = [] + for term in jump_op: + s, c = term + cc = complex(c) + out.append((str(s), float(cc.real), float(cc.imag))) + if not out: + raise ValueError("jump operator lincomb must contain at least one Pauli term") + return out + + class Lindbladian: """Pre-compiled adjoint Pauli-Lindbladian acting on Pauli strings. @@ -73,15 +127,31 @@ class Lindbladian: Hermitian Hamiltonian ``H = Σ c_i P_i``. Each ``pauli_string`` is a length-``n_qubits`` ``str`` over ``"IXYZ"``. jump_terms: - Iterable of ``(pauli_string, rate)`` pairs for the Hermitian Pauli - jump operators ``L_k`` with non-negative rates ``γ_k``. + Iterable of ``(jump_op, rate)`` pairs. ``jump_op`` is either a + Pauli string ``"XYZI..."`` (treated as a Hermitian-Pauli jump + with coefficient 1, hitting the fast path) or an iterable of + ``(pauli_string, complex_coeff)`` pairs for a general complex + Pauli linear combination such as :func:`sigma_plus` or + :func:`sigma_minus`. ``rate`` is the non-negative GKSL rate + ``γ_k``. + + Examples + -------- + Dephasing (Hermitian Pauli): + + >>> Lindbladian(2, [("XX", 1.0)], [("ZI", 0.3), ("IZ", 0.3)]) + + Amplitude damping on site 0 (non-Hermitian): + + >>> jumps = [(sigma_minus(0, 2), 0.5)] + >>> Lindbladian(2, [("XX", 1.0)], jumps) """ def __init__( self, n_qubits: int, h_terms: Iterable[tuple[str, float]], - jump_terms: Iterable[tuple[str, float]] = (), + jump_terms: Iterable[tuple[object, float]] = (), ): self.n_qubits = int(n_qubits) h_strs: list[str] = [] @@ -89,12 +159,12 @@ def __init__( for s, c in h_terms: h_strs.append(s) h_coeffs.append(float(c)) - j_strs: list[str] = [] + j_lincombs: list[list[tuple[str, float, float]]] = [] j_rates: list[float] = [] - for s, g in jump_terms: - j_strs.append(s) - j_rates.append(float(g)) - self._spec = _LindbladSpec(self.n_qubits, h_strs, h_coeffs, j_strs, j_rates) + for jump_op, rate in jump_terms: + j_lincombs.append(_normalize_jump(jump_op)) + j_rates.append(float(rate)) + self._spec = _LindbladSpec(self.n_qubits, h_strs, h_coeffs, j_lincombs, j_rates) @property def num_h_terms(self) -> int: @@ -145,6 +215,73 @@ def leakage_arr( np.ascontiguousarray(protected_arr, dtype=np.uint8), ) + def pc_step_arr( + self, + basis_arr: np.ndarray, + coeffs: np.ndarray, + dt: float, + tau_add: float, + protected_arr: np.ndarray | None = None, + expm_tol: float = 1e-12, + parallel_threshold: int = 50_000, + num_threads: int | None = None, + ) -> tuple[np.ndarray, np.ndarray]: + """One predictor-corrector adaptive step. + + All work — leakage expansion, matrix-exponential step, second-hop + re-expansion, corrector — runs in Rust; SciPy is not required. + The matrix exponential uses Al-Mohy & Higham scaling-and-squaring + with rayon-parallel SpMV when the restricted generator has more + than ``parallel_threshold`` nonzeros. + + ``num_threads``, when set, pins this call to a freshly-built rayon + pool of that size — useful for benchmarking parallel scaling. + + Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown. + """ + n = self.n_qubits + if protected_arr is None: + protected_arr = np.zeros((0, n), dtype=np.uint8) + return self._spec.pc_step( + np.ascontiguousarray(basis_arr, dtype=np.uint8), + np.ascontiguousarray(coeffs, dtype=np.float64), + float(dt), + float(tau_add), + np.ascontiguousarray(protected_arr, dtype=np.uint8), + float(expm_tol), + int(parallel_threshold), + None if num_threads is None else int(num_threads), + ) + + def pc_step( + self, + basis: Sequence[str], + coeffs: np.ndarray, + dt: float, + tau_add: float, + protected: Sequence[str] | None = None, + expm_tol: float = 1e-12, + parallel_threshold: int = 50_000, + num_threads: int | None = None, + ) -> tuple[list[str], np.ndarray]: + """String-keyed variant of :meth:`pc_step_arr`.""" + n = self.n_qubits + basis_arr = basis_to_codes(basis, n) + protected_arr = ( + basis_to_codes(list(protected), n) if protected else np.zeros((0, n), dtype=np.uint8) + ) + new_basis_arr, new_coeffs = self.pc_step_arr( + basis_arr, + coeffs, + dt, + tau_add, + protected_arr, + expm_tol, + parallel_threshold, + num_threads, + ) + return codes_to_basis(new_basis_arr), new_coeffs + def generator_arr(self, basis_arr: np.ndarray) -> sp.csc_matrix: """Sparse generator matrix in CSC form, basis given as uint8 codes. diff --git a/ppvm-python/test/test_lindblad.py b/ppvm-python/test/test_lindblad.py index c96dab23..5f2c7fe8 100644 --- a/ppvm-python/test/test_lindblad.py +++ b/ppvm-python/test/test_lindblad.py @@ -13,7 +13,7 @@ import numpy as np import scipy.sparse.linalg as spla -from ppvm import Lindbladian +from ppvm import Lindbladian, sigma_minus, sigma_plus # --- independent reference via the dense Pauli multiplication table --------- I, X, Y, Z = range(4) # noqa: E741 (I is standard Pauli notation here) @@ -207,3 +207,517 @@ def test_protected_strings_suppressed(): protected_key = next(iter(leak)) leak2 = L_op.leakage(basis, coeffs, protected=[protected_key]) assert protected_key not in leak2 + + +# --- non-Hermitian dissipators: dense Liouvillian reference ----------------- +# +# The dense reference builds full 2^L × 2^L matrices for H and the jumps and +# evaluates L*(p) = i[H, p] + Σ_k γ_k (L_k† p L_k − ½ {L_k† L_k, p}) directly, +# then expands the result in the Pauli basis. Restricted to L ≤ 3 it costs +# 4^L · 8^L FLOPs (a few ms) but it makes no assumption about the shape of +# L_k, so it doubles as a correctness check for the general dissipator path +# in the Rust shim. + +_DENSE_PAULI = { + "I": np.eye(2, dtype=complex), + "X": np.array([[0, 1], [1, 0]], dtype=complex), + "Y": np.array([[0, -1j], [1j, 0]], dtype=complex), + "Z": np.array([[1, 0], [0, -1]], dtype=complex), +} + + +def _pauli_mat(s): + """Dense matrix for Pauli string ``s`` (leftmost char = leftmost factor).""" + M = np.array([[1.0]], dtype=complex) + for c in s: + M = np.kron(M, _DENSE_PAULI[c]) + return M + + +def _all_strings(L): + if L == 0: + return [""] + sub = _all_strings(L - 1) + return [c + s for c in "IXYZ" for s in sub] + + +def _dense_action(H, jumps, p_str, L): + """L*(p) computed densely, returned as a real Pauli-coefficient dict.""" + p_mat = _pauli_mat(p_str) + # np.errstate quiets spurious "divide by zero" warnings emitted by + # macOS Accelerate when complex @ contains exact zeros. + with np.errstate(divide="ignore", invalid="ignore", over="ignore"): + out_mat = 1j * (H @ p_mat - p_mat @ H) + for Lop, gamma in jumps: + Ld = Lop.conj().T + out_mat += gamma * ( + Ld @ p_mat @ Lop - 0.5 * (Ld @ Lop @ p_mat + p_mat @ Ld @ Lop) + ) + d = 2**L + out = {} + for q_str in _all_strings(L): + coef = np.trace(_pauli_mat(q_str) @ out_mat) / d + assert abs(coef.imag) < 1e-9, f"non-real coefficient for {q_str}: {coef}" + if abs(coef.real) > 1e-12: + out[q_str] = coef.real + return out + + +def _embed_op(op_1q, site, L): + """Embed a single-qubit dense operator at ``site`` of an L-qubit register.""" + eye = _DENSE_PAULI["I"] + M = np.array([[1.0]], dtype=complex) + for j in range(L): + M = np.kron(M, op_1q if j == site else eye) + return M + + +_SIGMA_MINUS = np.array([[0, 0], [1, 0]], dtype=complex) +_SIGMA_PLUS = np.array([[0, 1], [0, 0]], dtype=complex) + + +def test_amplitude_damping_action(): + L = 3 + gamma = 0.5 + h_terms = [("XXI", 1.0), ("IXX", 0.7), ("ZIZ", 0.3)] + jump_terms = [(sigma_minus(i, L), gamma) for i in range(L)] + L_op = Lindbladian(L, h_terms, jump_terms) + + H = sum(c * _pauli_mat(s) for s, c in h_terms) + jumps_dense = [(_embed_op(_SIGMA_MINUS, i, L), gamma) for i in range(L)] + + rng = np.random.default_rng(11) + strings = ["III", "ZII", "IZI", "IIZ", "XYZ", "YYZ"] + strings += [_random_pauli_str(rng, L) for _ in range(10)] + + for p in strings: + got = L_op.action(p) + want = _dense_action(H, jumps_dense, p, L) + for k in set(got) | set(want): + diff = abs(got.get(k, 0.0) - want.get(k, 0.0)) + assert diff < 1e-10, ( + f"sigma_minus action mismatch at p={p!r} k={k!r}: " + f"shim={got.get(k, 0.0)} ref={want.get(k, 0.0)} diff={diff}" + ) + + +def test_thermal_excitation_damping_action(): + """σ⁺ + σ⁻ jumps together (thermal bath at finite temperature).""" + L = 2 + h_terms = [("XX", 1.0), ("ZI", 0.2), ("IZ", 0.1)] + jump_terms = [(sigma_minus(i, L), 0.4) for i in range(L)] + [ + (sigma_plus(i, L), 0.1) for i in range(L) + ] + L_op = Lindbladian(L, h_terms, jump_terms) + + H = sum(c * _pauli_mat(s) for s, c in h_terms) + jumps_dense = [(_embed_op(_SIGMA_MINUS, i, L), 0.4) for i in range(L)] + [ + (_embed_op(_SIGMA_PLUS, i, L), 0.1) for i in range(L) + ] + + for p in _all_strings(L): + got = L_op.action(p) + want = _dense_action(H, jumps_dense, p, L) + for k in set(got) | set(want): + diff = abs(got.get(k, 0.0) - want.get(k, 0.0)) + assert diff < 1e-10, ( + f"sigma_plus/sigma_minus action mismatch at p={p!r} k={k!r}: " + f"shim={got.get(k, 0.0)} ref={want.get(k, 0.0)}" + ) + + +def test_amplitude_damping_generator_and_leakage(): + L = 3 + gamma = 0.3 + h_terms = [("XXI", 0.5), ("IXX", 0.5), ("ZII", 0.2), ("IZI", 0.2), ("IIZ", 0.2)] + jump_terms = [(sigma_minus(0, L), gamma), (sigma_minus(2, L), gamma)] + L_op = Lindbladian(L, h_terms, jump_terms) + + basis = ["III", "ZII", "IZI", "IIZ", "ZZI", "IZZ"] + coeffs = np.array([0.1, 0.5, -0.3, 0.4, 0.2, -0.1]) + + H = sum(c * _pauli_mat(s) for s, c in h_terms) + jumps_dense = [(_embed_op(_SIGMA_MINUS, i, L), gamma) for i in (0, 2)] + + M_shim = L_op.generator(basis).toarray() + M_ref = np.zeros((len(basis), len(basis))) + idx = {p: i for i, p in enumerate(basis)} + leak_ref: dict = {} + for col, p in enumerate(basis): + action_p = _dense_action(H, jumps_dense, p, L) + for q, v in action_p.items(): + if q in idx: + M_ref[idx[q], col] += v + else: + leak_ref[q] = leak_ref.get(q, 0.0) + v * coeffs[col] + assert np.max(np.abs(M_shim - M_ref)) < 1e-10 + + leak_shim = L_op.leakage(basis, coeffs) + leak_ref = {k: v for k, v in leak_ref.items() if abs(v) > 1e-14} + for k in set(leak_shim) | set(leak_ref): + diff = abs(leak_shim.get(k, 0.0) - leak_ref.get(k, 0.0)) + assert diff < 1e-10, f"leakage mismatch at k={k!r}: diff={diff}" + + +# --- convergence to closed bilinear evolution (NN XY + Z dephasing, OBC) ---- +# +# For nearest-neighbour interactions the Jordan-Wigner fermion bilinears +# B_{mn} = c_m† c_n stay closed under the adjoint Lindbladian, so the spin +# correlator C_j(t) = 2^{-L} Tr[Z_j(t) Z_i] obeys a tractable L²×L² ODE. +# We use open boundary conditions: with OBC the JW transformation maps the +# spin XY chain to a bilinear fermion hopping problem exactly, free of the +# parity-twist that makes PBC bilinears match only up to 1/L finite-size +# corrections. + + +def _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0): + """Closed bilinear evolution of C_j(t) for the NN XY + Z-dephasing model + with open boundary conditions. + + `F_{mn}(t) = 2^{-L} Tr[B_{mn}(t) Z_i]` evolves as + `∂_t F_{mn} = i·2J·(F_{m+1,n}+F_{m-1,n}-F_{m,n+1}-F_{m,n-1}) - 4γ(1-δ_{mn})F_{mn}` + on the L×L lattice; OBC means edge terms (m=0 or m=L-1, etc.) drop. + Z_j = I - 2 n_j gives C_j = -2 F_{jj}. + """ + dim = L * L + + def idx(m, n): + return m * L + n + + gen = np.zeros((dim, dim), dtype=complex) + for m in range(L): + for n in range(L): + row = idx(m, n) + if m + 1 < L: + gen[row, idx(m + 1, n)] += 1j * 2 * J + if m - 1 >= 0: + gen[row, idx(m - 1, n)] += 1j * 2 * J + if n + 1 < L: + gen[row, idx(m, n + 1)] += -1j * 2 * J + if n - 1 >= 0: + gen[row, idx(m, n - 1)] += -1j * 2 * J + if m != n: + gen[row, row] += -4 * gamma + + evals, evecs = np.linalg.eig(gen) + evecs_inv = np.linalg.inv(evecs) + f0 = np.zeros(dim, dtype=complex) + f0[idx(site0, site0)] = -0.5 + coeffs = evecs_inv @ f0 + + corr = np.empty((len(times), L)) + diag = [idx(j, j) for j in range(L)] + for nt, t in enumerate(times): + ft = evecs @ (np.exp(evals * t) * coeffs) + corr[nt] = np.real(-2 * ft[diag]) + return corr + + +def _adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add): + """Adaptive Heisenberg-picture evolution of Z_{site0} on a growing Pauli + basis. Returns the matrix `C_j(t_n) = ⟨Z_j, Z_{site0}(t_n)⟩` for every + site `j` and step `n`. Matrix exponential is exact in `dt` within the + basis; the only approximation is dropping leakage strings of magnitude + below `tau_add`.""" + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + + corr = np.zeros((n_steps + 1, L)) + corr[0, site0] = 1.0 + + for step in range(n_steps): + leak = L_op.leakage(basis, coeffs, protected=protected) + new = [k for k, v in leak.items() if abs(v) > tau_add] + if new: + basis = basis + new + coeffs = np.concatenate([coeffs, np.zeros(len(new))]) + M = L_op.generator(basis) + coeffs = spla.expm_multiply(dt * M, coeffs) + index = {s: i for i, s in enumerate(basis)} + for j in range(L): + if z_strings[j] in index: + corr[step + 1, j] = coeffs[index[z_strings[j]]] + return corr + + +def _adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add): + """Same as :func:`_adaptive_z_correlator` but with a predictor-corrector + basis expansion at each step. + + 1. Expand basis with first-hop leakage from the current state and save + the (pre-step) coefficients. + 2. Run a predictor step via expm_multiply. + 3. Compute leakage from the predicted state — these are the second-hop + strings the predictor flowed into but did not have in basis. + 4. Add the second-hop strings, pad the saved pre-step coefficients with + zeros for them, and redo the step on the enlarged basis from the + pre-step state. + + The corrector basis covers the second-hop flow, lifting the local + truncation per step from O(dt²) to O(dt³). + """ + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + + corr = np.zeros((n_steps + 1, L)) + corr[0, site0] = 1.0 + + for step in range(n_steps): + # Predictor basis: add first-hop leakage from current state. + leak = L_op.leakage(basis, coeffs, protected=protected) + new = [k for k, v in leak.items() if abs(v) > tau_add] + if new: + basis = basis + new + coeffs = np.concatenate([coeffs, np.zeros(len(new))]) + coeffs_pre = coeffs.copy() + # Predict. + M = L_op.generator(basis) + coeffs_predict = spla.expm_multiply(dt * M, coeffs) + # Corrector basis: second-hop strings from the predicted state. + leak2 = L_op.leakage(basis, coeffs_predict, protected=protected) + new2 = [k for k, v in leak2.items() if abs(v) > tau_add] + if new2: + basis = basis + new2 + coeffs_pre = np.concatenate([coeffs_pre, np.zeros(len(new2))]) + # Redo the step on the enlarged basis from the pre-step state. + M = L_op.generator(basis) + coeffs = spla.expm_multiply(dt * M, coeffs_pre) + index = {s: i for i, s in enumerate(basis)} + for j in range(L): + if z_strings[j] in index: + corr[step + 1, j] = coeffs[index[z_strings[j]]] + return corr + + +def test_adaptive_converges_to_nn_xy_z_dephasing_bilinear(): + """Halving dt drives the adaptive shim toward the closed bilinear solution + for the NN XY chain with Z dephasing (OBC). + + The single-hop adaptive scheme has local truncation O(dt²) per step + (first-step leakage only adds first-hop strings; second-hop strings appear + inside the matrix exponential but aren't yet in the basis), so global + error is O(T·dt). The test exercises this dt-scaling on a fixed time + window with a leakage threshold τ tight enough that truncation is well + below the integrator floor. + """ + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + T = 0.05 + tau_add = 1e-12 # tight enough that integrator (T·dt) dominates + + h_terms = [] + for i in range(L - 1): # OBC: L-1 bonds, no wraparound + a, b = i, i + 1 + xs = ["I"] * L + xs[a] = xs[b] = "X" + ys = ["I"] * L + ys[a] = ys[b] = "Y" + h_terms += [("".join(xs), J), ("".join(ys), J)] + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + L_op = Lindbladian(L, h_terms, jump_terms) + + errors = [] + final_corr = None + for dt in (0.01, 0.005, 0.0025): + n_steps = round(T / dt) + times = np.arange(n_steps + 1) * dt + exact = _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) + L_op.clear_cache() + shim = _adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) + # Compare only the endpoint to keep the comparison decoupled from + # exactly which step counts we use. + errors.append(float(np.max(np.abs(shim[-1] - exact[-1])))) + if dt == 0.0025: + final_corr = (shim[-1], exact[-1]) + + # First-order dt-scaling: halving dt should roughly halve the error. + # Allow a factor of 2 slack on the predicted 2× drop. + assert errors[1] < 0.8 * errors[0], f"dt-halving did not help: {errors}" + assert errors[2] < 0.8 * errors[1], f"dt-halving did not help: {errors}" + + # At dt = 0.0025 the integrator floor is ~T·dt = 1.25e-4. The shim + # should sit comfortably under 1e-3 against the bilinear reference. + assert errors[-1] < 1e-3, ( + f"shim vs bilinear at smallest dt: max abs error = {errors[-1]:.3g}; " + f"shim={final_corr[0]}, exact={final_corr[1]}" + ) + + +def test_predictor_corrector_lifts_dt_scaling_to_cubic(): + """The predictor-corrector basis expansion lifts the single-hop scheme's + local O(dt²) truncation to O(dt³), so the PC error at fixed T scales as + dt² (one order steeper than the dt-scaling of single-hop). The PC error + is also strictly smaller at every dt we test. + """ + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + T = 0.05 + tau_add = 1e-12 + + h_terms = [] + for i in range(L - 1): + a, b = i, i + 1 + xs = ["I"] * L + xs[a] = xs[b] = "X" + ys = ["I"] * L + ys[a] = ys[b] = "Y" + h_terms += [("".join(xs), J), ("".join(ys), J)] + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + L_op = Lindbladian(L, h_terms, jump_terms) + + err_single = [] + err_pc = [] + for dt in (0.01, 0.005, 0.0025): + n_steps = round(T / dt) + times = np.arange(n_steps + 1) * dt + exact = _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) + L_op.clear_cache() + single = _adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) + L_op.clear_cache() + pc = _adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) + err_single.append(float(np.max(np.abs(single[-1] - exact[-1])))) + err_pc.append(float(np.max(np.abs(pc[-1] - exact[-1])))) + + # PC is strictly more accurate than single-hop at every dt — by ~100× + # in the test regime. Leave the threshold loose enough that small + # changes in expm_multiply tolerance don't flake. + for s, p, dt in zip(err_single, err_pc, (0.01, 0.005, 0.0025)): + assert p < s / 50, ( + f"PC ({p:.3e}) not meaningfully better than single-hop ({s:.3e}) at dt={dt}" + ) + + # PC's dt-scaling is one order steeper. Halving dt should drop the error + # by ~8× (dt³ vs single-hop's ~4× = dt²). Require >5× per halving with + # some safety margin. + from itertools import pairwise + + for prev, curr in pairwise(err_pc): + assert curr < prev / 5, f"PC dt-halving ratio < 5: errors {err_pc}" + + # And the smallest-dt PC error itself should sit at FP noise of the + # bilinear reference. + assert err_pc[-1] < 1e-7, f"PC at smallest dt: error = {err_pc[-1]:.3e}" + + +def _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add): + """Same as :func:`_adaptive_z_correlator_pc` but the per-step PC work + (leakage expansion, predictor expm, second-hop expansion, corrector + expm) all runs in Rust through :meth:`Lindbladian.pc_step`.""" + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + + corr = np.zeros((n_steps + 1, L)) + corr[0, site0] = 1.0 + + for step in range(n_steps): + basis, coeffs = L_op.pc_step(basis, coeffs, dt, tau_add, protected=protected) + index = {s: i for i, s in enumerate(basis)} + for j in range(L): + if z_strings[j] in index: + corr[step + 1, j] = coeffs[index[z_strings[j]]] + return corr + + +def test_pc_step_rust_matches_scipy_pc(): + """The pure-Rust PC step (Al-Mohy & Higham expm + parallel SpMV) agrees + with the scipy-based PC implementation at FP precision. This pins the + Rust matrix exponential against the well-tested scipy reference under + the exact same basis-expansion schedule.""" + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + dt = 0.01 + n_steps = 5 + tau_add = 1e-12 + + h_terms = [] + for i in range(L - 1): + a, b = i, i + 1 + xs = ["I"] * L + xs[a] = xs[b] = "X" + ys = ["I"] * L + ys[a] = ys[b] = "Y" + h_terms += [("".join(xs), J), ("".join(ys), J)] + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + L_op = Lindbladian(L, h_terms, jump_terms) + + L_op.clear_cache() + rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) + L_op.clear_cache() + scipy_pc = _adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) + + # Both schemes share the same algorithm and tolerances; agreement should + # be near FP precision of the matrix-exponential approximation. + diff = float(np.max(np.abs(rust - scipy_pc))) + assert diff < 1e-10, f"Rust PC differs from scipy PC by {diff:.3e}" + + +def test_pc_step_rust_dt_scaling_is_cubic(): + """End-to-end: the Rust-only PC step matches the bilinear reference with + the same dt³ scaling as the scipy version, confirming that the Rust + matrix exponential is not the bottleneck of accuracy.""" + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + T = 0.05 + tau_add = 1e-12 + + h_terms = [] + for i in range(L - 1): + a, b = i, i + 1 + xs = ["I"] * L + xs[a] = xs[b] = "X" + ys = ["I"] * L + ys[a] = ys[b] = "Y" + h_terms += [("".join(xs), J), ("".join(ys), J)] + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + L_op = Lindbladian(L, h_terms, jump_terms) + + err = [] + for dt in (0.01, 0.005, 0.0025): + n_steps = round(T / dt) + times = np.arange(n_steps + 1) * dt + exact = _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) + L_op.clear_cache() + rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) + err.append(float(np.max(np.abs(rust[-1] - exact[-1])))) + + # Halving dt should drop the error by ≥5× (cubic gives 8×). + from itertools import pairwise + + for prev, curr in pairwise(err): + assert curr < prev / 5, f"Rust PC dt-halving ratio < 5: errors {err}" + assert err[-1] < 1e-7, f"Rust PC tight-dt error too large: {err[-1]:.3e}" + + +def test_lincomb_single_term_matches_hermitian_fast_path(): + """A length-1 real lincomb should be routed to the Hermitian fast path + and produce numerically identical results to passing the string directly.""" + L = 4 + h_terms, jump_simple = _xy_dephasing(L, alpha=1.0, gamma=0.3) + L_simple = Lindbladian(L, h_terms, jump_simple) + # Same operator, expressed as a length-1 complex lincomb. + jump_lincomb = [([(s, 1.0 + 0.0j)], g) for s, g in jump_simple] + L_lincomb = Lindbladian(L, h_terms, jump_lincomb) + + rng = np.random.default_rng(99) + for _ in range(5): + p = _random_pauli_str(rng, L) + got_a = L_simple.action(p) + got_b = L_lincomb.action(p) + for k in set(got_a) | set(got_b): + assert got_a.get(k, 0.0) == got_b.get(k, 0.0), ( + f"lincomb fast path mismatch at p={p!r}: {got_a} vs {got_b}" + ) From 5e702424663a620ec060646515534d6aee14f3c2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 2 Jun 2026 01:21:30 +0000 Subject: [PATCH 005/159] Fix SPDX header formatting in lindblad.py --- ppvm-python/src/ppvm/lindblad.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 00e5f6a6..87b58d12 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2026 The PPVM Authors # SPDX-License-Identifier: Apache-2.0 + """Direct Pauli-Lindbladian time evolution on an adaptive Pauli-string basis. Given a Hermitian Pauli Hamiltonian H = Σ c_i P_i and jump operators From e54b88cbe2a757a2983fbb1e84adc69e051b0cfd Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Tue, 2 Jun 2026 12:54:50 +0100 Subject: [PATCH 006/159] review: address PR #98 review comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correctness - generator()/pc_step()/pc_step_timed(): reject duplicate basis Pauli words at the PyO3 boundary with a clear ValueError. The underlying row-index map silently overwrote earlier rows on collision, producing a wrong sparse generator. ppvm-lindblad now factors the index-build with uniqueness debug_assert into `build_basis_index(...)`, called from both `generator` and `generator_csr`. New regression test `test_generator_rejects_duplicate_basis`. - `_string_to_codes`: raise `ValueError` naming the bad character; strip `_` separators to match the Rust `parse_pauli_string` parser. API surface - Rename the four codec helpers (string_to_codes, codes_to_string, basis_to_codes, codes_to_basis) to `_`-prefixed module-private names. Dependencies — drop scipy from runtime + tests - Lindbladian.generator{,_arr} now return COO triples (rows, cols, vals) instead of a scipy.sparse.csc_matrix. Users wanting scipy can wrap; see docstring. - Tests replace `scipy.sparse.linalg.expm_multiply` with a numpy eigendecomposition reference (`expm_mv_dense`). - pyproject.toml: scipy removed from `dev`; moved to a new `demo` group (demos still use it for the reference matrix exponential). Test layout - Split the 723-line `test/test_lindblad.py` into `test/lindblad/`: * `_helpers.py` — shared Pauli-table reference, dense Liouvillian reference, bilinear NN-XY+Z-dephasing solver, adaptive PC drivers * `test_action_generator.py` — Hermitian-Pauli action/leakage/generator * `test_non_hermitian_jumps.py` — non-Hermitian (σ-/σ+/thermal) jumps * `test_adaptive_pc.py` — adaptive PC convergence vs bilinear ref * `test_pc_step_rust.py` — pure-Rust pc_step parity + cubic dt-scaling Each test file now ≤ 121 lines. Demos - Both `demo/lindblad_adaptive.py` and `demo/lindblad_pc_scaling.py` rewritten as jupytext percent-format notebooks with markdown narrative cells and end-of-notebook plots, replacing CLI arg parsing with a top-of-file parameter cell. - `lindblad_adaptive.py`: split the monolithic per-step body into `init_mode`, `add_leakage_to_basis`, `prune_and_cap`, `run_mode`; dropped the unnecessary `target_arr = basis_arr.copy()` / `protected_arr = basis_arr.copy()` calls (nothing mutates basis_arr in place — `vstack`/slice rebind). - `lindblad_pc_scaling.py`: dropped the `importlib.util.spec_from_file_location` bypass that was working around `demo/stim.py` shadowing the real `stim` package on `python demo/foo.py` invocations. - Rename `demo/stim.py` → `demo/stim_msd.py` (it's an MSD-circuit demo that happened to share a name with the `stim` package). Benches - Convert `examples/spmv_scaling.rs` (std::time + manual print) to a proper criterion `benches/spmv_scaling.rs` with one entry per thread count `{1, 2, 3, 4, 6, 8, 10}`, each running SpMV inside a `rayon::ThreadPool::install`. Added `criterion` to dev-deps + `[[bench]]` to `ppvm-lindblad/Cargo.toml`. CSR + expm_multiply replacement (left as-is) - Surveyed `sprs`, `nalgebra-sparse`, `russell_sparse`, `faer-rs`: all ship CSR + serial SpMV but none offer rayon-parallel SpMV with the nnz-threshold gating used here. No Rust crate provides Al-Mohy & Higham `expm_multiply` (matrix-free action). Decision documented in PR review replies; happy to revisit if a suitable crate appears. Verification - cargo test -p ppvm-lindblad --lib: 10/10 - pytest test/: 115/115 Co-Authored-By: Claude Opus 4.7 --- Cargo.lock | 1 + crates/ppvm-lindblad/Cargo.toml | 5 + crates/ppvm-lindblad/benches/spmv_scaling.rs | 51 + crates/ppvm-lindblad/examples/spmv_scaling.rs | 65 - crates/ppvm-lindblad/src/lib.rs | 31 +- crates/ppvm-python-native/src/lindblad.rs | 20 + ppvm-python/demo/lindblad_adaptive.py | 500 +- ppvm-python/demo/lindblad_pc_scaling.py | 242 +- ppvm-python/demo/{stim.py => stim_msd.py} | 0 ppvm-python/pyproject.toml | 5 + ppvm-python/src/ppvm/lindblad.py | 94 +- ppvm-python/test/lindblad/__init__.py | 0 ppvm-python/test/lindblad/_helpers.py | 346 + .../test/lindblad/test_action_generator.py | 108 + ppvm-python/test/lindblad/test_adaptive_pc.py | 109 + .../test/lindblad/test_non_hermitian_jumps.py | 106 + .../test/lindblad/test_pc_step_rust.py | 121 + ppvm-python/test/test_lindblad.py | 723 --- ppvm-python/uv.lock | 5751 +++++++++-------- 19 files changed, 4229 insertions(+), 4049 deletions(-) create mode 100644 crates/ppvm-lindblad/benches/spmv_scaling.rs delete mode 100644 crates/ppvm-lindblad/examples/spmv_scaling.rs rename ppvm-python/demo/{stim.py => stim_msd.py} (100%) create mode 100644 ppvm-python/test/lindblad/__init__.py create mode 100644 ppvm-python/test/lindblad/_helpers.py create mode 100644 ppvm-python/test/lindblad/test_action_generator.py create mode 100644 ppvm-python/test/lindblad/test_adaptive_pc.py create mode 100644 ppvm-python/test/lindblad/test_non_hermitian_jumps.py create mode 100644 ppvm-python/test/lindblad/test_pc_step_rust.py delete mode 100644 ppvm-python/test/test_lindblad.py diff --git a/Cargo.lock b/Cargo.lock index 0dc93502..1291e480 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -906,6 +906,7 @@ name = "ppvm-lindblad" version = "0.1.0" dependencies = [ "approx", + "criterion", "dashmap", "fxhash", "num", diff --git a/crates/ppvm-lindblad/Cargo.toml b/crates/ppvm-lindblad/Cargo.toml index 0c06c0ea..c1ee3e93 100644 --- a/crates/ppvm-lindblad/Cargo.toml +++ b/crates/ppvm-lindblad/Cargo.toml @@ -13,3 +13,8 @@ rayon = "1.11" [dev-dependencies] approx = "0.5.1" +criterion = "0.7.0" + +[[bench]] +name = "spmv_scaling" +harness = false diff --git a/crates/ppvm-lindblad/benches/spmv_scaling.rs b/crates/ppvm-lindblad/benches/spmv_scaling.rs new file mode 100644 index 00000000..0ddd202d --- /dev/null +++ b/crates/ppvm-lindblad/benches/spmv_scaling.rs @@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Parallel SpMV scaling on a tridiagonal CSR matrix. One bench per thread +//! count, with each invocation running inside a freshly-built rayon pool of +//! that size to isolate the SpMV path from outer-loop work. + +use criterion::{BenchmarkId, Criterion, Throughput, criterion_group, criterion_main}; +use ppvm_lindblad::CsrMatrix; + +fn build_tridiagonal(n: usize) -> CsrMatrix { + let mut trips = Vec::with_capacity(3 * n); + for i in 0..n { + trips.push((i, i, -2.0)); + if i > 0 { + trips.push((i, i - 1, 1.0)); + } + if i + 1 < n { + trips.push((i, i + 1, 1.0)); + } + } + CsrMatrix::from_triplets(n, &trips) +} + +fn bench_spmv_scaling(c: &mut Criterion) { + let n: usize = 100_000; + let m = build_tridiagonal(n); + let x: Vec = (0..n).map(|i| (i as f64).sin()).collect(); + + let mut group = c.benchmark_group("spmv_parallel"); + group.throughput(Throughput::Elements(m.nnz() as u64)); + + for &threads in &[1usize, 2, 3, 4, 6, 8, 10] { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(threads) + .build() + .unwrap(); + group.bench_with_input(BenchmarkId::from_parameter(threads), &threads, |b, _| { + b.iter_batched_ref( + || vec![0f64; n], + |y| pool.install(|| m.spmv_parallel(&x, y)), + criterion::BatchSize::SmallInput, + ); + }); + } + + group.finish(); +} + +criterion_group!(benches, bench_spmv_scaling); +criterion_main!(benches); diff --git a/crates/ppvm-lindblad/examples/spmv_scaling.rs b/crates/ppvm-lindblad/examples/spmv_scaling.rs deleted file mode 100644 index 4abe6758..00000000 --- a/crates/ppvm-lindblad/examples/spmv_scaling.rs +++ /dev/null @@ -1,65 +0,0 @@ -// SPDX-FileCopyrightText: 2026 The PPVM Authors -// SPDX-License-Identifier: Apache-2.0 - -//! Tiny SpMV scaling check: builds a tridiagonal CSR matrix of a target -//! `nnz`, times `spmv_parallel` repeatedly inside rayon pools of varying -//! thread counts, and prints the wall time and speedup. Useful to confirm -//! the SpMV path itself scales before debugging higher-level paths. - -use ppvm_lindblad::CsrMatrix; -use std::time::Instant; - -fn build_tridiagonal(n: usize) -> CsrMatrix { - let mut trips = Vec::with_capacity(3 * n); - for i in 0..n { - trips.push((i, i, -2.0)); - if i > 0 { - trips.push((i, i - 1, 1.0)); - } - if i + 1 < n { - trips.push((i, i + 1, 1.0)); - } - } - CsrMatrix::from_triplets(n, &trips) -} - -fn main() { - let n: usize = 100_000; - let m = build_tridiagonal(n); - let x: Vec = (0..n).map(|i| (i as f64).sin()).collect(); - let mut y = vec![0f64; n]; - let n_iters = 1000; - println!( - "n = {n}, nnz = {}, {n_iters} SpMVs per measurement", - m.nnz() - ); - println!(); - println!("{:>8} {:>14} {:>10}", "threads", "wall (ms)", "speedup"); - println!("{}", "-".repeat(36)); - - let mut baseline_ms: Option = None; - for nt in [1usize, 2, 3, 4, 6, 8, 10] { - let pool = rayon::ThreadPoolBuilder::new() - .num_threads(nt) - .build() - .unwrap(); - // warm up - pool.install(|| { - for _ in 0..50 { - m.spmv_parallel(&x, &mut y); - } - }); - let t0 = Instant::now(); - pool.install(|| { - for _ in 0..n_iters { - m.spmv_parallel(&x, &mut y); - } - }); - let wall_ms = t0.elapsed().as_secs_f64() * 1000.0; - let speedup = baseline_ms.unwrap_or(wall_ms) / wall_ms; - if baseline_ms.is_none() { - baseline_ms = Some(wall_ms); - } - println!("{nt:>8} {wall_ms:>14.1} {speedup:>9.2}x"); - } -} diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index cfd3a85f..1da78b0e 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -625,12 +625,11 @@ impl LindbladSpec { /// Sparse generator matrix in COO form: returns `(row, col, val)` /// triplets. Row = output Pauli's position in `basis`; col = input /// Pauli's position. Output Paulis not in `basis` are silently dropped. + /// + /// Precondition: `basis` must not contain duplicate Pauli words + /// (asserted in debug builds). pub fn generator(&self, basis: &[Word]) -> Vec<(usize, usize, f64)> { - let index: FxHashMap = basis - .iter() - .enumerate() - .map(|(i, w)| (w.clone(), i as u32)) - .collect(); + let index = build_basis_index(basis); // The cached `L*(p)` is already a deduplicated `Vec<(Word, f64)>`, // so we can iterate it directly without going through a per-task @@ -705,11 +704,7 @@ impl LindbladSpec { }; } - let index: FxHashMap = basis - .iter() - .enumerate() - .map(|(i, w)| (w.clone(), i as u32)) - .collect(); + let index = build_basis_index(basis); // Phase 1: per-column, collect `(row, value)` pairs (already // filtered to in-basis), in parallel with thread-local scratch. @@ -1108,6 +1103,22 @@ fn word_hash(w: &Word) -> u64 { h.finish() } +/// Build a `word → row` map for a basis assumed to contain unique Pauli +/// words; debug-asserts the uniqueness invariant. +fn build_basis_index(basis: &[Word]) -> FxHashMap { + let mut index: FxHashMap = FxHashMap::default(); + for (i, w) in basis.iter().enumerate() { + let prev = index.insert(w.clone(), i as u32); + debug_assert!( + prev.is_none(), + "basis contains duplicate Pauli word at positions {} and {}", + prev.unwrap(), + i, + ); + } + index +} + /// Union of `index[q]` for each `q ∈ p_support`, deduped. #[inline] fn candidate_terms(p_support: &[u32], index: &[Vec], scratch: &mut Vec) { diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index 6807845e..7de0b90e 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -10,6 +10,8 @@ //! `(N, n_qubits)` numpy uint8 arrays into [`ppvm_lindblad::Word`] vectors, //! and re-encoding outputs back into numpy. +use std::collections::HashMap; + use num::Complex; use numpy::{IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, PyReadonlyArray2}; use ppvm_lindblad::{ @@ -28,6 +30,21 @@ fn map_err(e: ppvm_lindblad::Error) -> PyErr { PyValueError::new_err(e.to_string()) } +/// Reject a basis that contains the same Pauli word at two distinct rows. +/// Duplicate rows would silently overwrite each other in the generator's +/// row-index map and produce an incorrect sparse matrix. +fn assert_basis_unique(basis: &[Word]) -> PyResult<()> { + let mut seen: HashMap<&Word, usize> = HashMap::with_capacity(basis.len()); + for (i, w) in basis.iter().enumerate() { + if let Some(prev) = seen.insert(w, i) { + return Err(PyValueError::new_err(format!( + "basis contains duplicate Pauli word at row {prev} and row {i}" + ))); + } + } + Ok(()) +} + /// Decode a `(N, n_qubits)` uint8 ndarray view into `N` packed [`Word`]s. fn decode_basis(view: &numpy::ndarray::ArrayView2, n_qubits: usize) -> PyResult> { let n_basis = view.shape()[0]; @@ -218,6 +235,7 @@ impl LindbladSpec { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); let mut basis_words = decode_basis(&basis_view, n_q)?; + assert_basis_unique(&basis_words)?; let mut coeffs_vec = coeffs.as_slice()?.to_vec(); if coeffs_vec.len() != basis_words.len() { return Err(PyValueError::new_err(format!( @@ -277,6 +295,7 @@ impl LindbladSpec { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); let mut basis_words = decode_basis(&basis_view, n_q)?; + assert_basis_unique(&basis_words)?; let mut coeffs_vec = coeffs.as_slice()?.to_vec(); if coeffs_vec.len() != basis_words.len() { return Err(PyValueError::new_err(format!( @@ -330,6 +349,7 @@ impl LindbladSpec { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); let basis_words = decode_basis(&basis_view, n_q)?; + assert_basis_unique(&basis_words)?; let triplets = self.inner.generator(&basis_words); let total = triplets.len(); let mut rows = Vec::with_capacity(total); diff --git a/ppvm-python/demo/lindblad_adaptive.py b/ppvm-python/demo/lindblad_adaptive.py index 9c2f040f..227f5d90 100644 --- a/ppvm-python/demo/lindblad_adaptive.py +++ b/ppvm-python/demo/lindblad_adaptive.py @@ -1,260 +1,314 @@ +# --- +# jupyter: +# jupytext: +# cell_metadata_filter: -all +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# jupytext_version: 1.19.1 +# kernelspec: +# display_name: ppvm (3.12.12) +# language: python +# name: python3 +# --- + # SPDX-FileCopyrightText: 2026 The PPVM Authors # SPDX-License-Identifier: Apache-2.0 -"""Adaptive Pauli-Lindbladian time evolution on a growing Pauli-string basis. - -Demonstrates ``ppvm.Lindbladian``: direct Heisenberg-picture evolution of a -transport observable under a generic Pauli-Lindbladian -- here an all-to-all -XY model (Kac-normalised 1/r^alpha) with single-site Z dephasing -- *without* -Trotterisation. The observable is kept as a sum over a finite set of Pauli -strings (the "basis"), and each step: - - 1. measures the leakage (1 - P_B) L*(O) out of the current basis B; - 2. adds the leakage strings above ``add_tol`` to B; - 3. advances the coefficient vector by exp(dt * M), where - M = P_B L* P_B is the Lindbladian restricted to B - (scipy.sparse.linalg.expm_multiply on the sparse generator); - 4. prunes coefficients below ``drop_tol`` (a protected set -- the target - observable's own support -- is never dropped). - -The matrix exponential is exact in dt within the basis, so there is no -Trotter splitting error; the only approximation is the finite basis, whose -adequacy is monitored by the cumulative discarded weight. - -``--predictor_corrector 1`` additionally enriches B with the strings the -predictor step flows into and redoes the step, lifting the adaptive- -integration error from O(dt^2) to O(dt^3) at the cost of one extra matrix -exponential per step. - -The observable is the single-Z Fourier mode O_k = sum_j cos(k x_j) Z_j; its -decay C_k(t) = / is the (infinite-temperature) -spin transport coefficient at momentum k. - -Run, e.g.:: - - python lindblad_adaptive.py --L 12 --kmax 2 --steps 20 --dt 0.1 - python lindblad_adaptive.py --L 12 --kmax 2 --predictor_corrector 1 -""" - -from argparse import ArgumentParser +# %% [markdown] +# # Adaptive Pauli-Lindbladian time evolution +# +# Direct Heisenberg-picture evolution of a transport observable on a growing +# Pauli-string basis, without Trotterisation. Composes the three +# `ppvm.Lindbladian` primitives — `leakage`, `generator`, and the matrix +# exponential — into a predictor-corrector integrator on an all-to-all XY +# model (Kac-normalised $1/r^\alpha$ couplings) with single-site Z dephasing. +# +# The observable is kept as a finite sum over Pauli strings (the *basis*), +# and each step: +# +# 1. measures the leakage $(\mathbf 1 - P_B)\,\mathcal L^\dagger(\mathcal O)$ +# out of the current basis $B$; +# 2. adds the leakage strings above `add_tol` to $B$; +# 3. advances the coefficient vector by $\exp(dt\,M)$, where +# $M = P_B \mathcal L^\dagger P_B$ is the Lindbladian restricted to $B$; +# 4. prunes coefficients below `drop_tol`; the protected set (the target +# observable's own support) is never dropped. +# +# The matrix exponential is exact in `dt` within the basis, so there is no +# Trotter splitting error; the only approximation is the finite basis, +# monitored by the cumulative discarded weight. +# +# With `predictor_corrector=True`, the predicted state is fed back as a +# second leakage probe — enriching $B$ with the strings the predictor flows +# into before re-running the step from the pre-step state. This lifts the +# per-step adaptive-integration error from $\mathcal O(dt^2)$ to $\mathcal O(dt^3)$. +# +# The observable is the single-Z Fourier mode +# $\mathcal O_k = \sum_j \cos(k x_j) Z_j$; its decay +# $C_k(t)/C_k(0)$ is the (infinite-temperature) spin transport coefficient. + +# %% +import matplotlib.pyplot as plt import numpy as np +import scipy.sparse as sp from scipy.sparse.linalg import expm_multiply from ppvm import Lindbladian -CONSTANTS = dict( - L=8, alpha=3.0, gamma=0.1, dt=0.05, steps=20, kmax=3, - add_tol=1e-8, drop_tol=1e-10, max_pauli_weight=0, - max_basis=0, predictor_corrector=0, out="", -) -p = ArgumentParser(description=__doc__.splitlines()[0]) -for key, val in CONSTANTS.items(): - p.add_argument(f"--{key}", type=type(val), default=val) -c = p.parse_args() -if c.max_pauli_weight == 0: - c.max_pauli_weight = c.L - -pairs = [(a, b, min(b - a, c.L - b + a)) for a in range(c.L) for b in range(a + 1, c.L)] -kac = sum(1 / r**c.alpha for _, _, r in pairs) / c.L -pairs = [(a, b, 1 / kac / r**c.alpha) for a, b, r in pairs] -times = np.arange(c.steps + 1) * c.dt -n = np.arange(1, c.kmax + 1) -k_modes = 2 * np.pi * n / c.L -x = (np.arange(c.L) - c.L // 2 + c.L // 2) % c.L - c.L // 2 - - -def zterm_codes(j): - """Z on site j as a length-L array of Pauli codes (0=I, 1=X, 2=Z, 3=Y).""" - row = np.zeros(c.L, dtype=np.uint8) - row[j] = 2 # Z - return row - - -def build_hamiltonian_and_jumps(): - """All-to-all XY Hamiltonian H = sum_{a drop_tol: + rows.append(zterm_codes(j)) + coeffs.append(c) + basis_arr = np.array(rows, dtype=np.uint8) + coeff = np.array(coeffs, dtype=float) + index = {row.tobytes(): i for i, row in enumerate(basis_arr)} + protected_keys = set(index) + return basis_arr, coeff, index, protected_keys -def compress(basis_arr, coeff, protected_keys, keep_mask): - basis_arr = basis_arr[keep_mask] - coeff = coeff[keep_mask] +def add_leakage_to_basis(basis_arr, probe_coeff, extend_coeffs, protected_arr, index): + """Compute leakage from `probe_coeff`, add above-threshold strings to + `basis_arr`, and pad each vector in `extend_coeffs` with zeros for the + new rows. Returns ``(basis_arr, [extended...], index, rate_below)`` where + `rate_below` is the l2 norm of the leakage too small to add.""" + leak_basis, leak_coeffs = L_op.leakage_arr(basis_arr, probe_coeff, protected_arr) + if not len(leak_coeffs): + return basis_arr, list(extend_coeffs), index, 0.0 + weights = weights_of(leak_basis) + add_mask = (np.abs(leak_coeffs) > add_tol) & (weights <= max_pauli_weight) + rate_below = float(np.linalg.norm(leak_coeffs[~add_mask])) + if not add_mask.any(): + return basis_arr, list(extend_coeffs), index, rate_below + cand = leak_basis[add_mask] + cand = cand[np.argsort(np.abs(leak_coeffs[add_mask]))[::-1]] + cand = cand[np.array([row.tobytes() not in index for row in cand])] + if max_basis: + cand = cand[: max(max_basis - len(basis_arr), 0)] + if not len(cand): + return basis_arr, list(extend_coeffs), index, rate_below + n0 = len(basis_arr) + basis_arr = np.vstack([basis_arr, cand]) + extended = [np.r_[c, np.zeros(len(cand))] for c in extend_coeffs] + for i, row in enumerate(cand): + index[row.tobytes()] = n0 + i + return basis_arr, extended, index, rate_below + + +def prune_and_cap(basis_arr, coeff, protected_keys): + """Drop below-`drop_tol` coefficients; if `max_basis` is set, cap by + keeping protected rows + largest-magnitude others.""" + keep = np.array( + [(row.tobytes() in protected_keys) or (abs(v) >= drop_tol) + for row, v in zip(basis_arr, coeff)] + ) + basis_arr = basis_arr[keep] + coeff = coeff[keep] keys = [row.tobytes() for row in basis_arr] index = {kk: i for i, kk in enumerate(keys)} protected_keys = {pk for pk in protected_keys if pk in index} + if max_basis and len(basis_arr) > max_basis: + slots = max(max_basis - len(protected_keys), 0) + is_protected = np.array([kk in protected_keys for kk in keys]) + order = sorted(np.where(~is_protected)[0].tolist(), + key=lambda i: abs(coeff[i]), reverse=True) + keep2 = is_protected.copy() + keep2[order[:slots]] = True + basis_arr = basis_arr[keep2] + coeff = coeff[keep2] + keys = [row.tobytes() for row in basis_arr] + index = {kk: i for i, kk in enumerate(keys)} + protected_keys = {pk for pk in protected_keys if pk in index} return basis_arr, coeff, index, protected_keys -def cap_basis(basis_arr, coeff, index, protected_keys): - if not c.max_basis or len(basis_arr) <= c.max_basis: - return basis_arr, coeff, index, protected_keys, 0 - slots = max(c.max_basis - len(protected_keys), 0) - keys = [row.tobytes() for row in basis_arr] - is_protected = np.array([kk in protected_keys for kk in keys]) - cand_idx = np.where(~is_protected)[0] - order = sorted(cand_idx.tolist(), key=lambda i: abs(coeff[i]), reverse=True) - keep_extra = order[:slots] - keep = is_protected.copy() - keep[keep_extra] = True - dropped = len(basis_arr) - int(keep.sum()) - return (*compress(basis_arr, coeff, protected_keys, keep), dropped) - - -Ck = np.empty((c.steps + 1, c.kmax)) -Ck0 = np.empty(c.kmax) -n_basis = np.empty_like(Ck, dtype=np.int64) -max_weight = np.empty_like(Ck, dtype=np.int64) -# Cumulative discarded l2 weight / ||O_target|| is an a posteriori error -# estimate. The "total" (trapezoidal) variant adds the post-step leakage so it -# also bounds the O(dt^2) finite-dt adaptive-integration error, not just the -# truncation error. -discarded_cum = np.zeros_like(Ck) -discarded_cum_total = np.zeros_like(Ck) - -for m, kk in enumerate(k_modes): - # Initial basis: Z_j with cosine projection coefficients (the target). - target_rows, target_coeffs = [], [] - for j, xj in enumerate(x): - coef = float(np.cos(kk * xj)) - if abs(coef) > c.drop_tol: - target_rows.append(zterm_codes(j)) - target_coeffs.append(coef) - basis_arr = np.array(target_rows, dtype=np.uint8) - coeff = np.array(target_coeffs, dtype=float) - target_arr = basis_arr.copy() - target_coeff_arr = coeff.copy() - protected_arr = basis_arr.copy() # never dropped, never emitted as leakage - protected_keys = {row.tobytes() for row in protected_arr} - index = {row.tobytes(): i for i, row in enumerate(basis_arr)} - Ck0[m] = float(np.dot(coeff, coeff)) - norm_target = np.sqrt(Ck0[m]) - - L_op.clear_cache() # action cache is per-k since each k starts a fresh basis - - for nt in range(c.steps + 1): - ck_t = 0.0 - for trow, tc in zip(target_arr, target_coeff_arr): - idx = index.get(trow.tobytes()) - if idx is not None: - ck_t += coeff[idx] * tc - Ck[nt, m] = ck_t / Ck0[m] - n_basis[nt, m] = len(basis_arr) - max_weight[nt, m] = int(weights_of(basis_arr).max()) - if nt == c.steps: +# %% [markdown] +# ## Run one $k$-mode +# +# Returns per-step $C_k(t)$, basis size, max weight, and cumulative discarded +# weight (trapezoidal a-posteriori error estimate normalised by +# $\|\mathcal O_k\|$). + +# %% +def run_mode(kk): + basis_arr, coeff, index, protected_keys = init_mode(kk) + # `basis_arr` rebinds to a new ndarray on every vstack/slice; nothing + # mutates the initial array in place, so the target/protected views can + # simply alias it without a copy. + target_arr = basis_arr + target_coeff = coeff + protected_arr = basis_arr + norm0 = float(np.dot(coeff, coeff)) + norm_target = np.sqrt(norm0) + + ck = np.empty(steps + 1) + n_basis_t = np.empty(steps + 1, dtype=np.int64) + max_w_t = np.empty(steps + 1, dtype=np.int64) + discarded_cum = np.zeros(steps + 1) + + L_op.clear_cache() + for nt in range(steps + 1): + # Overlap with the (fixed) initial target. + c_t = sum(coeff[index[trow.tobytes()]] * tc + for trow, tc in zip(target_arr, target_coeff) + if trow.tobytes() in index) + ck[nt] = c_t / norm0 + n_basis_t[nt] = len(basis_arr) + max_w_t[nt] = int(weights_of(basis_arr).max()) + if nt == steps: break - # Leakage out of the basis; the part below add_tol is irrecoverably - # discarded this step (rate_before), the rest is added to the basis. - leak_basis, leak_coeffs = L_op.leakage_arr(basis_arr, coeff, protected_arr) - if len(leak_coeffs): - lw = weights_of(leak_basis) - add_mask = (np.abs(leak_coeffs) > c.add_tol) & (lw <= c.max_pauli_weight) - rate_before = float(np.linalg.norm(leak_coeffs[~add_mask])) - if add_mask.any(): - cand = leak_basis[add_mask] - cand_abs = np.abs(leak_coeffs[add_mask]) - cand = cand[np.argsort(cand_abs)[::-1]] - cand = cand[dedup_against(cand, index)] - if c.max_basis: - cand = cand[: max(c.max_basis - len(basis_arr), 0)] - if len(cand): - n0 = len(basis_arr) - basis_arr = np.vstack([basis_arr, cand]) - coeff = np.r_[coeff, np.zeros(len(cand))] - for i, row in enumerate(cand): - index[row.tobytes()] = n0 + i - else: - rate_before = 0.0 - - # Predictor: advance the restricted generator (exact in dt). - coeff_t = coeff.copy() - coeff = expm_multiply(c.dt * L_op.generator_arr(basis_arr), coeff) - - if c.predictor_corrector: - # Enrich with the predictor's second-hop strings and redo the step - # from the time-t state on the enriched basis (dt^2 -> dt^3). - lb2, lc2 = L_op.leakage_arr(basis_arr, coeff, protected_arr) - if len(lc2): - w2 = weights_of(lb2) - am2 = (np.abs(lc2) > c.add_tol) & (w2 <= c.max_pauli_weight) - if am2.any(): - cand2 = lb2[am2] - cand2 = cand2[dedup_against(cand2, index)] - if c.max_basis: - cand2 = cand2[: max(c.max_basis - len(basis_arr), 0)] - if len(cand2): - n0 = len(basis_arr) - basis_arr = np.vstack([basis_arr, cand2]) - coeff_t = np.r_[coeff_t, np.zeros(len(cand2))] - for i, row in enumerate(cand2): - index[row.tobytes()] = n0 + i - coeff = expm_multiply( - c.dt * L_op.generator_arr(basis_arr), coeff_t - ) - - w_pre = float(np.dot(coeff, coeff)) + # Predictor: enrich basis with leakage from current state, then + # advance by exp(dt · M). + basis_arr, [coeff], index, rate_before = add_leakage_to_basis( + basis_arr, coeff, [coeff], protected_arr, index + ) + coeff_pre = coeff.copy() + coeff = expm_multiply(dt * generator_sparse(L_op, basis_arr), coeff) + + if predictor_corrector: + # Probe leakage with the predicted state; extend the pre-step + # vector with zeros for the new rows and re-run on the enlarged + # basis. Lifts O(dt²) -> O(dt³). + basis_arr, [coeff_pre], index, _ = add_leakage_to_basis( + basis_arr, coeff, [coeff_pre], protected_arr, index + ) + coeff = expm_multiply(dt * generator_sparse(L_op, basis_arr), coeff_pre) + + # Post-step leakage rate, for the trapezoidal error estimate. + norm2_pre_prune = float(np.dot(coeff, coeff)) _, leak_after = L_op.leakage_arr(basis_arr, coeff, protected_arr) rate_after = float(np.linalg.norm(leak_after)) if len(leak_after) else 0.0 - keep = np.array( - [(row.tobytes() in protected_keys) or (abs(v) >= c.drop_tol) - for row, v in zip(basis_arr, coeff)] - ) - basis_arr, coeff, index, protected_keys = compress( - basis_arr, coeff, protected_keys, keep - ) - basis_arr, coeff, index, protected_keys, _ = cap_basis( - basis_arr, coeff, index, protected_keys - ) - # Pruning/capping only remove entries, so the discarded l2 weight is - # sqrt(||c||^2_pre - ||c||^2_post). - dropped_w = np.sqrt(max(w_pre - float(np.dot(coeff, coeff)), 0.0)) - d_lead = c.dt * rate_before + dropped_w - d_total = 0.5 * c.dt * (rate_before + rate_after) + dropped_w - discarded_cum[nt + 1, m] = discarded_cum[nt, m] + d_lead / norm_target - discarded_cum_total[nt + 1, m] = ( - discarded_cum_total[nt, m] + d_total / norm_target + basis_arr, coeff, index, protected_keys = prune_and_cap( + basis_arr, coeff, protected_keys ) + # Pruning only removes entries, so the discarded l2 weight is + # sqrt(‖c‖²_pre − ‖c‖²_post). + dropped_w = np.sqrt(max(norm2_pre_prune - float(np.dot(coeff, coeff)), 0.0)) + d_total = 0.5 * dt * (rate_before + rate_after) + dropped_w + discarded_cum[nt + 1] = discarded_cum[nt] + d_total / norm_target + + return ck, n_basis_t, max_w_t, discarded_cum + -print(f"L={c.L} gamma={c.gamma} alpha={c.alpha} dt={c.dt} steps={c.steps} " - f"predictor_corrector={c.predictor_corrector}") +# %% [markdown] +# ## Run all $k$-modes and plot + +# %% +Ck = np.empty((steps + 1, kmax)) +n_basis = np.empty((steps + 1, kmax), dtype=np.int64) +max_weight = np.empty((steps + 1, kmax), dtype=np.int64) +discarded_cum = np.empty((steps + 1, kmax)) for m, kk in enumerate(k_modes): - print(f"\nk = 2*pi*{n[m]}/{c.L} = {kk:.4f}") - print(f" {'t':>6} {'C_k(t)':>10} {'n_basis':>8} {'max_wt':>7} {'err_est':>10}") - for nt in range(c.steps + 1): - print(f" {times[nt]:>6.2f} {Ck[nt, m]:>10.6f} {n_basis[nt, m]:>8d} " - f"{max_weight[nt, m]:>7d} {discarded_cum_total[nt, m]:>10.2e}") - -if c.out: - np.savez( - c.out, times=times, k=k_modes, Ck=Ck, Ck0=Ck0, n_basis=n_basis, - max_weight=max_weight, discarded_cum=discarded_cum, - discarded_cum_total=discarded_cum_total, - ) - print(f"\nsaved -> {c.out}") + Ck[:, m], n_basis[:, m], max_weight[:, m], discarded_cum[:, m] = run_mode(kk) + +# %% +fig, ax = plt.subplots() +for m in range(kmax): + ax.plot(times, Ck[:, m], "o-", ms=3, label=rf"$k = 2\pi\cdot{k_indices[m]}/L$") +ax.set_xlabel("$t$") +ax.set_ylabel(r"$C_k(t)/C_k(0)$") +ax.set_title(f"Adaptive Lindbladian evolution L={L} γ={gamma} α={alpha}") +ax.legend() +plt.tight_layout() +plt.show() + +# %% +fig, ax = plt.subplots(1, 2, figsize=(10, 4)) +for m in range(kmax): + ax[0].plot(times, n_basis[:, m], "o-", ms=3, label=rf"$k_{k_indices[m]}$") + ax[1].semilogy(times, discarded_cum[:, m] + 1e-16, "o-", ms=3, + label=rf"$k_{k_indices[m]}$") +ax[0].set(xlabel="$t$", ylabel="|basis|", title="Basis-size growth") +ax[1].set(xlabel="$t$", ylabel=r"cum. discarded / $||O_k||$", + title="A-posteriori error estimate") +for a in ax: + a.legend() +plt.tight_layout() +plt.show() diff --git a/ppvm-python/demo/lindblad_pc_scaling.py b/ppvm-python/demo/lindblad_pc_scaling.py index 45927aae..0756ebb6 100644 --- a/ppvm-python/demo/lindblad_pc_scaling.py +++ b/ppvm-python/demo/lindblad_pc_scaling.py @@ -1,46 +1,69 @@ +# --- +# jupyter: +# jupytext: +# cell_metadata_filter: -all +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# jupytext_version: 1.19.1 +# kernelspec: +# display_name: ppvm (3.12.12) +# language: python +# name: python3 +# --- + # SPDX-FileCopyrightText: 2026 The PPVM Authors # SPDX-License-Identifier: Apache-2.0 -"""End-to-end wall-time scaling of the pure-Rust predictor-corrector step -with rayon thread count. - -The entire ``pc_step`` body (both leakage calls, the generator build, and -both ``expm_multiply`` calls) is wrapped in a rayon pool of the requested -size — leakage and generator parallelise over basis elements, the matrix -exponential parallelises over SpMV rows. So the speedup numbers reflect -overall PC throughput, not just SpMV. -Usage:: +# %% [markdown] +# # `pc_step` parallel scaling +# +# End-to-end wall-time scaling of the pure-Rust predictor-corrector step +# (`ppvm.Lindbladian.pc_step`) with rayon thread count. The entire `pc_step` +# body — both leakage calls, the generator build, and both matrix +# exponentials — runs inside a rayon pool of the requested size: +# +# * leakage and generator parallelise over basis elements; +# * the matrix exponential parallelises over SpMV rows. +# +# So the speedup numbers reflect overall PC throughput, not just SpMV. + +# %% +from statistics import median +import time - python lindblad_pc_scaling.py --L 51 --steps 20 --max-cores 16 +import matplotlib.pyplot as plt +import numpy as np -For HPC: ``--max-cores`` is the upper bound of the thread sweep, so on a -32-core node you'd pass ``--max-cores 32`` (or any subset). -""" +from ppvm import Lindbladian -from __future__ import annotations -import argparse -import importlib.util as _ilu -import sys as _sys -import time -from pathlib import Path as _Path -from statistics import median +# %% [markdown] +# ## Parameters -import numpy as np +# %% +L = 51 +J = 1.0 +gamma = 1.0 +alpha = 1.0 +dt = 0.05 +n_steps = 20 +tau_add = 1e-8 +max_cores = 4 +warmup_steps = 4 +model = "long-range" # "nn" or "long-range" -# Bypass the `ppvm` package __init__ to avoid a pre-existing stim/bloqade -# version mismatch in the dev env. Pull the bare submodule path directly. -_spec = _ilu.spec_from_file_location( - "_ppvm_lindblad", - _Path(__file__).resolve().parent.parent / "src" / "ppvm" / "lindblad.py", -) -_mod = _ilu.module_from_spec(_spec) -_sys.modules["_ppvm_lindblad"] = _mod -_spec.loader.exec_module(_mod) -Lindbladian = _mod.Lindbladian +# %% [markdown] +# ## Model +# +# All-to-all XY with $1/r^\alpha$ couplings (Kac-normalised) and per-site Z +# dephasing. Long-range activates every bond every step, giving a basis +# size that meaningfully exercises parallel scaling. -def build_nn_xy_dephasing(L: int, J: float, gamma: float): +# %% +def build_nn_xy_dephasing(L, J, gamma): h_terms = [] for i in range(L - 1): a, b = i, i + 1 @@ -53,11 +76,7 @@ def build_nn_xy_dephasing(L: int, J: float, gamma: float): return h_terms, jump_terms -def build_long_range_xy_dephasing(L: int, J: float, alpha: float, gamma: float): - """All-to-all XY with 1/r^α couplings (matches the lindblad_adaptive - demo). Operator weight grows much faster than NN because every bond - activates every step, giving a basis size that meaningfully exercises - parallel scaling.""" +def build_long_range_xy_dephasing(L, J, alpha, gamma): pairs = [ (a, b, 1.0 / min(b - a, L - b + a) ** alpha) for a in range(L) @@ -75,6 +94,22 @@ def build_long_range_xy_dephasing(L: int, J: float, alpha: float, gamma: float): return h_terms, jump_terms +if model == "nn": + h_terms, jump_terms = build_nn_xy_dephasing(L, J, gamma) +else: + h_terms, jump_terms = build_long_range_xy_dephasing(L, J, alpha, gamma) +L_op = Lindbladian(L, h_terms, jump_terms) + + +# %% [markdown] +# ## Timing harness +# +# Each call to `run_pc_steps` runs `n_steps` consecutive PC steps from +# $Z_{L/2}$, returning the per-step wall times and the final basis size. +# The `num_threads` kwarg pins this call to a freshly-built rayon pool of +# that size, isolating thread-count effects from JIT cache state. + +# %% def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] basis = [z_strings[site0]] @@ -96,89 +131,58 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): return times, len(basis) -def main(): - parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) - parser.add_argument("--L", type=int, default=51, help="number of qubits") - parser.add_argument("--steps", type=int, default=20, help="PC steps per measurement") - parser.add_argument("--dt", type=float, default=0.05, help="time step") - parser.add_argument("--J", type=float, default=1.0, help="XY exchange") - parser.add_argument("--gamma", type=float, default=1.0, help="Z dephasing rate") - parser.add_argument( - "--model", - choices=("nn", "long-range"), - default="long-range", - help="NN XY or all-to-all 1/r^alpha XY (default: long-range)", - ) - parser.add_argument( - "--alpha", type=float, default=1.0, help="power-law exponent for long-range model" - ) - parser.add_argument( - "--tau", type=float, default=1e-8, help="leakage threshold for basis expansion" - ) - parser.add_argument( - "--max-cores", type=int, default=4, help="upper bound of the thread sweep" - ) - parser.add_argument( - "--warmup-steps", - type=int, - default=4, - help="PC steps to discard before timing (lets the basis settle)", - ) - args = parser.parse_args() - - L = args.L - site0 = L // 2 - if args.model == "nn": - h_terms, jump_terms = build_nn_xy_dephasing(L, args.J, args.gamma) - else: - h_terms, jump_terms = build_long_range_xy_dephasing( - L, args.J, args.alpha, args.gamma - ) - L_op = Lindbladian(L, h_terms, jump_terms) +# %% [markdown] +# ## Warmup +# +# Each thread count pre-builds its rayon pool and amortises one-time setup +# before the real timing pass. - # Warmup: pre-build pools at each thread count and amortise one-time setup. - print(f"Warmup (L={L}, {args.warmup_steps} steps per pool size)...") - for n in range(1, args.max_cores + 1): - run_pc_steps(L_op, L, site0, args.dt, args.warmup_steps, args.tau, n) - L_op.clear_cache() +# %% +site0 = L // 2 +for n in range(1, max_cores + 1): + run_pc_steps(L_op, L, site0, dt, warmup_steps, tau_add, n) +L_op.clear_cache() - print() - model_str = ( - "NN XY (OBC)" if args.model == "nn" else f"long-range XY alpha={args.alpha}" - ) - print( - f"{model_str} + Z-dephasing L={L} J={args.J} gamma={args.gamma} " - f"dt={args.dt} tau={args.tau:g}" - ) - print( - f"{args.steps} PC steps per measurement, parallel_threshold=0 " - f"(force parallel SpMV); rayon pool wraps the entire PC step " - f"(leakage + generator + expm)." - ) - print() - header = ( - f"{'threads':>8s} {'first-step (ms)':>16s} {'steady (ms)':>12s} " - f"{'speedup':>9s} {'|basis|':>8s}" - ) - print(header) - print("-" * len(header)) - - baseline = None - for n in range(1, args.max_cores + 1): - L_op.clear_cache() - times, basis_size = run_pc_steps( - L_op, L, site0, args.dt, args.steps, args.tau, n - ) - first = times[0] * 1000.0 - steady = median(times[1:]) * 1000.0 - if baseline is None: - baseline = steady - speedup = baseline / steady - print( - f"{n:>8d} {first:>16.1f} {steady:>12.2f} {speedup:>8.2f}x " - f"{basis_size:>8d}" - ) +# %% [markdown] +# ## Scaling sweep -if __name__ == "__main__": - main() +# %% +results = [] +for n in range(1, max_cores + 1): + L_op.clear_cache() + times, basis_size = run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, n) + first = times[0] * 1000.0 + steady = median(times[1:]) * 1000.0 + results.append({"threads": n, "first_ms": first, "steady_ms": steady, + "basis": basis_size}) + +baseline = results[0]["steady_ms"] +print(f"{'threads':>8s} {'first-step (ms)':>16s} {'steady (ms)':>12s} " + f"{'speedup':>9s} {'|basis|':>8s}") +for r in results: + speedup = baseline / r["steady_ms"] + print(f"{r['threads']:>8d} {r['first_ms']:>16.1f} {r['steady_ms']:>12.2f} " + f"{speedup:>8.2f}x {r['basis']:>8d}") + + +# %% [markdown] +# ## Plot +# +# Steady-state speedup vs thread count, with the linear-scaling reference. + +# %% +threads = np.array([r["threads"] for r in results]) +steady_ms = np.array([r["steady_ms"] for r in results]) +speedup = steady_ms[0] / steady_ms + +fig, ax = plt.subplots() +ax.plot(threads, speedup, "o-", label="measured") +ax.plot(threads, threads, "k--", alpha=0.4, label="linear") +ax.set_xlabel("threads") +ax.set_ylabel("speedup (vs 1 thread)") +ax.set_title(f"pc_step parallel scaling L={L} model={model} " + f"|basis|={results[-1]['basis']}") +ax.legend() +plt.tight_layout() +plt.show() diff --git a/ppvm-python/demo/stim.py b/ppvm-python/demo/stim_msd.py similarity index 100% rename from ppvm-python/demo/stim.py rename to ppvm-python/demo/stim_msd.py diff --git a/ppvm-python/pyproject.toml b/ppvm-python/pyproject.toml index e76a3e00..46bdeda9 100644 --- a/ppvm-python/pyproject.toml +++ b/ppvm-python/pyproject.toml @@ -50,6 +50,11 @@ dev = [ "numpy>=2.2.6", "pytest>=9.0.2", ] +# Optional: only the `demo/` scripts use it (`expm_multiply` for the reference +# matrix exponential). Runtime ppvm and the test suite have no scipy dep. +demo = [ + "scipy>=1.13", +] doc = [ "griffe-inherited-docstrings>=1.1.1", "matplotlib>=3.10.8", diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 87b58d12..6ba2dd4a 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -11,8 +11,10 @@ - ``action(p)`` / ``action_arr(p)``: L*(p) for one Pauli string p - ``leakage(basis, coeffs)`` / ``leakage_arr(...)``: off-basis component of L*(Σ c_j p_j), driving basis expansion -- ``generator(basis)``: scipy CSC matrix M such that L* restricted to - ``basis`` is ``M @ coeffs`` +- ``generator(basis)``: COO triples ``(rows, cols, vals)`` for the generator + matrix M such that L* restricted to ``basis`` is ``M @ coeffs``. Users + wanting a sparse matrix can wrap them — e.g. + ``scipy.sparse.coo_matrix((vals, (rows, cols)), shape=(N, N)).tocsc()`` The ``*_arr`` variants pass Pauli strings as ``(N, n_qubits)`` ``uint8`` arrays of Pauli codes (``0=I, 1=X, 2=Z, 3=Y``) and skip string @@ -34,14 +36,11 @@ from __future__ import annotations from collections.abc import Iterable, Sequence -from typing import TYPE_CHECKING, Union +from typing import Union import numpy as np from ppvm_python_native import LindbladSpec as _LindbladSpec -if TYPE_CHECKING: - import scipy.sparse as sp - _PAULI_CODE = {"I": 0, "X": 1, "Z": 2, "Y": 3} # Lookup table mapping code -> ASCII byte for vectorised string output. _CODE_TO_ASCII = np.array([ord("I"), ord("X"), ord("Z"), ord("Y")], dtype=np.uint8) @@ -52,28 +51,44 @@ JumpSpec = Union[tuple[str, float], tuple[PauliLincomb, float]] -def string_to_codes(s: str, n_qubits: int) -> np.ndarray: - """Encode a Pauli string ``"IXYZ..."`` as a length-``n_qubits`` uint8 array.""" - if len(s) != n_qubits: - raise ValueError(f"Pauli string {s!r} has length {len(s)} != n_qubits {n_qubits}") - return np.array([_PAULI_CODE[c] for c in s], dtype=np.uint8) +def _string_to_codes(s: str, n_qubits: int) -> np.ndarray: + """Encode a Pauli string ``"IXYZ..."`` as a length-``n_qubits`` uint8 array. + + Underscores in the input are ignored, matching the Rust parser + (``parse_pauli_string`` in `ppvm-lindblad`) so users can write + ``"X_Y_Z"`` for readability. + """ + s_clean = s.replace("_", "") + if len(s_clean) != n_qubits: + raise ValueError( + f"Pauli string {s!r} has length {len(s_clean)} (after stripping '_') " + f"!= n_qubits {n_qubits}" + ) + try: + return np.array([_PAULI_CODE[c] for c in s_clean], dtype=np.uint8) + except KeyError as exc: + bad = exc.args[0] + raise ValueError( + f"Pauli string {s!r} contains invalid character {bad!r}; " + f"expected one of 'I', 'X', 'Y', 'Z' (and '_' is allowed as a separator)" + ) from None -def codes_to_string(codes: np.ndarray) -> str: +def _codes_to_string(codes: np.ndarray) -> str: """Decode one length-``n_qubits`` row of Pauli codes back to a string.""" return _CODE_TO_ASCII[codes].tobytes().decode("ascii") -def basis_to_codes(basis: Sequence[str], n_qubits: int) -> np.ndarray: +def _basis_to_codes(basis: Sequence[str], n_qubits: int) -> np.ndarray: """Stack a sequence of Pauli strings into an ``(N, n_qubits)`` uint8 array.""" arr = np.zeros((len(basis), n_qubits), dtype=np.uint8) for i, s in enumerate(basis): - arr[i] = string_to_codes(s, n_qubits) + arr[i] = _string_to_codes(s, n_qubits) return arr -def codes_to_basis(arr: np.ndarray) -> list[str]: - """Inverse of :func:`basis_to_codes`. One call into C per row.""" +def _codes_to_basis(arr: np.ndarray) -> list[str]: + """Inverse of :func:`_basis_to_codes`. One call into C per row.""" bytes_per_row = _CODE_TO_ASCII[arr].tobytes() n = arr.shape[1] return [bytes_per_row[i * n : (i + 1) * n].decode("ascii") for i in range(arr.shape[0])] @@ -267,9 +282,9 @@ def pc_step( ) -> tuple[list[str], np.ndarray]: """String-keyed variant of :meth:`pc_step_arr`.""" n = self.n_qubits - basis_arr = basis_to_codes(basis, n) + basis_arr = _basis_to_codes(basis, n) protected_arr = ( - basis_to_codes(list(protected), n) if protected else np.zeros((0, n), dtype=np.uint8) + _basis_to_codes(list(protected), n) if protected else np.zeros((0, n), dtype=np.uint8) ) new_basis_arr, new_coeffs = self.pc_step_arr( basis_arr, @@ -281,27 +296,30 @@ def pc_step( parallel_threshold, num_threads, ) - return codes_to_basis(new_basis_arr), new_coeffs + return _codes_to_basis(new_basis_arr), new_coeffs - def generator_arr(self, basis_arr: np.ndarray) -> sp.csc_matrix: - """Sparse generator matrix in CSC form, basis given as uint8 codes. + def generator_arr( + self, basis_arr: np.ndarray + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + """Generator matrix as COO triples ``(rows, cols, vals)``. - Requires SciPy (imported lazily): only the sparse-matrix convenience - needs it; the ``action``/``leakage`` primitives do not. - """ - import scipy.sparse as sp + Basis given as uint8 codes. To get a SciPy sparse matrix: - n_basis = basis_arr.shape[0] - rows, cols, vals = self._spec.generator(np.ascontiguousarray(basis_arr, dtype=np.uint8)) - return sp.coo_matrix((vals, (rows, cols)), shape=(n_basis, n_basis)).tocsc() + >>> import scipy.sparse as sp + >>> rows, cols, vals = L_op.generator_arr(basis_arr) + >>> M = sp.coo_matrix( + ... (vals, (rows, cols)), shape=(len(basis_arr), len(basis_arr)) + ... ).tocsc() + """ + return self._spec.generator(np.ascontiguousarray(basis_arr, dtype=np.uint8)) # ── String-keyed convenience API (slower; for tests / display) ── def action(self, p: str) -> dict[str, float]: """Apply ``L*`` to a single Pauli string ``p`` (string-keyed dict).""" - codes = string_to_codes(p, self.n_qubits) + codes = _string_to_codes(p, self.n_qubits) out_basis, out_coeffs = self._spec.action(codes) - keys = codes_to_basis(out_basis) + keys = _codes_to_basis(out_basis) return {k: float(v) for k, v in zip(keys, out_coeffs) if v != 0.0} def leakage( @@ -312,20 +330,24 @@ def leakage( ) -> dict[str, float]: """Off-basis leakage as a ``dict[str, float]`` (slower API).""" n = self.n_qubits - basis_arr = basis_to_codes(basis, n) + basis_arr = _basis_to_codes(basis, n) protected_arr = ( - basis_to_codes(list(protected), n) if protected else np.zeros((0, n), dtype=np.uint8) + _basis_to_codes(list(protected), n) if protected else np.zeros((0, n), dtype=np.uint8) ) out_basis, out_coeffs = self._spec.leakage( basis_arr, np.ascontiguousarray(coeffs, dtype=np.float64), protected_arr, ) - keys = codes_to_basis(out_basis) + keys = _codes_to_basis(out_basis) return {k: float(v) for k, v in zip(keys, out_coeffs) if v != 0.0} - def generator(self, basis: Sequence[str]) -> sp.csc_matrix: - """Sparse generator matrix in CSC form, basis given as strings.""" + def generator( + self, basis: Sequence[str] + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + """Generator matrix as COO triples ``(rows, cols, vals)``, + basis given as strings. See :meth:`generator_arr` for the conversion + to a SciPy sparse matrix.""" n = self.n_qubits - basis_arr = basis_to_codes(basis, n) + basis_arr = _basis_to_codes(basis, n) return self.generator_arr(basis_arr) diff --git a/ppvm-python/test/lindblad/__init__.py b/ppvm-python/test/lindblad/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ppvm-python/test/lindblad/_helpers.py b/ppvm-python/test/lindblad/_helpers.py new file mode 100644 index 00000000..444e7c85 --- /dev/null +++ b/ppvm-python/test/lindblad/_helpers.py @@ -0,0 +1,346 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Shared helpers for the Lindbladian shim tests. + +Two reference kernels live here: + +- :func:`_reference_action` builds `L*(p)` for **Hermitian-Pauli** jumps via + the single-qubit Pauli multiplication table (cheap; only depends on `p`'s + weight). +- :func:`_dense_action` builds `L*(p)` for **arbitrary jump operators** by + constructing the full 2^L × 2^L dense Liouvillian. Only viable for L ≤ 3, + but it makes no assumption about the shape of the jumps. + +The bilinear NN-XY + Z-dephasing reference :func:`_bilinear_nn_xy_z_dephasing_obc` +gives an exact closed-form answer that the predictor-corrector tests converge +toward as dt → 0. +""" + +from __future__ import annotations + +import numpy as np + +# --- Pauli multiplication table for the Hermitian-Pauli reference ----------- +I, X, Y, Z = range(4) # noqa: E741 (I is standard Pauli notation here) +MUL = { + (I, I): (1, I), (I, X): (1, X), (I, Y): (1, Y), (I, Z): (1, Z), + (X, I): (1, X), (X, X): (1, I), (X, Y): (1j, Z), (X, Z): (-1j, Y), + (Y, I): (1, Y), (Y, X): (-1j, Z), (Y, Y): (1, I), (Y, Z): (1j, X), + (Z, I): (1, Z), (Z, X): (1j, Y), (Z, Y): (-1j, X), (Z, Z): (1, I), +} +CODE = {I: "I", X: "X", Y: "Y", Z: "Z"} +ICODE = {"I": I, "X": X, "Y": Y, "Z": Z} + + +def _str_to_tuple(s): + return tuple(ICODE[ch] for ch in s) + + +def _tuple_to_str(t): + return "".join(CODE[ch] for ch in t) + + +def _mul_pauli(p, q): + """Return ``(phase, p·q)`` for two Pauli strings given as code tuples.""" + phase = 1 + r = list(p) + for i, (pi, qi) in enumerate(zip(p, q)): + ph, rr = MUL[(pi, qi)] + phase *= ph + r[i] = rr + return phase, tuple(r) + + +def _reference_action(p_str, h_terms, jump_terms): + """``L*(p) = i[H, p] + sum_k gamma_k (L_k p L_k - p)``, term by term.""" + p = _str_to_tuple(p_str) + out: dict = {} + for h_str, coeff_h in h_terms: + h = _str_to_tuple(h_str) + ph_pp, pp = _mul_pauli(h, p) + ph_pq, _ = _mul_pauli(p, h) + # i[H, p] = i (Hp - pH) = i (ph_pp - ph_pq) r ; real for Hermitian H, p. + coeff = (1j * coeff_h * (ph_pp - ph_pq)).real + if coeff: + out[pp] = out.get(pp, 0.0) + coeff + for j_str, gamma in jump_terms: + j = _str_to_tuple(j_str) + ph_pp, _ = _mul_pauli(j, p) + # Hermitian Pauli L, p: Lp has imaginary phase iff they anti-commute, + # and then L p L = -p, contributing -2 gamma p. + if abs(ph_pp.imag) > 0.5: + out[p] = out.get(p, 0.0) + (-2.0 * gamma) + return {kk: v for kk, v in out.items() if v} + + +def _to_str_dict(d): + return {_tuple_to_str(kk): v for kk, v in d.items()} + + +# --- model builders --------------------------------------------------------- + + +def xy_dephasing(L, alpha, gamma): + """Long-range XY model with PBC + Z dephasing.""" + pairs = [ + (a, b, 1.0 / min(b - a, L - b + a) ** alpha) for a in range(L) for b in range(a + 1, L) + ] + kac = sum(j for _, _, j in pairs) / L + pairs = [(a, b, j / kac) for a, b, j in pairs] + h_terms = [] + for a, b, j in pairs: + for q in "XY": + term = ["I"] * L + term[a] = term[b] = q + h_terms.append(("".join(term), j)) + jump_terms = [("I" * i + "Z" + "I" * (L - i - 1), gamma) for i in range(L)] + return h_terms, jump_terms + + +def tfim_xdeph(L, J, h, gamma): + """TFIM (ZZ + transverse X) with X dephasing.""" + h_terms = [] + for i in range(L - 1): + term = ["I"] * L + term[i] = term[i + 1] = "Z" + h_terms.append(("".join(term), J)) + for i in range(L): + term = ["I"] * L + term[i] = "X" + h_terms.append(("".join(term), h)) + jump_terms = [("I" * i + "X" + "I" * (L - i - 1), gamma) for i in range(L)] + return h_terms, jump_terms + + +def nn_xy_z_dephasing_obc(L, J, gamma): + """Nearest-neighbour XY (OBC) + per-site Z dephasing.""" + h_terms = [] + for i in range(L - 1): + a, b = i, i + 1 + xs = ["I"] * L + xs[a] = xs[b] = "X" + ys = ["I"] * L + ys[a] = ys[b] = "Y" + h_terms += [("".join(xs), J), ("".join(ys), J)] + jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] + return h_terms, jump_terms + + +def random_pauli_str(rng, L): + chars = ["I"] * L + positions = rng.choice(L, size=int(rng.integers(1, L + 1)), replace=False) + for q in positions: + chars[q] = rng.choice(["X", "Y", "Z"]) + return "".join(chars) + + +def assert_action_matches(L_op, h_terms, jump_terms, strings): + """Compare `L_op.action(p)` against :func:`_reference_action` for each `p`.""" + for p in strings: + got = L_op.action(p) + want = _to_str_dict(_reference_action(p, h_terms, jump_terms)) + for kk in set(got) | set(want): + assert abs(got.get(kk, 0.0) - want.get(kk, 0.0)) < 1e-12, ( + f"action mismatch at p={p!r} k={kk!r}: " + f"shim={got.get(kk, 0.0)} ref={want.get(kk, 0.0)}" + ) + + +# --- dense Liouvillian reference (for non-Hermitian jumps) ------------------ + +_DENSE_PAULI = { + "I": np.eye(2, dtype=complex), + "X": np.array([[0, 1], [1, 0]], dtype=complex), + "Y": np.array([[0, -1j], [1j, 0]], dtype=complex), + "Z": np.array([[1, 0], [0, -1]], dtype=complex), +} +SIGMA_MINUS_MAT = np.array([[0, 0], [1, 0]], dtype=complex) +SIGMA_PLUS_MAT = np.array([[0, 1], [0, 0]], dtype=complex) + + +def pauli_mat(s): + """Dense matrix for Pauli string ``s`` (leftmost char = leftmost factor).""" + M = np.array([[1.0]], dtype=complex) + for c in s: + M = np.kron(M, _DENSE_PAULI[c]) + return M + + +def all_strings(L): + if L == 0: + return [""] + sub = all_strings(L - 1) + return [c + s for c in "IXYZ" for s in sub] + + +def dense_action(H, jumps, p_str, L): + """`L*(p)` computed densely, returned as a real Pauli-coefficient dict.""" + p_mat = pauli_mat(p_str) + # macOS Accelerate emits spurious divide warnings on exact zeros. + with np.errstate(divide="ignore", invalid="ignore", over="ignore"): + out_mat = 1j * (H @ p_mat - p_mat @ H) + for Lop, gamma in jumps: + Ld = Lop.conj().T + out_mat += gamma * ( + Ld @ p_mat @ Lop - 0.5 * (Ld @ Lop @ p_mat + p_mat @ Ld @ Lop) + ) + d = 2**L + out = {} + for q_str in all_strings(L): + coef = np.trace(pauli_mat(q_str) @ out_mat) / d + assert abs(coef.imag) < 1e-9, f"non-real coefficient for {q_str}: {coef}" + if abs(coef.real) > 1e-12: + out[q_str] = coef.real + return out + + +def embed_op(op_1q, site, L): + """Embed a single-qubit dense operator at ``site`` of an L-qubit register.""" + eye = _DENSE_PAULI["I"] + M = np.array([[1.0]], dtype=complex) + for j in range(L): + M = np.kron(M, op_1q if j == site else eye) + return M + + +# --- closed bilinear evolution for NN-XY + Z-dephasing (OBC) ---------------- + + +def bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0): + """Closed bilinear evolution of `C_j(t)` for the NN XY + Z-dephasing model + with open boundary conditions. + + `F_{mn}(t) = 2^{-L} Tr[B_{mn}(t) Z_i]` evolves as + `∂_t F_{mn} = i·2J·(F_{m+1,n}+F_{m-1,n}-F_{m,n+1}-F_{m,n-1}) - 4γ(1-δ_{mn})F_{mn}` + on the L×L lattice; OBC means edge terms (m=0 or m=L-1, etc.) drop. + Z_j = I - 2 n_j gives C_j = -2 F_{jj}. + """ + dim = L * L + + def idx(m, n): + return m * L + n + + gen = np.zeros((dim, dim), dtype=complex) + for m in range(L): + for n in range(L): + row = idx(m, n) + if m + 1 < L: + gen[row, idx(m + 1, n)] += 1j * 2 * J + if m - 1 >= 0: + gen[row, idx(m - 1, n)] += 1j * 2 * J + if n + 1 < L: + gen[row, idx(m, n + 1)] += -1j * 2 * J + if n - 1 >= 0: + gen[row, idx(m, n - 1)] += -1j * 2 * J + if m != n: + gen[row, row] += -4 * gamma + + evals, evecs = np.linalg.eig(gen) + evecs_inv = np.linalg.inv(evecs) + f0 = np.zeros(dim, dtype=complex) + f0[idx(site0, site0)] = -0.5 + coeffs = evecs_inv @ f0 + + corr = np.empty((len(times), L)) + diag = [idx(j, j) for j in range(L)] + for nt, t in enumerate(times): + ft = evecs @ (np.exp(evals * t) * coeffs) + corr[nt] = np.real(-2 * ft[diag]) + return corr + + +# --- numpy-only matrix exponential reference -------------------------------- + + +def coo_to_dense(triples, n_basis): + """Build a dense ``(n_basis, n_basis)`` array from COO triples.""" + rows, cols, vals = triples + M = np.zeros((n_basis, n_basis), dtype=float) + M[rows, cols] = vals + return M + + +def expm_mv_dense(M, v): + """``exp(M) @ v`` via numpy eigendecomposition. Independent of the Rust + Al-Mohy & Higham implementation; small bases only. + + The Lindbladian is generally diagonalizable, so + ``M = V diag(λ) V^{-1}`` and ``exp(M) v = V (exp(λ) ⊙ (V^{-1} v))``. + """ + evals, evecs = np.linalg.eig(M) + rhs = np.linalg.solve(evecs, v.astype(complex)) + return np.real(evecs @ (np.exp(evals) * rhs)) + + +# --- adaptive PC evolution reference (used by test_adaptive_pc.py) ---------- + + +def _generator_dense(L_op, basis): + """`L_op.generator(basis)` returns COO triples; convert to dense.""" + return coo_to_dense(L_op.generator(basis), len(basis)) + + +def adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add): + """Adaptive Heisenberg-picture evolution of Z_{site0} on a growing basis. + + First-hop only: each step adds the strings from `L_op.leakage(...)`, + then matrix-exponentiates the (small, dense) restricted generator via + numpy eigendecomposition. Local truncation is O(dt²) per step. + """ + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + + corr = np.zeros((n_steps + 1, L)) + corr[0, site0] = 1.0 + + for step in range(n_steps): + leak = L_op.leakage(basis, coeffs, protected=protected) + new = [k for k, v in leak.items() if abs(v) > tau_add] + if new: + basis = basis + new + coeffs = np.concatenate([coeffs, np.zeros(len(new))]) + M = _generator_dense(L_op, basis) + coeffs = expm_mv_dense(dt * M, coeffs) + index = {s: i for i, s in enumerate(basis)} + for j in range(L): + if z_strings[j] in index: + corr[step + 1, j] = coeffs[index[z_strings[j]]] + return corr + + +def adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add): + """Same as :func:`adaptive_z_correlator` but with predictor-corrector + basis expansion: predict, then add the second-hop leakage strings before + redoing the step. Lifts the per-step truncation from O(dt²) to O(dt³). + """ + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + + corr = np.zeros((n_steps + 1, L)) + corr[0, site0] = 1.0 + + for step in range(n_steps): + leak = L_op.leakage(basis, coeffs, protected=protected) + new = [k for k, v in leak.items() if abs(v) > tau_add] + if new: + basis = basis + new + coeffs = np.concatenate([coeffs, np.zeros(len(new))]) + coeffs_pre = coeffs.copy() + M = _generator_dense(L_op, basis) + coeffs_predict = expm_mv_dense(dt * M, coeffs) + leak2 = L_op.leakage(basis, coeffs_predict, protected=protected) + new2 = [k for k, v in leak2.items() if abs(v) > tau_add] + if new2: + basis = basis + new2 + coeffs_pre = np.concatenate([coeffs_pre, np.zeros(len(new2))]) + M = _generator_dense(L_op, basis) + coeffs = expm_mv_dense(dt * M, coeffs_pre) + index = {s: i for i, s in enumerate(basis)} + for j in range(L): + if z_strings[j] in index: + corr[step + 1, j] = coeffs[index[z_strings[j]]] + return corr diff --git a/ppvm-python/test/lindblad/test_action_generator.py b/ppvm-python/test/lindblad/test_action_generator.py new file mode 100644 index 00000000..b888dffb --- /dev/null +++ b/ppvm-python/test/lindblad/test_action_generator.py @@ -0,0 +1,108 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Cross-checks for :meth:`Lindbladian.action` / :meth:`Lindbladian.generator` +/ :meth:`Lindbladian.leakage` against the Hermitian-Pauli reference built from +the single-qubit Pauli multiplication table. +""" + +from __future__ import annotations + +import numpy as np +import pytest + +from ppvm import Lindbladian + +from ._helpers import ( + _reference_action, + _tuple_to_str, + assert_action_matches, + coo_to_dense, + expm_mv_dense, + random_pauli_str, + tfim_xdeph, + xy_dephasing, +) + + +def test_action_xy_dephasing(): + L = 8 + h_terms, jump_terms = xy_dephasing(L, alpha=1.0, gamma=0.3) + L_op = Lindbladian(L, h_terms, jump_terms) + rng = np.random.default_rng(42) + strings = ["I" * L] + strings += ["I" * i + "Z" + "I" * (L - i - 1) for i in range(L)] + strings += [random_pauli_str(rng, L) for _ in range(20)] + assert_action_matches(L_op, h_terms, jump_terms, strings) + + +def test_action_tfim_xdephasing(): + L = 6 + h_terms, jump_terms = tfim_xdeph(L, J=0.7, h=0.4, gamma=0.2) + L_op = Lindbladian(L, h_terms, jump_terms) + rng = np.random.default_rng(7) + strings = [random_pauli_str(rng, L) for _ in range(30)] + assert_action_matches(L_op, h_terms, jump_terms, strings) + + +def test_generator_leakage_and_expm(): + L = 5 + dt = 0.1 + h_terms, jump_terms = xy_dephasing(L, alpha=1.0, gamma=0.4) + L_op = Lindbladian(L, h_terms, jump_terms) + basis = ["I" * i + "Z" + "I" * (L - i - 1) for i in range(L)] + basis += ["YIYII", "IYIYI", "ZZIII"] + coeffs = np.array([0.5, -0.3, 0.2, 0.4, -0.1, 0.6, 0.2, 0.1]) + + M_shim = coo_to_dense(L_op.generator(basis), len(basis)) + M_ref = np.zeros((len(basis), len(basis))) + index = {p: i for i, p in enumerate(basis)} + for col, p in enumerate(basis): + for r_tuple, v in _reference_action(p, h_terms, jump_terms).items(): + r = _tuple_to_str(r_tuple) + if r in index: + M_ref[index[r], col] += v + assert np.max(np.abs(M_shim - M_ref)) < 1e-12 + + shim_leak = L_op.leakage(basis, coeffs) + ref_leak: dict = {} + for p, cf in zip(basis, coeffs): + for r_tuple, v in _reference_action(p, h_terms, jump_terms).items(): + r = _tuple_to_str(r_tuple) + if r not in index: + ref_leak[r] = ref_leak.get(r, 0.0) + v * cf + ref_leak = {kk: v for kk, v in ref_leak.items() if v} + for kk in set(shim_leak) | set(ref_leak): + assert abs(shim_leak.get(kk, 0.0) - ref_leak.get(kk, 0.0)) < 1e-12 + + c_shim = expm_mv_dense(dt * M_shim, coeffs) + c_ref = expm_mv_dense(dt * M_ref, coeffs) + assert np.allclose(c_shim, c_ref, atol=1e-13) + + +def test_generator_rejects_duplicate_basis(): + """Duplicate basis rows would silently overwrite each other in the + row-index map and produce an incorrect sparse generator. The user-facing + entry point must reject them with a clear ValueError instead. + """ + L = 4 + h_terms, jump_terms = xy_dephasing(L, alpha=1.0, gamma=0.3) + L_op = Lindbladian(L, h_terms, jump_terms) + basis = ["ZIII", "IZII", "ZIII"] # duplicate at rows 0 and 2 + with pytest.raises(ValueError, match=r"duplicate Pauli word at row 0 and row 2"): + L_op.generator(basis) + # pc_step also builds the row index and must reject duplicates. + with pytest.raises(ValueError, match=r"duplicate Pauli word"): + L_op.pc_step(basis, np.ones(len(basis)), 0.01, 1e-10) + + +def test_protected_strings_suppressed(): + L = 4 + h_terms, jump_terms = xy_dephasing(L, alpha=1.0, gamma=0.0) + L_op = Lindbladian(L, h_terms, jump_terms) + basis = ["ZIII"] + coeffs = np.array([1.0]) + leak = L_op.leakage(basis, coeffs) + assert leak, "expected some leakage" + protected_key = next(iter(leak)) + leak2 = L_op.leakage(basis, coeffs, protected=[protected_key]) + assert protected_key not in leak2 diff --git a/ppvm-python/test/lindblad/test_adaptive_pc.py b/ppvm-python/test/lindblad/test_adaptive_pc.py new file mode 100644 index 00000000..762c8f57 --- /dev/null +++ b/ppvm-python/test/lindblad/test_adaptive_pc.py @@ -0,0 +1,109 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""End-to-end convergence of the adaptive predictor-corrector evolution +(numpy eigendecomposition reference) against the closed bilinear NN-XY + +Z-dephasing solution. + +For NN interactions the JW bilinears stay closed under the adjoint +Lindbladian, so the spin correlator obeys a tractable L²×L² ODE +(:func:`bilinear_nn_xy_z_dephasing_obc`). OBC keeps this exact; PBC would +introduce a parity-twist that only matches up to 1/L corrections. +""" + +from __future__ import annotations + +from itertools import pairwise + +import numpy as np + +from ppvm import Lindbladian + +from ._helpers import ( + adaptive_z_correlator, + adaptive_z_correlator_pc, + bilinear_nn_xy_z_dephasing_obc, + nn_xy_z_dephasing_obc, +) + + +def test_adaptive_converges_to_nn_xy_z_dephasing_bilinear(): + """Halving dt drives the adaptive shim toward the closed bilinear solution. + + Single-hop has local truncation O(dt²) per step → global error O(T·dt). + """ + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + T = 0.05 + tau_add = 1e-12 # tight enough that integrator (T·dt) dominates + + h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) + L_op = Lindbladian(L, h_terms, jump_terms) + + errors = [] + final_corr = None + for dt in (0.01, 0.005, 0.0025): + n_steps = round(T / dt) + times = np.arange(n_steps + 1) * dt + exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) + L_op.clear_cache() + shim = adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) + # Endpoint comparison only — independent of which step counts we use. + errors.append(float(np.max(np.abs(shim[-1] - exact[-1])))) + if dt == 0.0025: + final_corr = (shim[-1], exact[-1]) + + # Halving dt should roughly halve the error; allow 2× slack. + assert errors[1] < 0.8 * errors[0], f"dt-halving did not help: {errors}" + assert errors[2] < 0.8 * errors[1], f"dt-halving did not help: {errors}" + + # Integrator floor at dt = 0.0025 is ~T·dt = 1.25e-4; expect <1e-3. + assert errors[-1] < 1e-3, ( + f"shim vs bilinear at smallest dt: max abs error = {errors[-1]:.3g}; " + f"shim={final_corr[0]}, exact={final_corr[1]}" + ) + + +def test_predictor_corrector_lifts_dt_scaling_to_cubic(): + """The predictor-corrector basis expansion lifts the single-hop scheme's + local O(dt²) truncation to O(dt³). PC error is also strictly smaller at + every dt we test. + """ + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + T = 0.05 + tau_add = 1e-12 + + h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) + L_op = Lindbladian(L, h_terms, jump_terms) + + err_single = [] + err_pc = [] + for dt in (0.01, 0.005, 0.0025): + n_steps = round(T / dt) + times = np.arange(n_steps + 1) * dt + exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) + L_op.clear_cache() + single = adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) + L_op.clear_cache() + pc = adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) + err_single.append(float(np.max(np.abs(single[-1] - exact[-1])))) + err_pc.append(float(np.max(np.abs(pc[-1] - exact[-1])))) + + # PC strictly more accurate than single-hop at every dt (by ~100× in this + # regime). Threshold loose enough to absorb expm_multiply tolerance noise. + for s, p, dt in zip(err_single, err_pc, (0.01, 0.005, 0.0025)): + assert p < s / 50, ( + f"PC ({p:.3e}) not meaningfully better than single-hop ({s:.3e}) at dt={dt}" + ) + + # dt-scaling one order steeper: halving dt should drop the error ~8× + # (dt³ vs single-hop's ~4×). Require >5× per halving with safety margin. + for prev, curr in pairwise(err_pc): + assert curr < prev / 5, f"PC dt-halving ratio < 5: errors {err_pc}" + + # Smallest-dt PC error should sit at FP noise of the bilinear reference. + assert err_pc[-1] < 1e-7, f"PC at smallest dt: error = {err_pc[-1]:.3e}" diff --git a/ppvm-python/test/lindblad/test_non_hermitian_jumps.py b/ppvm-python/test/lindblad/test_non_hermitian_jumps.py new file mode 100644 index 00000000..e0170a56 --- /dev/null +++ b/ppvm-python/test/lindblad/test_non_hermitian_jumps.py @@ -0,0 +1,106 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Non-Hermitian dissipators: cross-check :meth:`Lindbladian.action` / +:meth:`Lindbladian.generator` / :meth:`Lindbladian.leakage` against the dense +2^L × 2^L Liouvillian reference. Only viable for L ≤ 3. +""" + +from __future__ import annotations + +import numpy as np + +from ppvm import Lindbladian, sigma_minus, sigma_plus + +from ._helpers import ( + SIGMA_MINUS_MAT, + SIGMA_PLUS_MAT, + all_strings, + coo_to_dense, + dense_action, + embed_op, + pauli_mat, + random_pauli_str, +) + + +def test_amplitude_damping_action(): + L = 3 + gamma = 0.5 + h_terms = [("XXI", 1.0), ("IXX", 0.7), ("ZIZ", 0.3)] + jump_terms = [(sigma_minus(i, L), gamma) for i in range(L)] + L_op = Lindbladian(L, h_terms, jump_terms) + + H = sum(c * pauli_mat(s) for s, c in h_terms) + jumps_dense = [(embed_op(SIGMA_MINUS_MAT, i, L), gamma) for i in range(L)] + + rng = np.random.default_rng(11) + strings = ["III", "ZII", "IZI", "IIZ", "XYZ", "YYZ"] + strings += [random_pauli_str(rng, L) for _ in range(10)] + + for p in strings: + got = L_op.action(p) + want = dense_action(H, jumps_dense, p, L) + for k in set(got) | set(want): + diff = abs(got.get(k, 0.0) - want.get(k, 0.0)) + assert diff < 1e-10, ( + f"sigma_minus action mismatch at p={p!r} k={k!r}: " + f"shim={got.get(k, 0.0)} ref={want.get(k, 0.0)} diff={diff}" + ) + + +def test_thermal_excitation_damping_action(): + """σ⁺ + σ⁻ jumps together (thermal bath at finite temperature).""" + L = 2 + h_terms = [("XX", 1.0), ("ZI", 0.2), ("IZ", 0.1)] + jump_terms = [(sigma_minus(i, L), 0.4) for i in range(L)] + [ + (sigma_plus(i, L), 0.1) for i in range(L) + ] + L_op = Lindbladian(L, h_terms, jump_terms) + + H = sum(c * pauli_mat(s) for s, c in h_terms) + jumps_dense = [(embed_op(SIGMA_MINUS_MAT, i, L), 0.4) for i in range(L)] + [ + (embed_op(SIGMA_PLUS_MAT, i, L), 0.1) for i in range(L) + ] + + for p in all_strings(L): + got = L_op.action(p) + want = dense_action(H, jumps_dense, p, L) + for k in set(got) | set(want): + diff = abs(got.get(k, 0.0) - want.get(k, 0.0)) + assert diff < 1e-10, ( + f"sigma_plus/sigma_minus action mismatch at p={p!r} k={k!r}: " + f"shim={got.get(k, 0.0)} ref={want.get(k, 0.0)}" + ) + + +def test_amplitude_damping_generator_and_leakage(): + L = 3 + gamma = 0.3 + h_terms = [("XXI", 0.5), ("IXX", 0.5), ("ZII", 0.2), ("IZI", 0.2), ("IIZ", 0.2)] + jump_terms = [(sigma_minus(0, L), gamma), (sigma_minus(2, L), gamma)] + L_op = Lindbladian(L, h_terms, jump_terms) + + basis = ["III", "ZII", "IZI", "IIZ", "ZZI", "IZZ"] + coeffs = np.array([0.1, 0.5, -0.3, 0.4, 0.2, -0.1]) + + H = sum(c * pauli_mat(s) for s, c in h_terms) + jumps_dense = [(embed_op(SIGMA_MINUS_MAT, i, L), gamma) for i in (0, 2)] + + M_shim = coo_to_dense(L_op.generator(basis), len(basis)) + M_ref = np.zeros((len(basis), len(basis))) + idx = {p: i for i, p in enumerate(basis)} + leak_ref: dict = {} + for col, p in enumerate(basis): + action_p = dense_action(H, jumps_dense, p, L) + for q, v in action_p.items(): + if q in idx: + M_ref[idx[q], col] += v + else: + leak_ref[q] = leak_ref.get(q, 0.0) + v * coeffs[col] + assert np.max(np.abs(M_shim - M_ref)) < 1e-10 + + leak_shim = L_op.leakage(basis, coeffs) + leak_ref = {k: v for k, v in leak_ref.items() if abs(v) > 1e-14} + for k in set(leak_shim) | set(leak_ref): + diff = abs(leak_shim.get(k, 0.0) - leak_ref.get(k, 0.0)) + assert diff < 1e-10, f"leakage mismatch at k={k!r}: diff={diff}" diff --git a/ppvm-python/test/lindblad/test_pc_step_rust.py b/ppvm-python/test/lindblad/test_pc_step_rust.py new file mode 100644 index 00000000..24ce4529 --- /dev/null +++ b/ppvm-python/test/lindblad/test_pc_step_rust.py @@ -0,0 +1,121 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +"""Pure-Rust :meth:`Lindbladian.pc_step` (Al-Mohy & Higham expm + parallel +SpMV): agrees with the numpy-eigendecomp PC reference at FP precision and +shows the same cubic dt-scaling against the bilinear reference. Plus a +sanity check that a length-1 real lincomb routes to the Hermitian fast path. +""" + +from __future__ import annotations + +from itertools import pairwise + +import numpy as np + +from ppvm import Lindbladian + +from ._helpers import ( + adaptive_z_correlator_pc, + bilinear_nn_xy_z_dephasing_obc, + nn_xy_z_dephasing_obc, + random_pauli_str, + xy_dephasing, +) + + +def _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add): + """Same as :func:`_helpers.adaptive_z_correlator_pc` but the per-step PC + work (leakage expansion, predictor expm, second-hop expansion, corrector + expm) all runs in Rust through :meth:`Lindbladian.pc_step`.""" + z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] + basis = [z_strings[site0]] + coeffs = np.array([1.0]) + protected = [z_strings[site0]] + + corr = np.zeros((n_steps + 1, L)) + corr[0, site0] = 1.0 + + for step in range(n_steps): + basis, coeffs = L_op.pc_step(basis, coeffs, dt, tau_add, protected=protected) + index = {s: i for i, s in enumerate(basis)} + for j in range(L): + if z_strings[j] in index: + corr[step + 1, j] = coeffs[index[z_strings[j]]] + return corr + + +def test_pc_step_rust_matches_python_pc(): + """The pure-Rust PC step agrees with the numpy-eigendecomp PC reference + at FP precision. + + Pins the Rust matrix exponential (Al-Mohy & Higham) against an + independent reference (numpy ``eig``) under the exact same + basis-expansion schedule.""" + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + dt = 0.01 + n_steps = 5 + tau_add = 1e-12 + + h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) + L_op = Lindbladian(L, h_terms, jump_terms) + + L_op.clear_cache() + rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) + L_op.clear_cache() + py_ref = adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) + + diff = float(np.max(np.abs(rust - py_ref))) + assert diff < 1e-10, f"Rust PC differs from numpy-eigendecomp PC by {diff:.3e}" + + +def test_pc_step_rust_dt_scaling_is_cubic(): + """End-to-end: the Rust-only PC step matches the bilinear reference with + cubic dt-scaling, confirming the Rust matrix exponential is not the + accuracy bottleneck.""" + L = 4 + J = 1.0 + gamma = 1.0 + site0 = L // 2 + T = 0.05 + tau_add = 1e-12 + + h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) + L_op = Lindbladian(L, h_terms, jump_terms) + + err = [] + for dt in (0.01, 0.005, 0.0025): + n_steps = round(T / dt) + times = np.arange(n_steps + 1) * dt + exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) + L_op.clear_cache() + rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) + err.append(float(np.max(np.abs(rust[-1] - exact[-1])))) + + # Halving dt should drop the error by ≥5× (cubic gives 8×). + for prev, curr in pairwise(err): + assert curr < prev / 5, f"Rust PC dt-halving ratio < 5: errors {err}" + assert err[-1] < 1e-7, f"Rust PC tight-dt error too large: {err[-1]:.3e}" + + +def test_lincomb_single_term_matches_hermitian_fast_path(): + """A length-1 real lincomb should route to the Hermitian fast path and + produce numerically identical results to passing the string directly.""" + L = 4 + h_terms, jump_simple = xy_dephasing(L, alpha=1.0, gamma=0.3) + L_simple = Lindbladian(L, h_terms, jump_simple) + # Same operator, expressed as a length-1 complex lincomb. + jump_lincomb = [([(s, 1.0 + 0.0j)], g) for s, g in jump_simple] + L_lincomb = Lindbladian(L, h_terms, jump_lincomb) + + rng = np.random.default_rng(99) + for _ in range(5): + p = random_pauli_str(rng, L) + got_a = L_simple.action(p) + got_b = L_lincomb.action(p) + for k in set(got_a) | set(got_b): + assert got_a.get(k, 0.0) == got_b.get(k, 0.0), ( + f"lincomb fast path mismatch at p={p!r}: {got_a} vs {got_b}" + ) diff --git a/ppvm-python/test/test_lindblad.py b/ppvm-python/test/test_lindblad.py deleted file mode 100644 index 5f2c7fe8..00000000 --- a/ppvm-python/test/test_lindblad.py +++ /dev/null @@ -1,723 +0,0 @@ -# SPDX-FileCopyrightText: 2026 The PPVM Authors -# SPDX-License-Identifier: Apache-2.0 -"""Cross-checks for the adjoint Pauli-Lindbladian shim (``ppvm.Lindbladian``). - -Each test compares the Rust shim's ``action`` / ``leakage`` / ``generator`` -against an independent, dense reference built from the single-qubit Pauli -multiplication table, on a few representative Lindbladians (XY + Z dephasing, -TFIM + X dephasing). -""" - -from __future__ import annotations - -import numpy as np -import scipy.sparse.linalg as spla - -from ppvm import Lindbladian, sigma_minus, sigma_plus - -# --- independent reference via the dense Pauli multiplication table --------- -I, X, Y, Z = range(4) # noqa: E741 (I is standard Pauli notation here) -MUL = { - (I, I): (1, I), - (I, X): (1, X), - (I, Y): (1, Y), - (I, Z): (1, Z), - (X, I): (1, X), - (X, X): (1, I), - (X, Y): (1j, Z), - (X, Z): (-1j, Y), - (Y, I): (1, Y), - (Y, X): (-1j, Z), - (Y, Y): (1, I), - (Y, Z): (1j, X), - (Z, I): (1, Z), - (Z, X): (1j, Y), - (Z, Y): (-1j, X), - (Z, Z): (1, I), -} -CODE = {I: "I", X: "X", Y: "Y", Z: "Z"} -ICODE = {"I": I, "X": X, "Y": Y, "Z": Z} - - -def _str_to_tuple(s): - return tuple(ICODE[ch] for ch in s) - - -def _tuple_to_str(t): - return "".join(CODE[ch] for ch in t) - - -def _mul_pauli(p, q): - """Return (phase, p·q) for two Pauli strings given as code tuples.""" - phase = 1 - r = list(p) - for i, (pi, qi) in enumerate(zip(p, q)): - ph, rr = MUL[(pi, qi)] - phase *= ph - r[i] = rr - return phase, tuple(r) - - -def _reference_action(p_str, h_terms, jump_terms): - """L*(p) = i[H, p] + sum_k gamma_k (L_k p L_k - p), term by term.""" - p = _str_to_tuple(p_str) - out: dict = {} - for h_str, coeff_h in h_terms: - h = _str_to_tuple(h_str) - ph_pp, pp = _mul_pauli(h, p) - ph_pq, _ = _mul_pauli(p, h) - # i[H, p] = i (Hp - pH) = i (ph_pp - ph_pq) r ; real for Hermitian H, p. - coeff = (1j * coeff_h * (ph_pp - ph_pq)).real - if coeff: - out[pp] = out.get(pp, 0.0) + coeff - for j_str, gamma in jump_terms: - j = _str_to_tuple(j_str) - ph_pp, _ = _mul_pauli(j, p) - # Hermitian Pauli L, p: Lp has imaginary phase iff they anti-commute, - # and then L p L = -p, contributing -2 gamma p. - if abs(ph_pp.imag) > 0.5: - out[p] = out.get(p, 0.0) + (-2.0 * gamma) - return {kk: v for kk, v in out.items() if v} - - -def _to_str_dict(d): - return {_tuple_to_str(kk): v for kk, v in d.items()} - - -def _xy_dephasing(L, alpha, gamma): - pairs = [ - (a, b, 1.0 / min(b - a, L - b + a) ** alpha) for a in range(L) for b in range(a + 1, L) - ] - kac = sum(j for _, _, j in pairs) / L - pairs = [(a, b, j / kac) for a, b, j in pairs] - h_terms = [] - for a, b, j in pairs: - for q in "XY": - term = ["I"] * L - term[a] = term[b] = q - h_terms.append(("".join(term), j)) - jump_terms = [] - for i in range(L): - term = ["I"] * L - term[i] = "Z" - jump_terms.append(("".join(term), gamma)) - return h_terms, jump_terms - - -def _tfim_xdeph(L, J, h, gamma): - h_terms = [] - for i in range(L - 1): - term = ["I"] * L - term[i] = term[i + 1] = "Z" - h_terms.append(("".join(term), J)) - for i in range(L): - term = ["I"] * L - term[i] = "X" - h_terms.append(("".join(term), h)) - jump_terms = [] - for i in range(L): - term = ["I"] * L - term[i] = "X" - jump_terms.append(("".join(term), gamma)) - return h_terms, jump_terms - - -def _random_pauli_str(rng, L): - chars = ["I"] * L - positions = rng.choice(L, size=int(rng.integers(1, L + 1)), replace=False) - for q in positions: - chars[q] = rng.choice(["X", "Y", "Z"]) - return "".join(chars) - - -def _assert_action_matches(L_op, h_terms, jump_terms, strings): - for p in strings: - got = L_op.action(p) - want = _to_str_dict(_reference_action(p, h_terms, jump_terms)) - for kk in set(got) | set(want): - assert abs(got.get(kk, 0.0) - want.get(kk, 0.0)) < 1e-12, ( - f"action mismatch at p={p!r} k={kk!r}: " - f"shim={got.get(kk, 0.0)} ref={want.get(kk, 0.0)}" - ) - - -def test_action_xy_dephasing(): - L = 8 - h_terms, jump_terms = _xy_dephasing(L, alpha=1.0, gamma=0.3) - L_op = Lindbladian(L, h_terms, jump_terms) - rng = np.random.default_rng(42) - strings = ["I" * L] - strings += ["I" * i + "Z" + "I" * (L - i - 1) for i in range(L)] - strings += [_random_pauli_str(rng, L) for _ in range(20)] - _assert_action_matches(L_op, h_terms, jump_terms, strings) - - -def test_action_tfim_xdephasing(): - L = 6 - h_terms, jump_terms = _tfim_xdeph(L, J=0.7, h=0.4, gamma=0.2) - L_op = Lindbladian(L, h_terms, jump_terms) - rng = np.random.default_rng(7) - strings = [_random_pauli_str(rng, L) for _ in range(30)] - _assert_action_matches(L_op, h_terms, jump_terms, strings) - - -def test_generator_leakage_and_expm(): - L = 5 - dt = 0.1 - h_terms, jump_terms = _xy_dephasing(L, alpha=1.0, gamma=0.4) - L_op = Lindbladian(L, h_terms, jump_terms) - basis = ["I" * i + "Z" + "I" * (L - i - 1) for i in range(L)] - basis += ["YIYII", "IYIYI", "ZZIII"] - coeffs = np.array([0.5, -0.3, 0.2, 0.4, -0.1, 0.6, 0.2, 0.1]) - - M_shim = L_op.generator(basis).toarray() - M_ref = np.zeros((len(basis), len(basis))) - index = {p: i for i, p in enumerate(basis)} - for col, p in enumerate(basis): - for r_tuple, v in _reference_action(p, h_terms, jump_terms).items(): - r = _tuple_to_str(r_tuple) - if r in index: - M_ref[index[r], col] += v - assert np.max(np.abs(M_shim - M_ref)) < 1e-12 - - shim_leak = L_op.leakage(basis, coeffs) - ref_leak: dict = {} - for p, cf in zip(basis, coeffs): - for r_tuple, v in _reference_action(p, h_terms, jump_terms).items(): - r = _tuple_to_str(r_tuple) - if r not in index: - ref_leak[r] = ref_leak.get(r, 0.0) + v * cf - ref_leak = {kk: v for kk, v in ref_leak.items() if v} - for kk in set(shim_leak) | set(ref_leak): - assert abs(shim_leak.get(kk, 0.0) - ref_leak.get(kk, 0.0)) < 1e-12 - - c_shim = spla.expm_multiply(dt * L_op.generator(basis), coeffs) - c_ref = spla.expm_multiply(dt * M_ref, coeffs) - assert np.allclose(c_shim, c_ref, atol=1e-13) - - -def test_protected_strings_suppressed(): - L = 4 - h_terms, jump_terms = _xy_dephasing(L, alpha=1.0, gamma=0.0) - L_op = Lindbladian(L, h_terms, jump_terms) - basis = ["ZIII"] - coeffs = np.array([1.0]) - leak = L_op.leakage(basis, coeffs) - assert leak, "expected some leakage" - protected_key = next(iter(leak)) - leak2 = L_op.leakage(basis, coeffs, protected=[protected_key]) - assert protected_key not in leak2 - - -# --- non-Hermitian dissipators: dense Liouvillian reference ----------------- -# -# The dense reference builds full 2^L × 2^L matrices for H and the jumps and -# evaluates L*(p) = i[H, p] + Σ_k γ_k (L_k† p L_k − ½ {L_k† L_k, p}) directly, -# then expands the result in the Pauli basis. Restricted to L ≤ 3 it costs -# 4^L · 8^L FLOPs (a few ms) but it makes no assumption about the shape of -# L_k, so it doubles as a correctness check for the general dissipator path -# in the Rust shim. - -_DENSE_PAULI = { - "I": np.eye(2, dtype=complex), - "X": np.array([[0, 1], [1, 0]], dtype=complex), - "Y": np.array([[0, -1j], [1j, 0]], dtype=complex), - "Z": np.array([[1, 0], [0, -1]], dtype=complex), -} - - -def _pauli_mat(s): - """Dense matrix for Pauli string ``s`` (leftmost char = leftmost factor).""" - M = np.array([[1.0]], dtype=complex) - for c in s: - M = np.kron(M, _DENSE_PAULI[c]) - return M - - -def _all_strings(L): - if L == 0: - return [""] - sub = _all_strings(L - 1) - return [c + s for c in "IXYZ" for s in sub] - - -def _dense_action(H, jumps, p_str, L): - """L*(p) computed densely, returned as a real Pauli-coefficient dict.""" - p_mat = _pauli_mat(p_str) - # np.errstate quiets spurious "divide by zero" warnings emitted by - # macOS Accelerate when complex @ contains exact zeros. - with np.errstate(divide="ignore", invalid="ignore", over="ignore"): - out_mat = 1j * (H @ p_mat - p_mat @ H) - for Lop, gamma in jumps: - Ld = Lop.conj().T - out_mat += gamma * ( - Ld @ p_mat @ Lop - 0.5 * (Ld @ Lop @ p_mat + p_mat @ Ld @ Lop) - ) - d = 2**L - out = {} - for q_str in _all_strings(L): - coef = np.trace(_pauli_mat(q_str) @ out_mat) / d - assert abs(coef.imag) < 1e-9, f"non-real coefficient for {q_str}: {coef}" - if abs(coef.real) > 1e-12: - out[q_str] = coef.real - return out - - -def _embed_op(op_1q, site, L): - """Embed a single-qubit dense operator at ``site`` of an L-qubit register.""" - eye = _DENSE_PAULI["I"] - M = np.array([[1.0]], dtype=complex) - for j in range(L): - M = np.kron(M, op_1q if j == site else eye) - return M - - -_SIGMA_MINUS = np.array([[0, 0], [1, 0]], dtype=complex) -_SIGMA_PLUS = np.array([[0, 1], [0, 0]], dtype=complex) - - -def test_amplitude_damping_action(): - L = 3 - gamma = 0.5 - h_terms = [("XXI", 1.0), ("IXX", 0.7), ("ZIZ", 0.3)] - jump_terms = [(sigma_minus(i, L), gamma) for i in range(L)] - L_op = Lindbladian(L, h_terms, jump_terms) - - H = sum(c * _pauli_mat(s) for s, c in h_terms) - jumps_dense = [(_embed_op(_SIGMA_MINUS, i, L), gamma) for i in range(L)] - - rng = np.random.default_rng(11) - strings = ["III", "ZII", "IZI", "IIZ", "XYZ", "YYZ"] - strings += [_random_pauli_str(rng, L) for _ in range(10)] - - for p in strings: - got = L_op.action(p) - want = _dense_action(H, jumps_dense, p, L) - for k in set(got) | set(want): - diff = abs(got.get(k, 0.0) - want.get(k, 0.0)) - assert diff < 1e-10, ( - f"sigma_minus action mismatch at p={p!r} k={k!r}: " - f"shim={got.get(k, 0.0)} ref={want.get(k, 0.0)} diff={diff}" - ) - - -def test_thermal_excitation_damping_action(): - """σ⁺ + σ⁻ jumps together (thermal bath at finite temperature).""" - L = 2 - h_terms = [("XX", 1.0), ("ZI", 0.2), ("IZ", 0.1)] - jump_terms = [(sigma_minus(i, L), 0.4) for i in range(L)] + [ - (sigma_plus(i, L), 0.1) for i in range(L) - ] - L_op = Lindbladian(L, h_terms, jump_terms) - - H = sum(c * _pauli_mat(s) for s, c in h_terms) - jumps_dense = [(_embed_op(_SIGMA_MINUS, i, L), 0.4) for i in range(L)] + [ - (_embed_op(_SIGMA_PLUS, i, L), 0.1) for i in range(L) - ] - - for p in _all_strings(L): - got = L_op.action(p) - want = _dense_action(H, jumps_dense, p, L) - for k in set(got) | set(want): - diff = abs(got.get(k, 0.0) - want.get(k, 0.0)) - assert diff < 1e-10, ( - f"sigma_plus/sigma_minus action mismatch at p={p!r} k={k!r}: " - f"shim={got.get(k, 0.0)} ref={want.get(k, 0.0)}" - ) - - -def test_amplitude_damping_generator_and_leakage(): - L = 3 - gamma = 0.3 - h_terms = [("XXI", 0.5), ("IXX", 0.5), ("ZII", 0.2), ("IZI", 0.2), ("IIZ", 0.2)] - jump_terms = [(sigma_minus(0, L), gamma), (sigma_minus(2, L), gamma)] - L_op = Lindbladian(L, h_terms, jump_terms) - - basis = ["III", "ZII", "IZI", "IIZ", "ZZI", "IZZ"] - coeffs = np.array([0.1, 0.5, -0.3, 0.4, 0.2, -0.1]) - - H = sum(c * _pauli_mat(s) for s, c in h_terms) - jumps_dense = [(_embed_op(_SIGMA_MINUS, i, L), gamma) for i in (0, 2)] - - M_shim = L_op.generator(basis).toarray() - M_ref = np.zeros((len(basis), len(basis))) - idx = {p: i for i, p in enumerate(basis)} - leak_ref: dict = {} - for col, p in enumerate(basis): - action_p = _dense_action(H, jumps_dense, p, L) - for q, v in action_p.items(): - if q in idx: - M_ref[idx[q], col] += v - else: - leak_ref[q] = leak_ref.get(q, 0.0) + v * coeffs[col] - assert np.max(np.abs(M_shim - M_ref)) < 1e-10 - - leak_shim = L_op.leakage(basis, coeffs) - leak_ref = {k: v for k, v in leak_ref.items() if abs(v) > 1e-14} - for k in set(leak_shim) | set(leak_ref): - diff = abs(leak_shim.get(k, 0.0) - leak_ref.get(k, 0.0)) - assert diff < 1e-10, f"leakage mismatch at k={k!r}: diff={diff}" - - -# --- convergence to closed bilinear evolution (NN XY + Z dephasing, OBC) ---- -# -# For nearest-neighbour interactions the Jordan-Wigner fermion bilinears -# B_{mn} = c_m† c_n stay closed under the adjoint Lindbladian, so the spin -# correlator C_j(t) = 2^{-L} Tr[Z_j(t) Z_i] obeys a tractable L²×L² ODE. -# We use open boundary conditions: with OBC the JW transformation maps the -# spin XY chain to a bilinear fermion hopping problem exactly, free of the -# parity-twist that makes PBC bilinears match only up to 1/L finite-size -# corrections. - - -def _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0): - """Closed bilinear evolution of C_j(t) for the NN XY + Z-dephasing model - with open boundary conditions. - - `F_{mn}(t) = 2^{-L} Tr[B_{mn}(t) Z_i]` evolves as - `∂_t F_{mn} = i·2J·(F_{m+1,n}+F_{m-1,n}-F_{m,n+1}-F_{m,n-1}) - 4γ(1-δ_{mn})F_{mn}` - on the L×L lattice; OBC means edge terms (m=0 or m=L-1, etc.) drop. - Z_j = I - 2 n_j gives C_j = -2 F_{jj}. - """ - dim = L * L - - def idx(m, n): - return m * L + n - - gen = np.zeros((dim, dim), dtype=complex) - for m in range(L): - for n in range(L): - row = idx(m, n) - if m + 1 < L: - gen[row, idx(m + 1, n)] += 1j * 2 * J - if m - 1 >= 0: - gen[row, idx(m - 1, n)] += 1j * 2 * J - if n + 1 < L: - gen[row, idx(m, n + 1)] += -1j * 2 * J - if n - 1 >= 0: - gen[row, idx(m, n - 1)] += -1j * 2 * J - if m != n: - gen[row, row] += -4 * gamma - - evals, evecs = np.linalg.eig(gen) - evecs_inv = np.linalg.inv(evecs) - f0 = np.zeros(dim, dtype=complex) - f0[idx(site0, site0)] = -0.5 - coeffs = evecs_inv @ f0 - - corr = np.empty((len(times), L)) - diag = [idx(j, j) for j in range(L)] - for nt, t in enumerate(times): - ft = evecs @ (np.exp(evals * t) * coeffs) - corr[nt] = np.real(-2 * ft[diag]) - return corr - - -def _adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add): - """Adaptive Heisenberg-picture evolution of Z_{site0} on a growing Pauli - basis. Returns the matrix `C_j(t_n) = ⟨Z_j, Z_{site0}(t_n)⟩` for every - site `j` and step `n`. Matrix exponential is exact in `dt` within the - basis; the only approximation is dropping leakage strings of magnitude - below `tau_add`.""" - z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] - basis = [z_strings[site0]] - coeffs = np.array([1.0]) - protected = [z_strings[site0]] - - corr = np.zeros((n_steps + 1, L)) - corr[0, site0] = 1.0 - - for step in range(n_steps): - leak = L_op.leakage(basis, coeffs, protected=protected) - new = [k for k, v in leak.items() if abs(v) > tau_add] - if new: - basis = basis + new - coeffs = np.concatenate([coeffs, np.zeros(len(new))]) - M = L_op.generator(basis) - coeffs = spla.expm_multiply(dt * M, coeffs) - index = {s: i for i, s in enumerate(basis)} - for j in range(L): - if z_strings[j] in index: - corr[step + 1, j] = coeffs[index[z_strings[j]]] - return corr - - -def _adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add): - """Same as :func:`_adaptive_z_correlator` but with a predictor-corrector - basis expansion at each step. - - 1. Expand basis with first-hop leakage from the current state and save - the (pre-step) coefficients. - 2. Run a predictor step via expm_multiply. - 3. Compute leakage from the predicted state — these are the second-hop - strings the predictor flowed into but did not have in basis. - 4. Add the second-hop strings, pad the saved pre-step coefficients with - zeros for them, and redo the step on the enlarged basis from the - pre-step state. - - The corrector basis covers the second-hop flow, lifting the local - truncation per step from O(dt²) to O(dt³). - """ - z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] - basis = [z_strings[site0]] - coeffs = np.array([1.0]) - protected = [z_strings[site0]] - - corr = np.zeros((n_steps + 1, L)) - corr[0, site0] = 1.0 - - for step in range(n_steps): - # Predictor basis: add first-hop leakage from current state. - leak = L_op.leakage(basis, coeffs, protected=protected) - new = [k for k, v in leak.items() if abs(v) > tau_add] - if new: - basis = basis + new - coeffs = np.concatenate([coeffs, np.zeros(len(new))]) - coeffs_pre = coeffs.copy() - # Predict. - M = L_op.generator(basis) - coeffs_predict = spla.expm_multiply(dt * M, coeffs) - # Corrector basis: second-hop strings from the predicted state. - leak2 = L_op.leakage(basis, coeffs_predict, protected=protected) - new2 = [k for k, v in leak2.items() if abs(v) > tau_add] - if new2: - basis = basis + new2 - coeffs_pre = np.concatenate([coeffs_pre, np.zeros(len(new2))]) - # Redo the step on the enlarged basis from the pre-step state. - M = L_op.generator(basis) - coeffs = spla.expm_multiply(dt * M, coeffs_pre) - index = {s: i for i, s in enumerate(basis)} - for j in range(L): - if z_strings[j] in index: - corr[step + 1, j] = coeffs[index[z_strings[j]]] - return corr - - -def test_adaptive_converges_to_nn_xy_z_dephasing_bilinear(): - """Halving dt drives the adaptive shim toward the closed bilinear solution - for the NN XY chain with Z dephasing (OBC). - - The single-hop adaptive scheme has local truncation O(dt²) per step - (first-step leakage only adds first-hop strings; second-hop strings appear - inside the matrix exponential but aren't yet in the basis), so global - error is O(T·dt). The test exercises this dt-scaling on a fixed time - window with a leakage threshold τ tight enough that truncation is well - below the integrator floor. - """ - L = 4 - J = 1.0 - gamma = 1.0 - site0 = L // 2 - T = 0.05 - tau_add = 1e-12 # tight enough that integrator (T·dt) dominates - - h_terms = [] - for i in range(L - 1): # OBC: L-1 bonds, no wraparound - a, b = i, i + 1 - xs = ["I"] * L - xs[a] = xs[b] = "X" - ys = ["I"] * L - ys[a] = ys[b] = "Y" - h_terms += [("".join(xs), J), ("".join(ys), J)] - jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] - L_op = Lindbladian(L, h_terms, jump_terms) - - errors = [] - final_corr = None - for dt in (0.01, 0.005, 0.0025): - n_steps = round(T / dt) - times = np.arange(n_steps + 1) * dt - exact = _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - L_op.clear_cache() - shim = _adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) - # Compare only the endpoint to keep the comparison decoupled from - # exactly which step counts we use. - errors.append(float(np.max(np.abs(shim[-1] - exact[-1])))) - if dt == 0.0025: - final_corr = (shim[-1], exact[-1]) - - # First-order dt-scaling: halving dt should roughly halve the error. - # Allow a factor of 2 slack on the predicted 2× drop. - assert errors[1] < 0.8 * errors[0], f"dt-halving did not help: {errors}" - assert errors[2] < 0.8 * errors[1], f"dt-halving did not help: {errors}" - - # At dt = 0.0025 the integrator floor is ~T·dt = 1.25e-4. The shim - # should sit comfortably under 1e-3 against the bilinear reference. - assert errors[-1] < 1e-3, ( - f"shim vs bilinear at smallest dt: max abs error = {errors[-1]:.3g}; " - f"shim={final_corr[0]}, exact={final_corr[1]}" - ) - - -def test_predictor_corrector_lifts_dt_scaling_to_cubic(): - """The predictor-corrector basis expansion lifts the single-hop scheme's - local O(dt²) truncation to O(dt³), so the PC error at fixed T scales as - dt² (one order steeper than the dt-scaling of single-hop). The PC error - is also strictly smaller at every dt we test. - """ - L = 4 - J = 1.0 - gamma = 1.0 - site0 = L // 2 - T = 0.05 - tau_add = 1e-12 - - h_terms = [] - for i in range(L - 1): - a, b = i, i + 1 - xs = ["I"] * L - xs[a] = xs[b] = "X" - ys = ["I"] * L - ys[a] = ys[b] = "Y" - h_terms += [("".join(xs), J), ("".join(ys), J)] - jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] - L_op = Lindbladian(L, h_terms, jump_terms) - - err_single = [] - err_pc = [] - for dt in (0.01, 0.005, 0.0025): - n_steps = round(T / dt) - times = np.arange(n_steps + 1) * dt - exact = _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - L_op.clear_cache() - single = _adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) - L_op.clear_cache() - pc = _adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) - err_single.append(float(np.max(np.abs(single[-1] - exact[-1])))) - err_pc.append(float(np.max(np.abs(pc[-1] - exact[-1])))) - - # PC is strictly more accurate than single-hop at every dt — by ~100× - # in the test regime. Leave the threshold loose enough that small - # changes in expm_multiply tolerance don't flake. - for s, p, dt in zip(err_single, err_pc, (0.01, 0.005, 0.0025)): - assert p < s / 50, ( - f"PC ({p:.3e}) not meaningfully better than single-hop ({s:.3e}) at dt={dt}" - ) - - # PC's dt-scaling is one order steeper. Halving dt should drop the error - # by ~8× (dt³ vs single-hop's ~4× = dt²). Require >5× per halving with - # some safety margin. - from itertools import pairwise - - for prev, curr in pairwise(err_pc): - assert curr < prev / 5, f"PC dt-halving ratio < 5: errors {err_pc}" - - # And the smallest-dt PC error itself should sit at FP noise of the - # bilinear reference. - assert err_pc[-1] < 1e-7, f"PC at smallest dt: error = {err_pc[-1]:.3e}" - - -def _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add): - """Same as :func:`_adaptive_z_correlator_pc` but the per-step PC work - (leakage expansion, predictor expm, second-hop expansion, corrector - expm) all runs in Rust through :meth:`Lindbladian.pc_step`.""" - z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] - basis = [z_strings[site0]] - coeffs = np.array([1.0]) - protected = [z_strings[site0]] - - corr = np.zeros((n_steps + 1, L)) - corr[0, site0] = 1.0 - - for step in range(n_steps): - basis, coeffs = L_op.pc_step(basis, coeffs, dt, tau_add, protected=protected) - index = {s: i for i, s in enumerate(basis)} - for j in range(L): - if z_strings[j] in index: - corr[step + 1, j] = coeffs[index[z_strings[j]]] - return corr - - -def test_pc_step_rust_matches_scipy_pc(): - """The pure-Rust PC step (Al-Mohy & Higham expm + parallel SpMV) agrees - with the scipy-based PC implementation at FP precision. This pins the - Rust matrix exponential against the well-tested scipy reference under - the exact same basis-expansion schedule.""" - L = 4 - J = 1.0 - gamma = 1.0 - site0 = L // 2 - dt = 0.01 - n_steps = 5 - tau_add = 1e-12 - - h_terms = [] - for i in range(L - 1): - a, b = i, i + 1 - xs = ["I"] * L - xs[a] = xs[b] = "X" - ys = ["I"] * L - ys[a] = ys[b] = "Y" - h_terms += [("".join(xs), J), ("".join(ys), J)] - jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] - L_op = Lindbladian(L, h_terms, jump_terms) - - L_op.clear_cache() - rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) - L_op.clear_cache() - scipy_pc = _adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) - - # Both schemes share the same algorithm and tolerances; agreement should - # be near FP precision of the matrix-exponential approximation. - diff = float(np.max(np.abs(rust - scipy_pc))) - assert diff < 1e-10, f"Rust PC differs from scipy PC by {diff:.3e}" - - -def test_pc_step_rust_dt_scaling_is_cubic(): - """End-to-end: the Rust-only PC step matches the bilinear reference with - the same dt³ scaling as the scipy version, confirming that the Rust - matrix exponential is not the bottleneck of accuracy.""" - L = 4 - J = 1.0 - gamma = 1.0 - site0 = L // 2 - T = 0.05 - tau_add = 1e-12 - - h_terms = [] - for i in range(L - 1): - a, b = i, i + 1 - xs = ["I"] * L - xs[a] = xs[b] = "X" - ys = ["I"] * L - ys[a] = ys[b] = "Y" - h_terms += [("".join(xs), J), ("".join(ys), J)] - jump_terms = [("I" * j + "Z" + "I" * (L - j - 1), gamma) for j in range(L)] - L_op = Lindbladian(L, h_terms, jump_terms) - - err = [] - for dt in (0.01, 0.005, 0.0025): - n_steps = round(T / dt) - times = np.arange(n_steps + 1) * dt - exact = _bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - L_op.clear_cache() - rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) - err.append(float(np.max(np.abs(rust[-1] - exact[-1])))) - - # Halving dt should drop the error by ≥5× (cubic gives 8×). - from itertools import pairwise - - for prev, curr in pairwise(err): - assert curr < prev / 5, f"Rust PC dt-halving ratio < 5: errors {err}" - assert err[-1] < 1e-7, f"Rust PC tight-dt error too large: {err[-1]:.3e}" - - -def test_lincomb_single_term_matches_hermitian_fast_path(): - """A length-1 real lincomb should be routed to the Hermitian fast path - and produce numerically identical results to passing the string directly.""" - L = 4 - h_terms, jump_simple = _xy_dephasing(L, alpha=1.0, gamma=0.3) - L_simple = Lindbladian(L, h_terms, jump_simple) - # Same operator, expressed as a length-1 complex lincomb. - jump_lincomb = [([(s, 1.0 + 0.0j)], g) for s, g in jump_simple] - L_lincomb = Lindbladian(L, h_terms, jump_lincomb) - - rng = np.random.default_rng(99) - for _ in range(5): - p = _random_pauli_str(rng, L) - got_a = L_simple.action(p) - got_b = L_lincomb.action(p) - for k in set(got_a) | set(got_b): - assert got_a.get(k, 0.0) == got_b.get(k, 0.0), ( - f"lincomb fast path mismatch at p={p!r}: {got_a} vs {got_b}" - ) diff --git a/ppvm-python/uv.lock b/ppvm-python/uv.lock index 4e16c4ba..62ec8a04 100644 --- a/ppvm-python/uv.lock +++ b/ppvm-python/uv.lock @@ -18,7 +18,7 @@ resolution-markers = [ [[package]] name = "aiobotocore" version = "3.7.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "aiohttp" }, { name = "aioitertools" }, @@ -29,24 +29,24 @@ dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, { name = "wrapt" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e7/75/42cce839c2ec263ff74b10b650fe36b066fbb124cbee6f247eac0983e1ab/aiobotocore-3.7.0.tar.gz", hash = "sha256:c64d871ed5491a6571948dd48eabd185b46c6c23b64e3afd0c059fc7593ada30", size = 127054, upload-time = "2026-05-09T10:02:52.332Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/75/42cce839c2ec263ff74b10b650fe36b066fbb124cbee6f247eac0983e1ab/aiobotocore-3.7.0.tar.gz", hash = "sha256:c64d871ed5491a6571948dd48eabd185b46c6c23b64e3afd0c059fc7593ada30" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/5f/85535dfb3cfd6442d66d1df1694062c5d6df02f895329e7e120b2a3d2b8b/aiobotocore-3.7.0-py3-none-any.whl", hash = "sha256:680bde7c64679a821a9312641b759d9497f790ba8b2e88c6959e6273ee765b8e", size = 89539, upload-time = "2026-05-09T10:02:50.389Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/5f/85535dfb3cfd6442d66d1df1694062c5d6df02f895329e7e120b2a3d2b8b/aiobotocore-3.7.0-py3-none-any.whl", hash = "sha256:680bde7c64679a821a9312641b759d9497f790ba8b2e88c6959e6273ee765b8e" }, ] [[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" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8" }, ] [[package]] name = "aiohttp" version = "3.13.5" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "aiohappyeyeballs" }, { name = "aiosignal" }, @@ -57,274 +57,274 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1", size = 7858271, upload-time = "2026-03-31T22:01:03.343Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/85/cebc47ee74d8b408749073a1a46c6fcba13d170dc8af7e61996c6c9394ac/aiohttp-3.13.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02222e7e233295f40e011c1b00e3b0bd451f22cf853a0304c3595633ee47da4b", size = 750547, upload-time = "2026-03-31T21:56:30.024Z" }, - { url = "https://files.pythonhosted.org/packages/05/98/afd308e35b9d3d8c9ec54c0918f1d722c86dc17ddfec272fcdbcce5a3124/aiohttp-3.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bace460460ed20614fa6bc8cb09966c0b8517b8c58ad8046828c6078d25333b5", size = 503535, upload-time = "2026-03-31T21:56:31.935Z" }, - { url = "https://files.pythonhosted.org/packages/6f/4d/926c183e06b09d5270a309eb50fbde7b09782bfd305dec1e800f329834fb/aiohttp-3.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f546a4dc1e6a5edbb9fd1fd6ad18134550e096a5a43f4ad74acfbd834fc6670", size = 497830, upload-time = "2026-03-31T21:56:33.654Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d6/f47d1c690f115a5c2a5e8938cce4a232a5be9aac5c5fb2647efcbbbda333/aiohttp-3.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c86969d012e51b8e415a8c6ce96f7857d6a87d6207303ab02d5d11ef0cad2274", size = 1682474, upload-time = "2026-03-31T21:56:35.513Z" }, - { url = "https://files.pythonhosted.org/packages/01/44/056fd37b1bb52eac760303e5196acc74d9d546631b035704ae5927f7b4ac/aiohttp-3.13.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b6f6cd1560c5fa427e3b6074bb24d2c64e225afbb7165008903bd42e4e33e28a", size = 1655259, upload-time = "2026-03-31T21:56:37.843Z" }, - { url = "https://files.pythonhosted.org/packages/91/9f/78eb1a20c1c28ae02f6a3c0f4d7b0dcc66abce5290cadd53d78ce3084175/aiohttp-3.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:636bc362f0c5bbc7372bc3ae49737f9e3030dbce469f0f422c8f38079780363d", size = 1736204, upload-time = "2026-03-31T21:56:39.822Z" }, - { url = "https://files.pythonhosted.org/packages/de/6c/d20d7de23f0b52b8c1d9e2033b2db1ac4dacbb470bb74c56de0f5f86bb4f/aiohttp-3.13.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a7cbeb06d1070f1d14895eeeed4dac5913b22d7b456f2eb969f11f4b3993796", size = 1826198, upload-time = "2026-03-31T21:56:41.378Z" }, - { url = "https://files.pythonhosted.org/packages/2f/86/a6f3ff1fd795f49545a7c74b2c92f62729135d73e7e4055bf74da5a26c82/aiohttp-3.13.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca9ef7517fd7874a1a08970ae88f497bf5c984610caa0bf40bd7e8450852b95", size = 1681329, upload-time = "2026-03-31T21:56:43.374Z" }, - { url = "https://files.pythonhosted.org/packages/fb/68/84cd3dab6b7b4f3e6fe9459a961acb142aaab846417f6e8905110d7027e5/aiohttp-3.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:019a67772e034a0e6b9b17c13d0a8fe56ad9fb150fc724b7f3ffd3724288d9e5", size = 1560023, upload-time = "2026-03-31T21:56:45.031Z" }, - { url = "https://files.pythonhosted.org/packages/41/2c/db61b64b0249e30f954a65ab4cb4970ced57544b1de2e3c98ee5dc24165f/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f34ecee82858e41dd217734f0c41a532bd066bcaab636ad830f03a30b2a96f2a", size = 1652372, upload-time = "2026-03-31T21:56:47.075Z" }, - { url = "https://files.pythonhosted.org/packages/25/6f/e96988a6c982d047810c772e28c43c64c300c943b0ed5c1c0c4ce1e1027c/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4eac02d9af4813ee289cd63a361576da36dba57f5a1ab36377bc2600db0cbb73", size = 1662031, upload-time = "2026-03-31T21:56:48.835Z" }, - { url = "https://files.pythonhosted.org/packages/b7/26/a56feace81f3d347b4052403a9d03754a0ab23f7940780dada0849a38c92/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4beac52e9fe46d6abf98b0176a88154b742e878fdf209d2248e99fcdf73cd297", size = 1708118, upload-time = "2026-03-31T21:56:50.833Z" }, - { url = "https://files.pythonhosted.org/packages/78/6e/b6173a8ff03d01d5e1a694bc06764b5dad1df2d4ed8f0ceec12bb3277936/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c180f480207a9b2475f2b8d8bd7204e47aec952d084b2a2be58a782ffcf96074", size = 1548667, upload-time = "2026-03-31T21:56:52.81Z" }, - { url = "https://files.pythonhosted.org/packages/16/13/13296ffe2c132d888b3fe2c195c8b9c0c24c89c3fa5cc2c44464dc23b22e/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2837fb92951564d6339cedae4a7231692aa9f73cbc4fb2e04263b96844e03b4e", size = 1724490, upload-time = "2026-03-31T21:56:54.541Z" }, - { url = "https://files.pythonhosted.org/packages/7a/b4/1f1c287f4a79782ef36e5a6e62954c85343bc30470d862d30bd5f26c9fa2/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9010032a0b9710f58012a1e9c222528763d860ba2ee1422c03473eab47703e7", size = 1667109, upload-time = "2026-03-31T21:56:56.21Z" }, - { url = "https://files.pythonhosted.org/packages/ef/42/8461a2aaf60a8f4ea4549a4056be36b904b0eb03d97ca9a8a2604681a500/aiohttp-3.13.5-cp310-cp310-win32.whl", hash = "sha256:7c4b6668b2b2b9027f209ddf647f2a4407784b5d88b8be4efcc72036f365baf9", size = 439478, upload-time = "2026-03-31T21:56:58.292Z" }, - { url = "https://files.pythonhosted.org/packages/e5/71/06956304cb5ee439dfe8d86e1b2e70088bd88ed1ced1f42fb29e5d855f0e/aiohttp-3.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:cd3db5927bf9167d5a6157ddb2f036f6b6b0ad001ac82355d43e97a4bde76d76", size = 462047, upload-time = "2026-03-31T21:57:00.257Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f5/a20c4ac64aeaef1679e25c9983573618ff765d7aa829fa2b84ae7573169e/aiohttp-3.13.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ab7229b6f9b5c1ba4910d6c41a9eb11f543eadb3f384df1b4c293f4e73d44d6", size = 757513, upload-time = "2026-03-31T21:57:02.146Z" }, - { url = "https://files.pythonhosted.org/packages/75/0a/39fa6c6b179b53fcb3e4b3d2b6d6cad0180854eda17060c7218540102bef/aiohttp-3.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f14c50708bb156b3a3ca7230b3d820199d56a48e3af76fa21c2d6087190fe3d", size = 506748, upload-time = "2026-03-31T21:57:04.275Z" }, - { url = "https://files.pythonhosted.org/packages/87/ec/e38ce072e724fd7add6243613f8d1810da084f54175353d25ccf9f9c7e5a/aiohttp-3.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d2f8616f0ff60bd332022279011776c3ac0faa0f1b463f7bb12326fbc97a1c", size = 501673, upload-time = "2026-03-31T21:57:06.208Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ba/3bc7525d7e2beaa11b309a70d48b0d3cfc3c2089ec6a7d0820d59c657053/aiohttp-3.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2567b72e1ffc3ab25510db43f355b29eeada56c0a622e58dcdb19530eb0a3cb", size = 1763757, upload-time = "2026-03-31T21:57:07.882Z" }, - { url = "https://files.pythonhosted.org/packages/5e/ab/e87744cf18f1bd78263aba24924d4953b41086bd3a31d22452378e9028a0/aiohttp-3.13.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fb0540c854ac9c0c5ad495908fdfd3e332d553ec731698c0e29b1877ba0d2ec6", size = 1720152, upload-time = "2026-03-31T21:57:09.946Z" }, - { url = "https://files.pythonhosted.org/packages/6b/f3/ed17a6f2d742af17b50bae2d152315ed1b164b07a5fd5cc1754d99e4dfa5/aiohttp-3.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9883051c6972f58bfc4ebb2116345ee2aa151178e99c3f2b2bbe2af712abd13", size = 1818010, upload-time = "2026-03-31T21:57:12.157Z" }, - { url = "https://files.pythonhosted.org/packages/53/06/ecbc63dc937192e2a5cb46df4d3edb21deb8225535818802f210a6ea5816/aiohttp-3.13.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2294172ce08a82fb7c7273485895de1fa1186cc8294cfeb6aef4af42ad261174", size = 1907251, upload-time = "2026-03-31T21:57:14.023Z" }, - { url = "https://files.pythonhosted.org/packages/7e/a5/0521aa32c1ddf3aa1e71dcc466be0b7db2771907a13f18cddaa45967d97b/aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a807cabd5115fb55af198b98178997a5e0e57dead43eb74a93d9c07d6d4a7dc", size = 1759969, upload-time = "2026-03-31T21:57:16.146Z" }, - { url = "https://files.pythonhosted.org/packages/f6/78/a38f8c9105199dd3b9706745865a8a59d0041b6be0ca0cc4b2ccf1bab374/aiohttp-3.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aa6d0d932e0f39c02b80744273cd5c388a2d9bc07760a03164f229c8e02662f6", size = 1616871, upload-time = "2026-03-31T21:57:17.856Z" }, - { url = "https://files.pythonhosted.org/packages/6f/41/27392a61ead8ab38072105c71aa44ff891e71653fe53d576a7067da2b4e8/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60869c7ac4aaabe7110f26499f3e6e5696eae98144735b12a9c3d9eae2b51a49", size = 1739844, upload-time = "2026-03-31T21:57:19.679Z" }, - { url = "https://files.pythonhosted.org/packages/6e/55/5564e7ae26d94f3214250009a0b1c65a0c6af4bf88924ccb6fdab901de28/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26d2f8546f1dfa75efa50c3488215a903c0168d253b75fba4210f57ab77a0fb8", size = 1731969, upload-time = "2026-03-31T21:57:22.006Z" }, - { url = "https://files.pythonhosted.org/packages/6d/c5/705a3929149865fc941bcbdd1047b238e4a72bcb215a9b16b9d7a2e8d992/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1162a1492032c82f14271e831c8f4b49f2b6078f4f5fc74de2c912fa225d51d", size = 1795193, upload-time = "2026-03-31T21:57:24.256Z" }, - { url = "https://files.pythonhosted.org/packages/a6/19/edabed62f718d02cff7231ca0db4ef1c72504235bc467f7b67adb1679f48/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8b14eb3262fad0dc2f89c1a43b13727e709504972186ff6a99a3ecaa77102b6c", size = 1606477, upload-time = "2026-03-31T21:57:26.364Z" }, - { url = "https://files.pythonhosted.org/packages/de/fc/76f80ef008675637d88d0b21584596dc27410a990b0918cb1e5776545b5b/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ca9ac61ac6db4eb6c2a0cd1d0f7e1357647b638ccc92f7e9d8d133e71ed3c6ac", size = 1813198, upload-time = "2026-03-31T21:57:28.316Z" }, - { url = "https://files.pythonhosted.org/packages/e5/67/5b3ac26b80adb20ea541c487f73730dc8fa107d632c998f25bbbab98fcda/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7996023b2ed59489ae4762256c8516df9820f751cf2c5da8ed2fb20ee50abab3", size = 1752321, upload-time = "2026-03-31T21:57:30.549Z" }, - { url = "https://files.pythonhosted.org/packages/88/06/e4a2e49255ea23fa4feeb5ab092d90240d927c15e47b5b5c48dff5a9ce29/aiohttp-3.13.5-cp311-cp311-win32.whl", hash = "sha256:77dfa48c9f8013271011e51c00f8ada19851f013cde2c48fca1ba5e0caf5bb06", size = 439069, upload-time = "2026-03-31T21:57:32.388Z" }, - { url = "https://files.pythonhosted.org/packages/c0/43/8c7163a596dab4f8be12c190cf467a1e07e4734cf90eebb39f7f5d53fc6a/aiohttp-3.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:d3a4834f221061624b8887090637db9ad4f61752001eae37d56c52fddade2dc8", size = 462859, upload-time = "2026-03-31T21:57:34.455Z" }, - { url = "https://files.pythonhosted.org/packages/be/6f/353954c29e7dcce7cf00280a02c75f30e133c00793c7a2ed3776d7b2f426/aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9", size = 748876, upload-time = "2026-03-31T21:57:36.319Z" }, - { url = "https://files.pythonhosted.org/packages/f5/1b/428a7c64687b3b2e9cd293186695affc0e1e54a445d0361743b231f11066/aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416", size = 499557, upload-time = "2026-03-31T21:57:38.236Z" }, - { url = "https://files.pythonhosted.org/packages/29/47/7be41556bfbb6917069d6a6634bb7dd5e163ba445b783a90d40f5ac7e3a7/aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2", size = 500258, upload-time = "2026-03-31T21:57:39.923Z" }, - { url = "https://files.pythonhosted.org/packages/67/84/c9ecc5828cb0b3695856c07c0a6817a99d51e2473400f705275a2b3d9239/aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4", size = 1749199, upload-time = "2026-03-31T21:57:41.938Z" }, - { url = "https://files.pythonhosted.org/packages/f0/d3/3c6d610e66b495657622edb6ae7c7fd31b2e9086b4ec50b47897ad6042a9/aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9", size = 1721013, upload-time = "2026-03-31T21:57:43.904Z" }, - { url = "https://files.pythonhosted.org/packages/49/a0/24409c12217456df0bae7babe3b014e460b0b38a8e60753d6cb339f6556d/aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5", size = 1781501, upload-time = "2026-03-31T21:57:46.285Z" }, - { url = "https://files.pythonhosted.org/packages/98/9d/b65ec649adc5bccc008b0957a9a9c691070aeac4e41cea18559fef49958b/aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e", size = 1878981, upload-time = "2026-03-31T21:57:48.734Z" }, - { url = "https://files.pythonhosted.org/packages/57/d8/8d44036d7eb7b6a8ec4c5494ea0c8c8b94fbc0ed3991c1a7adf230df03bf/aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1", size = 1767934, upload-time = "2026-03-31T21:57:51.171Z" }, - { url = "https://files.pythonhosted.org/packages/31/04/d3f8211f273356f158e3464e9e45484d3fb8c4ce5eb2f6fe9405c3273983/aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286", size = 1566671, upload-time = "2026-03-31T21:57:53.326Z" }, - { url = "https://files.pythonhosted.org/packages/41/db/073e4ebe00b78e2dfcacff734291651729a62953b48933d765dc513bf798/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9", size = 1705219, upload-time = "2026-03-31T21:57:55.385Z" }, - { url = "https://files.pythonhosted.org/packages/48/45/7dfba71a2f9fd97b15c95c06819de7eb38113d2cdb6319669195a7d64270/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88", size = 1743049, upload-time = "2026-03-31T21:57:57.341Z" }, - { url = "https://files.pythonhosted.org/packages/18/71/901db0061e0f717d226386a7f471bb59b19566f2cae5f0d93874b017271f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3", size = 1749557, upload-time = "2026-03-31T21:57:59.626Z" }, - { url = "https://files.pythonhosted.org/packages/08/d5/41eebd16066e59cd43728fe74bce953d7402f2b4ddfdfef2c0e9f17ca274/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b", size = 1558931, upload-time = "2026-03-31T21:58:01.972Z" }, - { url = "https://files.pythonhosted.org/packages/30/e6/4a799798bf05740e66c3a1161079bda7a3dd8e22ca392481d7a7f9af82a6/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe", size = 1774125, upload-time = "2026-03-31T21:58:04.007Z" }, - { url = "https://files.pythonhosted.org/packages/84/63/7749337c90f92bc2cb18f9560d67aa6258c7060d1397d21529b8004fcf6f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14", size = 1732427, upload-time = "2026-03-31T21:58:06.337Z" }, - { url = "https://files.pythonhosted.org/packages/98/de/cf2f44ff98d307e72fb97d5f5bbae3bfcb442f0ea9790c0bf5c5c2331404/aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3", size = 433534, upload-time = "2026-03-31T21:58:08.712Z" }, - { url = "https://files.pythonhosted.org/packages/aa/ca/eadf6f9c8fa5e31d40993e3db153fb5ed0b11008ad5d9de98a95045bed84/aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1", size = 460446, upload-time = "2026-03-31T21:58:10.945Z" }, - { url = "https://files.pythonhosted.org/packages/78/e9/d76bf503005709e390122d34e15256b88f7008e246c4bdbe915cd4f1adce/aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61", size = 742930, upload-time = "2026-03-31T21:58:13.155Z" }, - { url = "https://files.pythonhosted.org/packages/57/00/4b7b70223deaebd9bb85984d01a764b0d7bd6526fcdc73cca83bcbe7243e/aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832", size = 496927, upload-time = "2026-03-31T21:58:15.073Z" }, - { url = "https://files.pythonhosted.org/packages/9c/f5/0fb20fb49f8efdcdce6cd8127604ad2c503e754a8f139f5e02b01626523f/aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9", size = 497141, upload-time = "2026-03-31T21:58:17.009Z" }, - { url = "https://files.pythonhosted.org/packages/3b/86/b7c870053e36a94e8951b803cb5b909bfbc9b90ca941527f5fcafbf6b0fa/aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090", size = 1732476, upload-time = "2026-03-31T21:58:18.925Z" }, - { url = "https://files.pythonhosted.org/packages/b5/e5/4e161f84f98d80c03a238671b4136e6530453d65262867d989bbe78244d0/aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b", size = 1706507, upload-time = "2026-03-31T21:58:21.094Z" }, - { url = "https://files.pythonhosted.org/packages/d4/56/ea11a9f01518bd5a2a2fcee869d248c4b8a0cfa0bb13401574fa31adf4d4/aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a", size = 1773465, upload-time = "2026-03-31T21:58:23.159Z" }, - { url = "https://files.pythonhosted.org/packages/eb/40/333ca27fb74b0383f17c90570c748f7582501507307350a79d9f9f3c6eb1/aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8", size = 1873523, upload-time = "2026-03-31T21:58:25.59Z" }, - { url = "https://files.pythonhosted.org/packages/f0/d2/e2f77eef1acb7111405433c707dc735e63f67a56e176e72e9e7a2cd3f493/aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665", size = 1754113, upload-time = "2026-03-31T21:58:27.624Z" }, - { url = "https://files.pythonhosted.org/packages/fb/56/3f653d7f53c89669301ec9e42c95233e2a0c0a6dd051269e6e678db4fdb0/aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540", size = 1562351, upload-time = "2026-03-31T21:58:29.918Z" }, - { url = "https://files.pythonhosted.org/packages/ec/a6/9b3e91eb8ae791cce4ee736da02211c85c6f835f1bdfac0594a8a3b7018c/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb", size = 1693205, upload-time = "2026-03-31T21:58:32.214Z" }, - { url = "https://files.pythonhosted.org/packages/98/fc/bfb437a99a2fcebd6b6eaec609571954de2ed424f01c352f4b5504371dd3/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46", size = 1730618, upload-time = "2026-03-31T21:58:34.728Z" }, - { url = "https://files.pythonhosted.org/packages/e4/b6/c8534862126191a034f68153194c389addc285a0f1347d85096d349bbc15/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8", size = 1745185, upload-time = "2026-03-31T21:58:36.909Z" }, - { url = "https://files.pythonhosted.org/packages/0b/93/4ca8ee2ef5236e2707e0fd5fecb10ce214aee1ff4ab307af9c558bda3b37/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d", size = 1557311, upload-time = "2026-03-31T21:58:39.38Z" }, - { url = "https://files.pythonhosted.org/packages/57/ae/76177b15f18c5f5d094f19901d284025db28eccc5ae374d1d254181d33f4/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6", size = 1773147, upload-time = "2026-03-31T21:58:41.476Z" }, - { url = "https://files.pythonhosted.org/packages/01/a4/62f05a0a98d88af59d93b7fcac564e5f18f513cb7471696ac286db970d6a/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c", size = 1730356, upload-time = "2026-03-31T21:58:44.049Z" }, - { url = "https://files.pythonhosted.org/packages/e4/85/fc8601f59dfa8c9523808281f2da571f8b4699685f9809a228adcc90838d/aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc", size = 432637, upload-time = "2026-03-31T21:58:46.167Z" }, - { url = "https://files.pythonhosted.org/packages/c0/1b/ac685a8882896acf0f6b31d689e3792199cfe7aba37969fa91da63a7fa27/aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83", size = 458896, upload-time = "2026-03-31T21:58:48.119Z" }, - { url = "https://files.pythonhosted.org/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c", size = 745721, upload-time = "2026-03-31T21:58:50.229Z" }, - { url = "https://files.pythonhosted.org/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be", size = 497663, upload-time = "2026-03-31T21:58:52.232Z" }, - { url = "https://files.pythonhosted.org/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25", size = 499094, upload-time = "2026-03-31T21:58:54.566Z" }, - { url = "https://files.pythonhosted.org/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56", size = 1726701, upload-time = "2026-03-31T21:58:56.864Z" }, - { url = "https://files.pythonhosted.org/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2", size = 1683360, upload-time = "2026-03-31T21:58:59.072Z" }, - { url = "https://files.pythonhosted.org/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a", size = 1773023, upload-time = "2026-03-31T21:59:01.776Z" }, - { url = "https://files.pythonhosted.org/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be", size = 1853795, upload-time = "2026-03-31T21:59:04.568Z" }, - { url = "https://files.pythonhosted.org/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b", size = 1730405, upload-time = "2026-03-31T21:59:07.221Z" }, - { url = "https://files.pythonhosted.org/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94", size = 1558082, upload-time = "2026-03-31T21:59:09.484Z" }, - { url = "https://files.pythonhosted.org/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d", size = 1692346, upload-time = "2026-03-31T21:59:12.068Z" }, - { url = "https://files.pythonhosted.org/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7", size = 1698891, upload-time = "2026-03-31T21:59:14.552Z" }, - { url = "https://files.pythonhosted.org/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772", size = 1742113, upload-time = "2026-03-31T21:59:17.068Z" }, - { url = "https://files.pythonhosted.org/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5", size = 1553088, upload-time = "2026-03-31T21:59:19.541Z" }, - { url = "https://files.pythonhosted.org/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1", size = 1757976, upload-time = "2026-03-31T21:59:22.311Z" }, - { url = "https://files.pythonhosted.org/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b", size = 1712444, upload-time = "2026-03-31T21:59:24.635Z" }, - { url = "https://files.pythonhosted.org/packages/6c/cf/9e1795b4160c58d29421eafd1a69c6ce351e2f7c8d3c6b7e4ca44aea1a5b/aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3", size = 438128, upload-time = "2026-03-31T21:59:27.291Z" }, - { url = "https://files.pythonhosted.org/packages/22/4d/eaedff67fc805aeba4ba746aec891b4b24cebb1a7d078084b6300f79d063/aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162", size = 464029, upload-time = "2026-03-31T21:59:29.429Z" }, - { url = "https://files.pythonhosted.org/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a", size = 778758, upload-time = "2026-03-31T21:59:31.547Z" }, - { url = "https://files.pythonhosted.org/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254", size = 512883, upload-time = "2026-03-31T21:59:34.098Z" }, - { url = "https://files.pythonhosted.org/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36", size = 516668, upload-time = "2026-03-31T21:59:36.497Z" }, - { url = "https://files.pythonhosted.org/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f", size = 1883461, upload-time = "2026-03-31T21:59:38.723Z" }, - { url = "https://files.pythonhosted.org/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800", size = 1747661, upload-time = "2026-03-31T21:59:41.187Z" }, - { url = "https://files.pythonhosted.org/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf", size = 1863800, upload-time = "2026-03-31T21:59:43.84Z" }, - { url = "https://files.pythonhosted.org/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b", size = 1958382, upload-time = "2026-03-31T21:59:46.187Z" }, - { url = "https://files.pythonhosted.org/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a", size = 1803724, upload-time = "2026-03-31T21:59:48.656Z" }, - { url = "https://files.pythonhosted.org/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8", size = 1640027, upload-time = "2026-03-31T21:59:51.284Z" }, - { url = "https://files.pythonhosted.org/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be", size = 1806644, upload-time = "2026-03-31T21:59:53.753Z" }, - { url = "https://files.pythonhosted.org/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b", size = 1791630, upload-time = "2026-03-31T21:59:56.239Z" }, - { url = "https://files.pythonhosted.org/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6", size = 1809403, upload-time = "2026-03-31T21:59:59.103Z" }, - { url = "https://files.pythonhosted.org/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037", size = 1634924, upload-time = "2026-03-31T22:00:02.116Z" }, - { url = "https://files.pythonhosted.org/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500", size = 1836119, upload-time = "2026-03-31T22:00:04.756Z" }, - { url = "https://files.pythonhosted.org/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9", size = 1772072, upload-time = "2026-03-31T22:00:07.494Z" }, - { url = "https://files.pythonhosted.org/packages/7e/df/57ba7f0c4a553fc2bd8b6321df236870ec6fd64a2a473a8a13d4f733214e/aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8", size = 471819, upload-time = "2026-03-31T22:00:10.277Z" }, - { url = "https://files.pythonhosted.org/packages/62/29/2f8418269e46454a26171bfdd6a055d74febf32234e474930f2f60a17145/aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9", size = 505441, upload-time = "2026-03-31T22:00:12.791Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/85/cebc47ee74d8b408749073a1a46c6fcba13d170dc8af7e61996c6c9394ac/aiohttp-3.13.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02222e7e233295f40e011c1b00e3b0bd451f22cf853a0304c3595633ee47da4b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/98/afd308e35b9d3d8c9ec54c0918f1d722c86dc17ddfec272fcdbcce5a3124/aiohttp-3.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bace460460ed20614fa6bc8cb09966c0b8517b8c58ad8046828c6078d25333b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/4d/926c183e06b09d5270a309eb50fbde7b09782bfd305dec1e800f329834fb/aiohttp-3.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f546a4dc1e6a5edbb9fd1fd6ad18134550e096a5a43f4ad74acfbd834fc6670" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/d6/f47d1c690f115a5c2a5e8938cce4a232a5be9aac5c5fb2647efcbbbda333/aiohttp-3.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c86969d012e51b8e415a8c6ce96f7857d6a87d6207303ab02d5d11ef0cad2274" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/44/056fd37b1bb52eac760303e5196acc74d9d546631b035704ae5927f7b4ac/aiohttp-3.13.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b6f6cd1560c5fa427e3b6074bb24d2c64e225afbb7165008903bd42e4e33e28a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/9f/78eb1a20c1c28ae02f6a3c0f4d7b0dcc66abce5290cadd53d78ce3084175/aiohttp-3.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:636bc362f0c5bbc7372bc3ae49737f9e3030dbce469f0f422c8f38079780363d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/6c/d20d7de23f0b52b8c1d9e2033b2db1ac4dacbb470bb74c56de0f5f86bb4f/aiohttp-3.13.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a7cbeb06d1070f1d14895eeeed4dac5913b22d7b456f2eb969f11f4b3993796" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/86/a6f3ff1fd795f49545a7c74b2c92f62729135d73e7e4055bf74da5a26c82/aiohttp-3.13.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca9ef7517fd7874a1a08970ae88f497bf5c984610caa0bf40bd7e8450852b95" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/68/84cd3dab6b7b4f3e6fe9459a961acb142aaab846417f6e8905110d7027e5/aiohttp-3.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:019a67772e034a0e6b9b17c13d0a8fe56ad9fb150fc724b7f3ffd3724288d9e5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/2c/db61b64b0249e30f954a65ab4cb4970ced57544b1de2e3c98ee5dc24165f/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f34ecee82858e41dd217734f0c41a532bd066bcaab636ad830f03a30b2a96f2a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/6f/e96988a6c982d047810c772e28c43c64c300c943b0ed5c1c0c4ce1e1027c/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4eac02d9af4813ee289cd63a361576da36dba57f5a1ab36377bc2600db0cbb73" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/26/a56feace81f3d347b4052403a9d03754a0ab23f7940780dada0849a38c92/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4beac52e9fe46d6abf98b0176a88154b742e878fdf209d2248e99fcdf73cd297" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/6e/b6173a8ff03d01d5e1a694bc06764b5dad1df2d4ed8f0ceec12bb3277936/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c180f480207a9b2475f2b8d8bd7204e47aec952d084b2a2be58a782ffcf96074" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/13/13296ffe2c132d888b3fe2c195c8b9c0c24c89c3fa5cc2c44464dc23b22e/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2837fb92951564d6339cedae4a7231692aa9f73cbc4fb2e04263b96844e03b4e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/b4/1f1c287f4a79782ef36e5a6e62954c85343bc30470d862d30bd5f26c9fa2/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9010032a0b9710f58012a1e9c222528763d860ba2ee1422c03473eab47703e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/42/8461a2aaf60a8f4ea4549a4056be36b904b0eb03d97ca9a8a2604681a500/aiohttp-3.13.5-cp310-cp310-win32.whl", hash = "sha256:7c4b6668b2b2b9027f209ddf647f2a4407784b5d88b8be4efcc72036f365baf9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/71/06956304cb5ee439dfe8d86e1b2e70088bd88ed1ced1f42fb29e5d855f0e/aiohttp-3.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:cd3db5927bf9167d5a6157ddb2f036f6b6b0ad001ac82355d43e97a4bde76d76" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/f5/a20c4ac64aeaef1679e25c9983573618ff765d7aa829fa2b84ae7573169e/aiohttp-3.13.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ab7229b6f9b5c1ba4910d6c41a9eb11f543eadb3f384df1b4c293f4e73d44d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/0a/39fa6c6b179b53fcb3e4b3d2b6d6cad0180854eda17060c7218540102bef/aiohttp-3.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f14c50708bb156b3a3ca7230b3d820199d56a48e3af76fa21c2d6087190fe3d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/ec/e38ce072e724fd7add6243613f8d1810da084f54175353d25ccf9f9c7e5a/aiohttp-3.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d2f8616f0ff60bd332022279011776c3ac0faa0f1b463f7bb12326fbc97a1c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/ba/3bc7525d7e2beaa11b309a70d48b0d3cfc3c2089ec6a7d0820d59c657053/aiohttp-3.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2567b72e1ffc3ab25510db43f355b29eeada56c0a622e58dcdb19530eb0a3cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/ab/e87744cf18f1bd78263aba24924d4953b41086bd3a31d22452378e9028a0/aiohttp-3.13.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fb0540c854ac9c0c5ad495908fdfd3e332d553ec731698c0e29b1877ba0d2ec6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/f3/ed17a6f2d742af17b50bae2d152315ed1b164b07a5fd5cc1754d99e4dfa5/aiohttp-3.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9883051c6972f58bfc4ebb2116345ee2aa151178e99c3f2b2bbe2af712abd13" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/06/ecbc63dc937192e2a5cb46df4d3edb21deb8225535818802f210a6ea5816/aiohttp-3.13.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2294172ce08a82fb7c7273485895de1fa1186cc8294cfeb6aef4af42ad261174" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/a5/0521aa32c1ddf3aa1e71dcc466be0b7db2771907a13f18cddaa45967d97b/aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a807cabd5115fb55af198b98178997a5e0e57dead43eb74a93d9c07d6d4a7dc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/78/a38f8c9105199dd3b9706745865a8a59d0041b6be0ca0cc4b2ccf1bab374/aiohttp-3.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aa6d0d932e0f39c02b80744273cd5c388a2d9bc07760a03164f229c8e02662f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/41/27392a61ead8ab38072105c71aa44ff891e71653fe53d576a7067da2b4e8/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60869c7ac4aaabe7110f26499f3e6e5696eae98144735b12a9c3d9eae2b51a49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/55/5564e7ae26d94f3214250009a0b1c65a0c6af4bf88924ccb6fdab901de28/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26d2f8546f1dfa75efa50c3488215a903c0168d253b75fba4210f57ab77a0fb8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/c5/705a3929149865fc941bcbdd1047b238e4a72bcb215a9b16b9d7a2e8d992/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1162a1492032c82f14271e831c8f4b49f2b6078f4f5fc74de2c912fa225d51d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/19/edabed62f718d02cff7231ca0db4ef1c72504235bc467f7b67adb1679f48/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8b14eb3262fad0dc2f89c1a43b13727e709504972186ff6a99a3ecaa77102b6c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/fc/76f80ef008675637d88d0b21584596dc27410a990b0918cb1e5776545b5b/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ca9ac61ac6db4eb6c2a0cd1d0f7e1357647b638ccc92f7e9d8d133e71ed3c6ac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/67/5b3ac26b80adb20ea541c487f73730dc8fa107d632c998f25bbbab98fcda/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7996023b2ed59489ae4762256c8516df9820f751cf2c5da8ed2fb20ee50abab3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/06/e4a2e49255ea23fa4feeb5ab092d90240d927c15e47b5b5c48dff5a9ce29/aiohttp-3.13.5-cp311-cp311-win32.whl", hash = "sha256:77dfa48c9f8013271011e51c00f8ada19851f013cde2c48fca1ba5e0caf5bb06" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/43/8c7163a596dab4f8be12c190cf467a1e07e4734cf90eebb39f7f5d53fc6a/aiohttp-3.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:d3a4834f221061624b8887090637db9ad4f61752001eae37d56c52fddade2dc8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/6f/353954c29e7dcce7cf00280a02c75f30e133c00793c7a2ed3776d7b2f426/aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/1b/428a7c64687b3b2e9cd293186695affc0e1e54a445d0361743b231f11066/aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/29/47/7be41556bfbb6917069d6a6634bb7dd5e163ba445b783a90d40f5ac7e3a7/aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/84/c9ecc5828cb0b3695856c07c0a6817a99d51e2473400f705275a2b3d9239/aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/d3/3c6d610e66b495657622edb6ae7c7fd31b2e9086b4ec50b47897ad6042a9/aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/a0/24409c12217456df0bae7babe3b014e460b0b38a8e60753d6cb339f6556d/aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/9d/b65ec649adc5bccc008b0957a9a9c691070aeac4e41cea18559fef49958b/aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/d8/8d44036d7eb7b6a8ec4c5494ea0c8c8b94fbc0ed3991c1a7adf230df03bf/aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/04/d3f8211f273356f158e3464e9e45484d3fb8c4ce5eb2f6fe9405c3273983/aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/db/073e4ebe00b78e2dfcacff734291651729a62953b48933d765dc513bf798/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/45/7dfba71a2f9fd97b15c95c06819de7eb38113d2cdb6319669195a7d64270/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/71/901db0061e0f717d226386a7f471bb59b19566f2cae5f0d93874b017271f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/08/d5/41eebd16066e59cd43728fe74bce953d7402f2b4ddfdfef2c0e9f17ca274/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/e6/4a799798bf05740e66c3a1161079bda7a3dd8e22ca392481d7a7f9af82a6/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/63/7749337c90f92bc2cb18f9560d67aa6258c7060d1397d21529b8004fcf6f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/de/cf2f44ff98d307e72fb97d5f5bbae3bfcb442f0ea9790c0bf5c5c2331404/aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/ca/eadf6f9c8fa5e31d40993e3db153fb5ed0b11008ad5d9de98a95045bed84/aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/e9/d76bf503005709e390122d34e15256b88f7008e246c4bdbe915cd4f1adce/aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/00/4b7b70223deaebd9bb85984d01a764b0d7bd6526fcdc73cca83bcbe7243e/aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/f5/0fb20fb49f8efdcdce6cd8127604ad2c503e754a8f139f5e02b01626523f/aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/86/b7c870053e36a94e8951b803cb5b909bfbc9b90ca941527f5fcafbf6b0fa/aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/e5/4e161f84f98d80c03a238671b4136e6530453d65262867d989bbe78244d0/aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/56/ea11a9f01518bd5a2a2fcee869d248c4b8a0cfa0bb13401574fa31adf4d4/aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/40/333ca27fb74b0383f17c90570c748f7582501507307350a79d9f9f3c6eb1/aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/d2/e2f77eef1acb7111405433c707dc735e63f67a56e176e72e9e7a2cd3f493/aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/56/3f653d7f53c89669301ec9e42c95233e2a0c0a6dd051269e6e678db4fdb0/aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/a6/9b3e91eb8ae791cce4ee736da02211c85c6f835f1bdfac0594a8a3b7018c/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/fc/bfb437a99a2fcebd6b6eaec609571954de2ed424f01c352f4b5504371dd3/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/b6/c8534862126191a034f68153194c389addc285a0f1347d85096d349bbc15/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/93/4ca8ee2ef5236e2707e0fd5fecb10ce214aee1ff4ab307af9c558bda3b37/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/ae/76177b15f18c5f5d094f19901d284025db28eccc5ae374d1d254181d33f4/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/a4/62f05a0a98d88af59d93b7fcac564e5f18f513cb7471696ac286db970d6a/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/85/fc8601f59dfa8c9523808281f2da571f8b4699685f9809a228adcc90838d/aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/1b/ac685a8882896acf0f6b31d689e3792199cfe7aba37969fa91da63a7fa27/aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6c/cf/9e1795b4160c58d29421eafd1a69c6ce351e2f7c8d3c6b7e4ca44aea1a5b/aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/4d/eaedff67fc805aeba4ba746aec891b4b24cebb1a7d078084b6300f79d063/aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/df/57ba7f0c4a553fc2bd8b6321df236870ec6fd64a2a473a8a13d4f733214e/aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/29/2f8418269e46454a26171bfdd6a055d74febf32234e474930f2f60a17145/aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9" }, ] [[package]] name = "aioitertools" version = "0.13.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fd/3c/53c4a17a05fb9ea2313ee1777ff53f5e001aefd5cc85aa2f4c2d982e1e38/aioitertools-0.13.0.tar.gz", hash = "sha256:620bd241acc0bbb9ec819f1ab215866871b4bbd1f73836a55f799200ee86950c", size = 19322, upload-time = "2025-11-06T22:17:07.609Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/3c/53c4a17a05fb9ea2313ee1777ff53f5e001aefd5cc85aa2f4c2d982e1e38/aioitertools-0.13.0.tar.gz", hash = "sha256:620bd241acc0bbb9ec819f1ab215866871b4bbd1f73836a55f799200ee86950c" } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/a1/510b0a7fadc6f43a6ce50152e69dbd86415240835868bb0bd9b5b88b1e06/aioitertools-0.13.0-py3-none-any.whl", hash = "sha256:0be0292b856f08dfac90e31f4739432f4cb6d7520ab9eb73e143f4f2fa5259be", size = 24182, upload-time = "2025-11-06T22:17:06.502Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/a1/510b0a7fadc6f43a6ce50152e69dbd86415240835868bb0bd9b5b88b1e06/aioitertools-0.13.0-py3-none-any.whl", hash = "sha256:0be0292b856f08dfac90e31f4739432f4cb6d7520ab9eb73e143f4f2fa5259be" }, ] [[package]] name = "aiosignal" version = "1.4.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/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" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e" }, ] [[package]] name = "annotated-doc" version = "0.0.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320" }, ] [[package]] name = "annotated-types" version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" } wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53" }, ] [[package]] name = "anyio" version = "4.13.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/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/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" } wheels = [ - { url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", size = 114353, upload-time = "2026-03-24T12:59:08.246Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708" }, ] [[package]] name = "anywidget" version = "0.11.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "ipywidgets" }, { name = "psygnal" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/79/31/0491d707c674b34267f55d96d6a7148e55e7b6718a271686232cf295fbe2/anywidget-0.11.0.tar.gz", hash = "sha256:6695fbef9449cf8c27f421b96c5837aa37f909ec1f60cfa33add333e1b70b169", size = 426999, upload-time = "2026-04-27T23:42:09.576Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/31/0491d707c674b34267f55d96d6a7148e55e7b6718a271686232cf295fbe2/anywidget-0.11.0.tar.gz", hash = "sha256:6695fbef9449cf8c27f421b96c5837aa37f909ec1f60cfa33add333e1b70b169" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/c2/8fec8e8e2eb920cc2280f569144080cd58622a2eda83bfa4c0c354a63264/anywidget-0.11.0-py3-none-any.whl", hash = "sha256:c574d9acc6503ad27b37a9acea48f957a8ba7c9c9876cfcb37898931c098ce9d", size = 317341, upload-time = "2026-04-27T23:42:08.356Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/c2/8fec8e8e2eb920cc2280f569144080cd58622a2eda83bfa4c0c354a63264/anywidget-0.11.0-py3-none-any.whl", hash = "sha256:c574d9acc6503ad27b37a9acea48f957a8ba7c9c9876cfcb37898931c098ce9d" }, ] [[package]] name = "appnope" version = "0.1.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c" }, ] [[package]] name = "asttokens" version = "3.0.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7", size = 62308, upload-time = "2025-11-15T16:43:48.578Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047, upload-time = "2025-11-15T16:43:16.109Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a" }, ] [[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" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c" }, ] [[package]] name = "attrs" version = "26.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" } wheels = [ - { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" }, ] [[package]] name = "babel" version = "2.18.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35" }, ] [[package]] name = "backports-tarfile" version = "1.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991", size = 86406, upload-time = "2024-05-28T17:01:54.731Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181, upload-time = "2024-05-28T17:01:53.112Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34" }, ] [[package]] name = "backrefs" version = "6.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4e/a6/e325ec73b638d3ede4421b5445d4a0b8b219481826cc079d510100af356c/backrefs-6.2.tar.gz", hash = "sha256:f44ff4d48808b243b6c0cdc6231e22195c32f77046018141556c66f8bab72a49", size = 7012303, upload-time = "2026-02-16T19:10:15.828Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/a6/e325ec73b638d3ede4421b5445d4a0b8b219481826cc079d510100af356c/backrefs-6.2.tar.gz", hash = "sha256:f44ff4d48808b243b6c0cdc6231e22195c32f77046018141556c66f8bab72a49" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/39/3765df263e08a4df37f4f43cb5aa3c6c17a4bdd42ecfe841e04c26037171/backrefs-6.2-py310-none-any.whl", hash = "sha256:0fdc7b012420b6b144410342caeb8adc54c6866cf12064abc9bb211302e496f8", size = 381075, upload-time = "2026-02-16T19:10:04.322Z" }, - { url = "https://files.pythonhosted.org/packages/0f/f0/35240571e1b67ffb19dafb29ab34150b6f59f93f717b041082cdb1bfceb1/backrefs-6.2-py311-none-any.whl", hash = "sha256:08aa7fae530c6b2361d7bdcbda1a7c454e330cc9dbcd03f5c23205e430e5c3be", size = 392874, upload-time = "2026-02-16T19:10:06.314Z" }, - { url = "https://files.pythonhosted.org/packages/e3/63/77e8c9745b4d227cce9f5e0a6f68041278c5f9b18588b35905f5f19c1beb/backrefs-6.2-py312-none-any.whl", hash = "sha256:c3f4b9cb2af8cda0d87ab4f57800b57b95428488477be164dd2b47be54db0c90", size = 398787, upload-time = "2026-02-16T19:10:08.274Z" }, - { url = "https://files.pythonhosted.org/packages/c5/71/c754b1737ad99102e03fa3235acb6cb6d3ac9d6f596cbc3e5f236705abd8/backrefs-6.2-py313-none-any.whl", hash = "sha256:12df81596ab511f783b7d87c043ce26bc5b0288cf3bb03610fe76b8189282b2b", size = 400747, upload-time = "2026-02-16T19:10:09.791Z" }, - { url = "https://files.pythonhosted.org/packages/af/75/be12ba31a6eb20dccef2320cd8ccb3f7d9013b68ba4c70156259fee9e409/backrefs-6.2-py314-none-any.whl", hash = "sha256:e5f805ae09819caa1aa0623b4a83790e7028604aa2b8c73ba602c4454e665de7", size = 412602, upload-time = "2026-02-16T19:10:12.317Z" }, - { url = "https://files.pythonhosted.org/packages/21/f8/d02f650c47d05034dcd6f9c8cf94f39598b7a89c00ecda0ecb2911bc27e9/backrefs-6.2-py39-none-any.whl", hash = "sha256:664e33cd88c6840b7625b826ecf2555f32d491800900f5a541f772c485f7cda7", size = 381077, upload-time = "2026-02-16T19:10:13.74Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/39/3765df263e08a4df37f4f43cb5aa3c6c17a4bdd42ecfe841e04c26037171/backrefs-6.2-py310-none-any.whl", hash = "sha256:0fdc7b012420b6b144410342caeb8adc54c6866cf12064abc9bb211302e496f8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/f0/35240571e1b67ffb19dafb29ab34150b6f59f93f717b041082cdb1bfceb1/backrefs-6.2-py311-none-any.whl", hash = "sha256:08aa7fae530c6b2361d7bdcbda1a7c454e330cc9dbcd03f5c23205e430e5c3be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/63/77e8c9745b4d227cce9f5e0a6f68041278c5f9b18588b35905f5f19c1beb/backrefs-6.2-py312-none-any.whl", hash = "sha256:c3f4b9cb2af8cda0d87ab4f57800b57b95428488477be164dd2b47be54db0c90" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/71/c754b1737ad99102e03fa3235acb6cb6d3ac9d6f596cbc3e5f236705abd8/backrefs-6.2-py313-none-any.whl", hash = "sha256:12df81596ab511f783b7d87c043ce26bc5b0288cf3bb03610fe76b8189282b2b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/75/be12ba31a6eb20dccef2320cd8ccb3f7d9013b68ba4c70156259fee9e409/backrefs-6.2-py314-none-any.whl", hash = "sha256:e5f805ae09819caa1aa0623b4a83790e7028604aa2b8c73ba602c4454e665de7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/f8/d02f650c47d05034dcd6f9c8cf94f39598b7a89c00ecda0ecb2911bc27e9/backrefs-6.2-py39-none-any.whl", hash = "sha256:664e33cd88c6840b7625b826ecf2555f32d491800900f5a541f772c485f7cda7" }, ] [[package]] name = "beartype" version = "0.22.9" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c7/94/1009e248bbfbab11397abca7193bea6626806be9a327d399810d523a07cb/beartype-0.22.9.tar.gz", hash = "sha256:8f82b54aa723a2848a56008d18875f91c1db02c32ef6a62319a002e3e25a975f", size = 1608866, upload-time = "2025-12-13T06:50:30.72Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/94/1009e248bbfbab11397abca7193bea6626806be9a327d399810d523a07cb/beartype-0.22.9.tar.gz", hash = "sha256:8f82b54aa723a2848a56008d18875f91c1db02c32ef6a62319a002e3e25a975f" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/cc/18245721fa7747065ab478316c7fea7c74777d07f37ae60db2e84f8172e8/beartype-0.22.9-py3-none-any.whl", hash = "sha256:d16c9bbc61ea14637596c5f6fbff2ee99cbe3573e46a716401734ef50c3060c2", size = 1333658, upload-time = "2025-12-13T06:50:28.266Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/cc/18245721fa7747065ab478316c7fea7c74777d07f37ae60db2e84f8172e8/beartype-0.22.9-py3-none-any.whl", hash = "sha256:d16c9bbc61ea14637596c5f6fbff2ee99cbe3573e46a716401734ef50c3060c2" }, ] [[package]] name = "beautifulsoup4" version = "4.14.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86", size = 627737, upload-time = "2025-11-30T15:08:26.084Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb" }, ] [[package]] name = "beliefmatching" version = "0.2.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "ldpc" }, { name = "numpy" }, @@ -332,21 +332,21 @@ dependencies = [ { name = "sinter" }, { name = "stim" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/43/e4/5b5cc731a4507c7243a90c786390041ceb69dbe304ee17debd589049b6a0/beliefmatching-0.2.0.tar.gz", hash = "sha256:915175fc6ab4b73cfb948774ef06d71abc045a189dfb21cdf3dbd69389b111cc", size = 13472, upload-time = "2025-06-28T21:19:44.485Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/e4/5b5cc731a4507c7243a90c786390041ceb69dbe304ee17debd589049b6a0/beliefmatching-0.2.0.tar.gz", hash = "sha256:915175fc6ab4b73cfb948774ef06d71abc045a189dfb21cdf3dbd69389b111cc" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/48/49f5bc2a7ac44226d07381ac553f44966bcee1f4c17d3688d960023ac228/beliefmatching-0.2.0-py3-none-any.whl", hash = "sha256:601e5511e34acd00daad6f421a229aa60f3ff58a1c8800f416b2ffa236c7a22a", size = 12740, upload-time = "2025-06-28T21:19:43.487Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/48/49f5bc2a7ac44226d07381ac553f44966bcee1f4c17d3688d960023ac228/beliefmatching-0.2.0-py3-none-any.whl", hash = "sha256:601e5511e34acd00daad6f421a229aa60f3ff58a1c8800f416b2ffa236c7a22a" }, ] [[package]] name = "bleach" version = "6.3.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22", size = 203533, upload-time = "2025-10-27T17:57:39.211Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl", hash = "sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6", size = 164437, upload-time = "2025-10-27T17:57:37.538Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl", hash = "sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6" }, ] [package.optional-dependencies] @@ -357,7 +357,7 @@ css = [ [[package]] name = "bloqade-circuit" version = "0.14.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "bloqade-decoders" }, { name = "kirin-toolchain" }, @@ -366,18 +366,18 @@ dependencies = [ { name = "pydantic" }, { name = "pyqrack-cpu" }, { name = "rich" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/90/07/3cb60f87c45b5b3d6e70cfd4607f534b6dd7447bf84c0cf22135b76f9911/bloqade_circuit-0.14.2.tar.gz", hash = "sha256:f385069887f17b2ba3c40c5ea301baead9e93eaa56e9e7ec71dc679e8ee58d5b", size = 421248, upload-time = "2026-05-12T09:41:52.295Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/07/3cb60f87c45b5b3d6e70cfd4607f534b6dd7447bf84c0cf22135b76f9911/bloqade_circuit-0.14.2.tar.gz", hash = "sha256:f385069887f17b2ba3c40c5ea301baead9e93eaa56e9e7ec71dc679e8ee58d5b" } wheels = [ - { url = "https://files.pythonhosted.org/packages/60/f5/67ae94c50f0e502cf30b586cebd3fdb1229d7bfa119d5eef40c0c801a0cd/bloqade_circuit-0.14.2-py3-none-any.whl", hash = "sha256:ad5b0474407a3a5b768eb20240e7bfa2406e6fdbc4658beb077136dbee681286", size = 254764, upload-time = "2026-05-12T09:41:50.802Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/f5/67ae94c50f0e502cf30b586cebd3fdb1229d7bfa119d5eef40c0c801a0cd/bloqade_circuit-0.14.2-py3-none-any.whl", hash = "sha256:ad5b0474407a3a5b768eb20240e7bfa2406e6fdbc4658beb077136dbee681286" }, ] [[package]] name = "bloqade-decoders" version = "0.5.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "beliefmatching" }, { name = "kirin-toolchain" }, @@ -385,339 +385,339 @@ dependencies = [ { name = "numpy" }, { name = "stim" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/6b/4cc21123a2884486ab69f2f1fa345f7e4a224a598f5c6a2e513eac6088e7/bloqade_decoders-0.5.1.tar.gz", hash = "sha256:142aff76c98dfb698ce4a13e0c5987614f5be3f8f540439e10cd064523409a7b", size = 137940, upload-time = "2026-03-04T15:57:32.16Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/6b/4cc21123a2884486ab69f2f1fa345f7e4a224a598f5c6a2e513eac6088e7/bloqade_decoders-0.5.1.tar.gz", hash = "sha256:142aff76c98dfb698ce4a13e0c5987614f5be3f8f540439e10cd064523409a7b" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/d3/a7f60dacebc1bb03293546849569764698be197fad6b785f08c6276f96f0/bloqade_decoders-0.5.1-py3-none-any.whl", hash = "sha256:ac58437519160548fd7b8ea8895be3f7d81d1d2097d60c0f3fd5d5442d499bf3", size = 17015, upload-time = "2026-03-04T15:57:30.912Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/d3/a7f60dacebc1bb03293546849569764698be197fad6b785f08c6276f96f0/bloqade_decoders-0.5.1-py3-none-any.whl", hash = "sha256:ac58437519160548fd7b8ea8895be3f7d81d1d2097d60c0f3fd5d5442d499bf3" }, ] [[package]] name = "boto3" version = "1.43.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "botocore" }, { name = "jmespath" }, { name = "s3transfer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b7/65/47670987f2f9e181397872c7ee6415b7b95156d711b7eab6c55f66e575bc/boto3-1.43.0.tar.gz", hash = "sha256:80d44a943ef90aba7958ab31d30c155c198acc8a9581b5846b3878b2c8951086", size = 113143, upload-time = "2026-04-29T22:07:49.084Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/65/47670987f2f9e181397872c7ee6415b7b95156d711b7eab6c55f66e575bc/boto3-1.43.0.tar.gz", hash = "sha256:80d44a943ef90aba7958ab31d30c155c198acc8a9581b5846b3878b2c8951086" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/a0/3e6a0b1c1ea6bec76f71473727ef27abf3cd40e9709b3ebcbfbcfaae6f79/boto3-1.43.0-py3-none-any.whl", hash = "sha256:8ebe03754a4b73a5cb6ec2f14cca03ac33bd4760d0adea53da4724845130258b", size = 140497, upload-time = "2026-04-29T22:07:46.216Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/a0/3e6a0b1c1ea6bec76f71473727ef27abf3cd40e9709b3ebcbfbcfaae6f79/boto3-1.43.0-py3-none-any.whl", hash = "sha256:8ebe03754a4b73a5cb6ec2f14cca03ac33bd4760d0adea53da4724845130258b" }, ] [[package]] name = "botocore" version = "1.43.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/79/2f4be1896db3db7ccf44504253a175d56b6bd6b669619edc5147d1aa21ea/botocore-1.43.0.tar.gz", hash = "sha256:e933b31a2d644253e1d029d7d39e99ba41b87e29300534f189744cc438cdf928", size = 15286817, upload-time = "2026-04-29T22:07:31.723Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/79/2f4be1896db3db7ccf44504253a175d56b6bd6b669619edc5147d1aa21ea/botocore-1.43.0.tar.gz", hash = "sha256:e933b31a2d644253e1d029d7d39e99ba41b87e29300534f189744cc438cdf928" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/4b/afc1fef8a43bafb139f57f73bbd70df82807af5934321e8112ae50668827/botocore-1.43.0-py3-none-any.whl", hash = "sha256:cc5b15eaec3c6eac05d8012cb5ef17ebe891beb88a16ca13c374bfaece1241e6", size = 14970102, upload-time = "2026-04-29T22:07:27Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/4b/afc1fef8a43bafb139f57f73bbd70df82807af5934321e8112ae50668827/botocore-1.43.0-py3-none-any.whl", hash = "sha256:cc5b15eaec3c6eac05d8012cb5ef17ebe891beb88a16ca13c374bfaece1241e6" }, ] [[package]] name = "certifi" version = "2026.2.25" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa" }, ] [[package]] name = "cffi" version = "2.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "pycparser", marker = "implementation_name != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" }, - { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" }, - { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" }, - { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" }, - { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" }, - { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" }, - { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" }, - { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" }, - { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" }, - { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" }, - { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" }, - { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" }, - { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, - { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, - { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, - { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, - { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, - { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, - { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, - { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, - { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, - { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, - { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, - { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, - { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, - { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, - { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, - { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, - { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, - { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, - { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, - { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, - { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, - { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, - { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, - { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, - { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, - { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, - { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, - { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, - { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, - { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, - { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, - { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, - { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, - { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, - { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, - { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, - { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, - { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, - { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, - { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, - { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, - { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, - { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, - { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, - { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, - { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, - { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, - { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, - { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, - { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, - { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, - { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, - { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, - { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, - { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, - { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, - { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9" }, ] [[package]] name = "charset-normalizer" version = "3.4.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/08/0f303cb0b529e456bb116f2d50565a482694fbb94340bf56d44677e7ed03/charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d", size = 315182, upload-time = "2026-04-02T09:25:40.673Z" }, - { url = "https://files.pythonhosted.org/packages/24/47/b192933e94b546f1b1fe4df9cc1f84fcdbf2359f8d1081d46dd029b50207/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8", size = 209329, upload-time = "2026-04-02T09:25:42.354Z" }, - { url = "https://files.pythonhosted.org/packages/c2/b4/01fa81c5ca6141024d89a8fc15968002b71da7f825dd14113207113fabbd/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790", size = 231230, upload-time = "2026-04-02T09:25:44.281Z" }, - { url = "https://files.pythonhosted.org/packages/20/f7/7b991776844dfa058017e600e6e55ff01984a063290ca5622c0b63162f68/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc", size = 225890, upload-time = "2026-04-02T09:25:45.475Z" }, - { url = "https://files.pythonhosted.org/packages/20/e7/bed0024a0f4ab0c8a9c64d4445f39b30c99bd1acd228291959e3de664247/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393", size = 216930, upload-time = "2026-04-02T09:25:46.58Z" }, - { url = "https://files.pythonhosted.org/packages/e2/ab/b18f0ab31cdd7b3ddb8bb76c4a414aeb8160c9810fdf1bc62f269a539d87/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153", size = 202109, upload-time = "2026-04-02T09:25:48.031Z" }, - { url = "https://files.pythonhosted.org/packages/82/e5/7e9440768a06dfb3075936490cb82dbf0ee20a133bf0dd8551fa096914ec/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af", size = 214684, upload-time = "2026-04-02T09:25:49.245Z" }, - { url = "https://files.pythonhosted.org/packages/71/94/8c61d8da9f062fdf457c80acfa25060ec22bf1d34bbeaca4350f13bcfd07/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34", size = 212785, upload-time = "2026-04-02T09:25:50.671Z" }, - { url = "https://files.pythonhosted.org/packages/66/cd/6e9889c648e72c0ab2e5967528bb83508f354d706637bc7097190c874e13/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1", size = 203055, upload-time = "2026-04-02T09:25:51.802Z" }, - { url = "https://files.pythonhosted.org/packages/92/2e/7a951d6a08aefb7eb8e1b54cdfb580b1365afdd9dd484dc4bee9e5d8f258/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752", size = 232502, upload-time = "2026-04-02T09:25:53.388Z" }, - { url = "https://files.pythonhosted.org/packages/58/d5/abcf2d83bf8e0a1286df55cd0dc1d49af0da4282aa77e986df343e7de124/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53", size = 214295, upload-time = "2026-04-02T09:25:54.765Z" }, - { url = "https://files.pythonhosted.org/packages/47/3a/7d4cd7ed54be99973a0dc176032cba5cb1f258082c31fa6df35cff46acfc/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616", size = 227145, upload-time = "2026-04-02T09:25:55.904Z" }, - { url = "https://files.pythonhosted.org/packages/1d/98/3a45bf8247889cf28262ebd3d0872edff11565b2a1e3064ccb132db3fbb0/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a", size = 218884, upload-time = "2026-04-02T09:25:57.074Z" }, - { url = "https://files.pythonhosted.org/packages/ad/80/2e8b7f8915ed5c9ef13aa828d82738e33888c485b65ebf744d615040c7ea/charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374", size = 148343, upload-time = "2026-04-02T09:25:58.199Z" }, - { url = "https://files.pythonhosted.org/packages/35/1b/3b8c8c77184af465ee9ad88b5aea46ea6b2e1f7b9dc9502891e37af21e30/charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943", size = 159174, upload-time = "2026-04-02T09:25:59.322Z" }, - { url = "https://files.pythonhosted.org/packages/be/c1/feb40dca40dbb21e0a908801782d9288c64fc8d8e562c2098e9994c8c21b/charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008", size = 147805, upload-time = "2026-04-02T09:26:00.756Z" }, - { url = "https://files.pythonhosted.org/packages/c2/d7/b5b7020a0565c2e9fa8c09f4b5fa6232feb326b8c20081ccded47ea368fd/charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7", size = 309705, upload-time = "2026-04-02T09:26:02.191Z" }, - { url = "https://files.pythonhosted.org/packages/5a/53/58c29116c340e5456724ecd2fff4196d236b98f3da97b404bc5e51ac3493/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7", size = 206419, upload-time = "2026-04-02T09:26:03.583Z" }, - { url = "https://files.pythonhosted.org/packages/b2/02/e8146dc6591a37a00e5144c63f29fb7c97a734ea8a111190783c0e60ab63/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e", size = 227901, upload-time = "2026-04-02T09:26:04.738Z" }, - { url = "https://files.pythonhosted.org/packages/fb/73/77486c4cd58f1267bf17db420e930c9afa1b3be3fe8c8b8ebbebc9624359/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c", size = 222742, upload-time = "2026-04-02T09:26:06.36Z" }, - { url = "https://files.pythonhosted.org/packages/a1/fa/f74eb381a7d94ded44739e9d94de18dc5edc9c17fb8c11f0a6890696c0a9/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df", size = 214061, upload-time = "2026-04-02T09:26:08.347Z" }, - { url = "https://files.pythonhosted.org/packages/dc/92/42bd3cefcf7687253fb86694b45f37b733c97f59af3724f356fa92b8c344/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265", size = 199239, upload-time = "2026-04-02T09:26:09.823Z" }, - { url = "https://files.pythonhosted.org/packages/4c/3d/069e7184e2aa3b3cddc700e3dd267413dc259854adc3380421c805c6a17d/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4", size = 210173, upload-time = "2026-04-02T09:26:10.953Z" }, - { url = "https://files.pythonhosted.org/packages/62/51/9d56feb5f2e7074c46f93e0ebdbe61f0848ee246e2f0d89f8e20b89ebb8f/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e", size = 209841, upload-time = "2026-04-02T09:26:12.142Z" }, - { url = "https://files.pythonhosted.org/packages/d2/59/893d8f99cc4c837dda1fe2f1139079703deb9f321aabcb032355de13b6c7/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38", size = 200304, upload-time = "2026-04-02T09:26:13.711Z" }, - { url = "https://files.pythonhosted.org/packages/7d/1d/ee6f3be3464247578d1ed5c46de545ccc3d3ff933695395c402c21fa6b77/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c", size = 229455, upload-time = "2026-04-02T09:26:14.941Z" }, - { url = "https://files.pythonhosted.org/packages/54/bb/8fb0a946296ea96a488928bdce8ef99023998c48e4713af533e9bb98ef07/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b", size = 210036, upload-time = "2026-04-02T09:26:16.478Z" }, - { url = "https://files.pythonhosted.org/packages/9a/bc/015b2387f913749f82afd4fcba07846d05b6d784dd16123cb66860e0237d/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c", size = 224739, upload-time = "2026-04-02T09:26:17.751Z" }, - { url = "https://files.pythonhosted.org/packages/17/ab/63133691f56baae417493cba6b7c641571a2130eb7bceba6773367ab9ec5/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d", size = 216277, upload-time = "2026-04-02T09:26:18.981Z" }, - { url = "https://files.pythonhosted.org/packages/06/6d/3be70e827977f20db77c12a97e6a9f973631a45b8d186c084527e53e77a4/charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad", size = 147819, upload-time = "2026-04-02T09:26:20.295Z" }, - { url = "https://files.pythonhosted.org/packages/20/d9/5f67790f06b735d7c7637171bbfd89882ad67201891b7275e51116ed8207/charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00", size = 159281, upload-time = "2026-04-02T09:26:21.74Z" }, - { url = "https://files.pythonhosted.org/packages/ca/83/6413f36c5a34afead88ce6f66684d943d91f233d76dd083798f9602b75ae/charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1", size = 147843, upload-time = "2026-04-02T09:26:22.901Z" }, - { url = "https://files.pythonhosted.org/packages/0c/eb/4fc8d0a7110eb5fc9cc161723a34a8a6c200ce3b4fbf681bc86feee22308/charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46", size = 311328, upload-time = "2026-04-02T09:26:24.331Z" }, - { url = "https://files.pythonhosted.org/packages/f8/e3/0fadc706008ac9d7b9b5be6dc767c05f9d3e5df51744ce4cc9605de7b9f4/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2", size = 208061, upload-time = "2026-04-02T09:26:25.568Z" }, - { url = "https://files.pythonhosted.org/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", size = 229031, upload-time = "2026-04-02T09:26:26.865Z" }, - { url = "https://files.pythonhosted.org/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", size = 225239, upload-time = "2026-04-02T09:26:28.044Z" }, - { url = "https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", size = 216589, upload-time = "2026-04-02T09:26:29.239Z" }, - { url = "https://files.pythonhosted.org/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", size = 202733, upload-time = "2026-04-02T09:26:30.5Z" }, - { url = "https://files.pythonhosted.org/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", size = 212652, upload-time = "2026-04-02T09:26:31.709Z" }, - { url = "https://files.pythonhosted.org/packages/38/dd/5a9ab159fe45c6e72079398f277b7d2b523e7f716acc489726115a910097/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15", size = 211229, upload-time = "2026-04-02T09:26:33.282Z" }, - { url = "https://files.pythonhosted.org/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", size = 203552, upload-time = "2026-04-02T09:26:34.845Z" }, - { url = "https://files.pythonhosted.org/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", size = 230806, upload-time = "2026-04-02T09:26:36.152Z" }, - { url = "https://files.pythonhosted.org/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", size = 212316, upload-time = "2026-04-02T09:26:37.672Z" }, - { url = "https://files.pythonhosted.org/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464", size = 227274, upload-time = "2026-04-02T09:26:38.93Z" }, - { url = "https://files.pythonhosted.org/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", size = 218468, upload-time = "2026-04-02T09:26:40.17Z" }, - { url = "https://files.pythonhosted.org/packages/86/eb/890922a8b03a568ca2f336c36585a4713c55d4d67bf0f0c78924be6315ca/charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c", size = 148460, upload-time = "2026-04-02T09:26:41.416Z" }, - { url = "https://files.pythonhosted.org/packages/35/d9/0e7dffa06c5ab081f75b1b786f0aefc88365825dfcd0ac544bdb7b2b6853/charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6", size = 159330, upload-time = "2026-04-02T09:26:42.554Z" }, - { url = "https://files.pythonhosted.org/packages/9e/5d/481bcc2a7c88ea6b0878c299547843b2521ccbc40980cb406267088bc701/charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d", size = 147828, upload-time = "2026-04-02T09:26:44.075Z" }, - { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, - { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, - { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" }, - { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" }, - { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, - { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" }, - { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" }, - { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, - { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" }, - { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" }, - { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" }, - { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" }, - { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, - { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" }, - { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" }, - { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" }, - { url = "https://files.pythonhosted.org/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", size = 309234, upload-time = "2026-04-02T09:27:07.194Z" }, - { url = "https://files.pythonhosted.org/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", size = 208042, upload-time = "2026-04-02T09:27:08.749Z" }, - { url = "https://files.pythonhosted.org/packages/87/1c/ab2ce611b984d2fd5d86a5a8a19c1ae26acac6bad967da4967562c75114d/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b", size = 228706, upload-time = "2026-04-02T09:27:09.951Z" }, - { url = "https://files.pythonhosted.org/packages/a8/29/2b1d2cb00bf085f59d29eb773ce58ec2d325430f8c216804a0a5cd83cbca/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41", size = 224727, upload-time = "2026-04-02T09:27:11.175Z" }, - { url = "https://files.pythonhosted.org/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", size = 215882, upload-time = "2026-04-02T09:27:12.446Z" }, - { url = "https://files.pythonhosted.org/packages/2c/c2/356065d5a8b78ed04499cae5f339f091946a6a74f91e03476c33f0ab7100/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae", size = 200860, upload-time = "2026-04-02T09:27:13.721Z" }, - { url = "https://files.pythonhosted.org/packages/0c/cd/a32a84217ced5039f53b29f460962abb2d4420def55afabe45b1c3c7483d/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18", size = 211564, upload-time = "2026-04-02T09:27:15.272Z" }, - { url = "https://files.pythonhosted.org/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", size = 211276, upload-time = "2026-04-02T09:27:16.834Z" }, - { url = "https://files.pythonhosted.org/packages/8f/fe/d17c32dc72e17e155e06883efa84514ca375f8a528ba2546bee73fc4df81/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356", size = 201238, upload-time = "2026-04-02T09:27:18.229Z" }, - { url = "https://files.pythonhosted.org/packages/6a/29/f33daa50b06525a237451cdb6c69da366c381a3dadcd833fa5676bc468b3/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab", size = 230189, upload-time = "2026-04-02T09:27:19.445Z" }, - { url = "https://files.pythonhosted.org/packages/b6/6e/52c84015394a6a0bdcd435210a7e944c5f94ea1055f5cc5d56c5fe368e7b/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46", size = 211352, upload-time = "2026-04-02T09:27:20.79Z" }, - { url = "https://files.pythonhosted.org/packages/8c/d7/4353be581b373033fb9198bf1da3cf8f09c1082561e8e922aa7b39bf9fe8/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44", size = 227024, upload-time = "2026-04-02T09:27:22.063Z" }, - { url = "https://files.pythonhosted.org/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", size = 217869, upload-time = "2026-04-02T09:27:23.486Z" }, - { url = "https://files.pythonhosted.org/packages/5c/05/5ee478aa53f4bb7996482153d4bfe1b89e0f087f0ab6b294fcf92d595873/charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10", size = 148541, upload-time = "2026-04-02T09:27:25.146Z" }, - { url = "https://files.pythonhosted.org/packages/48/77/72dcb0921b2ce86420b2d79d454c7022bf5be40202a2a07906b9f2a35c97/charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f", size = 159634, upload-time = "2026-04-02T09:27:26.642Z" }, - { url = "https://files.pythonhosted.org/packages/c6/a3/c2369911cd72f02386e4e340770f6e158c7980267da16af8f668217abaa0/charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246", size = 148384, upload-time = "2026-04-02T09:27:28.271Z" }, - { url = "https://files.pythonhosted.org/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", size = 330133, upload-time = "2026-04-02T09:27:29.474Z" }, - { url = "https://files.pythonhosted.org/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", size = 216257, upload-time = "2026-04-02T09:27:30.793Z" }, - { url = "https://files.pythonhosted.org/packages/e5/e8/1d63bf8ef2d388e95c64b2098f45f84758f6d102a087552da1485912637b/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960", size = 234851, upload-time = "2026-04-02T09:27:32.44Z" }, - { url = "https://files.pythonhosted.org/packages/9b/40/e5ff04233e70da2681fa43969ad6f66ca5611d7e669be0246c4c7aaf6dc8/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4", size = 233393, upload-time = "2026-04-02T09:27:34.03Z" }, - { url = "https://files.pythonhosted.org/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", size = 223251, upload-time = "2026-04-02T09:27:35.369Z" }, - { url = "https://files.pythonhosted.org/packages/2b/9f/f2ff16fb050946169e3e1f82134d107e5d4ae72647ec8a1b1446c148480f/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1", size = 206609, upload-time = "2026-04-02T09:27:36.661Z" }, - { url = "https://files.pythonhosted.org/packages/69/d5/a527c0cd8d64d2eab7459784fb4169a0ac76e5a6fc5237337982fd61347e/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44", size = 220014, upload-time = "2026-04-02T09:27:38.019Z" }, - { url = "https://files.pythonhosted.org/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", size = 218979, upload-time = "2026-04-02T09:27:39.37Z" }, - { url = "https://files.pythonhosted.org/packages/02/9a/b759b503d507f375b2b5c153e4d2ee0a75aa215b7f2489cf314f4541f2c0/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3", size = 209238, upload-time = "2026-04-02T09:27:40.722Z" }, - { url = "https://files.pythonhosted.org/packages/c2/4e/0f3f5d47b86bdb79256e7290b26ac847a2832d9a4033f7eb2cd4bcf4bb5b/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0", size = 236110, upload-time = "2026-04-02T09:27:42.33Z" }, - { url = "https://files.pythonhosted.org/packages/96/23/bce28734eb3ed2c91dcf93abeb8a5cf393a7b2749725030bb630e554fdd8/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e", size = 219824, upload-time = "2026-04-02T09:27:43.924Z" }, - { url = "https://files.pythonhosted.org/packages/2c/6f/6e897c6984cc4d41af319b077f2f600fc8214eb2fe2d6bcb79141b882400/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb", size = 233103, upload-time = "2026-04-02T09:27:45.348Z" }, - { url = "https://files.pythonhosted.org/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", size = 225194, upload-time = "2026-04-02T09:27:46.706Z" }, - { url = "https://files.pythonhosted.org/packages/c5/a7/0e0ab3e0b5bc1219bd80a6a0d4d72ca74d9250cb2382b7c699c147e06017/charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0", size = 159827, upload-time = "2026-04-02T09:27:48.053Z" }, - { url = "https://files.pythonhosted.org/packages/7a/1d/29d32e0fb40864b1f878c7f5a0b343ae676c6e2b271a2d55cc3a152391da/charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c", size = 174168, upload-time = "2026-04-02T09:27:49.795Z" }, - { url = "https://files.pythonhosted.org/packages/de/32/d92444ad05c7a6e41fb2036749777c163baf7a0301a040cb672d6b2b1ae9/charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d", size = 153018, upload-time = "2026-04-02T09:27:51.116Z" }, - { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/26/08/0f303cb0b529e456bb116f2d50565a482694fbb94340bf56d44677e7ed03/charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/47/b192933e94b546f1b1fe4df9cc1f84fcdbf2359f8d1081d46dd029b50207/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/b4/01fa81c5ca6141024d89a8fc15968002b71da7f825dd14113207113fabbd/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/f7/7b991776844dfa058017e600e6e55ff01984a063290ca5622c0b63162f68/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/e7/bed0024a0f4ab0c8a9c64d4445f39b30c99bd1acd228291959e3de664247/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/ab/b18f0ab31cdd7b3ddb8bb76c4a414aeb8160c9810fdf1bc62f269a539d87/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/e5/7e9440768a06dfb3075936490cb82dbf0ee20a133bf0dd8551fa096914ec/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/94/8c61d8da9f062fdf457c80acfa25060ec22bf1d34bbeaca4350f13bcfd07/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/cd/6e9889c648e72c0ab2e5967528bb83508f354d706637bc7097190c874e13/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/2e/7a951d6a08aefb7eb8e1b54cdfb580b1365afdd9dd484dc4bee9e5d8f258/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/d5/abcf2d83bf8e0a1286df55cd0dc1d49af0da4282aa77e986df343e7de124/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/3a/7d4cd7ed54be99973a0dc176032cba5cb1f258082c31fa6df35cff46acfc/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/98/3a45bf8247889cf28262ebd3d0872edff11565b2a1e3064ccb132db3fbb0/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/80/2e8b7f8915ed5c9ef13aa828d82738e33888c485b65ebf744d615040c7ea/charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/1b/3b8c8c77184af465ee9ad88b5aea46ea6b2e1f7b9dc9502891e37af21e30/charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/c1/feb40dca40dbb21e0a908801782d9288c64fc8d8e562c2098e9994c8c21b/charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/d7/b5b7020a0565c2e9fa8c09f4b5fa6232feb326b8c20081ccded47ea368fd/charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/53/58c29116c340e5456724ecd2fff4196d236b98f3da97b404bc5e51ac3493/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/02/e8146dc6591a37a00e5144c63f29fb7c97a734ea8a111190783c0e60ab63/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/73/77486c4cd58f1267bf17db420e930c9afa1b3be3fe8c8b8ebbebc9624359/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/fa/f74eb381a7d94ded44739e9d94de18dc5edc9c17fb8c11f0a6890696c0a9/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/92/42bd3cefcf7687253fb86694b45f37b733c97f59af3724f356fa92b8c344/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/3d/069e7184e2aa3b3cddc700e3dd267413dc259854adc3380421c805c6a17d/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/51/9d56feb5f2e7074c46f93e0ebdbe61f0848ee246e2f0d89f8e20b89ebb8f/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/59/893d8f99cc4c837dda1fe2f1139079703deb9f321aabcb032355de13b6c7/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/1d/ee6f3be3464247578d1ed5c46de545ccc3d3ff933695395c402c21fa6b77/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/54/bb/8fb0a946296ea96a488928bdce8ef99023998c48e4713af533e9bb98ef07/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/bc/015b2387f913749f82afd4fcba07846d05b6d784dd16123cb66860e0237d/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/ab/63133691f56baae417493cba6b7c641571a2130eb7bceba6773367ab9ec5/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/6d/3be70e827977f20db77c12a97e6a9f973631a45b8d186c084527e53e77a4/charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/d9/5f67790f06b735d7c7637171bbfd89882ad67201891b7275e51116ed8207/charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/83/6413f36c5a34afead88ce6f66684d943d91f233d76dd083798f9602b75ae/charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/eb/4fc8d0a7110eb5fc9cc161723a34a8a6c200ce3b4fbf681bc86feee22308/charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/e3/0fadc706008ac9d7b9b5be6dc767c05f9d3e5df51744ce4cc9605de7b9f4/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/dd/5a9ab159fe45c6e72079398f277b7d2b523e7f716acc489726115a910097/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/eb/890922a8b03a568ca2f336c36585a4713c55d4d67bf0f0c78924be6315ca/charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/d9/0e7dffa06c5ab081f75b1b786f0aefc88365825dfcd0ac544bdb7b2b6853/charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/5d/481bcc2a7c88ea6b0878c299547843b2521ccbc40980cb406267088bc701/charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/1c/ab2ce611b984d2fd5d86a5a8a19c1ae26acac6bad967da4967562c75114d/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/29/2b1d2cb00bf085f59d29eb773ce58ec2d325430f8c216804a0a5cd83cbca/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/c2/356065d5a8b78ed04499cae5f339f091946a6a74f91e03476c33f0ab7100/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/cd/a32a84217ced5039f53b29f460962abb2d4420def55afabe45b1c3c7483d/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/fe/d17c32dc72e17e155e06883efa84514ca375f8a528ba2546bee73fc4df81/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/29/f33daa50b06525a237451cdb6c69da366c381a3dadcd833fa5676bc468b3/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b6/6e/52c84015394a6a0bdcd435210a7e944c5f94ea1055f5cc5d56c5fe368e7b/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/d7/4353be581b373033fb9198bf1da3cf8f09c1082561e8e922aa7b39bf9fe8/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/05/5ee478aa53f4bb7996482153d4bfe1b89e0f087f0ab6b294fcf92d595873/charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/77/72dcb0921b2ce86420b2d79d454c7022bf5be40202a2a07906b9f2a35c97/charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/a3/c2369911cd72f02386e4e340770f6e158c7980267da16af8f668217abaa0/charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/e8/1d63bf8ef2d388e95c64b2098f45f84758f6d102a087552da1485912637b/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/40/e5ff04233e70da2681fa43969ad6f66ca5611d7e669be0246c4c7aaf6dc8/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/9f/f2ff16fb050946169e3e1f82134d107e5d4ae72647ec8a1b1446c148480f/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/d5/a527c0cd8d64d2eab7459784fb4169a0ac76e5a6fc5237337982fd61347e/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/02/9a/b759b503d507f375b2b5c153e4d2ee0a75aa215b7f2489cf314f4541f2c0/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/4e/0f3f5d47b86bdb79256e7290b26ac847a2832d9a4033f7eb2cd4bcf4bb5b/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/23/bce28734eb3ed2c91dcf93abeb8a5cf393a7b2749725030bb630e554fdd8/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/6f/6e897c6984cc4d41af319b077f2f600fc8214eb2fe2d6bcb79141b882400/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/a7/0e0ab3e0b5bc1219bd80a6a0d4d72ca74d9250cb2382b7c699c147e06017/charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/1d/29d32e0fb40864b1f878c7f5a0b343ae676c6e2b271a2d55cc3a152391da/charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/32/d92444ad05c7a6e41fb2036749777c163baf7a0301a040cb672d6b2b1ae9/charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d" }, ] [[package]] name = "click" version = "8.3.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz", hash = "sha256:14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5", size = 302856, upload-time = "2026-04-03T19:14:45.118Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz", hash = "sha256:14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/20/71885d8b97d4f3dde17b1fdb92dbd4908b00541c5a3379787137285f602e/click-8.3.2-py3-none-any.whl", hash = "sha256:1924d2c27c5653561cd2cae4548d1406039cb79b858b747cfea24924bbc1616d", size = 108379, upload-time = "2026-04-03T19:14:43.505Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/20/71885d8b97d4f3dde17b1fdb92dbd4908b00541c5a3379787137285f602e/click-8.3.2-py3-none-any.whl", hash = "sha256:1924d2c27c5653561cd2cae4548d1406039cb79b858b747cfea24924bbc1616d" }, ] [[package]] name = "colorama" version = "0.4.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" }, ] [[package]] name = "comm" version = "0.2.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971" } wheels = [ - { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417" }, ] [[package]] name = "contourpy" version = "1.3.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ { name = "numpy", 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" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5" }, ] [[package]] name = "contourpy" version = "1.3.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", "python_full_version >= '3.14' and sys_platform == 'emscripten'", @@ -733,231 +733,231 @@ resolution-markers = [ dependencies = [ { name = "numpy", 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" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77" }, ] [[package]] name = "cryptography" version = "48.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/a9/db8f313fdcd85d767d4973515e1db101f9c71f95fced83233de224673757/cryptography-48.0.0.tar.gz", hash = "sha256:5c3932f4436d1cccb036cb0eaef46e6e2db91035166f1ad6505c3c9d5a635920", size = 832984, upload-time = "2026-05-04T22:59:38.133Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/df/3d/01f6dd9190170a5a241e0e98c2d04be3664a9e6f5b9b872cde63aff1c3dd/cryptography-48.0.0-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:0c558d2cdffd8f4bbb30fc7134c74d2ca9a476f830bb053074498fbc86f41ed6", size = 8001587, upload-time = "2026-05-04T22:57:36.803Z" }, - { url = "https://files.pythonhosted.org/packages/b2/6e/e90527eef33f309beb811cf7c982c3aeffcce8e3edb178baa4ca3ae4a6fa/cryptography-48.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f5333311663ea94f75dd408665686aaf426563556bb5283554a3539177e03b8c", size = 4690433, upload-time = "2026-05-04T22:57:40.373Z" }, - { url = "https://files.pythonhosted.org/packages/90/04/673510ed51ddff56575f306cf1617d80411ee76831ccd3097599140efdfe/cryptography-48.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7995ef305d7165c3f11ae07f2517e5a4f1d5c18da1376a0a9ed496336b69e5f3", size = 4710620, upload-time = "2026-05-04T22:57:42.935Z" }, - { url = "https://files.pythonhosted.org/packages/14/d5/e9c4ef932c8d800490c34d8bd589d64a31d5890e27ec9e9ad532be893294/cryptography-48.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:40ba1f85eaa6959837b1d51c9767e230e14612eea4ef110ee8854ada22da1bf5", size = 4696283, upload-time = "2026-05-04T22:57:45.294Z" }, - { url = "https://files.pythonhosted.org/packages/0c/29/174b9dfb60b12d59ecfc6cfa04bc88c21b42a54f01b8aae09bb6e51e4c7f/cryptography-48.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:369a6348999f94bbd53435c894377b20ab95f25a9065c283570e70150d8abc3c", size = 5296573, upload-time = "2026-05-04T22:57:47.933Z" }, - { url = "https://files.pythonhosted.org/packages/95/38/0d29a6fd7d0d1373f0c0c88a04ba20e359b257753ac497564cd660fc1d55/cryptography-48.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a0e692c683f4df67815a2d258b324e66f4738bd7a96a218c826dce4f4bd05d8f", size = 4743677, upload-time = "2026-05-04T22:57:50.067Z" }, - { url = "https://files.pythonhosted.org/packages/30/be/eef653013d5c63b6a490529e0316f9ac14a37602965d4903efed1399f32b/cryptography-48.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:18349bbc56f4743c8b12dc32e2bccb2cf83ee8b69a3bba74ef8ae857e26b3d25", size = 4330808, upload-time = "2026-05-04T22:57:52.301Z" }, - { url = "https://files.pythonhosted.org/packages/84/9e/500463e87abb7a0a0f9f256ec21123ecde0a7b5541a15e840ea54551fd81/cryptography-48.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e8eac43dfca5c4cccc6dad9a80504436fca53bb9bc3100a2386d730fbe6b602", size = 4695941, upload-time = "2026-05-04T22:57:54.603Z" }, - { url = "https://files.pythonhosted.org/packages/e3/dc/7303087450c2ec9e7fbb750e17c2abfbc658f23cbd0e54009509b7cc4091/cryptography-48.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:9ccdac7d40688ecb5a3b4a604b8a88c8002e3442d6c60aead1db2a89a041560c", size = 5252579, upload-time = "2026-05-04T22:57:57.207Z" }, - { url = "https://files.pythonhosted.org/packages/d0/c0/7101d3b7215edcdc90c45da544961fd8ed2d6448f77577460fa75a8443f7/cryptography-48.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:bd72e68b06bb1e96913f97dd4901119bc17f39d4586a5adf2d3e47bc2b9d58b5", size = 4743326, upload-time = "2026-05-04T22:57:59.535Z" }, - { url = "https://files.pythonhosted.org/packages/ac/d8/5b833bad13016f562ab9d063d68199a4bd121d18458e439515601d3357ec/cryptography-48.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:59baa2cb386c4f0b9905bd6eb4c2a79a69a128408fd31d32ca4d7102d4156321", size = 4826672, upload-time = "2026-05-04T22:58:01.996Z" }, - { url = "https://files.pythonhosted.org/packages/98/e1/7074eb8bf3c135558c73fc2bcf0f5633f912e6fb87e868a55c454080ef09/cryptography-48.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9249e3cd978541d665967ac2cb2787fd6a62bddf1e75b3e347a594d7dacf4f74", size = 4972574, upload-time = "2026-05-04T22:58:03.968Z" }, - { url = "https://files.pythonhosted.org/packages/04/70/e5a1b41d325f797f39427aa44ef8baf0be500065ab6d8e10369d850d4a4f/cryptography-48.0.0-cp311-abi3-win32.whl", hash = "sha256:9c459db21422be75e2809370b829a87eb37f74cd785fc4aa9ea1e5f43b47cda4", size = 3294868, upload-time = "2026-05-04T22:58:06.467Z" }, - { url = "https://files.pythonhosted.org/packages/f4/ac/8ac51b4a5fc5932eb7ee5c517ba7dc8cd834f0048962b6b352f00f41ebf9/cryptography-48.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:5b012212e08b8dd5edc78ef54da83dd9892fd9105323b3993eff6bea65dc21d7", size = 3817107, upload-time = "2026-05-04T22:58:08.845Z" }, - { url = "https://files.pythonhosted.org/packages/6b/84/70e3feea9feea87fd7cbe77efb2712ae1e3e6edf10749dc6e95f4e60e455/cryptography-48.0.0-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:3cb07a3ed6431663cd321ea8a000a1314c74211f823e4177fefa2255e057d1ec", size = 7986556, upload-time = "2026-05-04T22:58:11.172Z" }, - { url = "https://files.pythonhosted.org/packages/89/6e/18e07a618bb5442ba10cf4df16e99c071365528aa570dfcb8c02e25a303b/cryptography-48.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8c7378637d7d88016fa6791c159f698b3d3eed28ebf844ac36b9dc04a14dae18", size = 4684776, upload-time = "2026-05-04T22:58:13.712Z" }, - { url = "https://files.pythonhosted.org/packages/be/6a/4ea3b4c6c6759794d5ee2103c304a5076dc4b19ae1f9fe47dba439e159e9/cryptography-48.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc90c0b39b2e3c65ef52c804b72e3c58f8a04ab2a1871272798e5f9572c17d20", size = 4698121, upload-time = "2026-05-04T22:58:16.448Z" }, - { url = "https://files.pythonhosted.org/packages/2f/59/6ff6ad6cae03bb887da2a5860b2c9805f8dac969ef01ce563336c49bd1d1/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:76341972e1eff8b4bea859f09c0d3e64b96ce931b084f9b9b7db8ef364c30eff", size = 4690042, upload-time = "2026-05-04T22:58:18.544Z" }, - { url = "https://files.pythonhosted.org/packages/ca/b4/fc334ed8cfd705aca282fe4d8f5ae64a8e0f74932e9feecb344610cf6e4d/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:55b7718303bf06a5753dcdccf2f3945cf18ad7bffde41b61226e4db31ab89a9c", size = 5282526, upload-time = "2026-05-04T22:58:20.75Z" }, - { url = "https://files.pythonhosted.org/packages/11/08/9f8c5386cc4cd90d8255c7cdd0f5baf459a08502a09de30dc51f553d38dc/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:a64697c641c7b1b2178e573cbc31c7c6684cd56883a478d75143dbb7118036db", size = 4733116, upload-time = "2026-05-04T22:58:23.627Z" }, - { url = "https://files.pythonhosted.org/packages/b8/77/99307d7574045699f8805aa500fa0fb83422d115b5400a064ddd306d7750/cryptography-48.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:561215ea3879cb1cbbf272867e2efda62476f240fb58c64de6b393ae19246741", size = 4316030, upload-time = "2026-05-04T22:58:25.581Z" }, - { url = "https://files.pythonhosted.org/packages/fd/36/a608b98337af3cb2aff4818e406649d30572b7031918b04c87d979495348/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:ad64688338ed4bc1a6618076ba75fd7194a5f1797ac60b47afe926285adb3166", size = 4689640, upload-time = "2026-05-04T22:58:27.747Z" }, - { url = "https://files.pythonhosted.org/packages/dd/a6/825010a291b4438aecc1f568bc428189fc1175515223632477c07dc0a6df/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:906cbf0670286c6e0044156bc7d4af9cbb0ef6db9f73e52c3ec56ba6bdde5336", size = 5237657, upload-time = "2026-05-04T22:58:29.848Z" }, - { url = "https://files.pythonhosted.org/packages/b9/09/4e76a09b4caa29aad535ddc806f5d4c5d01885bd978bd984fbc6ca032cae/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:ea8990436d914540a40ab24b6a77c0969695ed52f4a4874c5137ccf7045a7057", size = 4732362, upload-time = "2026-05-04T22:58:32.009Z" }, - { url = "https://files.pythonhosted.org/packages/18/78/444fa04a77d0cb95f417dda20d450e13c56ba8e5220fc892a1658f44f882/cryptography-48.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c18684a7f0cc9a3cb60328f496b8e3372def7c5d2df39ac267878b05565aaaae", size = 4819580, upload-time = "2026-05-04T22:58:34.254Z" }, - { url = "https://files.pythonhosted.org/packages/38/85/ea67067c70a1fd4be2c63d35eeed82658023021affccc7b17705f8527dd2/cryptography-48.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9be5aafa5736574f8f15f262adc81b2a9869e2cfe9014d52a44633905b40d52c", size = 4963283, upload-time = "2026-05-04T22:58:36.376Z" }, - { url = "https://files.pythonhosted.org/packages/75/54/cc6d0f3deac3e81c7f847e8a189a12b6cdd65059b43dad25d4316abd849a/cryptography-48.0.0-cp314-cp314t-win32.whl", hash = "sha256:c17dfe85494deaeddc5ce251aebd1d60bbe6afc8b62071bb0b469431a000124f", size = 3270954, upload-time = "2026-05-04T22:58:38.791Z" }, - { url = "https://files.pythonhosted.org/packages/49/67/cc947e288c0758a4e5473d1dcb743037ab7785541265a969240b8885441a/cryptography-48.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27241b1dc9962e056062a8eef1991d02c3a24569c95975bd2322a8a52c6e5e12", size = 3797313, upload-time = "2026-05-04T22:58:40.746Z" }, - { url = "https://files.pythonhosted.org/packages/f2/63/61d4a4e1c6b6bab6ce1e213cd36a24c415d90e76d78c5eb8577c5541d2e8/cryptography-48.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:58d00498e8933e4a194f3076aee1b4a97dfec1a6da444535755822fe5d8b0b86", size = 7983482, upload-time = "2026-05-04T22:58:43.769Z" }, - { url = "https://files.pythonhosted.org/packages/d5/ac/f5b5995b87770c693e2596559ffafe195b4033a57f14a82268a2842953f3/cryptography-48.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:614d0949f4790582d2cc25553abd09dd723025f0c0e7c67376a1d77196743d6e", size = 4683266, upload-time = "2026-05-04T22:58:46.064Z" }, - { url = "https://files.pythonhosted.org/packages/ec/c6/8b14f67e18338fbc4adb76f66c001f5c3610b3e2d1837f268f47a347dbbb/cryptography-48.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ce4bfae76319a532a2dc68f82cc32f5676ee792a983187dac07183690e5c66f", size = 4696228, upload-time = "2026-05-04T22:58:48.22Z" }, - { url = "https://files.pythonhosted.org/packages/ea/73/f808fbae9514bd91b47875b003f13e284c8c6bdfd904b7944e803937eec1/cryptography-48.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:2eb992bbd4661238c5a397594c83f5b4dc2bc5b848c365c8f991b6780efcc5c7", size = 4689097, upload-time = "2026-05-04T22:58:50.9Z" }, - { url = "https://files.pythonhosted.org/packages/93/01/d86632d7d28db8ae83221995752eeb6639ffb374c2d22955648cf8d52797/cryptography-48.0.0-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:22a5cb272895dce158b2cacdfdc3debd299019659f42947dbdac6f32d68fe832", size = 5283582, upload-time = "2026-05-04T22:58:53.017Z" }, - { url = "https://files.pythonhosted.org/packages/02/e1/50edc7a50334807cc4791fc4a0ce7468b4a1416d9138eab358bfc9a3d70b/cryptography-48.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2b4d59804e8408e2fea7d1fbaf218e5ec984325221db76e6a241a9abd6cdd95c", size = 4730479, upload-time = "2026-05-04T22:58:55.611Z" }, - { url = "https://files.pythonhosted.org/packages/6f/af/99a582b1b1641ff5911ac559beb45097cf79efd4ead4657f578ef1af2d47/cryptography-48.0.0-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:984a20b0f62a26f48a3396c72e4bc34c66e356d356bf370053066b3b6d54634a", size = 4326481, upload-time = "2026-05-04T22:58:57.607Z" }, - { url = "https://files.pythonhosted.org/packages/90/ee/89aa26a06ef0a7d7611788ffd571a7c50e368cc6a4d5eef8b4884e866edb/cryptography-48.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:5a5ed8fde7a1d09376ca0b40e68cd59c69fe23b1f9768bd5824f54681626032a", size = 4688713, upload-time = "2026-05-04T22:59:00.077Z" }, - { url = "https://files.pythonhosted.org/packages/70/ba/bcb1b0bb7a33d4c7c0c4d4c7874b4a62ae4f56113a5f4baefa362dfb1f0f/cryptography-48.0.0-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:8cd666227ef7af430aa5914a9910e0ddd703e75f039cef0825cd0da71b6b711a", size = 5238165, upload-time = "2026-05-04T22:59:02.317Z" }, - { url = "https://files.pythonhosted.org/packages/c9/70/ca4003b1ce5ca3dc3186ada51908c8a9b9ff7d5cab83cc0d43ee14ec144f/cryptography-48.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9071196d81abc88b3516ac8cdfad32e2b66dd4a5393a8e68a961e9161ddc6239", size = 4729947, upload-time = "2026-05-04T22:59:05.255Z" }, - { url = "https://files.pythonhosted.org/packages/44/a0/4ec7cf774207905aef1a8d11c3750d5a1db805eb380ee4e16df317870128/cryptography-48.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1e2d54c8be6152856a36f0882ab231e70f8ec7f14e93cf87db8a2ed056bf160c", size = 4822059, upload-time = "2026-05-04T22:59:07.802Z" }, - { url = "https://files.pythonhosted.org/packages/1e/75/a2e55f99c16fcac7b5d6c1eb19ad8e00799854d6be5ca845f9259eae1681/cryptography-48.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a5da777e32ffed6f85a7b2b3f7c5cbc88c146bfcd0a1d7baf5fcc6c52ee35dd4", size = 4960575, upload-time = "2026-05-04T22:59:09.851Z" }, - { url = "https://files.pythonhosted.org/packages/b8/23/6e6f32143ab5d8b36ca848a502c4bcd477ae75b9e1677e3530d669062578/cryptography-48.0.0-cp39-abi3-win32.whl", hash = "sha256:77a2ccbbe917f6710e05ba9adaa25fb5075620bf3ea6fb751997875aff4ae4bd", size = 3279117, upload-time = "2026-05-04T22:59:12.019Z" }, - { url = "https://files.pythonhosted.org/packages/9d/9a/0fea98a70cf1749d41d738836f6349d97945f7c89433a259a6c2642eefeb/cryptography-48.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:16cd65b9330583e4619939b3a3843eec1e6e789744bb01e7c7e2e62e33c239c8", size = 3792100, upload-time = "2026-05-04T22:59:14.884Z" }, - { url = "https://files.pythonhosted.org/packages/be/d2/024b5e06be9d44cb021fb0e1a03d34d63989cf56a0fe62f3dfbab695b9b4/cryptography-48.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:84cf79f0dc8b36ac5da873481716e87aef31fcfa0444f9e1d8b4b2cece142855", size = 3950391, upload-time = "2026-05-04T22:59:17.415Z" }, - { url = "https://files.pythonhosted.org/packages/bc/17/3861e17c56fa0fd37491a14a8673fdb77c57fc5693cafe745ea8b06dba75/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:fdfef35d751d510fcef5252703621574364fec16418c4a1e5e1055248401054b", size = 4637126, upload-time = "2026-05-04T22:59:20.197Z" }, - { url = "https://files.pythonhosted.org/packages/f0/0a/7e226dbff530f21480727eb764973a7bff2b912f8e15cd4f129e71b56d1d/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:0890f502ddf7d9c6426129c3f49f5c0a39278ed7cd6322c8755ffca6ee675a13", size = 4667270, upload-time = "2026-05-04T22:59:22.647Z" }, - { url = "https://files.pythonhosted.org/packages/3b/f2/5a72274ca9f1b2a8b44a662ee0bf1b435909deb473d6f97bcd035bcdbc71/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:ecde28a596bead48b0cfd2a1b4416c3d43074c2d785e3a398d7ec1fc4d0f7fbb", size = 4636797, upload-time = "2026-05-04T22:59:24.912Z" }, - { url = "https://files.pythonhosted.org/packages/b4/e1/48cedb2fe63626e91ded1edad159e2a4fb8b6906c4425eb7749673077ce7/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:4defde8685ae324a9eb9d818717e93b4638ef67070ac9bc15b8ca85f63048355", size = 4666800, upload-time = "2026-05-04T22:59:27.474Z" }, - { url = "https://files.pythonhosted.org/packages/a2/ca/7e8365deec19afb2b2c7be7c1c0aa8f99633b54e90c570999acda93260fc/cryptography-48.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:db63bf618e5dea46c07de12e900fe1cdd2541e6dc9dbae772a70b7d4d4765f6a", size = 3739536, upload-time = "2026-05-04T22:59:29.61Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/a9/db8f313fdcd85d767d4973515e1db101f9c71f95fced83233de224673757/cryptography-48.0.0.tar.gz", hash = "sha256:5c3932f4436d1cccb036cb0eaef46e6e2db91035166f1ad6505c3c9d5a635920" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/3d/01f6dd9190170a5a241e0e98c2d04be3664a9e6f5b9b872cde63aff1c3dd/cryptography-48.0.0-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:0c558d2cdffd8f4bbb30fc7134c74d2ca9a476f830bb053074498fbc86f41ed6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/6e/e90527eef33f309beb811cf7c982c3aeffcce8e3edb178baa4ca3ae4a6fa/cryptography-48.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f5333311663ea94f75dd408665686aaf426563556bb5283554a3539177e03b8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/04/673510ed51ddff56575f306cf1617d80411ee76831ccd3097599140efdfe/cryptography-48.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7995ef305d7165c3f11ae07f2517e5a4f1d5c18da1376a0a9ed496336b69e5f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/d5/e9c4ef932c8d800490c34d8bd589d64a31d5890e27ec9e9ad532be893294/cryptography-48.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:40ba1f85eaa6959837b1d51c9767e230e14612eea4ef110ee8854ada22da1bf5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/29/174b9dfb60b12d59ecfc6cfa04bc88c21b42a54f01b8aae09bb6e51e4c7f/cryptography-48.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:369a6348999f94bbd53435c894377b20ab95f25a9065c283570e70150d8abc3c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/38/0d29a6fd7d0d1373f0c0c88a04ba20e359b257753ac497564cd660fc1d55/cryptography-48.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a0e692c683f4df67815a2d258b324e66f4738bd7a96a218c826dce4f4bd05d8f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/be/eef653013d5c63b6a490529e0316f9ac14a37602965d4903efed1399f32b/cryptography-48.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:18349bbc56f4743c8b12dc32e2bccb2cf83ee8b69a3bba74ef8ae857e26b3d25" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/9e/500463e87abb7a0a0f9f256ec21123ecde0a7b5541a15e840ea54551fd81/cryptography-48.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e8eac43dfca5c4cccc6dad9a80504436fca53bb9bc3100a2386d730fbe6b602" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/dc/7303087450c2ec9e7fbb750e17c2abfbc658f23cbd0e54009509b7cc4091/cryptography-48.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:9ccdac7d40688ecb5a3b4a604b8a88c8002e3442d6c60aead1db2a89a041560c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/c0/7101d3b7215edcdc90c45da544961fd8ed2d6448f77577460fa75a8443f7/cryptography-48.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:bd72e68b06bb1e96913f97dd4901119bc17f39d4586a5adf2d3e47bc2b9d58b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/d8/5b833bad13016f562ab9d063d68199a4bd121d18458e439515601d3357ec/cryptography-48.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:59baa2cb386c4f0b9905bd6eb4c2a79a69a128408fd31d32ca4d7102d4156321" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/e1/7074eb8bf3c135558c73fc2bcf0f5633f912e6fb87e868a55c454080ef09/cryptography-48.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9249e3cd978541d665967ac2cb2787fd6a62bddf1e75b3e347a594d7dacf4f74" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/70/e5a1b41d325f797f39427aa44ef8baf0be500065ab6d8e10369d850d4a4f/cryptography-48.0.0-cp311-abi3-win32.whl", hash = "sha256:9c459db21422be75e2809370b829a87eb37f74cd785fc4aa9ea1e5f43b47cda4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/ac/8ac51b4a5fc5932eb7ee5c517ba7dc8cd834f0048962b6b352f00f41ebf9/cryptography-48.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:5b012212e08b8dd5edc78ef54da83dd9892fd9105323b3993eff6bea65dc21d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/84/70e3feea9feea87fd7cbe77efb2712ae1e3e6edf10749dc6e95f4e60e455/cryptography-48.0.0-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:3cb07a3ed6431663cd321ea8a000a1314c74211f823e4177fefa2255e057d1ec" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/6e/18e07a618bb5442ba10cf4df16e99c071365528aa570dfcb8c02e25a303b/cryptography-48.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8c7378637d7d88016fa6791c159f698b3d3eed28ebf844ac36b9dc04a14dae18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/6a/4ea3b4c6c6759794d5ee2103c304a5076dc4b19ae1f9fe47dba439e159e9/cryptography-48.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc90c0b39b2e3c65ef52c804b72e3c58f8a04ab2a1871272798e5f9572c17d20" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/59/6ff6ad6cae03bb887da2a5860b2c9805f8dac969ef01ce563336c49bd1d1/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:76341972e1eff8b4bea859f09c0d3e64b96ce931b084f9b9b7db8ef364c30eff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/b4/fc334ed8cfd705aca282fe4d8f5ae64a8e0f74932e9feecb344610cf6e4d/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:55b7718303bf06a5753dcdccf2f3945cf18ad7bffde41b61226e4db31ab89a9c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/08/9f8c5386cc4cd90d8255c7cdd0f5baf459a08502a09de30dc51f553d38dc/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:a64697c641c7b1b2178e573cbc31c7c6684cd56883a478d75143dbb7118036db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/77/99307d7574045699f8805aa500fa0fb83422d115b5400a064ddd306d7750/cryptography-48.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:561215ea3879cb1cbbf272867e2efda62476f240fb58c64de6b393ae19246741" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/36/a608b98337af3cb2aff4818e406649d30572b7031918b04c87d979495348/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:ad64688338ed4bc1a6618076ba75fd7194a5f1797ac60b47afe926285adb3166" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/a6/825010a291b4438aecc1f568bc428189fc1175515223632477c07dc0a6df/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:906cbf0670286c6e0044156bc7d4af9cbb0ef6db9f73e52c3ec56ba6bdde5336" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/09/4e76a09b4caa29aad535ddc806f5d4c5d01885bd978bd984fbc6ca032cae/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:ea8990436d914540a40ab24b6a77c0969695ed52f4a4874c5137ccf7045a7057" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/78/444fa04a77d0cb95f417dda20d450e13c56ba8e5220fc892a1658f44f882/cryptography-48.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c18684a7f0cc9a3cb60328f496b8e3372def7c5d2df39ac267878b05565aaaae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/85/ea67067c70a1fd4be2c63d35eeed82658023021affccc7b17705f8527dd2/cryptography-48.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9be5aafa5736574f8f15f262adc81b2a9869e2cfe9014d52a44633905b40d52c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/54/cc6d0f3deac3e81c7f847e8a189a12b6cdd65059b43dad25d4316abd849a/cryptography-48.0.0-cp314-cp314t-win32.whl", hash = "sha256:c17dfe85494deaeddc5ce251aebd1d60bbe6afc8b62071bb0b469431a000124f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/67/cc947e288c0758a4e5473d1dcb743037ab7785541265a969240b8885441a/cryptography-48.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27241b1dc9962e056062a8eef1991d02c3a24569c95975bd2322a8a52c6e5e12" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/63/61d4a4e1c6b6bab6ce1e213cd36a24c415d90e76d78c5eb8577c5541d2e8/cryptography-48.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:58d00498e8933e4a194f3076aee1b4a97dfec1a6da444535755822fe5d8b0b86" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/ac/f5b5995b87770c693e2596559ffafe195b4033a57f14a82268a2842953f3/cryptography-48.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:614d0949f4790582d2cc25553abd09dd723025f0c0e7c67376a1d77196743d6e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/c6/8b14f67e18338fbc4adb76f66c001f5c3610b3e2d1837f268f47a347dbbb/cryptography-48.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ce4bfae76319a532a2dc68f82cc32f5676ee792a983187dac07183690e5c66f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/73/f808fbae9514bd91b47875b003f13e284c8c6bdfd904b7944e803937eec1/cryptography-48.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:2eb992bbd4661238c5a397594c83f5b4dc2bc5b848c365c8f991b6780efcc5c7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/01/d86632d7d28db8ae83221995752eeb6639ffb374c2d22955648cf8d52797/cryptography-48.0.0-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:22a5cb272895dce158b2cacdfdc3debd299019659f42947dbdac6f32d68fe832" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/02/e1/50edc7a50334807cc4791fc4a0ce7468b4a1416d9138eab358bfc9a3d70b/cryptography-48.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2b4d59804e8408e2fea7d1fbaf218e5ec984325221db76e6a241a9abd6cdd95c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/af/99a582b1b1641ff5911ac559beb45097cf79efd4ead4657f578ef1af2d47/cryptography-48.0.0-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:984a20b0f62a26f48a3396c72e4bc34c66e356d356bf370053066b3b6d54634a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/ee/89aa26a06ef0a7d7611788ffd571a7c50e368cc6a4d5eef8b4884e866edb/cryptography-48.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:5a5ed8fde7a1d09376ca0b40e68cd59c69fe23b1f9768bd5824f54681626032a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/ba/bcb1b0bb7a33d4c7c0c4d4c7874b4a62ae4f56113a5f4baefa362dfb1f0f/cryptography-48.0.0-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:8cd666227ef7af430aa5914a9910e0ddd703e75f039cef0825cd0da71b6b711a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/70/ca4003b1ce5ca3dc3186ada51908c8a9b9ff7d5cab83cc0d43ee14ec144f/cryptography-48.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9071196d81abc88b3516ac8cdfad32e2b66dd4a5393a8e68a961e9161ddc6239" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/a0/4ec7cf774207905aef1a8d11c3750d5a1db805eb380ee4e16df317870128/cryptography-48.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1e2d54c8be6152856a36f0882ab231e70f8ec7f14e93cf87db8a2ed056bf160c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/75/a2e55f99c16fcac7b5d6c1eb19ad8e00799854d6be5ca845f9259eae1681/cryptography-48.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a5da777e32ffed6f85a7b2b3f7c5cbc88c146bfcd0a1d7baf5fcc6c52ee35dd4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/23/6e6f32143ab5d8b36ca848a502c4bcd477ae75b9e1677e3530d669062578/cryptography-48.0.0-cp39-abi3-win32.whl", hash = "sha256:77a2ccbbe917f6710e05ba9adaa25fb5075620bf3ea6fb751997875aff4ae4bd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/9a/0fea98a70cf1749d41d738836f6349d97945f7c89433a259a6c2642eefeb/cryptography-48.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:16cd65b9330583e4619939b3a3843eec1e6e789744bb01e7c7e2e62e33c239c8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/d2/024b5e06be9d44cb021fb0e1a03d34d63989cf56a0fe62f3dfbab695b9b4/cryptography-48.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:84cf79f0dc8b36ac5da873481716e87aef31fcfa0444f9e1d8b4b2cece142855" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/17/3861e17c56fa0fd37491a14a8673fdb77c57fc5693cafe745ea8b06dba75/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:fdfef35d751d510fcef5252703621574364fec16418c4a1e5e1055248401054b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/0a/7e226dbff530f21480727eb764973a7bff2b912f8e15cd4f129e71b56d1d/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:0890f502ddf7d9c6426129c3f49f5c0a39278ed7cd6322c8755ffca6ee675a13" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/f2/5a72274ca9f1b2a8b44a662ee0bf1b435909deb473d6f97bcd035bcdbc71/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:ecde28a596bead48b0cfd2a1b4416c3d43074c2d785e3a398d7ec1fc4d0f7fbb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/e1/48cedb2fe63626e91ded1edad159e2a4fb8b6906c4425eb7749673077ce7/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:4defde8685ae324a9eb9d818717e93b4638ef67070ac9bc15b8ca85f63048355" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/ca/7e8365deec19afb2b2c7be7c1c0aa8f99633b54e90c570999acda93260fc/cryptography-48.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:db63bf618e5dea46c07de12e900fe1cdd2541e6dc9dbae772a70b7d4d4765f6a" }, ] [[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" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30" }, ] [[package]] name = "debugpy" version = "1.8.20" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e0/b7/cd8080344452e4874aae67c40d8940e2b4d47b01601a8fd9f44786c757c7/debugpy-1.8.20.tar.gz", hash = "sha256:55bc8701714969f1ab89a6d5f2f3d40c36f91b2cbe2f65d98bf8196f6a6a2c33", size = 1645207, upload-time = "2026-01-29T23:03:28.199Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/71/be/8bd693a0b9d53d48c8978fa5d889e06f3b5b03e45fd1ea1e78267b4887cb/debugpy-1.8.20-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:157e96ffb7f80b3ad36d808646198c90acb46fdcfd8bb1999838f0b6f2b59c64", size = 2099192, upload-time = "2026-01-29T23:03:29.707Z" }, - { url = "https://files.pythonhosted.org/packages/77/1b/85326d07432086a06361d493d2743edd0c4fc2ef62162be7f8618441ac37/debugpy-1.8.20-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:c1178ae571aff42e61801a38b007af504ec8e05fde1c5c12e5a7efef21009642", size = 3088568, upload-time = "2026-01-29T23:03:31.467Z" }, - { url = "https://files.pythonhosted.org/packages/e8/60/3e08462ee3eccd10998853eb35947c416e446bfe2bc37dbb886b9044586c/debugpy-1.8.20-cp310-cp310-win32.whl", hash = "sha256:c29dd9d656c0fbd77906a6e6a82ae4881514aa3294b94c903ff99303e789b4a2", size = 5284399, upload-time = "2026-01-29T23:03:33.678Z" }, - { url = "https://files.pythonhosted.org/packages/72/43/09d49106e770fe558ced5e80df2e3c2ebee10e576eda155dcc5670473663/debugpy-1.8.20-cp310-cp310-win_amd64.whl", hash = "sha256:3ca85463f63b5dd0aa7aaa933d97cbc47c174896dcae8431695872969f981893", size = 5316388, upload-time = "2026-01-29T23:03:35.095Z" }, - { url = "https://files.pythonhosted.org/packages/51/56/c3baf5cbe4dd77427fd9aef99fcdade259ad128feeb8a786c246adb838e5/debugpy-1.8.20-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:eada6042ad88fa1571b74bd5402ee8b86eded7a8f7b827849761700aff171f1b", size = 2208318, upload-time = "2026-01-29T23:03:36.481Z" }, - { url = "https://files.pythonhosted.org/packages/9a/7d/4fa79a57a8e69fe0d9763e98d1110320f9ecd7f1f362572e3aafd7417c9d/debugpy-1.8.20-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:7de0b7dfeedc504421032afba845ae2a7bcc32ddfb07dae2c3ca5442f821c344", size = 3171493, upload-time = "2026-01-29T23:03:37.775Z" }, - { url = "https://files.pythonhosted.org/packages/7d/f2/1e8f8affe51e12a26f3a8a8a4277d6e60aa89d0a66512f63b1e799d424a4/debugpy-1.8.20-cp311-cp311-win32.whl", hash = "sha256:773e839380cf459caf73cc533ea45ec2737a5cc184cf1b3b796cd4fd98504fec", size = 5209240, upload-time = "2026-01-29T23:03:39.109Z" }, - { url = "https://files.pythonhosted.org/packages/d5/92/1cb532e88560cbee973396254b21bece8c5d7c2ece958a67afa08c9f10dc/debugpy-1.8.20-cp311-cp311-win_amd64.whl", hash = "sha256:1f7650546e0eded1902d0f6af28f787fa1f1dbdbc97ddabaf1cd963a405930cb", size = 5233481, upload-time = "2026-01-29T23:03:40.659Z" }, - { url = "https://files.pythonhosted.org/packages/14/57/7f34f4736bfb6e00f2e4c96351b07805d83c9a7b33d28580ae01374430f7/debugpy-1.8.20-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:4ae3135e2089905a916909ef31922b2d733d756f66d87345b3e5e52b7a55f13d", size = 2550686, upload-time = "2026-01-29T23:03:42.023Z" }, - { url = "https://files.pythonhosted.org/packages/ab/78/b193a3975ca34458f6f0e24aaf5c3e3da72f5401f6054c0dfd004b41726f/debugpy-1.8.20-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:88f47850a4284b88bd2bfee1f26132147d5d504e4e86c22485dfa44b97e19b4b", size = 4310588, upload-time = "2026-01-29T23:03:43.314Z" }, - { url = "https://files.pythonhosted.org/packages/c1/55/f14deb95eaf4f30f07ef4b90a8590fc05d9e04df85ee379712f6fb6736d7/debugpy-1.8.20-cp312-cp312-win32.whl", hash = "sha256:4057ac68f892064e5f98209ab582abfee3b543fb55d2e87610ddc133a954d390", size = 5331372, upload-time = "2026-01-29T23:03:45.526Z" }, - { url = "https://files.pythonhosted.org/packages/a1/39/2bef246368bd42f9bd7cba99844542b74b84dacbdbea0833e610f384fee8/debugpy-1.8.20-cp312-cp312-win_amd64.whl", hash = "sha256:a1a8f851e7cf171330679ef6997e9c579ef6dd33c9098458bd9986a0f4ca52e3", size = 5372835, upload-time = "2026-01-29T23:03:47.245Z" }, - { url = "https://files.pythonhosted.org/packages/15/e2/fc500524cc6f104a9d049abc85a0a8b3f0d14c0a39b9c140511c61e5b40b/debugpy-1.8.20-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:5dff4bb27027821fdfcc9e8f87309a28988231165147c31730128b1c983e282a", size = 2539560, upload-time = "2026-01-29T23:03:48.738Z" }, - { url = "https://files.pythonhosted.org/packages/90/83/fb33dcea789ed6018f8da20c5a9bc9d82adc65c0c990faed43f7c955da46/debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:84562982dd7cf5ebebfdea667ca20a064e096099997b175fe204e86817f64eaf", size = 4293272, upload-time = "2026-01-29T23:03:50.169Z" }, - { url = "https://files.pythonhosted.org/packages/a6/25/b1e4a01bfb824d79a6af24b99ef291e24189080c93576dfd9b1a2815cd0f/debugpy-1.8.20-cp313-cp313-win32.whl", hash = "sha256:da11dea6447b2cadbf8ce2bec59ecea87cc18d2c574980f643f2d2dfe4862393", size = 5331208, upload-time = "2026-01-29T23:03:51.547Z" }, - { url = "https://files.pythonhosted.org/packages/13/f7/a0b368ce54ffff9e9028c098bd2d28cfc5b54f9f6c186929083d4c60ba58/debugpy-1.8.20-cp313-cp313-win_amd64.whl", hash = "sha256:eb506e45943cab2efb7c6eafdd65b842f3ae779f020c82221f55aca9de135ed7", size = 5372930, upload-time = "2026-01-29T23:03:53.585Z" }, - { url = "https://files.pythonhosted.org/packages/33/2e/f6cb9a8a13f5058f0a20fe09711a7b726232cd5a78c6a7c05b2ec726cff9/debugpy-1.8.20-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9c74df62fc064cd5e5eaca1353a3ef5a5d50da5eb8058fcef63106f7bebe6173", size = 2538066, upload-time = "2026-01-29T23:03:54.999Z" }, - { url = "https://files.pythonhosted.org/packages/c5/56/6ddca50b53624e1ca3ce1d1e49ff22db46c47ea5fb4c0cc5c9b90a616364/debugpy-1.8.20-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:077a7447589ee9bc1ff0cdf443566d0ecf540ac8aa7333b775ebcb8ce9f4ecad", size = 4269425, upload-time = "2026-01-29T23:03:56.518Z" }, - { url = "https://files.pythonhosted.org/packages/c5/d9/d64199c14a0d4c476df46c82470a3ce45c8d183a6796cfb5e66533b3663c/debugpy-1.8.20-cp314-cp314-win32.whl", hash = "sha256:352036a99dd35053b37b7803f748efc456076f929c6a895556932eaf2d23b07f", size = 5331407, upload-time = "2026-01-29T23:03:58.481Z" }, - { url = "https://files.pythonhosted.org/packages/e0/d9/1f07395b54413432624d61524dfd98c1a7c7827d2abfdb8829ac92638205/debugpy-1.8.20-cp314-cp314-win_amd64.whl", hash = "sha256:a98eec61135465b062846112e5ecf2eebb855305acc1dfbae43b72903b8ab5be", size = 5372521, upload-time = "2026-01-29T23:03:59.864Z" }, - { url = "https://files.pythonhosted.org/packages/e0/c3/7f67dea8ccf8fdcb9c99033bbe3e90b9e7395415843accb81428c441be2d/debugpy-1.8.20-py2.py3-none-any.whl", hash = "sha256:5be9bed9ae3be00665a06acaa48f8329d2b9632f15fd09f6a9a8c8d9907e54d7", size = 5337658, upload-time = "2026-01-29T23:04:17.404Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/b7/cd8080344452e4874aae67c40d8940e2b4d47b01601a8fd9f44786c757c7/debugpy-1.8.20.tar.gz", hash = "sha256:55bc8701714969f1ab89a6d5f2f3d40c36f91b2cbe2f65d98bf8196f6a6a2c33" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/be/8bd693a0b9d53d48c8978fa5d889e06f3b5b03e45fd1ea1e78267b4887cb/debugpy-1.8.20-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:157e96ffb7f80b3ad36d808646198c90acb46fdcfd8bb1999838f0b6f2b59c64" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/1b/85326d07432086a06361d493d2743edd0c4fc2ef62162be7f8618441ac37/debugpy-1.8.20-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:c1178ae571aff42e61801a38b007af504ec8e05fde1c5c12e5a7efef21009642" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/60/3e08462ee3eccd10998853eb35947c416e446bfe2bc37dbb886b9044586c/debugpy-1.8.20-cp310-cp310-win32.whl", hash = "sha256:c29dd9d656c0fbd77906a6e6a82ae4881514aa3294b94c903ff99303e789b4a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/43/09d49106e770fe558ced5e80df2e3c2ebee10e576eda155dcc5670473663/debugpy-1.8.20-cp310-cp310-win_amd64.whl", hash = "sha256:3ca85463f63b5dd0aa7aaa933d97cbc47c174896dcae8431695872969f981893" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/51/56/c3baf5cbe4dd77427fd9aef99fcdade259ad128feeb8a786c246adb838e5/debugpy-1.8.20-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:eada6042ad88fa1571b74bd5402ee8b86eded7a8f7b827849761700aff171f1b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/7d/4fa79a57a8e69fe0d9763e98d1110320f9ecd7f1f362572e3aafd7417c9d/debugpy-1.8.20-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:7de0b7dfeedc504421032afba845ae2a7bcc32ddfb07dae2c3ca5442f821c344" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/f2/1e8f8affe51e12a26f3a8a8a4277d6e60aa89d0a66512f63b1e799d424a4/debugpy-1.8.20-cp311-cp311-win32.whl", hash = "sha256:773e839380cf459caf73cc533ea45ec2737a5cc184cf1b3b796cd4fd98504fec" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/92/1cb532e88560cbee973396254b21bece8c5d7c2ece958a67afa08c9f10dc/debugpy-1.8.20-cp311-cp311-win_amd64.whl", hash = "sha256:1f7650546e0eded1902d0f6af28f787fa1f1dbdbc97ddabaf1cd963a405930cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/57/7f34f4736bfb6e00f2e4c96351b07805d83c9a7b33d28580ae01374430f7/debugpy-1.8.20-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:4ae3135e2089905a916909ef31922b2d733d756f66d87345b3e5e52b7a55f13d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/78/b193a3975ca34458f6f0e24aaf5c3e3da72f5401f6054c0dfd004b41726f/debugpy-1.8.20-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:88f47850a4284b88bd2bfee1f26132147d5d504e4e86c22485dfa44b97e19b4b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/55/f14deb95eaf4f30f07ef4b90a8590fc05d9e04df85ee379712f6fb6736d7/debugpy-1.8.20-cp312-cp312-win32.whl", hash = "sha256:4057ac68f892064e5f98209ab582abfee3b543fb55d2e87610ddc133a954d390" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/39/2bef246368bd42f9bd7cba99844542b74b84dacbdbea0833e610f384fee8/debugpy-1.8.20-cp312-cp312-win_amd64.whl", hash = "sha256:a1a8f851e7cf171330679ef6997e9c579ef6dd33c9098458bd9986a0f4ca52e3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/15/e2/fc500524cc6f104a9d049abc85a0a8b3f0d14c0a39b9c140511c61e5b40b/debugpy-1.8.20-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:5dff4bb27027821fdfcc9e8f87309a28988231165147c31730128b1c983e282a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/83/fb33dcea789ed6018f8da20c5a9bc9d82adc65c0c990faed43f7c955da46/debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:84562982dd7cf5ebebfdea667ca20a064e096099997b175fe204e86817f64eaf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/25/b1e4a01bfb824d79a6af24b99ef291e24189080c93576dfd9b1a2815cd0f/debugpy-1.8.20-cp313-cp313-win32.whl", hash = "sha256:da11dea6447b2cadbf8ce2bec59ecea87cc18d2c574980f643f2d2dfe4862393" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/f7/a0b368ce54ffff9e9028c098bd2d28cfc5b54f9f6c186929083d4c60ba58/debugpy-1.8.20-cp313-cp313-win_amd64.whl", hash = "sha256:eb506e45943cab2efb7c6eafdd65b842f3ae779f020c82221f55aca9de135ed7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/2e/f6cb9a8a13f5058f0a20fe09711a7b726232cd5a78c6a7c05b2ec726cff9/debugpy-1.8.20-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9c74df62fc064cd5e5eaca1353a3ef5a5d50da5eb8058fcef63106f7bebe6173" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/56/6ddca50b53624e1ca3ce1d1e49ff22db46c47ea5fb4c0cc5c9b90a616364/debugpy-1.8.20-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:077a7447589ee9bc1ff0cdf443566d0ecf540ac8aa7333b775ebcb8ce9f4ecad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/d9/d64199c14a0d4c476df46c82470a3ce45c8d183a6796cfb5e66533b3663c/debugpy-1.8.20-cp314-cp314-win32.whl", hash = "sha256:352036a99dd35053b37b7803f748efc456076f929c6a895556932eaf2d23b07f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/d9/1f07395b54413432624d61524dfd98c1a7c7827d2abfdb8829ac92638205/debugpy-1.8.20-cp314-cp314-win_amd64.whl", hash = "sha256:a98eec61135465b062846112e5ecf2eebb855305acc1dfbae43b72903b8ab5be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/c3/7f67dea8ccf8fdcb9c99033bbe3e90b9e7395415843accb81428c441be2d/debugpy-1.8.20-py2.py3-none-any.whl", hash = "sha256:5be9bed9ae3be00665a06acaa48f8329d2b9632f15fd09f6a9a8c8d9907e54d7" }, ] [[package]] name = "decorator" version = "5.2.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a" }, ] [[package]] name = "defusedxml" version = "0.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" }, ] [[package]] name = "dnspython" version = "2.8.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af" }, ] [[package]] name = "exceptiongroup" version = "1.3.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598" }, ] [[package]] name = "executing" version = "2.2.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017" }, ] [[package]] name = "fastapi" version = "0.136.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "annotated-doc" }, { name = "pydantic" }, @@ -965,211 +965,211 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5d/45/c130091c2dfa061bbfe3150f2a5091ef1adf149f2a8d2ae769ecaf6e99a2/fastapi-0.136.1.tar.gz", hash = "sha256:7af665ad7acfa0a3baf8983d393b6b471b9da10ede59c60045f49fbc89a0fa7f", size = 397448, upload-time = "2026-04-23T16:49:44.046Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/45/c130091c2dfa061bbfe3150f2a5091ef1adf149f2a8d2ae769ecaf6e99a2/fastapi-0.136.1.tar.gz", hash = "sha256:7af665ad7acfa0a3baf8983d393b6b471b9da10ede59c60045f49fbc89a0fa7f" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/ff/2e4eca3ade2c22fe1dea7043b8ee9dabe47753349eb1b56a202de8af6349/fastapi-0.136.1-py3-none-any.whl", hash = "sha256:a6e9d7eeada96c93a4d69cb03836b44fa34e2854accb7244a1ece36cd4781c3f", size = 117683, upload-time = "2026-04-23T16:49:42.437Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/ff/2e4eca3ade2c22fe1dea7043b8ee9dabe47753349eb1b56a202de8af6349/fastapi-0.136.1-py3-none-any.whl", hash = "sha256:a6e9d7eeada96c93a4d69cb03836b44fa34e2854accb7244a1ece36cd4781c3f" }, ] [[package]] name = "fastjsonschema" version = "2.21.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463" }, ] [[package]] name = "fonttools" version = "4.62.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9a/08/7012b00a9a5874311b639c3920270c36ee0c445b69d9989a85e5c92ebcb0/fonttools-4.62.1.tar.gz", hash = "sha256:e54c75fd6041f1122476776880f7c3c3295ffa31962dc6ebe2543c00dca58b5d", size = 3580737, upload-time = "2026-03-13T13:54:25.52Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/ff/532ed43808b469c807e8cb6b21358da3fe6fd51486b3a8c93db0bb5d957f/fonttools-4.62.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ad5cca75776cd453b1b035b530e943334957ae152a36a88a320e779d61fc980c", size = 2873740, upload-time = "2026-03-13T13:52:11.822Z" }, - { url = "https://files.pythonhosted.org/packages/85/e4/2318d2b430562da7227010fb2bb029d2fa54d7b46443ae8942bab224e2a0/fonttools-4.62.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b3ae47e8636156a9accff64c02c0924cbebad62854c4a6dbdc110cd5b4b341a", size = 2417649, upload-time = "2026-03-13T13:52:14.605Z" }, - { url = "https://files.pythonhosted.org/packages/4c/28/40f15523b5188598018e7956899fed94eb7debec89e2dd70cb4a8df90492/fonttools-4.62.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9b9e288b4da2f64fd6180644221749de651703e8d0c16bd4b719533a3a7d6e3", size = 4935213, upload-time = "2026-03-13T13:52:17.399Z" }, - { url = "https://files.pythonhosted.org/packages/42/09/7dbe3d7023f57d9b580cfa832109d521988112fd59dddfda3fddda8218f9/fonttools-4.62.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7bca7a1c1faf235ffe25d4f2e555246b4750220b38de8261d94ebc5ce8a23c23", size = 4892374, upload-time = "2026-03-13T13:52:20.175Z" }, - { url = "https://files.pythonhosted.org/packages/d1/2d/84509a2e32cb925371560ef5431365d8da2183c11d98e5b4b8b4e42426a5/fonttools-4.62.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b4e0fcf265ad26e487c56cb12a42dffe7162de708762db951e1b3f755319507d", size = 4911856, upload-time = "2026-03-13T13:52:22.777Z" }, - { url = "https://files.pythonhosted.org/packages/a5/80/df28131379eed93d9e6e6fccd3bf6e3d077bebbfe98cc83f21bbcd83ed02/fonttools-4.62.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2d850f66830a27b0d498ee05adb13a3781637b1826982cd7e2b3789ef0cc71ae", size = 5031712, upload-time = "2026-03-13T13:52:25.14Z" }, - { url = "https://files.pythonhosted.org/packages/3d/03/3c8f09aad64230cd6d921ae7a19f9603c36f70930b00459f112706f6769a/fonttools-4.62.1-cp310-cp310-win32.whl", hash = "sha256:486f32c8047ccd05652aba17e4a8819a3a9d78570eb8a0e3b4503142947880ed", size = 1507878, upload-time = "2026-03-13T13:52:28.149Z" }, - { url = "https://files.pythonhosted.org/packages/dd/ec/f53f626f8f3e89f4cadd8fc08f3452c8fd182c951ad5caa35efac22b29ab/fonttools-4.62.1-cp310-cp310-win_amd64.whl", hash = "sha256:5a648bde915fba9da05ae98856987ca91ba832949a9e2888b48c47ef8b96c5a9", size = 1556766, upload-time = "2026-03-13T13:52:30.814Z" }, - { url = "https://files.pythonhosted.org/packages/88/39/23ff32561ec8d45a4d48578b4d241369d9270dc50926c017570e60893701/fonttools-4.62.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:40975849bac44fb0b9253d77420c6d8b523ac4dcdcefeff6e4d706838a5b80f7", size = 2871039, upload-time = "2026-03-13T13:52:33.127Z" }, - { url = "https://files.pythonhosted.org/packages/24/7f/66d3f8a9338a9b67fe6e1739f47e1cd5cee78bd3bc1206ef9b0b982289a5/fonttools-4.62.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9dde91633f77fa576879a0c76b1d89de373cae751a98ddf0109d54e173b40f14", size = 2416346, upload-time = "2026-03-13T13:52:35.676Z" }, - { url = "https://files.pythonhosted.org/packages/aa/53/5276ceba7bff95da7793a07c5284e1da901cf00341ce5e2f3273056c0cca/fonttools-4.62.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6acb4109f8bee00fec985c8c7afb02299e35e9c94b57287f3ea542f28bd0b0a7", size = 5100897, upload-time = "2026-03-13T13:52:38.102Z" }, - { url = "https://files.pythonhosted.org/packages/cc/a1/40a5c4d8e28b0851d53a8eeeb46fbd73c325a2a9a165f290a5ed90e6c597/fonttools-4.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1c5c25671ce8805e0d080e2ffdeca7f1e86778c5cbfbeae86d7f866d8830517b", size = 5071078, upload-time = "2026-03-13T13:52:41.305Z" }, - { url = "https://files.pythonhosted.org/packages/e3/be/d378fca4c65ea1956fee6d90ace6e861776809cbbc5af22388a090c3c092/fonttools-4.62.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a5d8825e1140f04e6c99bb7d37a9e31c172f3bc208afbe02175339e699c710e1", size = 5076908, upload-time = "2026-03-13T13:52:44.122Z" }, - { url = "https://files.pythonhosted.org/packages/f8/d9/ae6a1d0693a4185a84605679c8a1f719a55df87b9c6e8e817bfdd9ef5936/fonttools-4.62.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:268abb1cb221e66c014acc234e872b7870d8b5d4657a83a8f4205094c32d2416", size = 5202275, upload-time = "2026-03-13T13:52:46.591Z" }, - { url = "https://files.pythonhosted.org/packages/54/6c/af95d9c4efb15cabff22642b608342f2bd67137eea6107202d91b5b03184/fonttools-4.62.1-cp311-cp311-win32.whl", hash = "sha256:942b03094d7edbb99bdf1ae7e9090898cad7bf9030b3d21f33d7072dbcb51a53", size = 2293075, upload-time = "2026-03-13T13:52:48.711Z" }, - { url = "https://files.pythonhosted.org/packages/d3/97/bf54c5b3f2be34e1f143e6db838dfdc54f2ffa3e68c738934c82f3b2a08d/fonttools-4.62.1-cp311-cp311-win_amd64.whl", hash = "sha256:e8514f4924375f77084e81467e63238b095abda5107620f49421c368a6017ed2", size = 2344593, upload-time = "2026-03-13T13:52:50.725Z" }, - { url = "https://files.pythonhosted.org/packages/47/d4/dbacced3953544b9a93088cc10ef2b596d348c983d5c67a404fa41ec51ba/fonttools-4.62.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:90365821debbd7db678809c7491ca4acd1e0779b9624cdc6ddaf1f31992bf974", size = 2870219, upload-time = "2026-03-13T13:52:53.664Z" }, - { url = "https://files.pythonhosted.org/packages/66/9e/a769c8e99b81e5a87ab7e5e7236684de4e96246aae17274e5347d11ebd78/fonttools-4.62.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12859ff0b47dd20f110804c3e0d0970f7b832f561630cd879969011541a464a9", size = 2414891, upload-time = "2026-03-13T13:52:56.493Z" }, - { url = "https://files.pythonhosted.org/packages/69/64/f19a9e3911968c37e1e620e14dfc5778299e1474f72f4e57c5ec771d9489/fonttools-4.62.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c125ffa00c3d9003cdaaf7f2c79e6e535628093e14b5de1dccb08859b680936", size = 5033197, upload-time = "2026-03-13T13:52:59.179Z" }, - { url = "https://files.pythonhosted.org/packages/9b/8a/99c8b3c3888c5c474c08dbfd7c8899786de9604b727fcefb055b42c84bba/fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:149f7d84afca659d1a97e39a4778794a2f83bf344c5ee5134e09995086cc2392", size = 4988768, upload-time = "2026-03-13T13:53:02.761Z" }, - { url = "https://files.pythonhosted.org/packages/d1/c6/0f904540d3e6ab463c1243a0d803504826a11604c72dd58c2949796a1762/fonttools-4.62.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0aa72c43a601cfa9273bb1ae0518f1acadc01ee181a6fc60cd758d7fdadffc04", size = 4971512, upload-time = "2026-03-13T13:53:05.678Z" }, - { url = "https://files.pythonhosted.org/packages/29/0b/5cbef6588dc9bd6b5c9ad6a4d5a8ca384d0cea089da31711bbeb4f9654a6/fonttools-4.62.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:19177c8d96c7c36359266e571c5173bcee9157b59cfc8cb0153c5673dc5a3a7d", size = 5122723, upload-time = "2026-03-13T13:53:08.662Z" }, - { url = "https://files.pythonhosted.org/packages/4a/47/b3a5342d381595ef439adec67848bed561ab7fdb1019fa522e82101b7d9c/fonttools-4.62.1-cp312-cp312-win32.whl", hash = "sha256:a24decd24d60744ee8b4679d38e88b8303d86772053afc29b19d23bb8207803c", size = 2281278, upload-time = "2026-03-13T13:53:10.998Z" }, - { url = "https://files.pythonhosted.org/packages/28/b1/0c2ab56a16f409c6c8a68816e6af707827ad5d629634691ff60a52879792/fonttools-4.62.1-cp312-cp312-win_amd64.whl", hash = "sha256:9e7863e10b3de72376280b515d35b14f5eeed639d1aa7824f4cf06779ec65e42", size = 2331414, upload-time = "2026-03-13T13:53:13.992Z" }, - { url = "https://files.pythonhosted.org/packages/3b/56/6f389de21c49555553d6a5aeed5ac9767631497ac836c4f076273d15bd72/fonttools-4.62.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c22b1014017111c401469e3acc5433e6acf6ebcc6aa9efb538a533c800971c79", size = 2865155, upload-time = "2026-03-13T13:53:16.132Z" }, - { url = "https://files.pythonhosted.org/packages/03/c5/0e3966edd5ec668d41dfe418787726752bc07e2f5fd8c8f208615e61fa89/fonttools-4.62.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68959f5fc58ed4599b44aad161c2837477d7f35f5f79402d97439974faebfebe", size = 2412802, upload-time = "2026-03-13T13:53:18.878Z" }, - { url = "https://files.pythonhosted.org/packages/52/94/e6ac4b44026de7786fe46e3bfa0c87e51d5d70a841054065d49cd62bb909/fonttools-4.62.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef46db46c9447103b8f3ff91e8ba009d5fe181b1920a83757a5762551e32bb68", size = 5013926, upload-time = "2026-03-13T13:53:21.379Z" }, - { url = "https://files.pythonhosted.org/packages/e2/98/8b1e801939839d405f1f122e7d175cebe9aeb4e114f95bfc45e3152af9a7/fonttools-4.62.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6706d1cb1d5e6251a97ad3c1b9347505c5615c112e66047abbef0f8545fa30d1", size = 4964575, upload-time = "2026-03-13T13:53:23.857Z" }, - { url = "https://files.pythonhosted.org/packages/46/76/7d051671e938b1881670528fec69cc4044315edd71a229c7fd712eaa5119/fonttools-4.62.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2e7abd2b1e11736f58c1de27819e1955a53267c21732e78243fa2fa2e5c1e069", size = 4953693, upload-time = "2026-03-13T13:53:26.569Z" }, - { url = "https://files.pythonhosted.org/packages/1f/ae/b41f8628ec0be3c1b934fc12b84f4576a5c646119db4d3bdd76a217c90b5/fonttools-4.62.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:403d28ce06ebfc547fbcb0cb8b7f7cc2f7a2d3e1a67ba9a34b14632df9e080f9", size = 5094920, upload-time = "2026-03-13T13:53:29.329Z" }, - { url = "https://files.pythonhosted.org/packages/f2/f6/53a1e9469331a23dcc400970a27a4caa3d9f6edbf5baab0260285238b884/fonttools-4.62.1-cp313-cp313-win32.whl", hash = "sha256:93c316e0f5301b2adbe6a5f658634307c096fd5aae60a5b3412e4f3e1728ab24", size = 2279928, upload-time = "2026-03-13T13:53:32.352Z" }, - { url = "https://files.pythonhosted.org/packages/38/60/35186529de1db3c01f5ad625bde07c1f576305eab6d86bbda4c58445f721/fonttools-4.62.1-cp313-cp313-win_amd64.whl", hash = "sha256:7aa21ff53e28a9c2157acbc44e5b401149d3c9178107130e82d74ceb500e5056", size = 2330514, upload-time = "2026-03-13T13:53:34.991Z" }, - { url = "https://files.pythonhosted.org/packages/36/f0/2888cdac391807d68d90dcb16ef858ddc1b5309bfc6966195a459dd326e2/fonttools-4.62.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fa1d16210b6b10a826d71bed68dd9ec24a9e218d5a5e2797f37c573e7ec215ca", size = 2864442, upload-time = "2026-03-13T13:53:37.509Z" }, - { url = "https://files.pythonhosted.org/packages/4b/b2/e521803081f8dc35990816b82da6360fa668a21b44da4b53fc9e77efcd62/fonttools-4.62.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:aa69d10ed420d8121118e628ad47d86e4caa79ba37f968597b958f6cceab7eca", size = 2410901, upload-time = "2026-03-13T13:53:40.55Z" }, - { url = "https://files.pythonhosted.org/packages/00/a4/8c3511ff06e53110039358dbbdc1a65d72157a054638387aa2ada300a8b8/fonttools-4.62.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd13b7999d59c5eb1c2b442eb2d0c427cb517a0b7a1f5798fc5c9e003f5ff782", size = 4999608, upload-time = "2026-03-13T13:53:42.798Z" }, - { url = "https://files.pythonhosted.org/packages/28/63/cd0c3b26afe60995a5295f37c246a93d454023726c3261cfbb3559969bb9/fonttools-4.62.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8d337fdd49a79b0d51c4da87bc38169d21c3abbf0c1aa9367eff5c6656fb6dae", size = 4912726, upload-time = "2026-03-13T13:53:45.405Z" }, - { url = "https://files.pythonhosted.org/packages/70/b9/ac677cb07c24c685cf34f64e140617d58789d67a3dd524164b63648c6114/fonttools-4.62.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d241cdc4a67b5431c6d7f115fdf63335222414995e3a1df1a41e1182acd4bcc7", size = 4951422, upload-time = "2026-03-13T13:53:48.326Z" }, - { url = "https://files.pythonhosted.org/packages/e6/10/11c08419a14b85b7ca9a9faca321accccc8842dd9e0b1c8a72908de05945/fonttools-4.62.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c05557a78f8fa514da0f869556eeda40887a8abc77c76ee3f74cf241778afd5a", size = 5060979, upload-time = "2026-03-13T13:53:51.366Z" }, - { url = "https://files.pythonhosted.org/packages/4e/3c/12eea4a4cf054e7ab058ed5ceada43b46809fce2bf319017c4d63ae55bb4/fonttools-4.62.1-cp314-cp314-win32.whl", hash = "sha256:49a445d2f544ce4a69338694cad575ba97b9a75fff02720da0882d1a73f12800", size = 2283733, upload-time = "2026-03-13T13:53:53.606Z" }, - { url = "https://files.pythonhosted.org/packages/6b/67/74b070029043186b5dd13462c958cb7c7f811be0d2e634309d9a1ffb1505/fonttools-4.62.1-cp314-cp314-win_amd64.whl", hash = "sha256:1eecc128c86c552fb963fe846ca4e011b1be053728f798185a1687502f6d398e", size = 2335663, upload-time = "2026-03-13T13:53:56.23Z" }, - { url = "https://files.pythonhosted.org/packages/42/c5/4d2ed3ca6e33617fc5624467da353337f06e7f637707478903c785bd8e20/fonttools-4.62.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1596aeaddf7f78e21e68293c011316a25267b3effdaccaf4d59bc9159d681b82", size = 2947288, upload-time = "2026-03-13T13:53:59.397Z" }, - { url = "https://files.pythonhosted.org/packages/1f/e9/7ab11ddfda48ed0f89b13380e5595ba572619c27077be0b2c447a63ff351/fonttools-4.62.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:8f8fca95d3bb3208f59626a4b0ea6e526ee51f5a8ad5d91821c165903e8d9260", size = 2449023, upload-time = "2026-03-13T13:54:01.642Z" }, - { url = "https://files.pythonhosted.org/packages/b2/10/a800fa090b5e8819942e54e19b55fc7c21fe14a08757c3aa3ca8db358939/fonttools-4.62.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee91628c08e76f77b533d65feb3fbe6d9dad699f95be51cf0d022db94089cdc4", size = 5137599, upload-time = "2026-03-13T13:54:04.495Z" }, - { url = "https://files.pythonhosted.org/packages/37/dc/8ccd45033fffd74deb6912fa1ca524643f584b94c87a16036855b498a1ed/fonttools-4.62.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5f37df1cac61d906e7b836abe356bc2f34c99d4477467755c216b72aa3dc748b", size = 4920933, upload-time = "2026-03-13T13:54:07.557Z" }, - { url = "https://files.pythonhosted.org/packages/99/eb/e618adefb839598d25ac8136cd577925d6c513dc0d931d93b8af956210f0/fonttools-4.62.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:92bb00a947e666169c99b43753c4305fc95a890a60ef3aeb2a6963e07902cc87", size = 5016232, upload-time = "2026-03-13T13:54:10.611Z" }, - { url = "https://files.pythonhosted.org/packages/d9/5f/9b5c9bfaa8ec82def8d8168c4f13615990d6ce5996fe52bd49bfb5e05134/fonttools-4.62.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bdfe592802ef939a0e33106ea4a318eeb17822c7ee168c290273cbd5fabd746c", size = 5042987, upload-time = "2026-03-13T13:54:13.569Z" }, - { url = "https://files.pythonhosted.org/packages/90/aa/dfbbe24c6a6afc5c203d90cc0343e24bcbb09e76d67c4d6eef8c2558d7ba/fonttools-4.62.1-cp314-cp314t-win32.whl", hash = "sha256:b820fcb92d4655513d8402d5b219f94481c4443d825b4372c75a2072aa4b357a", size = 2348021, upload-time = "2026-03-13T13:54:16.98Z" }, - { url = "https://files.pythonhosted.org/packages/13/6f/ae9c4e4dd417948407b680855c2c7790efb52add6009aaecff1e3bc50e8e/fonttools-4.62.1-cp314-cp314t-win_amd64.whl", hash = "sha256:59b372b4f0e113d3746b88985f1c796e7bf830dd54b28374cd85c2b8acd7583e", size = 2414147, upload-time = "2026-03-13T13:54:19.416Z" }, - { url = "https://files.pythonhosted.org/packages/fd/ba/56147c165442cc5ba7e82ecf301c9a68353cede498185869e6e02b4c264f/fonttools-4.62.1-py3-none-any.whl", hash = "sha256:7487782e2113861f4ddcc07c3436450659e3caa5e470b27dc2177cade2d8e7fd", size = 1152647, upload-time = "2026-03-13T13:54:22.735Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/08/7012b00a9a5874311b639c3920270c36ee0c445b69d9989a85e5c92ebcb0/fonttools-4.62.1.tar.gz", hash = "sha256:e54c75fd6041f1122476776880f7c3c3295ffa31962dc6ebe2543c00dca58b5d" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/ff/532ed43808b469c807e8cb6b21358da3fe6fd51486b3a8c93db0bb5d957f/fonttools-4.62.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ad5cca75776cd453b1b035b530e943334957ae152a36a88a320e779d61fc980c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/e4/2318d2b430562da7227010fb2bb029d2fa54d7b46443ae8942bab224e2a0/fonttools-4.62.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b3ae47e8636156a9accff64c02c0924cbebad62854c4a6dbdc110cd5b4b341a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/28/40f15523b5188598018e7956899fed94eb7debec89e2dd70cb4a8df90492/fonttools-4.62.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9b9e288b4da2f64fd6180644221749de651703e8d0c16bd4b719533a3a7d6e3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/09/7dbe3d7023f57d9b580cfa832109d521988112fd59dddfda3fddda8218f9/fonttools-4.62.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7bca7a1c1faf235ffe25d4f2e555246b4750220b38de8261d94ebc5ce8a23c23" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/2d/84509a2e32cb925371560ef5431365d8da2183c11d98e5b4b8b4e42426a5/fonttools-4.62.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b4e0fcf265ad26e487c56cb12a42dffe7162de708762db951e1b3f755319507d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a5/80/df28131379eed93d9e6e6fccd3bf6e3d077bebbfe98cc83f21bbcd83ed02/fonttools-4.62.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2d850f66830a27b0d498ee05adb13a3781637b1826982cd7e2b3789ef0cc71ae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/03/3c8f09aad64230cd6d921ae7a19f9603c36f70930b00459f112706f6769a/fonttools-4.62.1-cp310-cp310-win32.whl", hash = "sha256:486f32c8047ccd05652aba17e4a8819a3a9d78570eb8a0e3b4503142947880ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/ec/f53f626f8f3e89f4cadd8fc08f3452c8fd182c951ad5caa35efac22b29ab/fonttools-4.62.1-cp310-cp310-win_amd64.whl", hash = "sha256:5a648bde915fba9da05ae98856987ca91ba832949a9e2888b48c47ef8b96c5a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/39/23ff32561ec8d45a4d48578b4d241369d9270dc50926c017570e60893701/fonttools-4.62.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:40975849bac44fb0b9253d77420c6d8b523ac4dcdcefeff6e4d706838a5b80f7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/7f/66d3f8a9338a9b67fe6e1739f47e1cd5cee78bd3bc1206ef9b0b982289a5/fonttools-4.62.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9dde91633f77fa576879a0c76b1d89de373cae751a98ddf0109d54e173b40f14" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/53/5276ceba7bff95da7793a07c5284e1da901cf00341ce5e2f3273056c0cca/fonttools-4.62.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6acb4109f8bee00fec985c8c7afb02299e35e9c94b57287f3ea542f28bd0b0a7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cc/a1/40a5c4d8e28b0851d53a8eeeb46fbd73c325a2a9a165f290a5ed90e6c597/fonttools-4.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1c5c25671ce8805e0d080e2ffdeca7f1e86778c5cbfbeae86d7f866d8830517b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/be/d378fca4c65ea1956fee6d90ace6e861776809cbbc5af22388a090c3c092/fonttools-4.62.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a5d8825e1140f04e6c99bb7d37a9e31c172f3bc208afbe02175339e699c710e1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/d9/ae6a1d0693a4185a84605679c8a1f719a55df87b9c6e8e817bfdd9ef5936/fonttools-4.62.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:268abb1cb221e66c014acc234e872b7870d8b5d4657a83a8f4205094c32d2416" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/54/6c/af95d9c4efb15cabff22642b608342f2bd67137eea6107202d91b5b03184/fonttools-4.62.1-cp311-cp311-win32.whl", hash = "sha256:942b03094d7edbb99bdf1ae7e9090898cad7bf9030b3d21f33d7072dbcb51a53" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/97/bf54c5b3f2be34e1f143e6db838dfdc54f2ffa3e68c738934c82f3b2a08d/fonttools-4.62.1-cp311-cp311-win_amd64.whl", hash = "sha256:e8514f4924375f77084e81467e63238b095abda5107620f49421c368a6017ed2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/d4/dbacced3953544b9a93088cc10ef2b596d348c983d5c67a404fa41ec51ba/fonttools-4.62.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:90365821debbd7db678809c7491ca4acd1e0779b9624cdc6ddaf1f31992bf974" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/9e/a769c8e99b81e5a87ab7e5e7236684de4e96246aae17274e5347d11ebd78/fonttools-4.62.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12859ff0b47dd20f110804c3e0d0970f7b832f561630cd879969011541a464a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/64/f19a9e3911968c37e1e620e14dfc5778299e1474f72f4e57c5ec771d9489/fonttools-4.62.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c125ffa00c3d9003cdaaf7f2c79e6e535628093e14b5de1dccb08859b680936" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/8a/99c8b3c3888c5c474c08dbfd7c8899786de9604b727fcefb055b42c84bba/fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:149f7d84afca659d1a97e39a4778794a2f83bf344c5ee5134e09995086cc2392" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/c6/0f904540d3e6ab463c1243a0d803504826a11604c72dd58c2949796a1762/fonttools-4.62.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0aa72c43a601cfa9273bb1ae0518f1acadc01ee181a6fc60cd758d7fdadffc04" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/29/0b/5cbef6588dc9bd6b5c9ad6a4d5a8ca384d0cea089da31711bbeb4f9654a6/fonttools-4.62.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:19177c8d96c7c36359266e571c5173bcee9157b59cfc8cb0153c5673dc5a3a7d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/47/b3a5342d381595ef439adec67848bed561ab7fdb1019fa522e82101b7d9c/fonttools-4.62.1-cp312-cp312-win32.whl", hash = "sha256:a24decd24d60744ee8b4679d38e88b8303d86772053afc29b19d23bb8207803c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/b1/0c2ab56a16f409c6c8a68816e6af707827ad5d629634691ff60a52879792/fonttools-4.62.1-cp312-cp312-win_amd64.whl", hash = "sha256:9e7863e10b3de72376280b515d35b14f5eeed639d1aa7824f4cf06779ec65e42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/56/6f389de21c49555553d6a5aeed5ac9767631497ac836c4f076273d15bd72/fonttools-4.62.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c22b1014017111c401469e3acc5433e6acf6ebcc6aa9efb538a533c800971c79" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/c5/0e3966edd5ec668d41dfe418787726752bc07e2f5fd8c8f208615e61fa89/fonttools-4.62.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68959f5fc58ed4599b44aad161c2837477d7f35f5f79402d97439974faebfebe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/94/e6ac4b44026de7786fe46e3bfa0c87e51d5d70a841054065d49cd62bb909/fonttools-4.62.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef46db46c9447103b8f3ff91e8ba009d5fe181b1920a83757a5762551e32bb68" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/98/8b1e801939839d405f1f122e7d175cebe9aeb4e114f95bfc45e3152af9a7/fonttools-4.62.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6706d1cb1d5e6251a97ad3c1b9347505c5615c112e66047abbef0f8545fa30d1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/76/7d051671e938b1881670528fec69cc4044315edd71a229c7fd712eaa5119/fonttools-4.62.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2e7abd2b1e11736f58c1de27819e1955a53267c21732e78243fa2fa2e5c1e069" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/ae/b41f8628ec0be3c1b934fc12b84f4576a5c646119db4d3bdd76a217c90b5/fonttools-4.62.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:403d28ce06ebfc547fbcb0cb8b7f7cc2f7a2d3e1a67ba9a34b14632df9e080f9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/f6/53a1e9469331a23dcc400970a27a4caa3d9f6edbf5baab0260285238b884/fonttools-4.62.1-cp313-cp313-win32.whl", hash = "sha256:93c316e0f5301b2adbe6a5f658634307c096fd5aae60a5b3412e4f3e1728ab24" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/60/35186529de1db3c01f5ad625bde07c1f576305eab6d86bbda4c58445f721/fonttools-4.62.1-cp313-cp313-win_amd64.whl", hash = "sha256:7aa21ff53e28a9c2157acbc44e5b401149d3c9178107130e82d74ceb500e5056" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/f0/2888cdac391807d68d90dcb16ef858ddc1b5309bfc6966195a459dd326e2/fonttools-4.62.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fa1d16210b6b10a826d71bed68dd9ec24a9e218d5a5e2797f37c573e7ec215ca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/b2/e521803081f8dc35990816b82da6360fa668a21b44da4b53fc9e77efcd62/fonttools-4.62.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:aa69d10ed420d8121118e628ad47d86e4caa79ba37f968597b958f6cceab7eca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/a4/8c3511ff06e53110039358dbbdc1a65d72157a054638387aa2ada300a8b8/fonttools-4.62.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd13b7999d59c5eb1c2b442eb2d0c427cb517a0b7a1f5798fc5c9e003f5ff782" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/63/cd0c3b26afe60995a5295f37c246a93d454023726c3261cfbb3559969bb9/fonttools-4.62.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8d337fdd49a79b0d51c4da87bc38169d21c3abbf0c1aa9367eff5c6656fb6dae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/b9/ac677cb07c24c685cf34f64e140617d58789d67a3dd524164b63648c6114/fonttools-4.62.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d241cdc4a67b5431c6d7f115fdf63335222414995e3a1df1a41e1182acd4bcc7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/10/11c08419a14b85b7ca9a9faca321accccc8842dd9e0b1c8a72908de05945/fonttools-4.62.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c05557a78f8fa514da0f869556eeda40887a8abc77c76ee3f74cf241778afd5a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/3c/12eea4a4cf054e7ab058ed5ceada43b46809fce2bf319017c4d63ae55bb4/fonttools-4.62.1-cp314-cp314-win32.whl", hash = "sha256:49a445d2f544ce4a69338694cad575ba97b9a75fff02720da0882d1a73f12800" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/67/74b070029043186b5dd13462c958cb7c7f811be0d2e634309d9a1ffb1505/fonttools-4.62.1-cp314-cp314-win_amd64.whl", hash = "sha256:1eecc128c86c552fb963fe846ca4e011b1be053728f798185a1687502f6d398e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/c5/4d2ed3ca6e33617fc5624467da353337f06e7f637707478903c785bd8e20/fonttools-4.62.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1596aeaddf7f78e21e68293c011316a25267b3effdaccaf4d59bc9159d681b82" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/e9/7ab11ddfda48ed0f89b13380e5595ba572619c27077be0b2c447a63ff351/fonttools-4.62.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:8f8fca95d3bb3208f59626a4b0ea6e526ee51f5a8ad5d91821c165903e8d9260" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/10/a800fa090b5e8819942e54e19b55fc7c21fe14a08757c3aa3ca8db358939/fonttools-4.62.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee91628c08e76f77b533d65feb3fbe6d9dad699f95be51cf0d022db94089cdc4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/dc/8ccd45033fffd74deb6912fa1ca524643f584b94c87a16036855b498a1ed/fonttools-4.62.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5f37df1cac61d906e7b836abe356bc2f34c99d4477467755c216b72aa3dc748b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/eb/e618adefb839598d25ac8136cd577925d6c513dc0d931d93b8af956210f0/fonttools-4.62.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:92bb00a947e666169c99b43753c4305fc95a890a60ef3aeb2a6963e07902cc87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/5f/9b5c9bfaa8ec82def8d8168c4f13615990d6ce5996fe52bd49bfb5e05134/fonttools-4.62.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bdfe592802ef939a0e33106ea4a318eeb17822c7ee168c290273cbd5fabd746c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/aa/dfbbe24c6a6afc5c203d90cc0343e24bcbb09e76d67c4d6eef8c2558d7ba/fonttools-4.62.1-cp314-cp314t-win32.whl", hash = "sha256:b820fcb92d4655513d8402d5b219f94481c4443d825b4372c75a2072aa4b357a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/6f/ae9c4e4dd417948407b680855c2c7790efb52add6009aaecff1e3bc50e8e/fonttools-4.62.1-cp314-cp314t-win_amd64.whl", hash = "sha256:59b372b4f0e113d3746b88985f1c796e7bf830dd54b28374cd85c2b8acd7583e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/ba/56147c165442cc5ba7e82ecf301c9a68353cede498185869e6e02b4c264f/fonttools-4.62.1-py3-none-any.whl", hash = "sha256:7487782e2113861f4ddcc07c3436450659e3caa5e470b27dc2177cade2d8e7fd" }, ] [[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" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/fb/c85f9fed3ea8fe8740e5b46a59cc141c23b842eca617da8876cfce5f760e/frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/83/4d587dccbfca74cb8b810472392ad62bfa100bf8108c7223eb4c4fa2f7b3/frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/c6/fd3b9cd046ec5fff9dab66831083bc2077006a874a2d3d9247dea93ddf7e/frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/80/6693f55eb2e085fc8afb28cf611448fb5b90e98e068fa1d1b8d8e66e5c7d/frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/d6/e9459f7c5183854abd989ba384fe0cc1a0fb795a83c033f0571ec5933ca4/frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/92/24e97474b65c0262e9ecd076e826bfd1d3074adcc165a256e42e7b8a7249/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ee/bf/dc394a097508f15abff383c5108cb8ad880d1f64a725ed3b90d5c2fbf0bb/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/90/25b201b9c015dbc999a5baf475a257010471a1fa8c200c843fd4abbee725/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/f4/b5bc148df03082f05d2dd30c089e269acdbe251ac9a9cf4e727b2dbb8a3d/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/4b/87e95b5d15097c302430e647136b7d7ab2398a702390cf4c8601975709e7/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/70/78a0315d1fea97120591a83e0acd644da638c872f142fd72a6cebee825f3/frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/aa/3f04523fb189a00e147e60c5b2205126118f216b0aa908035c45336e27e4/frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/75/1135feecdd7c336938bd55b4dc3b0dfc46d85b9be12ef2628574b28de776/frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d" }, ] [[package]] name = "fsspec" version = "2026.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d5/8d/1c51c094345df128ca4a990d633fe1a0ff28726c9e6b3c41ba65087bba1d/fsspec-2026.4.0.tar.gz", hash = "sha256:301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4", size = 312760, upload-time = "2026-04-29T20:42:38.635Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/8d/1c51c094345df128ca4a990d633fe1a0ff28726c9e6b3c41ba65087bba1d/fsspec-2026.4.0.tar.gz", hash = "sha256:301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/0c/043d5e551459da400957a1395e0febbf771446ff34291afcbe3d8be2a279/fsspec-2026.4.0-py3-none-any.whl", hash = "sha256:11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2", size = 203402, upload-time = "2026-04-29T20:42:36.842Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/0c/043d5e551459da400957a1395e0febbf771446ff34291afcbe3d8be2a279/fsspec-2026.4.0-py3-none-any.whl", hash = "sha256:11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2" }, ] [[package]] name = "gcsfs" version = "2026.4.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "aiohttp" }, { name = "decorator" }, @@ -1180,27 +1180,27 @@ dependencies = [ { name = "google-cloud-storage-control" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/03/0bd3f6796422cfed6be1949c44668b386400f231d63ab30aefa6165baf0f/gcsfs-2026.4.0.tar.gz", hash = "sha256:f3d80dd1c98737798bc84472e6ff9c59873bd17a26e170d46ce90b3118db4390", size = 1139035, upload-time = "2026-04-29T21:04:11.64Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/03/0bd3f6796422cfed6be1949c44668b386400f231d63ab30aefa6165baf0f/gcsfs-2026.4.0.tar.gz", hash = "sha256:f3d80dd1c98737798bc84472e6ff9c59873bd17a26e170d46ce90b3118db4390" } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/37/3922951a55a3d0f0340e884929087ce08e333cbb16a86002535c095960fc/gcsfs-2026.4.0-py3-none-any.whl", hash = "sha256:d9e838834d8cce6cb623c6a6a5fad66a4d122dc5c609d4b1c1977b55f759dcc5", size = 72190, upload-time = "2026-04-29T21:04:09.997Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/37/3922951a55a3d0f0340e884929087ce08e333cbb16a86002535c095960fc/gcsfs-2026.4.0-py3-none-any.whl", hash = "sha256:d9e838834d8cce6cb623c6a6a5fad66a4d122dc5c609d4b1c1977b55f759dcc5" }, ] [[package]] name = "ghp-import" version = "2.1.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619" }, ] [[package]] name = "google-api-core" version = "2.30.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "google-auth" }, { name = "googleapis-common-protos" }, @@ -1208,9 +1208,9 @@ dependencies = [ { name = "protobuf" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/16/ce/502a57fb0ec752026d24df1280b162294b22a0afb98a326084f9a979138b/google_api_core-2.30.3.tar.gz", hash = "sha256:e601a37f148585319b26db36e219df68c5d07b6382cff2d580e83404e44d641b", size = 177001, upload-time = "2026-04-10T00:41:28.035Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/ce/502a57fb0ec752026d24df1280b162294b22a0afb98a326084f9a979138b/google_api_core-2.30.3.tar.gz", hash = "sha256:e601a37f148585319b26db36e219df68c5d07b6382cff2d580e83404e44d641b" } wheels = [ - { url = "https://files.pythonhosted.org/packages/03/15/e56f351cf6ef1cfea58e6ac226a7318ed1deb2218c4b3cc9bd9e4b786c5a/google_api_core-2.30.3-py3-none-any.whl", hash = "sha256:a85761ba72c444dad5d611c2220633480b2b6be2521eca69cca2dbb3ffd6bfe8", size = 173274, upload-time = "2026-04-09T22:57:16.198Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/15/e56f351cf6ef1cfea58e6ac226a7318ed1deb2218c4b3cc9bd9e4b786c5a/google_api_core-2.30.3-py3-none-any.whl", hash = "sha256:a85761ba72c444dad5d611c2220633480b2b6be2521eca69cca2dbb3ffd6bfe8" }, ] [package.optional-dependencies] @@ -1222,46 +1222,46 @@ grpc = [ [[package]] name = "google-auth" version = "2.53.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "cryptography" }, { name = "pyasn1-modules" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c6/ad/ff781329bbbdc0974a098d996e89c9e1f7024262f9e3eec442fbb9ad1ac6/google_auth-2.53.0.tar.gz", hash = "sha256:e7e6aa16f6bee7b2b264830fd04f08087a1d5a836df516251a5d15327b246c9c", size = 335844, upload-time = "2026-05-15T20:53:07.928Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/ad/ff781329bbbdc0974a098d996e89c9e1f7024262f9e3eec442fbb9ad1ac6/google_auth-2.53.0.tar.gz", hash = "sha256:e7e6aa16f6bee7b2b264830fd04f08087a1d5a836df516251a5d15327b246c9c" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/c9/db44165ba7c581268c6d46017ef63339110378305062830104fc7fa144cb/google_auth-2.53.0-py3-none-any.whl", hash = "sha256:6e7449917c599b35126a99ec268ec6880301f2fea41dce198fe8fd83ff642b68", size = 246071, upload-time = "2026-05-15T20:53:05.609Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/c9/db44165ba7c581268c6d46017ef63339110378305062830104fc7fa144cb/google_auth-2.53.0-py3-none-any.whl", hash = "sha256:6e7449917c599b35126a99ec268ec6880301f2fea41dce198fe8fd83ff642b68" }, ] [[package]] name = "google-auth-oauthlib" version = "1.4.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "google-auth" }, { name = "requests-oauthlib" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/18/90c7fac516e63cf2058166fce0c88c353647c677b51cc036c09c49bb5cbb/google_auth_oauthlib-1.4.0.tar.gz", hash = "sha256:18b5e28880eb8eba9065c436becdc0ee8e4b59117a73a510679c82f70cd363d2", size = 21675, upload-time = "2026-05-07T08:03:47.816Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/18/90c7fac516e63cf2058166fce0c88c353647c677b51cc036c09c49bb5cbb/google_auth_oauthlib-1.4.0.tar.gz", hash = "sha256:18b5e28880eb8eba9065c436becdc0ee8e4b59117a73a510679c82f70cd363d2" } wheels = [ - { url = "https://files.pythonhosted.org/packages/37/d3/d7dff0d58a9e9244b48044bfb6a898bfcc8ecc42e0031d1bebc695344725/google_auth_oauthlib-1.4.0-py3-none-any.whl", hash = "sha256:251314f213a9ee46a5ae73988e84fd7cca8bb68e7ecf4bfd45940f9e7f51d070", size = 19261, upload-time = "2026-05-07T08:02:13.798Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/d3/d7dff0d58a9e9244b48044bfb6a898bfcc8ecc42e0031d1bebc695344725/google_auth_oauthlib-1.4.0-py3-none-any.whl", hash = "sha256:251314f213a9ee46a5ae73988e84fd7cca8bb68e7ecf4bfd45940f9e7f51d070" }, ] [[package]] name = "google-cloud-core" version = "2.6.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "google-api-core" }, { name = "google-auth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/dd/1eef226e470369b26824a505c34482c0b493bc35fe8e0c6b003b5feca21a/google_cloud_core-2.6.0.tar.gz", hash = "sha256:e76149739f90fac1fc6757c09f47eaccb3145b54adbd7759b0f7c4b235f46c83", size = 36001, upload-time = "2026-05-07T08:04:04.124Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/dd/1eef226e470369b26824a505c34482c0b493bc35fe8e0c6b003b5feca21a/google_cloud_core-2.6.0.tar.gz", hash = "sha256:e76149739f90fac1fc6757c09f47eaccb3145b54adbd7759b0f7c4b235f46c83" } wheels = [ - { url = "https://files.pythonhosted.org/packages/84/4a/98da8930ab109c73d9a5d13782a9ebb81ea8c111f6d534a567b71d23e52b/google_cloud_core-2.6.0-py3-none-any.whl", hash = "sha256:6d63ac8e5eca6d9e4319d0a1e2265fadcd7f1049904378caecfa01cf52dd869e", size = 29390, upload-time = "2026-05-07T08:02:34.672Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/4a/98da8930ab109c73d9a5d13782a9ebb81ea8c111f6d534a567b71d23e52b/google_cloud_core-2.6.0-py3-none-any.whl", hash = "sha256:6d63ac8e5eca6d9e4319d0a1e2265fadcd7f1049904378caecfa01cf52dd869e" }, ] [[package]] name = "google-cloud-storage" version = "3.10.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "google-api-core" }, { name = "google-auth" }, @@ -1270,15 +1270,15 @@ dependencies = [ { name = "google-resumable-media" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4c/47/205eb8e9a1739b5345843e5a425775cbdc472cc38e7eda082ba5b8d02450/google_cloud_storage-3.10.1.tar.gz", hash = "sha256:97db9aa4460727982040edd2bd13ff3d5e2260b5331ad22895802da1fc2a5286", size = 17309950, upload-time = "2026-03-23T09:35:23.409Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/47/205eb8e9a1739b5345843e5a425775cbdc472cc38e7eda082ba5b8d02450/google_cloud_storage-3.10.1.tar.gz", hash = "sha256:97db9aa4460727982040edd2bd13ff3d5e2260b5331ad22895802da1fc2a5286" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ad/ff/ca9ab2417fa913d75aae38bf40bf856bb2749a604b2e0f701b37cfcd23cc/google_cloud_storage-3.10.1-py3-none-any.whl", hash = "sha256:a72f656759b7b99bda700f901adcb3425a828d4a29f911bc26b3ea79c5b1217f", size = 324453, upload-time = "2026-03-23T09:35:21.368Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/ff/ca9ab2417fa913d75aae38bf40bf856bb2749a604b2e0f701b37cfcd23cc/google_cloud_storage-3.10.1-py3-none-any.whl", hash = "sha256:a72f656759b7b99bda700f901adcb3425a828d4a29f911bc26b3ea79c5b1217f" }, ] [[package]] name = "google-cloud-storage-control" version = "1.11.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"] }, { name = "google-auth" }, @@ -1287,68 +1287,68 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/da/4d/f36795a1cb37562caaf7fa9367ed34af29a09fd28ccda36f2f62c686de8f/google_cloud_storage_control-1.11.0.tar.gz", hash = "sha256:e97a0f3c99bc5ec5a2a770298ca9e8d5feeaa41bb55f2f2d7b36df2b817ee950", size = 117255, upload-time = "2026-03-26T22:18:32.645Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/4d/f36795a1cb37562caaf7fa9367ed34af29a09fd28ccda36f2f62c686de8f/google_cloud_storage_control-1.11.0.tar.gz", hash = "sha256:e97a0f3c99bc5ec5a2a770298ca9e8d5feeaa41bb55f2f2d7b36df2b817ee950" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/aa/4df4066f4883afdae530ad95362f769cd9379fd2fb2d91f819aa7c9bdcc0/google_cloud_storage_control-1.11.0-py3-none-any.whl", hash = "sha256:98d2a3be8ab124ae09c33c1b8e4aadc68597c171c60c33e62666bcc74493f8ee", size = 89728, upload-time = "2026-03-26T22:16:17.2Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/aa/4df4066f4883afdae530ad95362f769cd9379fd2fb2d91f819aa7c9bdcc0/google_cloud_storage_control-1.11.0-py3-none-any.whl", hash = "sha256:98d2a3be8ab124ae09c33c1b8e4aadc68597c171c60c33e62666bcc74493f8ee" }, ] [[package]] name = "google-crc32c" version = "1.8.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/03/41/4b9c02f99e4c5fb477122cd5437403b552873f014616ac1d19ac8221a58d/google_crc32c-1.8.0.tar.gz", hash = "sha256:a428e25fb7691024de47fecfbff7ff957214da51eddded0da0ae0e0f03a2cf79", size = 14192, upload-time = "2025-12-16T00:35:25.142Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/ac/6f7bc93886a823ab545948c2dd48143027b2355ad1944c7cf852b338dc91/google_crc32c-1.8.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0470b8c3d73b5f4e3300165498e4cf25221c7eb37f1159e221d1825b6df8a7ff", size = 31296, upload-time = "2025-12-16T00:19:07.261Z" }, - { url = "https://files.pythonhosted.org/packages/f7/97/a5accde175dee985311d949cfcb1249dcbb290f5ec83c994ea733311948f/google_crc32c-1.8.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:119fcd90c57c89f30040b47c211acee231b25a45d225e3225294386f5d258288", size = 30870, upload-time = "2025-12-16T00:29:17.669Z" }, - { url = "https://files.pythonhosted.org/packages/3d/63/bec827e70b7a0d4094e7476f863c0dbd6b5f0f1f91d9c9b32b76dcdfeb4e/google_crc32c-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6f35aaffc8ccd81ba3162443fabb920e65b1f20ab1952a31b13173a67811467d", size = 33214, upload-time = "2025-12-16T00:40:19.618Z" }, - { url = "https://files.pythonhosted.org/packages/63/bc/11b70614df04c289128d782efc084b9035ef8466b3d0a8757c1b6f5cf7ac/google_crc32c-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:864abafe7d6e2c4c66395c1eb0fe12dc891879769b52a3d56499612ca93b6092", size = 33589, upload-time = "2025-12-16T00:40:20.7Z" }, - { url = "https://files.pythonhosted.org/packages/3e/00/a08a4bc24f1261cc5b0f47312d8aebfbe4b53c2e6307f1b595605eed246b/google_crc32c-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:db3fe8eaf0612fc8b20fa21a5f25bd785bc3cd5be69f8f3412b0ac2ffd49e733", size = 34437, upload-time = "2025-12-16T00:35:19.437Z" }, - { url = "https://files.pythonhosted.org/packages/5d/ef/21ccfaab3d5078d41efe8612e0ed0bfc9ce22475de074162a91a25f7980d/google_crc32c-1.8.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:014a7e68d623e9a4222d663931febc3033c5c7c9730785727de2a81f87d5bab8", size = 31298, upload-time = "2025-12-16T00:20:32.241Z" }, - { url = "https://files.pythonhosted.org/packages/c5/b8/f8413d3f4b676136e965e764ceedec904fe38ae8de0cdc52a12d8eb1096e/google_crc32c-1.8.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:86cfc00fe45a0ac7359e5214a1704e51a99e757d0272554874f419f79838c5f7", size = 30872, upload-time = "2025-12-16T00:33:58.785Z" }, - { url = "https://files.pythonhosted.org/packages/f6/fd/33aa4ec62b290477181c55bb1c9302c9698c58c0ce9a6ab4874abc8b0d60/google_crc32c-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:19b40d637a54cb71e0829179f6cb41835f0fbd9e8eb60552152a8b52c36cbe15", size = 33243, upload-time = "2025-12-16T00:40:21.46Z" }, - { url = "https://files.pythonhosted.org/packages/71/03/4820b3bd99c9653d1a5210cb32f9ba4da9681619b4d35b6a052432df4773/google_crc32c-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:17446feb05abddc187e5441a45971b8394ea4c1b6efd88ab0af393fd9e0a156a", size = 33608, upload-time = "2025-12-16T00:40:22.204Z" }, - { url = "https://files.pythonhosted.org/packages/7c/43/acf61476a11437bf9733fb2f70599b1ced11ec7ed9ea760fdd9a77d0c619/google_crc32c-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:71734788a88f551fbd6a97be9668a0020698e07b2bf5b3aa26a36c10cdfb27b2", size = 34439, upload-time = "2025-12-16T00:35:20.458Z" }, - { url = "https://files.pythonhosted.org/packages/e9/5f/7307325b1198b59324c0fa9807cafb551afb65e831699f2ce211ad5c8240/google_crc32c-1.8.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:4b8286b659c1335172e39563ab0a768b8015e88e08329fa5321f774275fc3113", size = 31300, upload-time = "2025-12-16T00:21:56.723Z" }, - { url = "https://files.pythonhosted.org/packages/21/8e/58c0d5d86e2220e6a37befe7e6a94dd2f6006044b1a33edf1ff6d9f7e319/google_crc32c-1.8.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:2a3dc3318507de089c5384cc74d54318401410f82aa65b2d9cdde9d297aca7cb", size = 30867, upload-time = "2025-12-16T00:38:31.302Z" }, - { url = "https://files.pythonhosted.org/packages/ce/a9/a780cc66f86335a6019f557a8aaca8fbb970728f0efd2430d15ff1beae0e/google_crc32c-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:14f87e04d613dfa218d6135e81b78272c3b904e2a7053b841481b38a7d901411", size = 33364, upload-time = "2025-12-16T00:40:22.96Z" }, - { url = "https://files.pythonhosted.org/packages/21/3f/3457ea803db0198c9aaca2dd373750972ce28a26f00544b6b85088811939/google_crc32c-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cb5c869c2923d56cb0c8e6bcdd73c009c36ae39b652dbe46a05eb4ef0ad01454", size = 33740, upload-time = "2025-12-16T00:40:23.96Z" }, - { url = "https://files.pythonhosted.org/packages/df/c0/87c2073e0c72515bb8733d4eef7b21548e8d189f094b5dad20b0ecaf64f6/google_crc32c-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:3cc0c8912038065eafa603b238abf252e204accab2a704c63b9e14837a854962", size = 34437, upload-time = "2025-12-16T00:35:21.395Z" }, - { url = "https://files.pythonhosted.org/packages/d1/db/000f15b41724589b0e7bc24bc7a8967898d8d3bc8caf64c513d91ef1f6c0/google_crc32c-1.8.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:3ebb04528e83b2634857f43f9bb8ef5b2bbe7f10f140daeb01b58f972d04736b", size = 31297, upload-time = "2025-12-16T00:23:20.709Z" }, - { url = "https://files.pythonhosted.org/packages/d7/0d/8ebed0c39c53a7e838e2a486da8abb0e52de135f1b376ae2f0b160eb4c1a/google_crc32c-1.8.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:450dc98429d3e33ed2926fc99ee81001928d63460f8538f21a5d6060912a8e27", size = 30867, upload-time = "2025-12-16T00:43:14.628Z" }, - { url = "https://files.pythonhosted.org/packages/ce/42/b468aec74a0354b34c8cbf748db20d6e350a68a2b0912e128cabee49806c/google_crc32c-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3b9776774b24ba76831609ffbabce8cdf6fa2bd5e9df37b594221c7e333a81fa", size = 33344, upload-time = "2025-12-16T00:40:24.742Z" }, - { url = "https://files.pythonhosted.org/packages/1c/e8/b33784d6fc77fb5062a8a7854e43e1e618b87d5ddf610a88025e4de6226e/google_crc32c-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:89c17d53d75562edfff86679244830599ee0a48efc216200691de8b02ab6b2b8", size = 33694, upload-time = "2025-12-16T00:40:25.505Z" }, - { url = "https://files.pythonhosted.org/packages/92/b1/d3cbd4d988afb3d8e4db94ca953df429ed6db7282ed0e700d25e6c7bfc8d/google_crc32c-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:57a50a9035b75643996fbf224d6661e386c7162d1dfdab9bc4ca790947d1007f", size = 34435, upload-time = "2025-12-16T00:35:22.107Z" }, - { url = "https://files.pythonhosted.org/packages/21/88/8ecf3c2b864a490b9e7010c84fd203ec8cf3b280651106a3a74dd1b0ca72/google_crc32c-1.8.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:e6584b12cb06796d285d09e33f63309a09368b9d806a551d8036a4207ea43697", size = 31301, upload-time = "2025-12-16T00:24:48.527Z" }, - { url = "https://files.pythonhosted.org/packages/36/c6/f7ff6c11f5ca215d9f43d3629163727a272eabc356e5c9b2853df2bfe965/google_crc32c-1.8.0-cp314-cp314-macosx_12_0_x86_64.whl", hash = "sha256:f4b51844ef67d6cf2e9425983274da75f18b1597bb2c998e1c0a0e8d46f8f651", size = 30868, upload-time = "2025-12-16T00:48:12.163Z" }, - { url = "https://files.pythonhosted.org/packages/56/15/c25671c7aad70f8179d858c55a6ae8404902abe0cdcf32a29d581792b491/google_crc32c-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b0d1a7afc6e8e4635564ba8aa5c0548e3173e41b6384d7711a9123165f582de2", size = 33381, upload-time = "2025-12-16T00:40:26.268Z" }, - { url = "https://files.pythonhosted.org/packages/42/fa/f50f51260d7b0ef5d4898af122d8a7ec5a84e2984f676f746445f783705f/google_crc32c-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b3f68782f3cbd1bce027e48768293072813469af6a61a86f6bb4977a4380f21", size = 33734, upload-time = "2025-12-16T00:40:27.028Z" }, - { url = "https://files.pythonhosted.org/packages/08/a5/7b059810934a09fb3ccb657e0843813c1fee1183d3bc2c8041800374aa2c/google_crc32c-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:d511b3153e7011a27ab6ee6bb3a5404a55b994dc1a7322c0b87b29606d9790e2", size = 34878, upload-time = "2025-12-16T00:35:23.142Z" }, - { url = "https://files.pythonhosted.org/packages/52/c5/c171e4d8c44fec1422d801a6d2e5d7ddabd733eeda505c79730ee9607f07/google_crc32c-1.8.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:87fa445064e7db928226b2e6f0d5304ab4cd0339e664a4e9a25029f384d9bb93", size = 28615, upload-time = "2025-12-16T00:40:29.298Z" }, - { url = "https://files.pythonhosted.org/packages/9c/97/7d75fe37a7a6ed171a2cf17117177e7aab7e6e0d115858741b41e9dd4254/google_crc32c-1.8.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f639065ea2042d5c034bf258a9f085eaa7af0cd250667c0635a3118e8f92c69c", size = 28800, upload-time = "2025-12-16T00:40:30.322Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/41/4b9c02f99e4c5fb477122cd5437403b552873f014616ac1d19ac8221a58d/google_crc32c-1.8.0.tar.gz", hash = "sha256:a428e25fb7691024de47fecfbff7ff957214da51eddded0da0ae0e0f03a2cf79" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/ac/6f7bc93886a823ab545948c2dd48143027b2355ad1944c7cf852b338dc91/google_crc32c-1.8.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0470b8c3d73b5f4e3300165498e4cf25221c7eb37f1159e221d1825b6df8a7ff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/97/a5accde175dee985311d949cfcb1249dcbb290f5ec83c994ea733311948f/google_crc32c-1.8.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:119fcd90c57c89f30040b47c211acee231b25a45d225e3225294386f5d258288" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/63/bec827e70b7a0d4094e7476f863c0dbd6b5f0f1f91d9c9b32b76dcdfeb4e/google_crc32c-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6f35aaffc8ccd81ba3162443fabb920e65b1f20ab1952a31b13173a67811467d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/bc/11b70614df04c289128d782efc084b9035ef8466b3d0a8757c1b6f5cf7ac/google_crc32c-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:864abafe7d6e2c4c66395c1eb0fe12dc891879769b52a3d56499612ca93b6092" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/00/a08a4bc24f1261cc5b0f47312d8aebfbe4b53c2e6307f1b595605eed246b/google_crc32c-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:db3fe8eaf0612fc8b20fa21a5f25bd785bc3cd5be69f8f3412b0ac2ffd49e733" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/ef/21ccfaab3d5078d41efe8612e0ed0bfc9ce22475de074162a91a25f7980d/google_crc32c-1.8.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:014a7e68d623e9a4222d663931febc3033c5c7c9730785727de2a81f87d5bab8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/b8/f8413d3f4b676136e965e764ceedec904fe38ae8de0cdc52a12d8eb1096e/google_crc32c-1.8.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:86cfc00fe45a0ac7359e5214a1704e51a99e757d0272554874f419f79838c5f7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/fd/33aa4ec62b290477181c55bb1c9302c9698c58c0ce9a6ab4874abc8b0d60/google_crc32c-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:19b40d637a54cb71e0829179f6cb41835f0fbd9e8eb60552152a8b52c36cbe15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/03/4820b3bd99c9653d1a5210cb32f9ba4da9681619b4d35b6a052432df4773/google_crc32c-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:17446feb05abddc187e5441a45971b8394ea4c1b6efd88ab0af393fd9e0a156a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/43/acf61476a11437bf9733fb2f70599b1ced11ec7ed9ea760fdd9a77d0c619/google_crc32c-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:71734788a88f551fbd6a97be9668a0020698e07b2bf5b3aa26a36c10cdfb27b2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/5f/7307325b1198b59324c0fa9807cafb551afb65e831699f2ce211ad5c8240/google_crc32c-1.8.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:4b8286b659c1335172e39563ab0a768b8015e88e08329fa5321f774275fc3113" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/8e/58c0d5d86e2220e6a37befe7e6a94dd2f6006044b1a33edf1ff6d9f7e319/google_crc32c-1.8.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:2a3dc3318507de089c5384cc74d54318401410f82aa65b2d9cdde9d297aca7cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/a9/a780cc66f86335a6019f557a8aaca8fbb970728f0efd2430d15ff1beae0e/google_crc32c-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:14f87e04d613dfa218d6135e81b78272c3b904e2a7053b841481b38a7d901411" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/3f/3457ea803db0198c9aaca2dd373750972ce28a26f00544b6b85088811939/google_crc32c-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cb5c869c2923d56cb0c8e6bcdd73c009c36ae39b652dbe46a05eb4ef0ad01454" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/c0/87c2073e0c72515bb8733d4eef7b21548e8d189f094b5dad20b0ecaf64f6/google_crc32c-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:3cc0c8912038065eafa603b238abf252e204accab2a704c63b9e14837a854962" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/db/000f15b41724589b0e7bc24bc7a8967898d8d3bc8caf64c513d91ef1f6c0/google_crc32c-1.8.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:3ebb04528e83b2634857f43f9bb8ef5b2bbe7f10f140daeb01b58f972d04736b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/0d/8ebed0c39c53a7e838e2a486da8abb0e52de135f1b376ae2f0b160eb4c1a/google_crc32c-1.8.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:450dc98429d3e33ed2926fc99ee81001928d63460f8538f21a5d6060912a8e27" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/42/b468aec74a0354b34c8cbf748db20d6e350a68a2b0912e128cabee49806c/google_crc32c-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3b9776774b24ba76831609ffbabce8cdf6fa2bd5e9df37b594221c7e333a81fa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/e8/b33784d6fc77fb5062a8a7854e43e1e618b87d5ddf610a88025e4de6226e/google_crc32c-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:89c17d53d75562edfff86679244830599ee0a48efc216200691de8b02ab6b2b8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/b1/d3cbd4d988afb3d8e4db94ca953df429ed6db7282ed0e700d25e6c7bfc8d/google_crc32c-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:57a50a9035b75643996fbf224d6661e386c7162d1dfdab9bc4ca790947d1007f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/88/8ecf3c2b864a490b9e7010c84fd203ec8cf3b280651106a3a74dd1b0ca72/google_crc32c-1.8.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:e6584b12cb06796d285d09e33f63309a09368b9d806a551d8036a4207ea43697" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/c6/f7ff6c11f5ca215d9f43d3629163727a272eabc356e5c9b2853df2bfe965/google_crc32c-1.8.0-cp314-cp314-macosx_12_0_x86_64.whl", hash = "sha256:f4b51844ef67d6cf2e9425983274da75f18b1597bb2c998e1c0a0e8d46f8f651" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/15/c25671c7aad70f8179d858c55a6ae8404902abe0cdcf32a29d581792b491/google_crc32c-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b0d1a7afc6e8e4635564ba8aa5c0548e3173e41b6384d7711a9123165f582de2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/fa/f50f51260d7b0ef5d4898af122d8a7ec5a84e2984f676f746445f783705f/google_crc32c-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b3f68782f3cbd1bce027e48768293072813469af6a61a86f6bb4977a4380f21" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/08/a5/7b059810934a09fb3ccb657e0843813c1fee1183d3bc2c8041800374aa2c/google_crc32c-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:d511b3153e7011a27ab6ee6bb3a5404a55b994dc1a7322c0b87b29606d9790e2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/c5/c171e4d8c44fec1422d801a6d2e5d7ddabd733eeda505c79730ee9607f07/google_crc32c-1.8.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:87fa445064e7db928226b2e6f0d5304ab4cd0339e664a4e9a25029f384d9bb93" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/97/7d75fe37a7a6ed171a2cf17117177e7aab7e6e0d115858741b41e9dd4254/google_crc32c-1.8.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f639065ea2042d5c034bf258a9f085eaa7af0cd250667c0635a3118e8f92c69c" }, ] [[package]] name = "google-resumable-media" version = "2.9.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "google-crc32c" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/4b/0b235beccc310d0a48adbc7246b719d173cca6c88c572dfa4b090e39143c/google_resumable_media-2.9.0.tar.gz", hash = "sha256:f7cfb224846a9dd444d125115dfbe8ef02a2b893e78f087762fe716a255a734b", size = 2164534, upload-time = "2026-05-07T08:04:44.236Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/4b/0b235beccc310d0a48adbc7246b719d173cca6c88c572dfa4b090e39143c/google_resumable_media-2.9.0.tar.gz", hash = "sha256:f7cfb224846a9dd444d125115dfbe8ef02a2b893e78f087762fe716a255a734b" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/73/3518e63deb1667c5409a4579e28daf5e84479a87a72c547e0487f7883dcd/google_resumable_media-2.9.0-py3-none-any.whl", hash = "sha256:c8901e88e389af8bed64d9696c74d8bad961865eb2236e13e0bfca9bb0a65ca3", size = 81507, upload-time = "2026-05-07T08:03:23.809Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/73/3518e63deb1667c5409a4579e28daf5e84479a87a72c547e0487f7883dcd/google_resumable_media-2.9.0-py3-none-any.whl", hash = "sha256:c8901e88e389af8bed64d9696c74d8bad961865eb2236e13e0bfca9bb0a65ca3" }, ] [[package]] name = "googleapis-common-protos" version = "1.75.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b5/c8/f439cffde755cffa462bfbb156278fa6f9d09119719af9814b858fd4f81f/googleapis_common_protos-1.75.0.tar.gz", hash = "sha256:53a062ff3c32552fbd62c11fe23768b78e4ddf0494d5e5fd97d3f4689c75fbbd", size = 151035, upload-time = "2026-05-07T08:04:49.423Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/c8/f439cffde755cffa462bfbb156278fa6f9d09119719af9814b858fd4f81f/googleapis_common_protos-1.75.0.tar.gz", hash = "sha256:53a062ff3c32552fbd62c11fe23768b78e4ddf0494d5e5fd97d3f4689c75fbbd" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/c8/e2645aa8ed02fd4c7a2f59d68783b65b1f3cbdfe39a6308e156509d1fee8/googleapis_common_protos-1.75.0-py3-none-any.whl", hash = "sha256:961ed60399c457ceb0ee8f285a84c870aabc9c6a832b9d37bb281b5bebde43ed", size = 300631, upload-time = "2026-05-07T08:03:30.345Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/c8/e2645aa8ed02fd4c7a2f59d68783b65b1f3cbdfe39a6308e156509d1fee8/googleapis_common_protos-1.75.0-py3-none-any.whl", hash = "sha256:961ed60399c457ceb0ee8f285a84c870aabc9c6a832b9d37bb281b5bebde43ed" }, ] [package.optional-dependencies] @@ -1359,163 +1359,163 @@ grpc = [ [[package]] name = "griffe-inherited-docstrings" version = "1.1.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "griffelib" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cb/da/fd002dc5f215cd896bfccaebe8b4aa1cdeed8ea1d9d60633685bd61ff933/griffe_inherited_docstrings-1.1.3.tar.gz", hash = "sha256:cd1f937ec9336a790e5425e7f9b92f5a5ab17f292ba86917f1c681c0704cb64e", size = 26738, upload-time = "2026-02-21T09:38:44.312Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/da/fd002dc5f215cd896bfccaebe8b4aa1cdeed8ea1d9d60633685bd61ff933/griffe_inherited_docstrings-1.1.3.tar.gz", hash = "sha256:cd1f937ec9336a790e5425e7f9b92f5a5ab17f292ba86917f1c681c0704cb64e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/16/20/4bc15f242181daad1c104e0a7d33be49e712461ea89e548152be0365b9ea/griffe_inherited_docstrings-1.1.3-py3-none-any.whl", hash = "sha256:aa7f6e624515c50d9325a5cfdf4b2acac547f1889aca89092d5da7278f739695", size = 6710, upload-time = "2026-02-20T11:06:38.75Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/20/4bc15f242181daad1c104e0a7d33be49e712461ea89e548152be0365b9ea/griffe_inherited_docstrings-1.1.3-py3-none-any.whl", hash = "sha256:aa7f6e624515c50d9325a5cfdf4b2acac547f1889aca89092d5da7278f739695" }, ] [[package]] name = "griffelib" version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9d/82/74f4a3310cdabfbb10da554c3a672847f1ed33c6f61dd472681ce7f1fe67/griffelib-2.0.2.tar.gz", hash = "sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e", size = 166461, upload-time = "2026-03-27T11:34:51.091Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/82/74f4a3310cdabfbb10da554c3a672847f1ed33c6f61dd472681ce7f1fe67/griffelib-2.0.2.tar.gz", hash = "sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/8c/c9138d881c79aa0ea9ed83cbd58d5ca75624378b38cee225dcf5c42cc91f/griffelib-2.0.2-py3-none-any.whl", hash = "sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1", size = 142357, upload-time = "2026-03-27T11:34:46.275Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/8c/c9138d881c79aa0ea9ed83cbd58d5ca75624378b38cee225dcf5c42cc91f/griffelib-2.0.2-py3-none-any.whl", hash = "sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1" }, ] [[package]] name = "grpc-google-iam-v1" version = "0.14.4" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "googleapis-common-protos", extra = ["grpc"] }, { name = "grpcio" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/44/4f/d098419ad0bfc06c9ce440575f05aa22d8973b6c276e86ac7890093d3c37/grpc_google_iam_v1-0.14.4.tar.gz", hash = "sha256:392b3796947ed6334e61171d9ab06bf7eb357f554e5fc7556ad7aab6d0e17038", size = 23706, upload-time = "2026-04-01T01:57:49.813Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/4f/d098419ad0bfc06c9ce440575f05aa22d8973b6c276e86ac7890093d3c37/grpc_google_iam_v1-0.14.4.tar.gz", hash = "sha256:392b3796947ed6334e61171d9ab06bf7eb357f554e5fc7556ad7aab6d0e17038" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/22/c2dd50c09bf679bd38173656cd4402d2511e563b33bc88f90009cf50613c/grpc_google_iam_v1-0.14.4-py3-none-any.whl", hash = "sha256:412facc320fcbd94034b4df3d557662051d4d8adfa86e0ddb4dca70a3f739964", size = 32675, upload-time = "2026-04-01T01:57:47.69Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/22/c2dd50c09bf679bd38173656cd4402d2511e563b33bc88f90009cf50613c/grpc_google_iam_v1-0.14.4-py3-none-any.whl", hash = "sha256:412facc320fcbd94034b4df3d557662051d4d8adfa86e0ddb4dca70a3f739964" }, ] [[package]] name = "grpcio" version = "1.80.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b7/48/af6173dbca4454f4637a4678b67f52ca7e0c1ed7d5894d89d434fecede05/grpcio-1.80.0.tar.gz", hash = "sha256:29aca15edd0688c22ba01d7cc01cb000d72b2033f4a3c72a81a19b56fd143257", size = 12978905, upload-time = "2026-03-30T08:49:10.502Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/cd/bb7b7e54084a344c03d68144450da7ddd5564e51a298ae1662de65f48e2d/grpcio-1.80.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:886457a7768e408cdce226ad1ca67d2958917d306523a0e21e1a2fdaa75c9c9c", size = 6050363, upload-time = "2026-03-30T08:46:20.894Z" }, - { url = "https://files.pythonhosted.org/packages/16/02/1417f5c3460dea65f7a2e3c14e8b31e77f7ffb730e9bfadd89eda7a9f477/grpcio-1.80.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:7b641fc3f1dc647bfd80bd713addc68f6d145956f64677e56d9ebafc0bd72388", size = 12026037, upload-time = "2026-03-30T08:46:25.144Z" }, - { url = "https://files.pythonhosted.org/packages/43/98/c910254eedf2cae368d78336a2de0678e66a7317d27c02522392f949b5c6/grpcio-1.80.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:33eb763f18f006dc7fee1e69831d38d23f5eccd15b2e0f92a13ee1d9242e5e02", size = 6602306, upload-time = "2026-03-30T08:46:27.593Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f8/88ca4e78c077b2b2113d95da1e1ab43efd43d723c9a0397d26529c2c1a56/grpcio-1.80.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:52d143637e3872633fc7dd7c3c6a1c84e396b359f3a72e215f8bf69fd82084fc", size = 7301535, upload-time = "2026-03-30T08:46:29.556Z" }, - { url = "https://files.pythonhosted.org/packages/f9/96/f28660fe2fe0f153288bf4a04e4910b7309d442395135c88ed4f5b3b8b40/grpcio-1.80.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c51bf8ac4575af2e0678bccfb07e47321fc7acb5049b4482832c5c195e04e13a", size = 6808669, upload-time = "2026-03-30T08:46:31.984Z" }, - { url = "https://files.pythonhosted.org/packages/47/eb/3f68a5e955779c00aeef23850e019c1c1d0e032d90633ba49c01ad5a96e0/grpcio-1.80.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:50a9871536d71c4fba24ee856abc03a87764570f0c457dd8db0b4018f379fed9", size = 7409489, upload-time = "2026-03-30T08:46:34.684Z" }, - { url = "https://files.pythonhosted.org/packages/5b/a7/d2f681a4bfb881be40659a309771f3bdfbfdb1190619442816c3f0ffc079/grpcio-1.80.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a72d84ad0514db063e21887fbacd1fd7acb4d494a564cae22227cd45c7fbf199", size = 8423167, upload-time = "2026-03-30T08:46:36.833Z" }, - { url = "https://files.pythonhosted.org/packages/97/8a/29b4589c204959aa35ce5708400a05bba72181807c45c47b3ec000c39333/grpcio-1.80.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f7691a6788ad9196872f95716df5bc643ebba13c97140b7a5ee5c8e75d1dea81", size = 7846761, upload-time = "2026-03-30T08:46:40.091Z" }, - { url = "https://files.pythonhosted.org/packages/6b/d2/ed143e097230ee121ac5848f6ff14372dba91289b10b536d54fb1b7cbae7/grpcio-1.80.0-cp310-cp310-win32.whl", hash = "sha256:46c2390b59d67f84e882694d489f5b45707c657832d7934859ceb8c33f467069", size = 4156534, upload-time = "2026-03-30T08:46:42.026Z" }, - { url = "https://files.pythonhosted.org/packages/d5/c9/df8279bb49b29409995e95efa85b72973d62f8aeff89abee58c91f393710/grpcio-1.80.0-cp310-cp310-win_amd64.whl", hash = "sha256:dc053420fc75749c961e2a4c906398d7c15725d36ccc04ae6d16093167223b58", size = 4889869, upload-time = "2026-03-30T08:46:44.219Z" }, - { url = "https://files.pythonhosted.org/packages/5d/db/1d56e5f5823257b291962d6c0ce106146c6447f405b60b234c4f222a7cde/grpcio-1.80.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:dfab85db094068ff42e2a3563f60ab3dddcc9d6488a35abf0132daec13209c8a", size = 6055009, upload-time = "2026-03-30T08:46:46.265Z" }, - { url = "https://files.pythonhosted.org/packages/6e/18/c83f3cad64c5ca63bca7e91e5e46b0d026afc5af9d0a9972472ceba294b3/grpcio-1.80.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:5c07e82e822e1161354e32da2662f741a4944ea955f9f580ec8fb409dd6f6060", size = 12035295, upload-time = "2026-03-30T08:46:49.099Z" }, - { url = "https://files.pythonhosted.org/packages/0f/8e/e14966b435be2dda99fbe89db9525ea436edc79780431a1c2875a3582644/grpcio-1.80.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba0915d51fd4ced2db5ff719f84e270afe0e2d4c45a7bdb1e8d036e4502928c2", size = 6610297, upload-time = "2026-03-30T08:46:52.123Z" }, - { url = "https://files.pythonhosted.org/packages/cc/26/d5eb38f42ce0e3fdc8174ea4d52036ef8d58cc4426cb800f2610f625dd75/grpcio-1.80.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3cb8130ba457d2aa09fa6b7c3ed6b6e4e6a2685fce63cb803d479576c4d80e21", size = 7300208, upload-time = "2026-03-30T08:46:54.859Z" }, - { url = "https://files.pythonhosted.org/packages/25/51/bd267c989f85a17a5b3eea65a6feb4ff672af41ca614e5a0279cc0ea381c/grpcio-1.80.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:09e5e478b3d14afd23f12e49e8b44c8684ac3c5f08561c43a5b9691c54d136ab", size = 6813442, upload-time = "2026-03-30T08:46:57.056Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d9/d80eef735b19e9169e30164bbf889b46f9df9127598a83d174eb13a48b26/grpcio-1.80.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:00168469238b022500e486c1c33916acf2f2a9b2c022202cf8a1885d2e3073c1", size = 7414743, upload-time = "2026-03-30T08:46:59.682Z" }, - { url = "https://files.pythonhosted.org/packages/de/f2/567f5bd5054398ed6b0509b9a30900376dcf2786bd936812098808b49d8d/grpcio-1.80.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8502122a3cc1714038e39a0b071acb1207ca7844208d5ea0d091317555ee7106", size = 8426046, upload-time = "2026-03-30T08:47:02.474Z" }, - { url = "https://files.pythonhosted.org/packages/62/29/73ef0141b4732ff5eacd68430ff2512a65c004696997f70476a83e548e7e/grpcio-1.80.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce1794f4ea6cc3ca29463f42d665c32ba1b964b48958a66497917fe9069f26e6", size = 7851641, upload-time = "2026-03-30T08:47:05.462Z" }, - { url = "https://files.pythonhosted.org/packages/46/69/abbfa360eb229a8623bab5f5a4f8105e445bd38ce81a89514ba55d281ad0/grpcio-1.80.0-cp311-cp311-win32.whl", hash = "sha256:51b4a7189b0bef2aa30adce3c78f09c83526cf3dddb24c6a96555e3b97340440", size = 4154368, upload-time = "2026-03-30T08:47:08.027Z" }, - { url = "https://files.pythonhosted.org/packages/6f/d4/ae92206d01183b08613e846076115f5ac5991bae358d2a749fa864da5699/grpcio-1.80.0-cp311-cp311-win_amd64.whl", hash = "sha256:02e64bb0bb2da14d947a49e6f120a75e947250aebe65f9629b62bb1f5c14e6e9", size = 4894235, upload-time = "2026-03-30T08:47:10.839Z" }, - { url = "https://files.pythonhosted.org/packages/5c/e8/a2b749265eb3415abc94f2e619bbd9e9707bebdda787e61c593004ec927a/grpcio-1.80.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:c624cc9f1008361014378c9d776de7182b11fe8b2e5a81bc69f23a295f2a1ad0", size = 6015616, upload-time = "2026-03-30T08:47:13.428Z" }, - { url = "https://files.pythonhosted.org/packages/3e/97/b1282161a15d699d1e90c360df18d19165a045ce1c343c7f313f5e8a0b77/grpcio-1.80.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:f49eddcac43c3bf350c0385366a58f36bed8cc2c0ec35ef7b74b49e56552c0c2", size = 12014204, upload-time = "2026-03-30T08:47:15.873Z" }, - { url = "https://files.pythonhosted.org/packages/6e/5e/d319c6e997b50c155ac5a8cb12f5173d5b42677510e886d250d50264949d/grpcio-1.80.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d334591df610ab94714048e0d5b4f3dd5ad1bee74dfec11eee344220077a79de", size = 6563866, upload-time = "2026-03-30T08:47:18.588Z" }, - { url = "https://files.pythonhosted.org/packages/ae/f6/fdd975a2cb4d78eb67769a7b3b3830970bfa2e919f1decf724ae4445f42c/grpcio-1.80.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0cb517eb1d0d0aaf1d87af7cc5b801d686557c1d88b2619f5e31fab3c2315921", size = 7273060, upload-time = "2026-03-30T08:47:21.113Z" }, - { url = "https://files.pythonhosted.org/packages/db/f0/a3deb5feba60d9538a962913e37bd2e69a195f1c3376a3dd44fe0427e996/grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e78c4ac0d97dc2e569b2f4bcbbb447491167cb358d1a389fc4af71ab6f70411", size = 6782121, upload-time = "2026-03-30T08:47:23.827Z" }, - { url = "https://files.pythonhosted.org/packages/ca/84/36c6dcfddc093e108141f757c407902a05085e0c328007cb090d56646cdf/grpcio-1.80.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2ed770b4c06984f3b47eb0517b1c69ad0b84ef3f40128f51448433be904634cd", size = 7383811, upload-time = "2026-03-30T08:47:26.517Z" }, - { url = "https://files.pythonhosted.org/packages/7c/ef/f3a77e3dc5b471a0ec86c564c98d6adfa3510d38f8ee99010410858d591e/grpcio-1.80.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:256507e2f524092f1473071a05e65a5b10d84b82e3ff24c5b571513cfaa61e2f", size = 8393860, upload-time = "2026-03-30T08:47:29.439Z" }, - { url = "https://files.pythonhosted.org/packages/9b/8d/9d4d27ed7f33d109c50d6b5ce578a9914aa68edab75d65869a17e630a8d1/grpcio-1.80.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a6284a5d907c37db53350645567c522be314bac859a64a7a5ca63b77bb7958f", size = 7830132, upload-time = "2026-03-30T08:47:33.254Z" }, - { url = "https://files.pythonhosted.org/packages/14/e4/9990b41c6d7a44e1e9dee8ac11d7a9802ba1378b40d77468a7761d1ad288/grpcio-1.80.0-cp312-cp312-win32.whl", hash = "sha256:c71309cfce2f22be26aa4a847357c502db6c621f1a49825ae98aa0907595b193", size = 4140904, upload-time = "2026-03-30T08:47:35.319Z" }, - { url = "https://files.pythonhosted.org/packages/2f/2c/296f6138caca1f4b92a31ace4ae1b87dab692fc16a7a3417af3bb3c805bf/grpcio-1.80.0-cp312-cp312-win_amd64.whl", hash = "sha256:9fe648599c0e37594c4809d81a9e77bd138cc82eb8baa71b6a86af65426723ff", size = 4880944, upload-time = "2026-03-30T08:47:37.831Z" }, - { url = "https://files.pythonhosted.org/packages/2f/3a/7c3c25789e3f069e581dc342e03613c5b1cb012c4e8c7d9d5cf960a75856/grpcio-1.80.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:e9e408fc016dffd20661f0126c53d8a31c2821b5c13c5d67a0f5ed5de93319ad", size = 6017243, upload-time = "2026-03-30T08:47:40.075Z" }, - { url = "https://files.pythonhosted.org/packages/04/19/21a9806eb8240e174fd1ab0cd5b9aa948bb0e05c2f2f55f9d5d7405e6d08/grpcio-1.80.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:92d787312e613754d4d8b9ca6d3297e69994a7912a32fa38c4c4e01c272974b0", size = 12010840, upload-time = "2026-03-30T08:47:43.11Z" }, - { url = "https://files.pythonhosted.org/packages/18/3a/23347d35f76f639e807fb7a36fad3068aed100996849a33809591f26eca6/grpcio-1.80.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac393b58aa16991a2f1144ec578084d544038c12242da3a215966b512904d0f", size = 6567644, upload-time = "2026-03-30T08:47:46.806Z" }, - { url = "https://files.pythonhosted.org/packages/ff/40/96e07ecb604a6a67ae6ab151e3e35b132875d98bc68ec65f3e5ab3e781d7/grpcio-1.80.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:68e5851ac4b9afe07e7f84483803ad167852570d65326b34d54ca560bfa53fb6", size = 7277830, upload-time = "2026-03-30T08:47:49.643Z" }, - { url = "https://files.pythonhosted.org/packages/9b/e2/da1506ecea1f34a5e365964644b35edef53803052b763ca214ba3870c856/grpcio-1.80.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:873ff5d17d68992ef6605330127425d2fc4e77e612fa3c3e0ed4e668685e3140", size = 6783216, upload-time = "2026-03-30T08:47:52.817Z" }, - { url = "https://files.pythonhosted.org/packages/44/83/3b20ff58d0c3b7f6caaa3af9a4174d4023701df40a3f39f7f1c8e7c48f9d/grpcio-1.80.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2bea16af2750fd0a899bf1abd9022244418b55d1f37da2202249ba4ba673838d", size = 7385866, upload-time = "2026-03-30T08:47:55.687Z" }, - { url = "https://files.pythonhosted.org/packages/47/45/55c507599c5520416de5eefecc927d6a0d7af55e91cfffb2e410607e5744/grpcio-1.80.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba0db34f7e1d803a878284cd70e4c63cb6ae2510ba51937bf8f45ba997cefcf7", size = 8391602, upload-time = "2026-03-30T08:47:58.303Z" }, - { url = "https://files.pythonhosted.org/packages/10/bb/dd06f4c24c01db9cf11341b547d0a016b2c90ed7dbbb086a5710df7dd1d7/grpcio-1.80.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8eb613f02d34721f1acf3626dfdb3545bd3c8505b0e52bf8b5710a28d02e8aa7", size = 7826752, upload-time = "2026-03-30T08:48:01.311Z" }, - { url = "https://files.pythonhosted.org/packages/f9/1e/9d67992ba23371fd63d4527096eb8c6b76d74d52b500df992a3343fd7251/grpcio-1.80.0-cp313-cp313-win32.whl", hash = "sha256:93b6f823810720912fd131f561f91f5fed0fda372b6b7028a2681b8194d5d294", size = 4142310, upload-time = "2026-03-30T08:48:04.594Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e6/283326a27da9e2c3038bc93eeea36fb118ce0b2d03922a9cda6688f53c5b/grpcio-1.80.0-cp313-cp313-win_amd64.whl", hash = "sha256:e172cf795a3ba5246d3529e4d34c53db70e888fa582a8ffebd2e6e48bc0cba50", size = 4882833, upload-time = "2026-03-30T08:48:07.363Z" }, - { url = "https://files.pythonhosted.org/packages/c5/6d/e65307ce20f5a09244ba9e9d8476e99fb039de7154f37fb85f26978b59c3/grpcio-1.80.0-cp314-cp314-linux_armv7l.whl", hash = "sha256:3d4147a97c8344d065d01bbf8b6acec2cf86fb0400d40696c8bdad34a64ffc0e", size = 6017376, upload-time = "2026-03-30T08:48:10.005Z" }, - { url = "https://files.pythonhosted.org/packages/69/10/9cef5d9650c72625a699c549940f0abb3c4bfdb5ed45a5ce431f92f31806/grpcio-1.80.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:d8e11f167935b3eb089ac9038e1a063e6d7dbe995c0bb4a661e614583352e76f", size = 12018133, upload-time = "2026-03-30T08:48:12.927Z" }, - { url = "https://files.pythonhosted.org/packages/04/82/983aabaad82ba26113caceeb9091706a0696b25da004fe3defb5b346e15b/grpcio-1.80.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f14b618fc30de822681ee986cfdcc2d9327229dc4c98aed16896761cacd468b9", size = 6574748, upload-time = "2026-03-30T08:48:16.386Z" }, - { url = "https://files.pythonhosted.org/packages/07/d7/031666ef155aa0bf399ed7e19439656c38bbd143779ae0861b038ce82abd/grpcio-1.80.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4ed39fbdcf9b87370f6e8df4e39ca7b38b3e5e9d1b0013c7b6be9639d6578d14", size = 7277711, upload-time = "2026-03-30T08:48:19.627Z" }, - { url = "https://files.pythonhosted.org/packages/e8/43/f437a78f7f4f1d311804189e8f11fb311a01049b2e08557c1068d470cb2e/grpcio-1.80.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2dcc70e9f0ba987526e8e8603a610fb4f460e42899e74e7a518bf3c68fe1bf05", size = 6785372, upload-time = "2026-03-30T08:48:22.373Z" }, - { url = "https://files.pythonhosted.org/packages/93/3d/f6558e9c6296cb4227faa5c43c54a34c68d32654b829f53288313d16a86e/grpcio-1.80.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:448c884b668b868562b1bda833c5fce6272d26e1926ec46747cda05741d302c1", size = 7395268, upload-time = "2026-03-30T08:48:25.638Z" }, - { url = "https://files.pythonhosted.org/packages/06/21/0fdd77e84720b08843c371a2efa6f2e19dbebf56adc72df73d891f5506f0/grpcio-1.80.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a1dc80fe55685b4a543555e6eef975303b36c8db1023b1599b094b92aa77965f", size = 8392000, upload-time = "2026-03-30T08:48:28.974Z" }, - { url = "https://files.pythonhosted.org/packages/f5/68/67f4947ed55d2e69f2cc199ab9fd85e0a0034d813bbeef84df6d2ba4d4b7/grpcio-1.80.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:31b9ac4ad1aa28ffee5503821fafd09e4da0a261ce1c1281c6c8da0423c83b6e", size = 7828477, upload-time = "2026-03-30T08:48:32.054Z" }, - { url = "https://files.pythonhosted.org/packages/44/b6/8d4096691b2e385e8271911a0de4f35f0a6c7d05aff7098e296c3de86939/grpcio-1.80.0-cp314-cp314-win32.whl", hash = "sha256:367ce30ba67d05e0592470428f0ec1c31714cab9ef19b8f2e37be1f4c7d32fae", size = 4218563, upload-time = "2026-03-30T08:48:34.538Z" }, - { url = "https://files.pythonhosted.org/packages/e5/8c/bbe6baf2557262834f2070cf668515fa308b2d38a4bbf771f8f7872a7036/grpcio-1.80.0-cp314-cp314-win_amd64.whl", hash = "sha256:3b01e1f5464c583d2f567b2e46ff0d516ef979978f72091fd81f5ab7fa6e2e7f", size = 5019457, upload-time = "2026-03-30T08:48:37.308Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/48/af6173dbca4454f4637a4678b67f52ca7e0c1ed7d5894d89d434fecede05/grpcio-1.80.0.tar.gz", hash = "sha256:29aca15edd0688c22ba01d7cc01cb000d72b2033f4a3c72a81a19b56fd143257" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/cd/bb7b7e54084a344c03d68144450da7ddd5564e51a298ae1662de65f48e2d/grpcio-1.80.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:886457a7768e408cdce226ad1ca67d2958917d306523a0e21e1a2fdaa75c9c9c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/02/1417f5c3460dea65f7a2e3c14e8b31e77f7ffb730e9bfadd89eda7a9f477/grpcio-1.80.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:7b641fc3f1dc647bfd80bd713addc68f6d145956f64677e56d9ebafc0bd72388" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/98/c910254eedf2cae368d78336a2de0678e66a7317d27c02522392f949b5c6/grpcio-1.80.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:33eb763f18f006dc7fee1e69831d38d23f5eccd15b2e0f92a13ee1d9242e5e02" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/f8/88ca4e78c077b2b2113d95da1e1ab43efd43d723c9a0397d26529c2c1a56/grpcio-1.80.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:52d143637e3872633fc7dd7c3c6a1c84e396b359f3a72e215f8bf69fd82084fc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/96/f28660fe2fe0f153288bf4a04e4910b7309d442395135c88ed4f5b3b8b40/grpcio-1.80.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c51bf8ac4575af2e0678bccfb07e47321fc7acb5049b4482832c5c195e04e13a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/eb/3f68a5e955779c00aeef23850e019c1c1d0e032d90633ba49c01ad5a96e0/grpcio-1.80.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:50a9871536d71c4fba24ee856abc03a87764570f0c457dd8db0b4018f379fed9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/a7/d2f681a4bfb881be40659a309771f3bdfbfdb1190619442816c3f0ffc079/grpcio-1.80.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a72d84ad0514db063e21887fbacd1fd7acb4d494a564cae22227cd45c7fbf199" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/8a/29b4589c204959aa35ce5708400a05bba72181807c45c47b3ec000c39333/grpcio-1.80.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f7691a6788ad9196872f95716df5bc643ebba13c97140b7a5ee5c8e75d1dea81" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/d2/ed143e097230ee121ac5848f6ff14372dba91289b10b536d54fb1b7cbae7/grpcio-1.80.0-cp310-cp310-win32.whl", hash = "sha256:46c2390b59d67f84e882694d489f5b45707c657832d7934859ceb8c33f467069" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/c9/df8279bb49b29409995e95efa85b72973d62f8aeff89abee58c91f393710/grpcio-1.80.0-cp310-cp310-win_amd64.whl", hash = "sha256:dc053420fc75749c961e2a4c906398d7c15725d36ccc04ae6d16093167223b58" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/db/1d56e5f5823257b291962d6c0ce106146c6447f405b60b234c4f222a7cde/grpcio-1.80.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:dfab85db094068ff42e2a3563f60ab3dddcc9d6488a35abf0132daec13209c8a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/18/c83f3cad64c5ca63bca7e91e5e46b0d026afc5af9d0a9972472ceba294b3/grpcio-1.80.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:5c07e82e822e1161354e32da2662f741a4944ea955f9f580ec8fb409dd6f6060" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/8e/e14966b435be2dda99fbe89db9525ea436edc79780431a1c2875a3582644/grpcio-1.80.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba0915d51fd4ced2db5ff719f84e270afe0e2d4c45a7bdb1e8d036e4502928c2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cc/26/d5eb38f42ce0e3fdc8174ea4d52036ef8d58cc4426cb800f2610f625dd75/grpcio-1.80.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3cb8130ba457d2aa09fa6b7c3ed6b6e4e6a2685fce63cb803d479576c4d80e21" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/51/bd267c989f85a17a5b3eea65a6feb4ff672af41ca614e5a0279cc0ea381c/grpcio-1.80.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:09e5e478b3d14afd23f12e49e8b44c8684ac3c5f08561c43a5b9691c54d136ab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/d9/d80eef735b19e9169e30164bbf889b46f9df9127598a83d174eb13a48b26/grpcio-1.80.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:00168469238b022500e486c1c33916acf2f2a9b2c022202cf8a1885d2e3073c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/f2/567f5bd5054398ed6b0509b9a30900376dcf2786bd936812098808b49d8d/grpcio-1.80.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8502122a3cc1714038e39a0b071acb1207ca7844208d5ea0d091317555ee7106" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/29/73ef0141b4732ff5eacd68430ff2512a65c004696997f70476a83e548e7e/grpcio-1.80.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce1794f4ea6cc3ca29463f42d665c32ba1b964b48958a66497917fe9069f26e6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/69/abbfa360eb229a8623bab5f5a4f8105e445bd38ce81a89514ba55d281ad0/grpcio-1.80.0-cp311-cp311-win32.whl", hash = "sha256:51b4a7189b0bef2aa30adce3c78f09c83526cf3dddb24c6a96555e3b97340440" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/d4/ae92206d01183b08613e846076115f5ac5991bae358d2a749fa864da5699/grpcio-1.80.0-cp311-cp311-win_amd64.whl", hash = "sha256:02e64bb0bb2da14d947a49e6f120a75e947250aebe65f9629b62bb1f5c14e6e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/e8/a2b749265eb3415abc94f2e619bbd9e9707bebdda787e61c593004ec927a/grpcio-1.80.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:c624cc9f1008361014378c9d776de7182b11fe8b2e5a81bc69f23a295f2a1ad0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/97/b1282161a15d699d1e90c360df18d19165a045ce1c343c7f313f5e8a0b77/grpcio-1.80.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:f49eddcac43c3bf350c0385366a58f36bed8cc2c0ec35ef7b74b49e56552c0c2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/5e/d319c6e997b50c155ac5a8cb12f5173d5b42677510e886d250d50264949d/grpcio-1.80.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d334591df610ab94714048e0d5b4f3dd5ad1bee74dfec11eee344220077a79de" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/f6/fdd975a2cb4d78eb67769a7b3b3830970bfa2e919f1decf724ae4445f42c/grpcio-1.80.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0cb517eb1d0d0aaf1d87af7cc5b801d686557c1d88b2619f5e31fab3c2315921" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/f0/a3deb5feba60d9538a962913e37bd2e69a195f1c3376a3dd44fe0427e996/grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e78c4ac0d97dc2e569b2f4bcbbb447491167cb358d1a389fc4af71ab6f70411" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/84/36c6dcfddc093e108141f757c407902a05085e0c328007cb090d56646cdf/grpcio-1.80.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2ed770b4c06984f3b47eb0517b1c69ad0b84ef3f40128f51448433be904634cd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/ef/f3a77e3dc5b471a0ec86c564c98d6adfa3510d38f8ee99010410858d591e/grpcio-1.80.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:256507e2f524092f1473071a05e65a5b10d84b82e3ff24c5b571513cfaa61e2f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/8d/9d4d27ed7f33d109c50d6b5ce578a9914aa68edab75d65869a17e630a8d1/grpcio-1.80.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a6284a5d907c37db53350645567c522be314bac859a64a7a5ca63b77bb7958f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/e4/9990b41c6d7a44e1e9dee8ac11d7a9802ba1378b40d77468a7761d1ad288/grpcio-1.80.0-cp312-cp312-win32.whl", hash = "sha256:c71309cfce2f22be26aa4a847357c502db6c621f1a49825ae98aa0907595b193" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/2c/296f6138caca1f4b92a31ace4ae1b87dab692fc16a7a3417af3bb3c805bf/grpcio-1.80.0-cp312-cp312-win_amd64.whl", hash = "sha256:9fe648599c0e37594c4809d81a9e77bd138cc82eb8baa71b6a86af65426723ff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/3a/7c3c25789e3f069e581dc342e03613c5b1cb012c4e8c7d9d5cf960a75856/grpcio-1.80.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:e9e408fc016dffd20661f0126c53d8a31c2821b5c13c5d67a0f5ed5de93319ad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/19/21a9806eb8240e174fd1ab0cd5b9aa948bb0e05c2f2f55f9d5d7405e6d08/grpcio-1.80.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:92d787312e613754d4d8b9ca6d3297e69994a7912a32fa38c4c4e01c272974b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/3a/23347d35f76f639e807fb7a36fad3068aed100996849a33809591f26eca6/grpcio-1.80.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac393b58aa16991a2f1144ec578084d544038c12242da3a215966b512904d0f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/40/96e07ecb604a6a67ae6ab151e3e35b132875d98bc68ec65f3e5ab3e781d7/grpcio-1.80.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:68e5851ac4b9afe07e7f84483803ad167852570d65326b34d54ca560bfa53fb6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/e2/da1506ecea1f34a5e365964644b35edef53803052b763ca214ba3870c856/grpcio-1.80.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:873ff5d17d68992ef6605330127425d2fc4e77e612fa3c3e0ed4e668685e3140" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/83/3b20ff58d0c3b7f6caaa3af9a4174d4023701df40a3f39f7f1c8e7c48f9d/grpcio-1.80.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2bea16af2750fd0a899bf1abd9022244418b55d1f37da2202249ba4ba673838d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/45/55c507599c5520416de5eefecc927d6a0d7af55e91cfffb2e410607e5744/grpcio-1.80.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba0db34f7e1d803a878284cd70e4c63cb6ae2510ba51937bf8f45ba997cefcf7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/bb/dd06f4c24c01db9cf11341b547d0a016b2c90ed7dbbb086a5710df7dd1d7/grpcio-1.80.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8eb613f02d34721f1acf3626dfdb3545bd3c8505b0e52bf8b5710a28d02e8aa7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/1e/9d67992ba23371fd63d4527096eb8c6b76d74d52b500df992a3343fd7251/grpcio-1.80.0-cp313-cp313-win32.whl", hash = "sha256:93b6f823810720912fd131f561f91f5fed0fda372b6b7028a2681b8194d5d294" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/e6/283326a27da9e2c3038bc93eeea36fb118ce0b2d03922a9cda6688f53c5b/grpcio-1.80.0-cp313-cp313-win_amd64.whl", hash = "sha256:e172cf795a3ba5246d3529e4d34c53db70e888fa582a8ffebd2e6e48bc0cba50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/6d/e65307ce20f5a09244ba9e9d8476e99fb039de7154f37fb85f26978b59c3/grpcio-1.80.0-cp314-cp314-linux_armv7l.whl", hash = "sha256:3d4147a97c8344d065d01bbf8b6acec2cf86fb0400d40696c8bdad34a64ffc0e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/10/9cef5d9650c72625a699c549940f0abb3c4bfdb5ed45a5ce431f92f31806/grpcio-1.80.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:d8e11f167935b3eb089ac9038e1a063e6d7dbe995c0bb4a661e614583352e76f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/82/983aabaad82ba26113caceeb9091706a0696b25da004fe3defb5b346e15b/grpcio-1.80.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f14b618fc30de822681ee986cfdcc2d9327229dc4c98aed16896761cacd468b9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/d7/031666ef155aa0bf399ed7e19439656c38bbd143779ae0861b038ce82abd/grpcio-1.80.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4ed39fbdcf9b87370f6e8df4e39ca7b38b3e5e9d1b0013c7b6be9639d6578d14" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/43/f437a78f7f4f1d311804189e8f11fb311a01049b2e08557c1068d470cb2e/grpcio-1.80.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2dcc70e9f0ba987526e8e8603a610fb4f460e42899e74e7a518bf3c68fe1bf05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/3d/f6558e9c6296cb4227faa5c43c54a34c68d32654b829f53288313d16a86e/grpcio-1.80.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:448c884b668b868562b1bda833c5fce6272d26e1926ec46747cda05741d302c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/21/0fdd77e84720b08843c371a2efa6f2e19dbebf56adc72df73d891f5506f0/grpcio-1.80.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a1dc80fe55685b4a543555e6eef975303b36c8db1023b1599b094b92aa77965f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/68/67f4947ed55d2e69f2cc199ab9fd85e0a0034d813bbeef84df6d2ba4d4b7/grpcio-1.80.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:31b9ac4ad1aa28ffee5503821fafd09e4da0a261ce1c1281c6c8da0423c83b6e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/b6/8d4096691b2e385e8271911a0de4f35f0a6c7d05aff7098e296c3de86939/grpcio-1.80.0-cp314-cp314-win32.whl", hash = "sha256:367ce30ba67d05e0592470428f0ec1c31714cab9ef19b8f2e37be1f4c7d32fae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/8c/bbe6baf2557262834f2070cf668515fa308b2d38a4bbf771f8f7872a7036/grpcio-1.80.0-cp314-cp314-win_amd64.whl", hash = "sha256:3b01e1f5464c583d2f567b2e46ff0d516ef979978f72091fd81f5ab7fa6e2e7f" }, ] [[package]] name = "grpcio-status" version = "1.80.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "googleapis-common-protos" }, { name = "grpcio" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/ed/105f619bdd00cb47a49aa2feea6232ea2bbb04199d52a22cc6a7d603b5cb/grpcio_status-1.80.0.tar.gz", hash = "sha256:df73802a4c89a3ea88aa2aff971e886fccce162bc2e6511408b3d67a144381cd", size = 13901, upload-time = "2026-03-30T08:54:34.784Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/ed/105f619bdd00cb47a49aa2feea6232ea2bbb04199d52a22cc6a7d603b5cb/grpcio_status-1.80.0.tar.gz", hash = "sha256:df73802a4c89a3ea88aa2aff971e886fccce162bc2e6511408b3d67a144381cd" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/80/58cd2dfc19a07d022abe44bde7c365627f6c7cb6f692ada6c65ca437d09a/grpcio_status-1.80.0-py3-none-any.whl", hash = "sha256:4b56990363af50dbf2c2ebb80f1967185c07d87aa25aa2bea45ddb75fc181dbe", size = 14638, upload-time = "2026-03-30T08:54:01.569Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/80/58cd2dfc19a07d022abe44bde7c365627f6c7cb6f692ada6c65ca437d09a/grpcio_status-1.80.0-py3-none-any.whl", hash = "sha256:4b56990363af50dbf2c2ebb80f1967185c07d87aa25aa2bea45ddb75fc181dbe" }, ] [[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" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86" }, ] [[package]] name = "idna" version = "3.15" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", size = 199245, upload-time = "2026-05-12T22:45:57.011Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8" }, ] [[package]] name = "importlib-metadata" version = "9.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "zipp", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a9/01/15bb152d77b21318514a96f43af312635eb2500c96b55398d020c93d86ea/importlib_metadata-9.0.0.tar.gz", hash = "sha256:a4f57ab599e6a2e3016d7595cfd72eb4661a5106e787a95bcc90c7105b831efc", size = 56405, upload-time = "2026-03-20T06:42:56.999Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/01/15bb152d77b21318514a96f43af312635eb2500c96b55398d020c93d86ea/importlib_metadata-9.0.0.tar.gz", hash = "sha256:a4f57ab599e6a2e3016d7595cfd72eb4661a5106e787a95bcc90c7105b831efc" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/3d/2d244233ac4f76e38533cfcb2991c9eb4c7bf688ae0a036d30725b8faafe/importlib_metadata-9.0.0-py3-none-any.whl", hash = "sha256:2d21d1cc5a017bd0559e36150c21c830ab1dc304dedd1b7ea85d20f45ef3edd7", size = 27789, upload-time = "2026-03-20T06:42:55.665Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/3d/2d244233ac4f76e38533cfcb2991c9eb4c7bf688ae0a036d30725b8faafe/importlib_metadata-9.0.0-py3-none-any.whl", hash = "sha256:2d21d1cc5a017bd0559e36150c21c830ab1dc304dedd1b7ea85d20f45ef3edd7" }, ] [[package]] name = "iniconfig" version = "2.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12" }, ] [[package]] name = "ipykernel" version = "7.2.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "appnope", marker = "sys_platform == 'darwin'" }, { name = "comm" }, { name = "debugpy" }, - { name = "ipython", version = "8.39.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "ipython", version = "9.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, - { name = "ipython", version = "9.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.10.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "ipython", version = "9.12.0", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.12'" }, { name = "jupyter-client" }, { name = "jupyter-core" }, { name = "matplotlib-inline" }, @@ -1526,27 +1526,27 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ca/8d/b68b728e2d06b9e0051019640a40a9eb7a88fcd82c2e1b5ce70bef5ff044/ipykernel-7.2.0.tar.gz", hash = "sha256:18ed160b6dee2cbb16e5f3575858bc19d8f1fe6046a9a680c708494ce31d909e", size = 176046, upload-time = "2026-02-06T16:43:27.403Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/8d/b68b728e2d06b9e0051019640a40a9eb7a88fcd82c2e1b5ce70bef5ff044/ipykernel-7.2.0.tar.gz", hash = "sha256:18ed160b6dee2cbb16e5f3575858bc19d8f1fe6046a9a680c708494ce31d909e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/82/b9/e73d5d9f405cba7706c539aa8b311b49d4c2f3d698d9c12f815231169c71/ipykernel-7.2.0-py3-none-any.whl", hash = "sha256:3bbd4420d2b3cc105cbdf3756bfc04500b1e52f090a90716851f3916c62e1661", size = 118788, upload-time = "2026-02-06T16:43:25.149Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/b9/e73d5d9f405cba7706c539aa8b311b49d4c2f3d698d9c12f815231169c71/ipykernel-7.2.0-py3-none-any.whl", hash = "sha256:3bbd4420d2b3cc105cbdf3756bfc04500b1e52f090a90716851f3916c62e1661" }, ] [[package]] name = "ipynbname" version = "2025.8.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "ipykernel" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/e791d0ec7125a41c5625dc348ee28c2e335bd79ff8b31e9971333f129337/ipynbname-2025.8.0.0.tar.gz", hash = "sha256:dcc8367c64c4a9f0baa6acea3e509fd6696bf5d81c9abceb386e2ad6efcac935", size = 4374, upload-time = "2025-08-17T16:43:28.581Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/e9/e791d0ec7125a41c5625dc348ee28c2e335bd79ff8b31e9971333f129337/ipynbname-2025.8.0.0.tar.gz", hash = "sha256:dcc8367c64c4a9f0baa6acea3e509fd6696bf5d81c9abceb386e2ad6efcac935" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/93/aece384e71b25385bd6a176f09865ee52faa7bda8221acafff8753f3f30a/ipynbname-2025.8.0.0-py3-none-any.whl", hash = "sha256:66f6249ff26d99b0057db2aac5ced4ca8a2ccaad067b9a66d17cfc1725207966", size = 4534, upload-time = "2025-08-17T16:43:27.219Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/93/aece384e71b25385bd6a176f09865ee52faa7bda8221acafff8753f3f30a/ipynbname-2025.8.0.0-py3-none-any.whl", hash = "sha256:66f6249ff26d99b0057db2aac5ced4ca8a2ccaad067b9a66d17cfc1725207966" }, ] [[package]] name = "ipython" version = "8.39.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version < '3.11'", ] @@ -1563,15 +1563,15 @@ dependencies = [ { name = "traitlets", marker = "python_full_version < '3.11'" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624", size = 5513971, upload-time = "2026-03-27T10:02:13.94Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", hash = "sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f", size = 831849, upload-time = "2026-03-27T10:02:07.846Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", hash = "sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f" }, ] [[package]] name = "ipython" version = "9.10.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version == '3.11.*'", ] @@ -1588,15 +1588,15 @@ dependencies = [ { name = "traitlets", marker = "python_full_version == '3.11.*'" }, { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c5/25/daae0e764047b0a2480c7bbb25d48f4f509b5818636562eeac145d06dfee/ipython-9.10.1.tar.gz", hash = "sha256:e170e9b2a44312484415bdb750492699bf329233b03f2557a9692cce6466ada4", size = 4426663, upload-time = "2026-03-27T09:53:26.244Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/25/daae0e764047b0a2480c7bbb25d48f4f509b5818636562eeac145d06dfee/ipython-9.10.1.tar.gz", hash = "sha256:e170e9b2a44312484415bdb750492699bf329233b03f2557a9692cce6466ada4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/09/ba70f8d662d5671687da55ad2cc0064cf795b15e1eea70907532202e7c97/ipython-9.10.1-py3-none-any.whl", hash = "sha256:82d18ae9fb9164ded080c71ef92a182ee35ee7db2395f67616034bebb020a232", size = 622827, upload-time = "2026-03-27T09:53:24.566Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/09/ba70f8d662d5671687da55ad2cc0064cf795b15e1eea70907532202e7c97/ipython-9.10.1-py3-none-any.whl", hash = "sha256:82d18ae9fb9164ded080c71ef92a182ee35ee7db2395f67616034bebb020a232" }, ] [[package]] name = "ipython" version = "9.12.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", "python_full_version >= '3.14' and sys_platform == 'emscripten'", @@ -1620,159 +1620,159 @@ dependencies = [ { name = "stack-data", marker = "python_full_version >= '3.12'" }, { name = "traitlets", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3a/73/7114f80a8f9cabdb13c27732dce24af945b2923dcab80723602f7c8bc2d8/ipython-9.12.0.tar.gz", hash = "sha256:01daa83f504b693ba523b5a407246cabde4eb4513285a3c6acaff11a66735ee4", size = 4428879, upload-time = "2026-03-27T09:42:45.312Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/73/7114f80a8f9cabdb13c27732dce24af945b2923dcab80723602f7c8bc2d8/ipython-9.12.0.tar.gz", hash = "sha256:01daa83f504b693ba523b5a407246cabde4eb4513285a3c6acaff11a66735ee4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/22/906c8108974c673ebef6356c506cebb6870d48cedea3c41e949e2dd556bb/ipython-9.12.0-py3-none-any.whl", hash = "sha256:0f2701e8ee86e117e37f50563205d36feaa259d2e08d4a6bc6b6d74b18ce128d", size = 625661, upload-time = "2026-03-27T09:42:42.831Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/22/906c8108974c673ebef6356c506cebb6870d48cedea3c41e949e2dd556bb/ipython-9.12.0-py3-none-any.whl", hash = "sha256:0f2701e8ee86e117e37f50563205d36feaa259d2e08d4a6bc6b6d74b18ce128d" }, ] [[package]] name = "ipython-pygments-lexers" version = "1.1.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "pygments", marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c" }, ] [[package]] name = "ipywidgets" version = "8.1.8" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "comm" }, - { name = "ipython", version = "8.39.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "ipython", version = "9.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, - { name = "ipython", version = "9.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.10.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "ipython", version = "9.12.0", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.12'" }, { name = "jupyterlab-widgets" }, { name = "traitlets" }, { name = "widgetsnbextension" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4c/ae/c5ce1edc1afe042eadb445e95b0671b03cee61895264357956e61c0d2ac0/ipywidgets-8.1.8.tar.gz", hash = "sha256:61f969306b95f85fba6b6986b7fe45d73124d1d9e3023a8068710d47a22ea668", size = 116739, upload-time = "2025-11-01T21:18:12.393Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/ae/c5ce1edc1afe042eadb445e95b0671b03cee61895264357956e61c0d2ac0/ipywidgets-8.1.8.tar.gz", hash = "sha256:61f969306b95f85fba6b6986b7fe45d73124d1d9e3023a8068710d47a22ea668" } wheels = [ - { url = "https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl", hash = "sha256:ecaca67aed704a338f88f67b1181b58f821ab5dc89c1f0f5ef99db43c1c2921e", size = 139808, upload-time = "2025-11-01T21:18:10.956Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl", hash = "sha256:ecaca67aed704a338f88f67b1181b58f821ab5dc89c1f0f5ef99db43c1c2921e" }, ] [[package]] name = "jaraco-classes" version = "3.4.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "more-itertools" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780, upload-time = "2024-03-31T07:27:36.643Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", size = 6777, upload-time = "2024-03-31T07:27:34.792Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" }, ] [[package]] name = "jaraco-context" version = "6.1.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "backports-tarfile", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz", hash = "sha256:f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3", size = 16801, upload-time = "2026-03-20T22:13:33.922Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz", hash = "sha256:f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl", hash = "sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535", size = 7871, upload-time = "2026-03-20T22:13:32.808Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl", hash = "sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535" }, ] [[package]] name = "jaraco-functools" version = "4.5.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "more-itertools" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/cf/ea4ef2920830dea3f5ab2ea4da6fb67724e6dca80ee2553788c3607243d0/jaraco_functools-4.5.0.tar.gz", hash = "sha256:3bb5665ea4a020cf78a7040e89154c77edadb3ca74f366479669c5999aa70b03", size = 20272, upload-time = "2026-05-15T21:34:10.025Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/cf/ea4ef2920830dea3f5ab2ea4da6fb67724e6dca80ee2553788c3607243d0/jaraco_functools-4.5.0.tar.gz", hash = "sha256:3bb5665ea4a020cf78a7040e89154c77edadb3ca74f366479669c5999aa70b03" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/9a/982e48afcffcd727a9144506720ffd4224b6b7e355c98641866f38b7c043/jaraco_functools-4.5.0-py3-none-any.whl", hash = "sha256:79ce39246eddbde4b3a03b77ea5f0f7878dc669b166a66cf3fa8e266aa3fa2f4", size = 10594, upload-time = "2026-05-15T21:34:08.595Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/9a/982e48afcffcd727a9144506720ffd4224b6b7e355c98641866f38b7c043/jaraco_functools-4.5.0-py3-none-any.whl", hash = "sha256:79ce39246eddbde4b3a03b77ea5f0f7878dc669b166a66cf3fa8e266aa3fa2f4" }, ] [[package]] name = "jedi" version = "0.19.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "parso" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9" }, ] [[package]] name = "jeepney" version = "0.9.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7b/6f/357efd7602486741aa73ffc0617fb310a29b588ed0fd69c2399acbb85b0c/jeepney-0.9.0.tar.gz", hash = "sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732", size = 106758, upload-time = "2025-02-27T18:51:01.684Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/6f/357efd7602486741aa73ffc0617fb310a29b588ed0fd69c2399acbb85b0c/jeepney-0.9.0.tar.gz", hash = "sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl", hash = "sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683", size = 49010, upload-time = "2025-02-27T18:51:00.104Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl", hash = "sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" }, ] [[package]] name = "jinja2" version = "3.1.6" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" } wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" }, ] [[package]] name = "jmespath" version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz", hash = "sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d", size = 27377, upload-time = "2026-01-22T16:35:26.279Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz", hash = "sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64" }, ] [[package]] name = "json5" version = "0.14.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9c/4b/6f8906aaf67d501e259b0adab4d312945bb7211e8b8d4dcc77c92320edaa/json5-0.14.0.tar.gz", hash = "sha256:b3f492fad9f6cdbced8b7d40b28b9b1c9701c5f561bef0d33b81c2ff433fefcb", size = 52656, upload-time = "2026-03-27T22:50:48.108Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/4b/6f8906aaf67d501e259b0adab4d312945bb7211e8b8d4dcc77c92320edaa/json5-0.14.0.tar.gz", hash = "sha256:b3f492fad9f6cdbced8b7d40b28b9b1c9701c5f561bef0d33b81c2ff433fefcb" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b8/42/cf027b4ac873b076189d935b135397675dac80cb29acb13e1ab86ad6c631/json5-0.14.0-py3-none-any.whl", hash = "sha256:56cf861bab076b1178eb8c92e1311d273a9b9acea2ccc82c276abf839ebaef3a", size = 36271, upload-time = "2026-03-27T22:50:47.073Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/42/cf027b4ac873b076189d935b135397675dac80cb29acb13e1ab86ad6c631/json5-0.14.0-py3-none-any.whl", hash = "sha256:56cf861bab076b1178eb8c92e1311d273a9b9acea2ccc82c276abf839ebaef3a" }, ] [[package]] name = "jsonschema" version = "4.26.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "attrs" }, { name = "jsonschema-specifications" }, { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce" }, ] [[package]] name = "jsonschema-specifications" version = "2025.9.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "referencing" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" } wheels = [ - { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe" }, ] [[package]] name = "jupyter-client" version = "8.8.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "jupyter-core" }, { name = "python-dateutil" }, @@ -1780,46 +1780,46 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020, upload-time = "2026-01-08T13:55:47.938Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a", size = 107371, upload-time = "2026-01-08T13:55:45.562Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a" }, ] [[package]] name = "jupyter-core" version = "5.9.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "platformdirs" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407" }, ] [[package]] name = "jupyterlab-pygments" version = "0.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780" }, ] [[package]] name = "jupyterlab-widgets" version = "3.0.16" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/2d/ef58fed122b268c69c0aa099da20bc67657cdfb2e222688d5731bd5b971d/jupyterlab_widgets-3.0.16.tar.gz", hash = "sha256:423da05071d55cf27a9e602216d35a3a65a3e41cdf9c5d3b643b814ce38c19e0", size = 897423, upload-time = "2025-11-01T21:11:29.724Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/26/2d/ef58fed122b268c69c0aa099da20bc67657cdfb2e222688d5731bd5b971d/jupyterlab_widgets-3.0.16.tar.gz", hash = "sha256:423da05071d55cf27a9e602216d35a3a65a3e41cdf9c5d3b643b814ce38c19e0" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl", hash = "sha256:45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8", size = 914926, upload-time = "2025-11-01T21:11:28.008Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl", hash = "sha256:45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8" }, ] [[package]] name = "jupytext" version = "1.19.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "mdit-py-plugins" }, @@ -1828,15 +1828,15 @@ dependencies = [ { name = "pyyaml" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/13/a5/80c02f307c8ce863cb33e27daf049315e9d96979e14eead700923b5ec9cc/jupytext-1.19.1.tar.gz", hash = "sha256:82587c07e299173c70ed5e8ec7e75183edf1be289ed518bab49ad0d4e3d5f433", size = 4307829, upload-time = "2026-01-25T21:35:13.276Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/a5/80c02f307c8ce863cb33e27daf049315e9d96979e14eead700923b5ec9cc/jupytext-1.19.1.tar.gz", hash = "sha256:82587c07e299173c70ed5e8ec7e75183edf1be289ed518bab49ad0d4e3d5f433" } wheels = [ - { url = "https://files.pythonhosted.org/packages/16/5a/736dd2f4535dbf3bf26523f9158c011389ef88dd06ec2eef67fd744f1c7b/jupytext-1.19.1-py3-none-any.whl", hash = "sha256:d8975035155d034bdfde5c0c37891425314b7ea8d3a6c4b5d18c294348714cd9", size = 170478, upload-time = "2026-01-25T21:35:11.17Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/5a/736dd2f4535dbf3bf26523f9158c011389ef88dd06ec2eef67fd744f1c7b/jupytext-1.19.1-py3-none-any.whl", hash = "sha256:d8975035155d034bdfde5c0c37891425314b7ea8d3a6c4b5d18c294348714cd9" }, ] [[package]] name = "keyring" version = "25.7.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "importlib-metadata", marker = "python_full_version < '3.12'" }, { name = "jaraco-classes" }, @@ -1846,15 +1846,15 @@ dependencies = [ { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, { name = "secretstorage", marker = "sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz", hash = "sha256:fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b", size = 63516, upload-time = "2025-11-16T16:26:09.482Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz", hash = "sha256:fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl", hash = "sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f", size = 39160, upload-time = "2025-11-16T16:26:08.402Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl", hash = "sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f" }, ] [[package]] name = "kirin" version = "0.0.15" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "anywidget" }, { name = "boto3" }, @@ -1875,9 +1875,9 @@ dependencies = [ { name = "typer" }, { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/ed/81d15c5f6a1fcbbed8e2253d37fed97cf6f47485050031cd4554b8894812/kirin-0.0.15.tar.gz", hash = "sha256:b83850e7e2936ae3085b7c73ad1fa0082b801aa5e27633bfafee19c081e78727", size = 208149, upload-time = "2026-04-28T15:56:24.434Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/ed/81d15c5f6a1fcbbed8e2253d37fed97cf6f47485050031cd4554b8894812/kirin-0.0.15.tar.gz", hash = "sha256:b83850e7e2936ae3085b7c73ad1fa0082b801aa5e27633bfafee19c081e78727" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/92/e34ab435829e5d119accfea5c4b6dbc9d62b0305607e11bb7c9a1002a974/kirin-0.0.15-py3-none-any.whl", hash = "sha256:aa8fac8f4b0601c097dea8b04bcb1c0d192aa2cfdceaa480efd37bb718e3d960", size = 267439, upload-time = "2026-04-28T15:56:23.326Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/92/e34ab435829e5d119accfea5c4b6dbc9d62b0305607e11bb7c9a1002a974/kirin-0.0.15-py3-none-any.whl", hash = "sha256:aa8fac8f4b0601c097dea8b04bcb1c0d192aa2cfdceaa480efd37bb718e3d960" }, ] [[package]] @@ -1898,296 +1898,296 @@ wheels = [ [[package]] name = "kiwisolver" version = "1.5.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/67/9c61eccb13f0bdca9307614e782fec49ffdde0f7a2314935d489fa93cd9c/kiwisolver-1.5.0.tar.gz", hash = "sha256:d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a", size = 103482, upload-time = "2026-03-09T13:15:53.382Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ac/f8/06549565caa026e540b7e7bab5c5a90eb7ca986015f4c48dace243cd24d9/kiwisolver-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32cc0a5365239a6ea0c6ed461e8838d053b57e397443c0ca894dcc8e388d4374", size = 122802, upload-time = "2026-03-09T13:12:37.515Z" }, - { url = "https://files.pythonhosted.org/packages/84/eb/8476a0818850c563ff343ea7c9c05dcdcbd689a38e01aa31657df01f91fa/kiwisolver-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc0b66c1eec9021353a4b4483afb12dfd50e3669ffbb9152d6842eb34c7e29fd", size = 66216, upload-time = "2026-03-09T13:12:38.812Z" }, - { url = "https://files.pythonhosted.org/packages/f3/c4/f9c8a6b4c21aed4198566e45923512986d6cef530e7263b3a5f823546561/kiwisolver-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86e0287879f75621ae85197b0877ed2f8b7aa57b511c7331dce2eb6f4de7d476", size = 63917, upload-time = "2026-03-09T13:12:40.053Z" }, - { url = "https://files.pythonhosted.org/packages/f1/0e/ba4ae25d03722f64de8b2c13e80d82ab537a06b30fc7065183c6439357e3/kiwisolver-1.5.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:62f59da443c4f4849f73a51a193b1d9d258dcad0c41bc4d1b8fb2bcc04bfeb22", size = 1628776, upload-time = "2026-03-09T13:12:41.976Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e4/3f43a011bc8a0860d1c96f84d32fa87439d3feedf66e672fef03bf5e8bac/kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9190426b7aa26c5229501fa297b8d0653cfd3f5a36f7990c264e157cbf886b3b", size = 1228164, upload-time = "2026-03-09T13:12:44.002Z" }, - { url = "https://files.pythonhosted.org/packages/4b/34/3a901559a1e0c218404f9a61a93be82d45cb8f44453ba43088644980f033/kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c8277104ded0a51e699c8c3aff63ce2c56d4ed5519a5f73e0fd7057f959a2b9e", size = 1246656, upload-time = "2026-03-09T13:12:45.557Z" }, - { url = "https://files.pythonhosted.org/packages/87/9e/f78c466ea20527822b95ad38f141f2de1dcd7f23fb8716b002b0d91bbe59/kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8f9baf6f0a6e7571c45c8863010b45e837c3ee1c2c77fcd6ef423be91b21fedb", size = 1295562, upload-time = "2026-03-09T13:12:47.562Z" }, - { url = "https://files.pythonhosted.org/packages/0a/66/fd0e4a612e3a286c24e6d6f3a5428d11258ed1909bc530ba3b59807fd980/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cff8e5383db4989311f99e814feeb90c4723eb4edca425b9d5d9c3fefcdd9537", size = 2178473, upload-time = "2026-03-09T13:12:50.254Z" }, - { url = "https://files.pythonhosted.org/packages/dc/8e/6cac929e0049539e5ee25c1ee937556f379ba5204840d03008363ced662d/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ebae99ed6764f2b5771c522477b311be313e8841d2e0376db2b10922daebbba4", size = 2274035, upload-time = "2026-03-09T13:12:51.785Z" }, - { url = "https://files.pythonhosted.org/packages/ca/d3/9d0c18f1b52ea8074b792452cf17f1f5a56bd0302a85191f405cfbf9da16/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:d5cd5189fc2b6a538b75ae45433140c4823463918f7b1617c31e68b085c0022c", size = 2443217, upload-time = "2026-03-09T13:12:53.329Z" }, - { url = "https://files.pythonhosted.org/packages/45/2a/6e19368803a038b2a90857bf4ee9e3c7b667216d045866bf22d3439fd75e/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f42c23db5d1521218a3276bb08666dcb662896a0be7347cba864eca45ff64ede", size = 2249196, upload-time = "2026-03-09T13:12:55.057Z" }, - { url = "https://files.pythonhosted.org/packages/75/2b/3f641dfcbe72e222175d626bacf2f72c3b34312afec949dd1c50afa400f5/kiwisolver-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:94eff26096eb5395136634622515b234ecb6c9979824c1f5004c6e3c3c85ccd2", size = 73389, upload-time = "2026-03-09T13:12:56.496Z" }, - { url = "https://files.pythonhosted.org/packages/da/88/299b137b9e0025d8982e03d2d52c123b0a2b159e84b0ef1501ef446339cf/kiwisolver-1.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:dd952e03bfbb096cfe2dd35cd9e00f269969b67536cb4370994afc20ff2d0875", size = 64782, upload-time = "2026-03-09T13:12:57.609Z" }, - { url = "https://files.pythonhosted.org/packages/12/dd/a495a9c104be1c476f0386e714252caf2b7eca883915422a64c50b88c6f5/kiwisolver-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9eed0f7edbb274413b6ee781cca50541c8c0facd3d6fd289779e494340a2b85c", size = 122798, upload-time = "2026-03-09T13:12:58.963Z" }, - { url = "https://files.pythonhosted.org/packages/11/60/37b4047a2af0cf5ef6d8b4b26e91829ae6fc6a2d1f74524bcb0e7cd28a32/kiwisolver-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c4923e404d6bcd91b6779c009542e5647fef32e4a5d75e115e3bbac6f2335eb", size = 66216, upload-time = "2026-03-09T13:13:00.155Z" }, - { url = "https://files.pythonhosted.org/packages/0a/aa/510dc933d87767584abfe03efa445889996c70c2990f6f87c3ebaa0a18c5/kiwisolver-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0df54df7e686afa55e6f21fb86195224a6d9beb71d637e8d7920c95cf0f89aac", size = 63911, upload-time = "2026-03-09T13:13:01.671Z" }, - { url = "https://files.pythonhosted.org/packages/80/46/bddc13df6c2a40741e0cc7865bb1c9ed4796b6760bd04ce5fae3928ef917/kiwisolver-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2517e24d7315eb51c10664cdb865195df38ab74456c677df67bb47f12d088a27", size = 1438209, upload-time = "2026-03-09T13:13:03.385Z" }, - { url = "https://files.pythonhosted.org/packages/fd/d6/76621246f5165e5372f02f5e6f3f48ea336a8f9e96e43997d45b240ed8cd/kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff710414307fefa903e0d9bdf300972f892c23477829f49504e59834f4195398", size = 1248888, upload-time = "2026-03-09T13:13:05.231Z" }, - { url = "https://files.pythonhosted.org/packages/b2/c1/31559ec6fb39a5b48035ce29bb63ade628f321785f38c384dee3e2c08bc1/kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6176c1811d9d5a04fa391c490cc44f451e240697a16977f11c6f722efb9041db", size = 1266304, upload-time = "2026-03-09T13:13:06.743Z" }, - { url = "https://files.pythonhosted.org/packages/5e/ef/1cb8276f2d29cc6a41e0a042f27946ca347d3a4a75acf85d0a16aa6dcc82/kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50847dca5d197fcbd389c805aa1a1cf32f25d2e7273dc47ab181a517666b68cc", size = 1319650, upload-time = "2026-03-09T13:13:08.607Z" }, - { url = "https://files.pythonhosted.org/packages/4c/e4/5ba3cecd7ce6236ae4a80f67e5d5531287337d0e1f076ca87a5abe4cd5d0/kiwisolver-1.5.0-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:01808c6d15f4c3e8559595d6d1fe6411c68e4a3822b4b9972b44473b24f4e679", size = 970949, upload-time = "2026-03-09T13:13:10.299Z" }, - { url = "https://files.pythonhosted.org/packages/5a/69/dc61f7ae9a2f071f26004ced87f078235b5507ab6e5acd78f40365655034/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f1f9f4121ec58628c96baa3de1a55a4e3a333c5102c8e94b64e23bf7b2083309", size = 2199125, upload-time = "2026-03-09T13:13:11.841Z" }, - { url = "https://files.pythonhosted.org/packages/e5/7b/abbe0f1b5afa85f8d084b73e90e5f801c0939eba16ac2e49af7c61a6c28d/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b7d335370ae48a780c6e6a6bbfa97342f563744c39c35562f3f367665f5c1de2", size = 2293783, upload-time = "2026-03-09T13:13:14.399Z" }, - { url = "https://files.pythonhosted.org/packages/8a/80/5908ae149d96d81580d604c7f8aefd0e98f4fd728cf172f477e9f2a81744/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:800ee55980c18545af444d93fdd60c56b580db5cc54867d8cbf8a1dc0829938c", size = 1960726, upload-time = "2026-03-09T13:13:16.047Z" }, - { url = "https://files.pythonhosted.org/packages/84/08/a78cb776f8c085b7143142ce479859cfec086bd09ee638a317040b6ef420/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c438f6ca858697c9ab67eb28246c92508af972e114cac34e57a6d4ba17a3ac08", size = 2464738, upload-time = "2026-03-09T13:13:17.897Z" }, - { url = "https://files.pythonhosted.org/packages/b1/e1/65584da5356ed6cb12c63791a10b208860ac40a83de165cb6a6751a686e3/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c63c91f95173f9c2a67c7c526b2cea976828a0e7fced9cdcead2802dc10f8a4", size = 2270718, upload-time = "2026-03-09T13:13:19.421Z" }, - { url = "https://files.pythonhosted.org/packages/be/6c/28f17390b62b8f2f520e2915095b3c94d88681ecf0041e75389d9667f202/kiwisolver-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:beb7f344487cdcb9e1efe4b7a29681b74d34c08f0043a327a74da852a6749e7b", size = 73480, upload-time = "2026-03-09T13:13:20.818Z" }, - { url = "https://files.pythonhosted.org/packages/d8/0e/2ee5debc4f77a625778fec5501ff3e8036fe361b7ee28ae402a485bb9694/kiwisolver-1.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:ad4ae4ffd1ee9cd11357b4c66b612da9888f4f4daf2f36995eda64bd45370cac", size = 64930, upload-time = "2026-03-09T13:13:21.997Z" }, - { url = "https://files.pythonhosted.org/packages/4d/b2/818b74ebea34dabe6d0c51cb1c572e046730e64844da6ed646d5298c40ce/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4e9750bc21b886308024f8a54ccb9a2cc38ac9fa813bf4348434e3d54f337ff9", size = 123158, upload-time = "2026-03-09T13:13:23.127Z" }, - { url = "https://files.pythonhosted.org/packages/bf/d9/405320f8077e8e1c5c4bd6adc45e1e6edf6d727b6da7f2e2533cf58bff71/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:72ec46b7eba5b395e0a7b63025490d3214c11013f4aacb4f5e8d6c3041829588", size = 66388, upload-time = "2026-03-09T13:13:24.765Z" }, - { url = "https://files.pythonhosted.org/packages/99/9f/795fedf35634f746151ca8839d05681ceb6287fbed6cc1c9bf235f7887c2/kiwisolver-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ed3a984b31da7481b103f68776f7128a89ef26ed40f4dc41a2223cda7fb24819", size = 64068, upload-time = "2026-03-09T13:13:25.878Z" }, - { url = "https://files.pythonhosted.org/packages/c4/13/680c54afe3e65767bed7ec1a15571e1a2f1257128733851ade24abcefbcc/kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb5136fb5352d3f422df33f0c879a1b0c204004324150cc3b5e3c4f310c9049f", size = 1477934, upload-time = "2026-03-09T13:13:27.166Z" }, - { url = "https://files.pythonhosted.org/packages/c8/2f/cebfcdb60fd6a9b0f6b47a9337198bcbad6fbe15e68189b7011fd914911f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2af221f268f5af85e776a73d62b0845fc8baf8ef0abfae79d29c77d0e776aaf", size = 1278537, upload-time = "2026-03-09T13:13:28.707Z" }, - { url = "https://files.pythonhosted.org/packages/f2/0d/9b782923aada3fafb1d6b84e13121954515c669b18af0c26e7d21f579855/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b0f172dc8ffaccb8522d7c5d899de00133f2f1ca7b0a49b7da98e901de87bf2d", size = 1296685, upload-time = "2026-03-09T13:13:30.528Z" }, - { url = "https://files.pythonhosted.org/packages/27/70/83241b6634b04fe44e892688d5208332bde130f38e610c0418f9ede47ded/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6ab8ba9152203feec73758dad83af9a0bbe05001eb4639e547207c40cfb52083", size = 1346024, upload-time = "2026-03-09T13:13:32.818Z" }, - { url = "https://files.pythonhosted.org/packages/e4/db/30ed226fb271ae1a6431fc0fe0edffb2efe23cadb01e798caeb9f2ceae8f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:cdee07c4d7f6d72008d3f73b9bf027f4e11550224c7c50d8df1ae4a37c1402a6", size = 987241, upload-time = "2026-03-09T13:13:34.435Z" }, - { url = "https://files.pythonhosted.org/packages/ec/bd/c314595208e4c9587652d50959ead9e461995389664e490f4dce7ff0f782/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7c60d3c9b06fb23bd9c6139281ccbdc384297579ae037f08ae90c69f6845c0b1", size = 2227742, upload-time = "2026-03-09T13:13:36.4Z" }, - { url = "https://files.pythonhosted.org/packages/c1/43/0499cec932d935229b5543d073c2b87c9c22846aab48881e9d8d6e742a2d/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e315e5ec90d88e140f57696ff85b484ff68bb311e36f2c414aa4286293e6dee0", size = 2323966, upload-time = "2026-03-09T13:13:38.204Z" }, - { url = "https://files.pythonhosted.org/packages/3d/6f/79b0d760907965acfd9d61826a3d41f8f093c538f55cd2633d3f0db269f6/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:1465387ac63576c3e125e5337a6892b9e99e0627d52317f3ca79e6930d889d15", size = 1977417, upload-time = "2026-03-09T13:13:39.966Z" }, - { url = "https://files.pythonhosted.org/packages/ab/31/01d0537c41cb75a551a438c3c7a80d0c60d60b81f694dac83dd436aec0d0/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:530a3fd64c87cffa844d4b6b9768774763d9caa299e9b75d8eca6a4423b31314", size = 2491238, upload-time = "2026-03-09T13:13:41.698Z" }, - { url = "https://files.pythonhosted.org/packages/e4/34/8aefdd0be9cfd00a44509251ba864f5caf2991e36772e61c408007e7f417/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1d9daea4ea6b9be74fe2f01f7fbade8d6ffab263e781274cffca0dba9be9eec9", size = 2294947, upload-time = "2026-03-09T13:13:43.343Z" }, - { url = "https://files.pythonhosted.org/packages/ad/cf/0348374369ca588f8fe9c338fae49fa4e16eeb10ffb3d012f23a54578a9e/kiwisolver-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:f18c2d9782259a6dc132fdc7a63c168cbc74b35284b6d75c673958982a378384", size = 73569, upload-time = "2026-03-09T13:13:45.792Z" }, - { url = "https://files.pythonhosted.org/packages/28/26/192b26196e2316e2bd29deef67e37cdf9870d9af8e085e521afff0fed526/kiwisolver-1.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:f7c7553b13f69c1b29a5bde08ddc6d9d0c8bfb84f9ed01c30db25944aeb852a7", size = 64997, upload-time = "2026-03-09T13:13:46.878Z" }, - { url = "https://files.pythonhosted.org/packages/9d/69/024d6711d5ba575aa65d5538042e99964104e97fa153a9f10bc369182bc2/kiwisolver-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fd40bb9cd0891c4c3cb1ddf83f8bbfa15731a248fdc8162669405451e2724b09", size = 123166, upload-time = "2026-03-09T13:13:48.032Z" }, - { url = "https://files.pythonhosted.org/packages/ce/48/adbb40df306f587054a348831220812b9b1d787aff714cfbc8556e38fccd/kiwisolver-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c0e1403fd7c26d77c1f03e096dc58a5c726503fa0db0456678b8668f76f521e3", size = 66395, upload-time = "2026-03-09T13:13:49.365Z" }, - { url = "https://files.pythonhosted.org/packages/a8/3a/d0a972b34e1c63e2409413104216cd1caa02c5a37cb668d1687d466c1c45/kiwisolver-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dda366d548e89a90d88a86c692377d18d8bd64b39c1fb2b92cb31370e2896bbd", size = 64065, upload-time = "2026-03-09T13:13:50.562Z" }, - { url = "https://files.pythonhosted.org/packages/2b/0a/7b98e1e119878a27ba8618ca1e18b14f992ff1eda40f47bccccf4de44121/kiwisolver-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:332b4f0145c30b5f5ad9374881133e5aa64320428a57c2c2b61e9d891a51c2f3", size = 1477903, upload-time = "2026-03-09T13:13:52.084Z" }, - { url = "https://files.pythonhosted.org/packages/18/d8/55638d89ffd27799d5cc3d8aa28e12f4ce7a64d67b285114dbedc8ea4136/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c50b89ffd3e1a911c69a1dd3de7173c0cd10b130f56222e57898683841e4f96", size = 1278751, upload-time = "2026-03-09T13:13:54.673Z" }, - { url = "https://files.pythonhosted.org/packages/b8/97/b4c8d0d18421ecceba20ad8701358453b88e32414e6f6950b5a4bad54e65/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4db576bb8c3ef9365f8b40fe0f671644de6736ae2c27a2c62d7d8a1b4329f099", size = 1296793, upload-time = "2026-03-09T13:13:56.287Z" }, - { url = "https://files.pythonhosted.org/packages/c4/10/f862f94b6389d8957448ec9df59450b81bec4abb318805375c401a1e6892/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0b85aad90cea8ac6797a53b5d5f2e967334fa4d1149f031c4537569972596cb8", size = 1346041, upload-time = "2026-03-09T13:13:58.269Z" }, - { url = "https://files.pythonhosted.org/packages/a3/6a/f1650af35821eaf09de398ec0bc2aefc8f211f0cda50204c9f1673741ba9/kiwisolver-1.5.0-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:d36ca54cb4c6c4686f7cbb7b817f66f5911c12ddb519450bbe86707155028f87", size = 987292, upload-time = "2026-03-09T13:13:59.871Z" }, - { url = "https://files.pythonhosted.org/packages/de/19/d7fb82984b9238115fe629c915007be608ebd23dc8629703d917dbfaffd4/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:38f4a703656f493b0ad185211ccfca7f0386120f022066b018eb5296d8613e23", size = 2227865, upload-time = "2026-03-09T13:14:01.401Z" }, - { url = "https://files.pythonhosted.org/packages/7f/b9/46b7f386589fd222dac9e9de9c956ce5bcefe2ee73b4e79891381dda8654/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ac2360e93cb41be81121755c6462cff3beaa9967188c866e5fce5cf13170859", size = 2324369, upload-time = "2026-03-09T13:14:02.972Z" }, - { url = "https://files.pythonhosted.org/packages/92/8b/95e237cf3d9c642960153c769ddcbe278f182c8affb20cecc1cc983e7cc5/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c95cab08d1965db3d84a121f1c7ce7479bdd4072c9b3dafd8fecce48a2e6b902", size = 1977989, upload-time = "2026-03-09T13:14:04.503Z" }, - { url = "https://files.pythonhosted.org/packages/1b/95/980c9df53501892784997820136c01f62bc1865e31b82b9560f980c0e649/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc20894c3d21194d8041a28b65622d5b86db786da6e3cfe73f0c762951a61167", size = 2491645, upload-time = "2026-03-09T13:14:06.106Z" }, - { url = "https://files.pythonhosted.org/packages/cb/32/900647fd0840abebe1561792c6b31e6a7c0e278fc3973d30572a965ca14c/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a32f72973f0f950c1920475d5c5ea3d971b81b6f0ec53b8d0a956cc965f22e0", size = 2295237, upload-time = "2026-03-09T13:14:08.891Z" }, - { url = "https://files.pythonhosted.org/packages/be/8a/be60e3bbcf513cc5a50f4a3e88e1dcecebb79c1ad607a7222877becaa101/kiwisolver-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bf3acf1419fa93064a4c2189ac0b58e3be7872bf6ee6177b0d4c63dc4cea276", size = 73573, upload-time = "2026-03-09T13:14:12.327Z" }, - { url = "https://files.pythonhosted.org/packages/4d/d2/64be2e429eb4fca7f7e1c52a91b12663aeaf25de3895e5cca0f47ef2a8d0/kiwisolver-1.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa8eb9ecdb7efb0b226acec134e0d709e87a909fa4971a54c0c4f6e88635484c", size = 64998, upload-time = "2026-03-09T13:14:13.469Z" }, - { url = "https://files.pythonhosted.org/packages/b0/69/ce68dd0c85755ae2de490bf015b62f2cea5f6b14ff00a463f9d0774449ff/kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:db485b3847d182b908b483b2ed133c66d88d49cacf98fd278fadafe11b4478d1", size = 125700, upload-time = "2026-03-09T13:14:14.636Z" }, - { url = "https://files.pythonhosted.org/packages/74/aa/937aac021cf9d4349990d47eb319309a51355ed1dbdc9c077cdc9224cb11/kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:be12f931839a3bdfe28b584db0e640a65a8bcbc24560ae3fdb025a449b3d754e", size = 67537, upload-time = "2026-03-09T13:14:15.808Z" }, - { url = "https://files.pythonhosted.org/packages/ee/20/3a87fbece2c40ad0f6f0aefa93542559159c5f99831d596050e8afae7a9f/kiwisolver-1.5.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:16b85d37c2cbb3253226d26e64663f755d88a03439a9c47df6246b35defbdfb7", size = 65514, upload-time = "2026-03-09T13:14:18.035Z" }, - { url = "https://files.pythonhosted.org/packages/f0/7f/f943879cda9007c45e1f7dba216d705c3a18d6b35830e488b6c6a4e7cdf0/kiwisolver-1.5.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4432b835675f0ea7414aab3d37d119f7226d24869b7a829caeab49ebda407b0c", size = 1584848, upload-time = "2026-03-09T13:14:19.745Z" }, - { url = "https://files.pythonhosted.org/packages/37/f8/4d4f85cc1870c127c88d950913370dd76138482161cd07eabbc450deff01/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b0feb50971481a2cc44d94e88bdb02cdd497618252ae226b8eb1201b957e368", size = 1391542, upload-time = "2026-03-09T13:14:21.54Z" }, - { url = "https://files.pythonhosted.org/packages/04/0b/65dd2916c84d252b244bd405303220f729e7c17c9d7d33dca6feeff9ffc4/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56fa888f10d0f367155e76ce849fa1166fc9730d13bd2d65a2aa13b6f5424489", size = 1404447, upload-time = "2026-03-09T13:14:23.205Z" }, - { url = "https://files.pythonhosted.org/packages/39/5c/2606a373247babce9b1d056c03a04b65f3cf5290a8eac5d7bdead0a17e21/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:940dda65d5e764406b9fb92761cbf462e4e63f712ab60ed98f70552e496f3bf1", size = 1455918, upload-time = "2026-03-09T13:14:24.74Z" }, - { url = "https://files.pythonhosted.org/packages/d5/d1/c6078b5756670658e9192a2ef11e939c92918833d2745f85cd14a6004bdf/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_39_riscv64.whl", hash = "sha256:89fc958c702ee9a745e4700378f5d23fddbc46ff89e8fdbf5395c24d5c1452a3", size = 1072856, upload-time = "2026-03-09T13:14:26.597Z" }, - { url = "https://files.pythonhosted.org/packages/cb/c8/7def6ddf16eb2b3741d8b172bdaa9af882b03c78e9b0772975408801fa63/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9027d773c4ff81487181a925945743413f6069634d0b122d0b37684ccf4f1e18", size = 2333580, upload-time = "2026-03-09T13:14:28.237Z" }, - { url = "https://files.pythonhosted.org/packages/9e/87/2ac1fce0eb1e616fcd3c35caa23e665e9b1948bb984f4764790924594128/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:5b233ea3e165e43e35dba1d2b8ecc21cf070b45b65ae17dd2747d2713d942021", size = 2423018, upload-time = "2026-03-09T13:14:30.018Z" }, - { url = "https://files.pythonhosted.org/packages/67/13/c6700ccc6cc218716bfcda4935e4b2997039869b4ad8a94f364c5a3b8e63/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ce9bf03dad3b46408c08649c6fbd6ca28a9fce0eb32fdfffa6775a13103b5310", size = 2062804, upload-time = "2026-03-09T13:14:32.888Z" }, - { url = "https://files.pythonhosted.org/packages/1b/bd/877056304626943ff0f1f44c08f584300c199b887cb3176cd7e34f1515f1/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:fc4d3f1fb9ca0ae9f97b095963bc6326f1dbfd3779d6679a1e016b9baaa153d3", size = 2597482, upload-time = "2026-03-09T13:14:34.971Z" }, - { url = "https://files.pythonhosted.org/packages/75/19/c60626c47bf0f8ac5dcf72c6c98e266d714f2fbbfd50cf6dab5ede3aaa50/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f443b4825c50a51ee68585522ab4a1d1257fac65896f282b4c6763337ac9f5d2", size = 2394328, upload-time = "2026-03-09T13:14:36.816Z" }, - { url = "https://files.pythonhosted.org/packages/47/84/6a6d5e5bb8273756c27b7d810d47f7ef2f1f9b9fd23c9ee9a3f8c75c9cef/kiwisolver-1.5.0-cp313-cp313t-win_arm64.whl", hash = "sha256:893ff3a711d1b515ba9da14ee090519bad4610ed1962fbe298a434e8c5f8db53", size = 68410, upload-time = "2026-03-09T13:14:38.695Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d7/060f45052f2a01ad5762c8fdecd6d7a752b43400dc29ff75cd47225a40fd/kiwisolver-1.5.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8df31fe574b8b3993cc61764f40941111b25c2d9fea13d3ce24a49907cd2d615", size = 123231, upload-time = "2026-03-09T13:14:41.323Z" }, - { url = "https://files.pythonhosted.org/packages/c2/a7/78da680eadd06ff35edef6ef68a1ad273bad3e2a0936c9a885103230aece/kiwisolver-1.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1d49a49ac4cbfb7c1375301cd1ec90169dfeae55ff84710d782260ce77a75a02", size = 66489, upload-time = "2026-03-09T13:14:42.534Z" }, - { url = "https://files.pythonhosted.org/packages/49/b2/97980f3ad4fae37dd7fe31626e2bf75fbf8bdf5d303950ec1fab39a12da8/kiwisolver-1.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0cbe94b69b819209a62cb27bdfa5dc2a8977d8de2f89dfd97ba4f53ed3af754e", size = 64063, upload-time = "2026-03-09T13:14:44.759Z" }, - { url = "https://files.pythonhosted.org/packages/e7/f9/b06c934a6aa8bc91f566bd2a214fd04c30506c2d9e2b6b171953216a65b6/kiwisolver-1.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:80aa065ffd378ff784822a6d7c3212f2d5f5e9c3589614b5c228b311fd3063ac", size = 1475913, upload-time = "2026-03-09T13:14:46.247Z" }, - { url = "https://files.pythonhosted.org/packages/6b/f0/f768ae564a710135630672981231320bc403cf9152b5596ec5289de0f106/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e7f886f47ab881692f278ae901039a234e4025a68e6dfab514263a0b1c4ae05", size = 1282782, upload-time = "2026-03-09T13:14:48.458Z" }, - { url = "https://files.pythonhosted.org/packages/e2/9f/1de7aad00697325f05238a5f2eafbd487fb637cc27a558b5367a5f37fb7f/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5060731cc3ed12ca3a8b57acd4aeca5bbc2f49216dd0bec1650a1acd89486bcd", size = 1300815, upload-time = "2026-03-09T13:14:50.721Z" }, - { url = "https://files.pythonhosted.org/packages/5a/c2/297f25141d2e468e0ce7f7a7b92e0cf8918143a0cbd3422c1ad627e85a06/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a4aa69609f40fce3cbc3f87b2061f042eee32f94b8f11db707b66a26461591a", size = 1347925, upload-time = "2026-03-09T13:14:52.304Z" }, - { url = "https://files.pythonhosted.org/packages/b9/d3/f4c73a02eb41520c47610207b21afa8cdd18fdbf64ffd94674ae21c4812d/kiwisolver-1.5.0-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:d168fda2dbff7b9b5f38e693182d792a938c31db4dac3a80a4888de603c99554", size = 991322, upload-time = "2026-03-09T13:14:54.637Z" }, - { url = "https://files.pythonhosted.org/packages/7b/46/d3f2efef7732fcda98d22bf4ad5d3d71d545167a852ca710a494f4c15343/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:413b820229730d358efd838ecbab79902fe97094565fdc80ddb6b0a18c18a581", size = 2232857, upload-time = "2026-03-09T13:14:56.471Z" }, - { url = "https://files.pythonhosted.org/packages/3f/ec/2d9756bf2b6d26ae4349b8d3662fb3993f16d80c1f971c179ce862b9dbae/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5124d1ea754509b09e53738ec185584cc609aae4a3b510aaf4ed6aa047ef9303", size = 2329376, upload-time = "2026-03-09T13:14:58.072Z" }, - { url = "https://files.pythonhosted.org/packages/8f/9f/876a0a0f2260f1bde92e002b3019a5fabc35e0939c7d945e0fa66185eb20/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e4415a8db000bf49a6dd1c478bf70062eaacff0f462b92b0ba68791a905861f9", size = 1982549, upload-time = "2026-03-09T13:14:59.668Z" }, - { url = "https://files.pythonhosted.org/packages/6c/4f/ba3624dfac23a64d54ac4179832860cb537c1b0af06024936e82ca4154a0/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d618fd27420381a4f6044faa71f46d8bfd911bd077c555f7138ed88729bfbe79", size = 2494680, upload-time = "2026-03-09T13:15:01.364Z" }, - { url = "https://files.pythonhosted.org/packages/39/b7/97716b190ab98911b20d10bf92eca469121ec483b8ce0edd314f51bc85af/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5092eb5b1172947f57d6ea7d89b2f29650414e4293c47707eb499ec07a0ac796", size = 2297905, upload-time = "2026-03-09T13:15:03.925Z" }, - { url = "https://files.pythonhosted.org/packages/a3/36/4e551e8aa55c9188bca9abb5096805edbf7431072b76e2298e34fd3a3008/kiwisolver-1.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:d76e2d8c75051d58177e762164d2e9ab92886534e3a12e795f103524f221dd8e", size = 75086, upload-time = "2026-03-09T13:15:07.775Z" }, - { url = "https://files.pythonhosted.org/packages/70/15/9b90f7df0e31a003c71649cf66ef61c3c1b862f48c81007fa2383c8bd8d7/kiwisolver-1.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:fa6248cd194edff41d7ea9425ced8ca3a6f838bfb295f6f1d6e6bb694a8518df", size = 66577, upload-time = "2026-03-09T13:15:09.139Z" }, - { url = "https://files.pythonhosted.org/packages/17/01/7dc8c5443ff42b38e72731643ed7cf1ed9bf01691ae5cdca98501999ed83/kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d1ffeb80b5676463d7a7d56acbe8e37a20ce725570e09549fe738e02ca6b7e1e", size = 125794, upload-time = "2026-03-09T13:15:10.525Z" }, - { url = "https://files.pythonhosted.org/packages/46/8a/b4ebe46ebaac6a303417fab10c2e165c557ddaff558f9699d302b256bc53/kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc4d8e252f532ab46a1de9349e2d27b91fce46736a9eedaa37beaca66f574ed4", size = 67646, upload-time = "2026-03-09T13:15:12.016Z" }, - { url = "https://files.pythonhosted.org/packages/60/35/10a844afc5f19d6f567359bf4789e26661755a2f36200d5d1ed8ad0126e5/kiwisolver-1.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6783e069732715ad0c3ce96dbf21dbc2235ab0593f2baf6338101f70371f4028", size = 65511, upload-time = "2026-03-09T13:15:13.311Z" }, - { url = "https://files.pythonhosted.org/packages/f8/8a/685b297052dd041dcebce8e8787b58923b6e78acc6115a0dc9189011c44b/kiwisolver-1.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e7c4c09a490dc4d4a7f8cbee56c606a320f9dc28cf92a7157a39d1ce7676a657", size = 1584858, upload-time = "2026-03-09T13:15:15.103Z" }, - { url = "https://files.pythonhosted.org/packages/9e/80/04865e3d4638ac5bddec28908916df4a3075b8c6cc101786a96803188b96/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a075bd7bd19c70cf67c8badfa36cf7c5d8de3c9ddb8420c51e10d9c50e94920", size = 1392539, upload-time = "2026-03-09T13:15:16.661Z" }, - { url = "https://files.pythonhosted.org/packages/ba/01/77a19cacc0893fa13fafa46d1bba06fb4dc2360b3292baf4b56d8e067b24/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bdd3e53429ff02aa319ba59dfe4ceeec345bf46cf180ec2cf6fd5b942e7975e9", size = 1405310, upload-time = "2026-03-09T13:15:18.229Z" }, - { url = "https://files.pythonhosted.org/packages/53/39/bcaf5d0cca50e604cfa9b4e3ae1d64b50ca1ae5b754122396084599ef903/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cdcb35dc9d807259c981a85531048ede628eabcffb3239adf3d17463518992d", size = 1456244, upload-time = "2026-03-09T13:15:20.444Z" }, - { url = "https://files.pythonhosted.org/packages/d0/7a/72c187abc6975f6978c3e39b7cf67aeb8b3c0a8f9790aa7fd412855e9e1f/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:70d593af6a6ca332d1df73d519fddb5148edb15cd90d5f0155e3746a6d4fcc65", size = 1073154, upload-time = "2026-03-09T13:15:22.039Z" }, - { url = "https://files.pythonhosted.org/packages/c7/ca/cf5b25783ebbd59143b4371ed0c8428a278abe68d6d0104b01865b1bbd0f/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:377815a8616074cabbf3f53354e1d040c35815a134e01d7614b7692e4bf8acfa", size = 2334377, upload-time = "2026-03-09T13:15:23.741Z" }, - { url = "https://files.pythonhosted.org/packages/4a/e5/b1f492adc516796e88751282276745340e2a72dcd0d36cf7173e0daf3210/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0255a027391d52944eae1dbb5d4cc5903f57092f3674e8e544cdd2622826b3f0", size = 2425288, upload-time = "2026-03-09T13:15:25.789Z" }, - { url = "https://files.pythonhosted.org/packages/e6/e5/9b21fbe91a61b8f409d74a26498706e97a48008bfcd1864373d32a6ba31c/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:012b1eb16e28718fa782b5e61dc6f2da1f0792ca73bd05d54de6cb9561665fc9", size = 2063158, upload-time = "2026-03-09T13:15:27.63Z" }, - { url = "https://files.pythonhosted.org/packages/b1/02/83f47986138310f95ea95531f851b2a62227c11cbc3e690ae1374fe49f0f/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0e3aafb33aed7479377e5e9a82e9d4bf87063741fc99fc7ae48b0f16e32bdd6f", size = 2597260, upload-time = "2026-03-09T13:15:29.421Z" }, - { url = "https://files.pythonhosted.org/packages/07/18/43a5f24608d8c313dd189cf838c8e68d75b115567c6279de7796197cfb6a/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7a116ae737f0000343218c4edf5bd45893bfeaff0993c0b215d7124c9f77646", size = 2394403, upload-time = "2026-03-09T13:15:31.517Z" }, - { url = "https://files.pythonhosted.org/packages/3b/b5/98222136d839b8afabcaa943b09bd05888c2d36355b7e448550211d1fca4/kiwisolver-1.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1dd9b0b119a350976a6d781e7278ec7aca0b201e1a9e2d23d9804afecb6ca681", size = 79687, upload-time = "2026-03-09T13:15:33.204Z" }, - { url = "https://files.pythonhosted.org/packages/99/a2/ca7dc962848040befed12732dff6acae7fb3c4f6fc4272b3f6c9a30b8713/kiwisolver-1.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:58f812017cd2985c21fbffb4864d59174d4903dd66fa23815e74bbc7a0e2dd57", size = 70032, upload-time = "2026-03-09T13:15:34.411Z" }, - { url = "https://files.pythonhosted.org/packages/1c/fa/2910df836372d8761bb6eff7d8bdcb1613b5c2e03f260efe7abe34d388a7/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_10_13_x86_64.whl", hash = "sha256:5ae8e62c147495b01a0f4765c878e9bfdf843412446a247e28df59936e99e797", size = 130262, upload-time = "2026-03-09T13:15:35.629Z" }, - { url = "https://files.pythonhosted.org/packages/0f/41/c5f71f9f00aabcc71fee8b7475e3f64747282580c2fe748961ba29b18385/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:f6764a4ccab3078db14a632420930f6186058750df066b8ea2a7106df91d3203", size = 138036, upload-time = "2026-03-09T13:15:36.894Z" }, - { url = "https://files.pythonhosted.org/packages/fa/06/7399a607f434119c6e1fdc8ec89a8d51ccccadf3341dee4ead6bd14caaf5/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c31c13da98624f957b0fb1b5bae5383b2333c2c3f6793d9825dd5ce79b525cb7", size = 194295, upload-time = "2026-03-09T13:15:38.22Z" }, - { url = "https://files.pythonhosted.org/packages/b5/91/53255615acd2a1eaca307ede3c90eb550bae9c94581f8c00081b6b1c8f44/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:1f1489f769582498610e015a8ef2d36f28f505ab3096d0e16b4858a9ec214f57", size = 75987, upload-time = "2026-03-09T13:15:39.65Z" }, - { url = "https://files.pythonhosted.org/packages/17/6f/6fd4f690a40c2582fa34b97d2678f718acf3706b91d270c65ecb455d0a06/kiwisolver-1.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:295d9ffe712caa9f8a3081de8d32fc60191b4b51c76f02f951fd8407253528f4", size = 59606, upload-time = "2026-03-09T13:15:40.81Z" }, - { url = "https://files.pythonhosted.org/packages/82/a0/2355d5e3b338f13ce63f361abb181e3b6ea5fffdb73f739b3e80efa76159/kiwisolver-1.5.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:51e8c4084897de9f05898c2c2a39af6318044ae969d46ff7a34ed3f96274adca", size = 57537, upload-time = "2026-03-09T13:15:42.071Z" }, - { url = "https://files.pythonhosted.org/packages/c8/b9/1d50e610ecadebe205b71d6728fd224ce0e0ca6aba7b9cbe1da049203ac5/kiwisolver-1.5.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b83af57bdddef03c01a9138034c6ff03181a3028d9a1003b301eb1a55e161a3f", size = 79888, upload-time = "2026-03-09T13:15:43.317Z" }, - { url = "https://files.pythonhosted.org/packages/cd/ee/b85ffcd75afed0357d74f0e6fc02a4507da441165de1ca4760b9f496390d/kiwisolver-1.5.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf4679a3d71012a7c2bf360e5cd878fbd5e4fcac0896b56393dec239d81529ed", size = 77584, upload-time = "2026-03-09T13:15:44.605Z" }, - { url = "https://files.pythonhosted.org/packages/6b/dd/644d0dde6010a8583b4cd66dd41c5f83f5325464d15c4f490b3340ab73b4/kiwisolver-1.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:41024ed50e44ab1a60d3fe0a9d15a4ccc9f5f2b1d814ff283c8d01134d5b81bc", size = 73390, upload-time = "2026-03-09T13:15:45.832Z" }, - { url = "https://files.pythonhosted.org/packages/e9/eb/5fcbbbf9a0e2c3a35effb88831a483345326bbc3a030a3b5b69aee647f84/kiwisolver-1.5.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ec4c85dc4b687c7f7f15f553ff26a98bfe8c58f5f7f0ac8905f0ba4c7be60232", size = 59532, upload-time = "2026-03-09T13:15:47.047Z" }, - { url = "https://files.pythonhosted.org/packages/c3/9b/e17104555bb4db148fd52327feea1e96be4b88e8e008b029002c281a21ab/kiwisolver-1.5.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:12e91c215a96e39f57989c8912ae761286ac5a9584d04030ceb3368a357f017a", size = 57420, upload-time = "2026-03-09T13:15:48.199Z" }, - { url = "https://files.pythonhosted.org/packages/48/44/2b5b95b7aa39fb2d8d9d956e0f3d5d45aef2ae1d942d4c3ffac2f9cfed1a/kiwisolver-1.5.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:be4a51a55833dc29ab5d7503e7bcb3b3af3402d266018137127450005cdfe737", size = 79892, upload-time = "2026-03-09T13:15:49.694Z" }, - { url = "https://files.pythonhosted.org/packages/52/7d/7157f9bba6b455cfb4632ed411e199fc8b8977642c2b12082e1bd9e6d173/kiwisolver-1.5.0-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:daae526907e262de627d8f70058a0f64acc9e2641c164c99c8f594b34a799a16", size = 77603, upload-time = "2026-03-09T13:15:50.945Z" }, - { url = "https://files.pythonhosted.org/packages/0a/dd/8050c947d435c8d4bc94e3252f4d8bb8a76cfb424f043a8680be637a57f1/kiwisolver-1.5.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:59cd8683f575d96df5bb48f6add94afc055012c29e28124fcae2b63661b9efb1", size = 73558, upload-time = "2026-03-09T13:15:52.112Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/67/9c61eccb13f0bdca9307614e782fec49ffdde0f7a2314935d489fa93cd9c/kiwisolver-1.5.0.tar.gz", hash = "sha256:d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/f8/06549565caa026e540b7e7bab5c5a90eb7ca986015f4c48dace243cd24d9/kiwisolver-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32cc0a5365239a6ea0c6ed461e8838d053b57e397443c0ca894dcc8e388d4374" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/eb/8476a0818850c563ff343ea7c9c05dcdcbd689a38e01aa31657df01f91fa/kiwisolver-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc0b66c1eec9021353a4b4483afb12dfd50e3669ffbb9152d6842eb34c7e29fd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/c4/f9c8a6b4c21aed4198566e45923512986d6cef530e7263b3a5f823546561/kiwisolver-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86e0287879f75621ae85197b0877ed2f8b7aa57b511c7331dce2eb6f4de7d476" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/0e/ba4ae25d03722f64de8b2c13e80d82ab537a06b30fc7065183c6439357e3/kiwisolver-1.5.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:62f59da443c4f4849f73a51a193b1d9d258dcad0c41bc4d1b8fb2bcc04bfeb22" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/e4/3f43a011bc8a0860d1c96f84d32fa87439d3feedf66e672fef03bf5e8bac/kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9190426b7aa26c5229501fa297b8d0653cfd3f5a36f7990c264e157cbf886b3b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/34/3a901559a1e0c218404f9a61a93be82d45cb8f44453ba43088644980f033/kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c8277104ded0a51e699c8c3aff63ce2c56d4ed5519a5f73e0fd7057f959a2b9e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/9e/f78c466ea20527822b95ad38f141f2de1dcd7f23fb8716b002b0d91bbe59/kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8f9baf6f0a6e7571c45c8863010b45e837c3ee1c2c77fcd6ef423be91b21fedb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/66/fd0e4a612e3a286c24e6d6f3a5428d11258ed1909bc530ba3b59807fd980/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cff8e5383db4989311f99e814feeb90c4723eb4edca425b9d5d9c3fefcdd9537" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/8e/6cac929e0049539e5ee25c1ee937556f379ba5204840d03008363ced662d/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ebae99ed6764f2b5771c522477b311be313e8841d2e0376db2b10922daebbba4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/d3/9d0c18f1b52ea8074b792452cf17f1f5a56bd0302a85191f405cfbf9da16/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:d5cd5189fc2b6a538b75ae45433140c4823463918f7b1617c31e68b085c0022c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/2a/6e19368803a038b2a90857bf4ee9e3c7b667216d045866bf22d3439fd75e/kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f42c23db5d1521218a3276bb08666dcb662896a0be7347cba864eca45ff64ede" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/2b/3f641dfcbe72e222175d626bacf2f72c3b34312afec949dd1c50afa400f5/kiwisolver-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:94eff26096eb5395136634622515b234ecb6c9979824c1f5004c6e3c3c85ccd2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/88/299b137b9e0025d8982e03d2d52c123b0a2b159e84b0ef1501ef446339cf/kiwisolver-1.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:dd952e03bfbb096cfe2dd35cd9e00f269969b67536cb4370994afc20ff2d0875" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/dd/a495a9c104be1c476f0386e714252caf2b7eca883915422a64c50b88c6f5/kiwisolver-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9eed0f7edbb274413b6ee781cca50541c8c0facd3d6fd289779e494340a2b85c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/60/37b4047a2af0cf5ef6d8b4b26e91829ae6fc6a2d1f74524bcb0e7cd28a32/kiwisolver-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c4923e404d6bcd91b6779c009542e5647fef32e4a5d75e115e3bbac6f2335eb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/aa/510dc933d87767584abfe03efa445889996c70c2990f6f87c3ebaa0a18c5/kiwisolver-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0df54df7e686afa55e6f21fb86195224a6d9beb71d637e8d7920c95cf0f89aac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/46/bddc13df6c2a40741e0cc7865bb1c9ed4796b6760bd04ce5fae3928ef917/kiwisolver-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2517e24d7315eb51c10664cdb865195df38ab74456c677df67bb47f12d088a27" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/d6/76621246f5165e5372f02f5e6f3f48ea336a8f9e96e43997d45b240ed8cd/kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff710414307fefa903e0d9bdf300972f892c23477829f49504e59834f4195398" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/c1/31559ec6fb39a5b48035ce29bb63ade628f321785f38c384dee3e2c08bc1/kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6176c1811d9d5a04fa391c490cc44f451e240697a16977f11c6f722efb9041db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/ef/1cb8276f2d29cc6a41e0a042f27946ca347d3a4a75acf85d0a16aa6dcc82/kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50847dca5d197fcbd389c805aa1a1cf32f25d2e7273dc47ab181a517666b68cc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/e4/5ba3cecd7ce6236ae4a80f67e5d5531287337d0e1f076ca87a5abe4cd5d0/kiwisolver-1.5.0-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:01808c6d15f4c3e8559595d6d1fe6411c68e4a3822b4b9972b44473b24f4e679" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/69/dc61f7ae9a2f071f26004ced87f078235b5507ab6e5acd78f40365655034/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f1f9f4121ec58628c96baa3de1a55a4e3a333c5102c8e94b64e23bf7b2083309" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/7b/abbe0f1b5afa85f8d084b73e90e5f801c0939eba16ac2e49af7c61a6c28d/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b7d335370ae48a780c6e6a6bbfa97342f563744c39c35562f3f367665f5c1de2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/80/5908ae149d96d81580d604c7f8aefd0e98f4fd728cf172f477e9f2a81744/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:800ee55980c18545af444d93fdd60c56b580db5cc54867d8cbf8a1dc0829938c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/08/a78cb776f8c085b7143142ce479859cfec086bd09ee638a317040b6ef420/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c438f6ca858697c9ab67eb28246c92508af972e114cac34e57a6d4ba17a3ac08" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/e1/65584da5356ed6cb12c63791a10b208860ac40a83de165cb6a6751a686e3/kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c63c91f95173f9c2a67c7c526b2cea976828a0e7fced9cdcead2802dc10f8a4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/6c/28f17390b62b8f2f520e2915095b3c94d88681ecf0041e75389d9667f202/kiwisolver-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:beb7f344487cdcb9e1efe4b7a29681b74d34c08f0043a327a74da852a6749e7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/0e/2ee5debc4f77a625778fec5501ff3e8036fe361b7ee28ae402a485bb9694/kiwisolver-1.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:ad4ae4ffd1ee9cd11357b4c66b612da9888f4f4daf2f36995eda64bd45370cac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/b2/818b74ebea34dabe6d0c51cb1c572e046730e64844da6ed646d5298c40ce/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4e9750bc21b886308024f8a54ccb9a2cc38ac9fa813bf4348434e3d54f337ff9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/d9/405320f8077e8e1c5c4bd6adc45e1e6edf6d727b6da7f2e2533cf58bff71/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:72ec46b7eba5b395e0a7b63025490d3214c11013f4aacb4f5e8d6c3041829588" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/9f/795fedf35634f746151ca8839d05681ceb6287fbed6cc1c9bf235f7887c2/kiwisolver-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ed3a984b31da7481b103f68776f7128a89ef26ed40f4dc41a2223cda7fb24819" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/13/680c54afe3e65767bed7ec1a15571e1a2f1257128733851ade24abcefbcc/kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb5136fb5352d3f422df33f0c879a1b0c204004324150cc3b5e3c4f310c9049f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/2f/cebfcdb60fd6a9b0f6b47a9337198bcbad6fbe15e68189b7011fd914911f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2af221f268f5af85e776a73d62b0845fc8baf8ef0abfae79d29c77d0e776aaf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/0d/9b782923aada3fafb1d6b84e13121954515c669b18af0c26e7d21f579855/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b0f172dc8ffaccb8522d7c5d899de00133f2f1ca7b0a49b7da98e901de87bf2d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/27/70/83241b6634b04fe44e892688d5208332bde130f38e610c0418f9ede47ded/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6ab8ba9152203feec73758dad83af9a0bbe05001eb4639e547207c40cfb52083" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/db/30ed226fb271ae1a6431fc0fe0edffb2efe23cadb01e798caeb9f2ceae8f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:cdee07c4d7f6d72008d3f73b9bf027f4e11550224c7c50d8df1ae4a37c1402a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/bd/c314595208e4c9587652d50959ead9e461995389664e490f4dce7ff0f782/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7c60d3c9b06fb23bd9c6139281ccbdc384297579ae037f08ae90c69f6845c0b1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/43/0499cec932d935229b5543d073c2b87c9c22846aab48881e9d8d6e742a2d/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e315e5ec90d88e140f57696ff85b484ff68bb311e36f2c414aa4286293e6dee0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/6f/79b0d760907965acfd9d61826a3d41f8f093c538f55cd2633d3f0db269f6/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:1465387ac63576c3e125e5337a6892b9e99e0627d52317f3ca79e6930d889d15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/31/01d0537c41cb75a551a438c3c7a80d0c60d60b81f694dac83dd436aec0d0/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:530a3fd64c87cffa844d4b6b9768774763d9caa299e9b75d8eca6a4423b31314" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/34/8aefdd0be9cfd00a44509251ba864f5caf2991e36772e61c408007e7f417/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1d9daea4ea6b9be74fe2f01f7fbade8d6ffab263e781274cffca0dba9be9eec9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/cf/0348374369ca588f8fe9c338fae49fa4e16eeb10ffb3d012f23a54578a9e/kiwisolver-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:f18c2d9782259a6dc132fdc7a63c168cbc74b35284b6d75c673958982a378384" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/26/192b26196e2316e2bd29deef67e37cdf9870d9af8e085e521afff0fed526/kiwisolver-1.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:f7c7553b13f69c1b29a5bde08ddc6d9d0c8bfb84f9ed01c30db25944aeb852a7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/69/024d6711d5ba575aa65d5538042e99964104e97fa153a9f10bc369182bc2/kiwisolver-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fd40bb9cd0891c4c3cb1ddf83f8bbfa15731a248fdc8162669405451e2724b09" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/48/adbb40df306f587054a348831220812b9b1d787aff714cfbc8556e38fccd/kiwisolver-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c0e1403fd7c26d77c1f03e096dc58a5c726503fa0db0456678b8668f76f521e3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/3a/d0a972b34e1c63e2409413104216cd1caa02c5a37cb668d1687d466c1c45/kiwisolver-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dda366d548e89a90d88a86c692377d18d8bd64b39c1fb2b92cb31370e2896bbd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/0a/7b98e1e119878a27ba8618ca1e18b14f992ff1eda40f47bccccf4de44121/kiwisolver-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:332b4f0145c30b5f5ad9374881133e5aa64320428a57c2c2b61e9d891a51c2f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/d8/55638d89ffd27799d5cc3d8aa28e12f4ce7a64d67b285114dbedc8ea4136/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c50b89ffd3e1a911c69a1dd3de7173c0cd10b130f56222e57898683841e4f96" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/97/b4c8d0d18421ecceba20ad8701358453b88e32414e6f6950b5a4bad54e65/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4db576bb8c3ef9365f8b40fe0f671644de6736ae2c27a2c62d7d8a1b4329f099" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/10/f862f94b6389d8957448ec9df59450b81bec4abb318805375c401a1e6892/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0b85aad90cea8ac6797a53b5d5f2e967334fa4d1149f031c4537569972596cb8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/6a/f1650af35821eaf09de398ec0bc2aefc8f211f0cda50204c9f1673741ba9/kiwisolver-1.5.0-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:d36ca54cb4c6c4686f7cbb7b817f66f5911c12ddb519450bbe86707155028f87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/19/d7fb82984b9238115fe629c915007be608ebd23dc8629703d917dbfaffd4/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:38f4a703656f493b0ad185211ccfca7f0386120f022066b018eb5296d8613e23" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7f/b9/46b7f386589fd222dac9e9de9c956ce5bcefe2ee73b4e79891381dda8654/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ac2360e93cb41be81121755c6462cff3beaa9967188c866e5fce5cf13170859" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/8b/95e237cf3d9c642960153c769ddcbe278f182c8affb20cecc1cc983e7cc5/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c95cab08d1965db3d84a121f1c7ce7479bdd4072c9b3dafd8fecce48a2e6b902" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/95/980c9df53501892784997820136c01f62bc1865e31b82b9560f980c0e649/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc20894c3d21194d8041a28b65622d5b86db786da6e3cfe73f0c762951a61167" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/32/900647fd0840abebe1561792c6b31e6a7c0e278fc3973d30572a965ca14c/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a32f72973f0f950c1920475d5c5ea3d971b81b6f0ec53b8d0a956cc965f22e0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/8a/be60e3bbcf513cc5a50f4a3e88e1dcecebb79c1ad607a7222877becaa101/kiwisolver-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bf3acf1419fa93064a4c2189ac0b58e3be7872bf6ee6177b0d4c63dc4cea276" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/d2/64be2e429eb4fca7f7e1c52a91b12663aeaf25de3895e5cca0f47ef2a8d0/kiwisolver-1.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa8eb9ecdb7efb0b226acec134e0d709e87a909fa4971a54c0c4f6e88635484c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/69/ce68dd0c85755ae2de490bf015b62f2cea5f6b14ff00a463f9d0774449ff/kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:db485b3847d182b908b483b2ed133c66d88d49cacf98fd278fadafe11b4478d1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/aa/937aac021cf9d4349990d47eb319309a51355ed1dbdc9c077cdc9224cb11/kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:be12f931839a3bdfe28b584db0e640a65a8bcbc24560ae3fdb025a449b3d754e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ee/20/3a87fbece2c40ad0f6f0aefa93542559159c5f99831d596050e8afae7a9f/kiwisolver-1.5.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:16b85d37c2cbb3253226d26e64663f755d88a03439a9c47df6246b35defbdfb7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/7f/f943879cda9007c45e1f7dba216d705c3a18d6b35830e488b6c6a4e7cdf0/kiwisolver-1.5.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4432b835675f0ea7414aab3d37d119f7226d24869b7a829caeab49ebda407b0c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/f8/4d4f85cc1870c127c88d950913370dd76138482161cd07eabbc450deff01/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b0feb50971481a2cc44d94e88bdb02cdd497618252ae226b8eb1201b957e368" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/0b/65dd2916c84d252b244bd405303220f729e7c17c9d7d33dca6feeff9ffc4/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56fa888f10d0f367155e76ce849fa1166fc9730d13bd2d65a2aa13b6f5424489" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/5c/2606a373247babce9b1d056c03a04b65f3cf5290a8eac5d7bdead0a17e21/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:940dda65d5e764406b9fb92761cbf462e4e63f712ab60ed98f70552e496f3bf1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/d1/c6078b5756670658e9192a2ef11e939c92918833d2745f85cd14a6004bdf/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_39_riscv64.whl", hash = "sha256:89fc958c702ee9a745e4700378f5d23fddbc46ff89e8fdbf5395c24d5c1452a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/c8/7def6ddf16eb2b3741d8b172bdaa9af882b03c78e9b0772975408801fa63/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9027d773c4ff81487181a925945743413f6069634d0b122d0b37684ccf4f1e18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/87/2ac1fce0eb1e616fcd3c35caa23e665e9b1948bb984f4764790924594128/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:5b233ea3e165e43e35dba1d2b8ecc21cf070b45b65ae17dd2747d2713d942021" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/13/c6700ccc6cc218716bfcda4935e4b2997039869b4ad8a94f364c5a3b8e63/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ce9bf03dad3b46408c08649c6fbd6ca28a9fce0eb32fdfffa6775a13103b5310" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/bd/877056304626943ff0f1f44c08f584300c199b887cb3176cd7e34f1515f1/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:fc4d3f1fb9ca0ae9f97b095963bc6326f1dbfd3779d6679a1e016b9baaa153d3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/19/c60626c47bf0f8ac5dcf72c6c98e266d714f2fbbfd50cf6dab5ede3aaa50/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f443b4825c50a51ee68585522ab4a1d1257fac65896f282b4c6763337ac9f5d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/84/6a6d5e5bb8273756c27b7d810d47f7ef2f1f9b9fd23c9ee9a3f8c75c9cef/kiwisolver-1.5.0-cp313-cp313t-win_arm64.whl", hash = "sha256:893ff3a711d1b515ba9da14ee090519bad4610ed1962fbe298a434e8c5f8db53" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/d7/060f45052f2a01ad5762c8fdecd6d7a752b43400dc29ff75cd47225a40fd/kiwisolver-1.5.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8df31fe574b8b3993cc61764f40941111b25c2d9fea13d3ce24a49907cd2d615" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/a7/78da680eadd06ff35edef6ef68a1ad273bad3e2a0936c9a885103230aece/kiwisolver-1.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1d49a49ac4cbfb7c1375301cd1ec90169dfeae55ff84710d782260ce77a75a02" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/b2/97980f3ad4fae37dd7fe31626e2bf75fbf8bdf5d303950ec1fab39a12da8/kiwisolver-1.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0cbe94b69b819209a62cb27bdfa5dc2a8977d8de2f89dfd97ba4f53ed3af754e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/f9/b06c934a6aa8bc91f566bd2a214fd04c30506c2d9e2b6b171953216a65b6/kiwisolver-1.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:80aa065ffd378ff784822a6d7c3212f2d5f5e9c3589614b5c228b311fd3063ac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/f0/f768ae564a710135630672981231320bc403cf9152b5596ec5289de0f106/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e7f886f47ab881692f278ae901039a234e4025a68e6dfab514263a0b1c4ae05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/9f/1de7aad00697325f05238a5f2eafbd487fb637cc27a558b5367a5f37fb7f/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5060731cc3ed12ca3a8b57acd4aeca5bbc2f49216dd0bec1650a1acd89486bcd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/c2/297f25141d2e468e0ce7f7a7b92e0cf8918143a0cbd3422c1ad627e85a06/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a4aa69609f40fce3cbc3f87b2061f042eee32f94b8f11db707b66a26461591a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/d3/f4c73a02eb41520c47610207b21afa8cdd18fdbf64ffd94674ae21c4812d/kiwisolver-1.5.0-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:d168fda2dbff7b9b5f38e693182d792a938c31db4dac3a80a4888de603c99554" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/46/d3f2efef7732fcda98d22bf4ad5d3d71d545167a852ca710a494f4c15343/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:413b820229730d358efd838ecbab79902fe97094565fdc80ddb6b0a18c18a581" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/ec/2d9756bf2b6d26ae4349b8d3662fb3993f16d80c1f971c179ce862b9dbae/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5124d1ea754509b09e53738ec185584cc609aae4a3b510aaf4ed6aa047ef9303" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/9f/876a0a0f2260f1bde92e002b3019a5fabc35e0939c7d945e0fa66185eb20/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e4415a8db000bf49a6dd1c478bf70062eaacff0f462b92b0ba68791a905861f9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6c/4f/ba3624dfac23a64d54ac4179832860cb537c1b0af06024936e82ca4154a0/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d618fd27420381a4f6044faa71f46d8bfd911bd077c555f7138ed88729bfbe79" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/b7/97716b190ab98911b20d10bf92eca469121ec483b8ce0edd314f51bc85af/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5092eb5b1172947f57d6ea7d89b2f29650414e4293c47707eb499ec07a0ac796" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/36/4e551e8aa55c9188bca9abb5096805edbf7431072b76e2298e34fd3a3008/kiwisolver-1.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:d76e2d8c75051d58177e762164d2e9ab92886534e3a12e795f103524f221dd8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/15/9b90f7df0e31a003c71649cf66ef61c3c1b862f48c81007fa2383c8bd8d7/kiwisolver-1.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:fa6248cd194edff41d7ea9425ced8ca3a6f838bfb295f6f1d6e6bb694a8518df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/01/7dc8c5443ff42b38e72731643ed7cf1ed9bf01691ae5cdca98501999ed83/kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d1ffeb80b5676463d7a7d56acbe8e37a20ce725570e09549fe738e02ca6b7e1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/8a/b4ebe46ebaac6a303417fab10c2e165c557ddaff558f9699d302b256bc53/kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc4d8e252f532ab46a1de9349e2d27b91fce46736a9eedaa37beaca66f574ed4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/35/10a844afc5f19d6f567359bf4789e26661755a2f36200d5d1ed8ad0126e5/kiwisolver-1.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6783e069732715ad0c3ce96dbf21dbc2235ab0593f2baf6338101f70371f4028" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/8a/685b297052dd041dcebce8e8787b58923b6e78acc6115a0dc9189011c44b/kiwisolver-1.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e7c4c09a490dc4d4a7f8cbee56c606a320f9dc28cf92a7157a39d1ce7676a657" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/80/04865e3d4638ac5bddec28908916df4a3075b8c6cc101786a96803188b96/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a075bd7bd19c70cf67c8badfa36cf7c5d8de3c9ddb8420c51e10d9c50e94920" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/01/77a19cacc0893fa13fafa46d1bba06fb4dc2360b3292baf4b56d8e067b24/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bdd3e53429ff02aa319ba59dfe4ceeec345bf46cf180ec2cf6fd5b942e7975e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/39/bcaf5d0cca50e604cfa9b4e3ae1d64b50ca1ae5b754122396084599ef903/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cdcb35dc9d807259c981a85531048ede628eabcffb3239adf3d17463518992d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/7a/72c187abc6975f6978c3e39b7cf67aeb8b3c0a8f9790aa7fd412855e9e1f/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:70d593af6a6ca332d1df73d519fddb5148edb15cd90d5f0155e3746a6d4fcc65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/ca/cf5b25783ebbd59143b4371ed0c8428a278abe68d6d0104b01865b1bbd0f/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:377815a8616074cabbf3f53354e1d040c35815a134e01d7614b7692e4bf8acfa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/e5/b1f492adc516796e88751282276745340e2a72dcd0d36cf7173e0daf3210/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0255a027391d52944eae1dbb5d4cc5903f57092f3674e8e544cdd2622826b3f0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/e5/9b21fbe91a61b8f409d74a26498706e97a48008bfcd1864373d32a6ba31c/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:012b1eb16e28718fa782b5e61dc6f2da1f0792ca73bd05d54de6cb9561665fc9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/02/83f47986138310f95ea95531f851b2a62227c11cbc3e690ae1374fe49f0f/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0e3aafb33aed7479377e5e9a82e9d4bf87063741fc99fc7ae48b0f16e32bdd6f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/18/43a5f24608d8c313dd189cf838c8e68d75b115567c6279de7796197cfb6a/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7a116ae737f0000343218c4edf5bd45893bfeaff0993c0b215d7124c9f77646" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/b5/98222136d839b8afabcaa943b09bd05888c2d36355b7e448550211d1fca4/kiwisolver-1.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1dd9b0b119a350976a6d781e7278ec7aca0b201e1a9e2d23d9804afecb6ca681" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/a2/ca7dc962848040befed12732dff6acae7fb3c4f6fc4272b3f6c9a30b8713/kiwisolver-1.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:58f812017cd2985c21fbffb4864d59174d4903dd66fa23815e74bbc7a0e2dd57" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/fa/2910df836372d8761bb6eff7d8bdcb1613b5c2e03f260efe7abe34d388a7/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_10_13_x86_64.whl", hash = "sha256:5ae8e62c147495b01a0f4765c878e9bfdf843412446a247e28df59936e99e797" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/41/c5f71f9f00aabcc71fee8b7475e3f64747282580c2fe748961ba29b18385/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:f6764a4ccab3078db14a632420930f6186058750df066b8ea2a7106df91d3203" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/06/7399a607f434119c6e1fdc8ec89a8d51ccccadf3341dee4ead6bd14caaf5/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c31c13da98624f957b0fb1b5bae5383b2333c2c3f6793d9825dd5ce79b525cb7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/91/53255615acd2a1eaca307ede3c90eb550bae9c94581f8c00081b6b1c8f44/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:1f1489f769582498610e015a8ef2d36f28f505ab3096d0e16b4858a9ec214f57" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/6f/6fd4f690a40c2582fa34b97d2678f718acf3706b91d270c65ecb455d0a06/kiwisolver-1.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:295d9ffe712caa9f8a3081de8d32fc60191b4b51c76f02f951fd8407253528f4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/a0/2355d5e3b338f13ce63f361abb181e3b6ea5fffdb73f739b3e80efa76159/kiwisolver-1.5.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:51e8c4084897de9f05898c2c2a39af6318044ae969d46ff7a34ed3f96274adca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/b9/1d50e610ecadebe205b71d6728fd224ce0e0ca6aba7b9cbe1da049203ac5/kiwisolver-1.5.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b83af57bdddef03c01a9138034c6ff03181a3028d9a1003b301eb1a55e161a3f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/ee/b85ffcd75afed0357d74f0e6fc02a4507da441165de1ca4760b9f496390d/kiwisolver-1.5.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf4679a3d71012a7c2bf360e5cd878fbd5e4fcac0896b56393dec239d81529ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/dd/644d0dde6010a8583b4cd66dd41c5f83f5325464d15c4f490b3340ab73b4/kiwisolver-1.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:41024ed50e44ab1a60d3fe0a9d15a4ccc9f5f2b1d814ff283c8d01134d5b81bc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/eb/5fcbbbf9a0e2c3a35effb88831a483345326bbc3a030a3b5b69aee647f84/kiwisolver-1.5.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ec4c85dc4b687c7f7f15f553ff26a98bfe8c58f5f7f0ac8905f0ba4c7be60232" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/9b/e17104555bb4db148fd52327feea1e96be4b88e8e008b029002c281a21ab/kiwisolver-1.5.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:12e91c215a96e39f57989c8912ae761286ac5a9584d04030ceb3368a357f017a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/44/2b5b95b7aa39fb2d8d9d956e0f3d5d45aef2ae1d942d4c3ffac2f9cfed1a/kiwisolver-1.5.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:be4a51a55833dc29ab5d7503e7bcb3b3af3402d266018137127450005cdfe737" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/7d/7157f9bba6b455cfb4632ed411e199fc8b8977642c2b12082e1bd9e6d173/kiwisolver-1.5.0-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:daae526907e262de627d8f70058a0f64acc9e2641c164c99c8f594b34a799a16" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/dd/8050c947d435c8d4bc94e3252f4d8bb8a76cfb424f043a8680be637a57f1/kiwisolver-1.5.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:59cd8683f575d96df5bb48f6add94afc055012c29e28124fcae2b63661b9efb1" }, ] [[package]] name = "ldpc" version = "2.4.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "numpy" }, { name = "pymatching" }, { name = "pytest" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, { name = "sinter" }, { name = "stim" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ac/3d/1642f2456dc4c494ab1209b8da8a886cd4e82280839c8ef434294492738d/ldpc-2.4.1.tar.gz", hash = "sha256:729376026af4e46e550c333152f073dcf42224589380d309f38923e00736ceba", size = 1077057, upload-time = "2025-12-08T15:10:52.19Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/ff/3117aefc1c96e326f9202148e90b2df079134b01560baa1afad7e5a6b180/ldpc-2.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd3236dfafca2d131fda447bc0967cfebe416c300e57843ecc4ad2e6bcbb5b41", size = 1838599, upload-time = "2025-12-08T15:10:16.083Z" }, - { url = "https://files.pythonhosted.org/packages/c8/5c/956b57ce1ca189874bcb3dd2a1e0b69e1983ec3959fa7985a852b89b1c1b/ldpc-2.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4668eb988c0f02fc5aa9a33546a5d8d77e22a313cc05bd4057e29b45234fcfc", size = 1799645, upload-time = "2025-12-08T15:10:17.311Z" }, - { url = "https://files.pythonhosted.org/packages/82/69/880f2c6de35725544406242f20834f248f786a5f79327f0d25a89014b76f/ldpc-2.4.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1bfa21ec4839e203651627dedf94931d7b88ca6888afd3161c79f5cfb49c766", size = 8111299, upload-time = "2025-12-08T15:10:20.223Z" }, - { url = "https://files.pythonhosted.org/packages/1b/8e/79dc136fb4a375787bfea2a825b7a8ffb4bf1399d94e000f24e216f5fa62/ldpc-2.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b861c9b6e0e9d21db95a1adad9f69fe06e729417edb44363c8c37c24259816d", size = 8241769, upload-time = "2025-12-08T15:10:21.882Z" }, - { url = "https://files.pythonhosted.org/packages/27/c0/41d4797ad25d912bf271810dd43cce98bdc86108b097fc61bbfb8482beff/ldpc-2.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:b143a62e55ac8d8ee60d7956b835426f980d04897af91185c978552321caf7e8", size = 1741775, upload-time = "2025-12-08T15:10:23.485Z" }, - { url = "https://files.pythonhosted.org/packages/1d/fe/df722641c8ebacc84ab11ef923b5d43bbf6016ce7e5f7d72e82de6115564/ldpc-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fae91c5a279cb60c0c1d78ae343e241124e4de1a6dcca881cda688a9ea7a404c", size = 1834765, upload-time = "2025-12-08T15:10:24.689Z" }, - { url = "https://files.pythonhosted.org/packages/97/db/37528f37cf7919bbce5695e05336fc2f83019f4d433d2c2abe8975871450/ldpc-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a15d944db7434a7435df512666b7b60e7c243809fa160f94bb9123009656c4dd", size = 1797083, upload-time = "2025-12-08T15:10:26.088Z" }, - { url = "https://files.pythonhosted.org/packages/13/f8/702edc71d4d5a3e5eefb1a6c8b65993989de114eae7c452548efebff5cca/ldpc-2.4.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1af8949d463273bfec595411dbf98192510a80255844bac464a05b909939fc80", size = 8231235, upload-time = "2025-12-08T15:10:27.19Z" }, - { url = "https://files.pythonhosted.org/packages/82/51/bc19ffc320d0cb6430c57c7c1e1457e4e8fb4ab3ae10883b28639a40f41a/ldpc-2.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:37028d9d045130b101f4fcedae3b7a4c04802633bf2b09927703d3a0604c8554", size = 8355639, upload-time = "2025-12-08T15:10:28.555Z" }, - { url = "https://files.pythonhosted.org/packages/b2/b0/00dd384b4ff54c9b9ab8bfe7e52b212963831bef3d72547092a5cb77971c/ldpc-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:602445197320d9dc9ce4a2af6e0661d8d303ef2cddea24b99bee6b51415a343e", size = 1741069, upload-time = "2025-12-08T15:10:30.218Z" }, - { url = "https://files.pythonhosted.org/packages/d0/3b/11c487a402c58e646ce5736412ff4aa06ff0cbf20c4e228e1c942c473b08/ldpc-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:035ceb48f9d8c0d2ab37eee67f87692a935ba586ebc380a0f7ad7bac3192a872", size = 1834836, upload-time = "2025-12-08T15:10:31.333Z" }, - { url = "https://files.pythonhosted.org/packages/ce/ee/157f674b39807af9a16a2d682b6993a3696709278c83fe9039356cbd5460/ldpc-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4010c9ac9eff008c058dfa9f225325d5aed8b7a0b55ec0975a737fc7352aa301", size = 1795380, upload-time = "2025-12-08T15:10:32.459Z" }, - { url = "https://files.pythonhosted.org/packages/ca/b3/491228c3ee52889be6dbc9d3dbc1cff7f81d7174154dff564307fa76d694/ldpc-2.4.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6701b042f8d505f205c7fe39820566513f1191ed04413e0968bb54bfbc6f0086", size = 8122834, upload-time = "2025-12-08T15:10:33.59Z" }, - { url = "https://files.pythonhosted.org/packages/d6/b0/a480113901c689b73087406f0a09a2206de2c71e2b791257802362bd5b12/ldpc-2.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b49b8b14413ec0d4c68c4f5a9bcaff0232363aed71652a75ed6af1234c58031b", size = 8266025, upload-time = "2025-12-08T15:10:35.163Z" }, - { url = "https://files.pythonhosted.org/packages/39/05/6b2cab8a9417d4de79bd67f281f420dd5862c1fe7b6f12b0910001d05938/ldpc-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:1d7965b6c3dc53ac0bc852e3769516a4b4a2756f26c6a683ea675c1e1771da42", size = 1736143, upload-time = "2025-12-08T15:10:36.837Z" }, - { url = "https://files.pythonhosted.org/packages/63/ba/bd1a4ebdbd1a06bfbded0e8c1117ee07be9f85427116c9ff8ad877fb01a3/ldpc-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b4d3630f4410700a099a8a3fefd030684294ed624e3285f415c6997b0a9f63f", size = 1830219, upload-time = "2025-12-08T15:10:38.126Z" }, - { url = "https://files.pythonhosted.org/packages/bf/fb/f370df5080ee59316244cef6f8b88391fbd392fe8f702f116138bc57d804/ldpc-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:08ebc2e6cde49b1c0645a0eab8e2b4a843935858daeb3fd86598119c9c3a6d99", size = 1790660, upload-time = "2025-12-08T15:10:39.551Z" }, - { url = "https://files.pythonhosted.org/packages/3e/94/3f92b7f2c5f073e11b900b6af540534a77ea968e048131dd403576b1fd1f/ldpc-2.4.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:07ecf26a3ffe5ffddd6bbe5d6c4c764d11753664379b566a86e136a4a6f9dd59", size = 8111488, upload-time = "2025-12-08T15:10:40.76Z" }, - { url = "https://files.pythonhosted.org/packages/e0/72/7502708d32e54e1a220967c92429b1ee056aaca34d22018573251e16c91a/ldpc-2.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a77bcfd3570bc3cda0c429ba9e5b3a4404c422228d3b6fcc1b0e7dee6493cdf", size = 8250654, upload-time = "2025-12-08T15:10:42.639Z" }, - { url = "https://files.pythonhosted.org/packages/f0/8a/c92b85dd756121a699ce94c3ea15c6222a6613b1d3e3564de45b5d59a92d/ldpc-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:5790180b77c588a72d2bf828b4e38e6f85c5e9dae967420c6b2ac7c317b3bd83", size = 1733849, upload-time = "2025-12-08T15:10:43.878Z" }, - { url = "https://files.pythonhosted.org/packages/85/b8/22c448877853ea5a4404332b27e3dc6b9494c85fd7d79e5fc7fa11102277/ldpc-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:609f71596553e9c1d916bc154674dd6c9b90062de8a53ff0a197e2d2e9422480", size = 1850426, upload-time = "2025-12-08T15:10:45.024Z" }, - { url = "https://files.pythonhosted.org/packages/11/85/4e69e11161b26f3a84c3bfbf9f8d450f67db4ec1ba85e19a05b48933ddf0/ldpc-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:73c59007646cb2256711240e42a857dfda3c65c099c4b8c45d99857d8737e803", size = 1812908, upload-time = "2025-12-08T15:10:46.566Z" }, - { url = "https://files.pythonhosted.org/packages/c9/8e/acc202ff674adbd7ea669bdebd3a25d79ef959580d00fc83abad15044651/ldpc-2.4.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5a5359842a5be1bd026a887e4cdd77e8ba01c5ad70088fd50180715b60eac21", size = 8108700, upload-time = "2025-12-08T15:10:47.939Z" }, - { url = "https://files.pythonhosted.org/packages/a1/5d/9b225037ffeae0ed37d8a7480d42896be062dfca77107f966e7dad04d40c/ldpc-2.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:569e9b6b13aa0165a49c6108eec3fda573054f62bb04927ff934c06ba5420c8e", size = 8226530, upload-time = "2025-12-08T15:10:49.235Z" }, - { url = "https://files.pythonhosted.org/packages/1d/b0/bdf54742c088af7eeda98a79e27bf36f9c51f7fa674456c1ac1a4d5a2ebf/ldpc-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:35426040ccbf633683009de0528eee06b4fa944ffdf13e6f89167770bc4fe10d", size = 1762702, upload-time = "2025-12-08T15:10:50.702Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/3d/1642f2456dc4c494ab1209b8da8a886cd4e82280839c8ef434294492738d/ldpc-2.4.1.tar.gz", hash = "sha256:729376026af4e46e550c333152f073dcf42224589380d309f38923e00736ceba" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/ff/3117aefc1c96e326f9202148e90b2df079134b01560baa1afad7e5a6b180/ldpc-2.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd3236dfafca2d131fda447bc0967cfebe416c300e57843ecc4ad2e6bcbb5b41" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/5c/956b57ce1ca189874bcb3dd2a1e0b69e1983ec3959fa7985a852b89b1c1b/ldpc-2.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4668eb988c0f02fc5aa9a33546a5d8d77e22a313cc05bd4057e29b45234fcfc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/69/880f2c6de35725544406242f20834f248f786a5f79327f0d25a89014b76f/ldpc-2.4.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1bfa21ec4839e203651627dedf94931d7b88ca6888afd3161c79f5cfb49c766" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/8e/79dc136fb4a375787bfea2a825b7a8ffb4bf1399d94e000f24e216f5fa62/ldpc-2.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b861c9b6e0e9d21db95a1adad9f69fe06e729417edb44363c8c37c24259816d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/27/c0/41d4797ad25d912bf271810dd43cce98bdc86108b097fc61bbfb8482beff/ldpc-2.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:b143a62e55ac8d8ee60d7956b835426f980d04897af91185c978552321caf7e8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/fe/df722641c8ebacc84ab11ef923b5d43bbf6016ce7e5f7d72e82de6115564/ldpc-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fae91c5a279cb60c0c1d78ae343e241124e4de1a6dcca881cda688a9ea7a404c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/db/37528f37cf7919bbce5695e05336fc2f83019f4d433d2c2abe8975871450/ldpc-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a15d944db7434a7435df512666b7b60e7c243809fa160f94bb9123009656c4dd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/f8/702edc71d4d5a3e5eefb1a6c8b65993989de114eae7c452548efebff5cca/ldpc-2.4.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1af8949d463273bfec595411dbf98192510a80255844bac464a05b909939fc80" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/51/bc19ffc320d0cb6430c57c7c1e1457e4e8fb4ab3ae10883b28639a40f41a/ldpc-2.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:37028d9d045130b101f4fcedae3b7a4c04802633bf2b09927703d3a0604c8554" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/b0/00dd384b4ff54c9b9ab8bfe7e52b212963831bef3d72547092a5cb77971c/ldpc-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:602445197320d9dc9ce4a2af6e0661d8d303ef2cddea24b99bee6b51415a343e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/3b/11c487a402c58e646ce5736412ff4aa06ff0cbf20c4e228e1c942c473b08/ldpc-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:035ceb48f9d8c0d2ab37eee67f87692a935ba586ebc380a0f7ad7bac3192a872" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/ee/157f674b39807af9a16a2d682b6993a3696709278c83fe9039356cbd5460/ldpc-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4010c9ac9eff008c058dfa9f225325d5aed8b7a0b55ec0975a737fc7352aa301" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/b3/491228c3ee52889be6dbc9d3dbc1cff7f81d7174154dff564307fa76d694/ldpc-2.4.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6701b042f8d505f205c7fe39820566513f1191ed04413e0968bb54bfbc6f0086" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/b0/a480113901c689b73087406f0a09a2206de2c71e2b791257802362bd5b12/ldpc-2.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b49b8b14413ec0d4c68c4f5a9bcaff0232363aed71652a75ed6af1234c58031b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/05/6b2cab8a9417d4de79bd67f281f420dd5862c1fe7b6f12b0910001d05938/ldpc-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:1d7965b6c3dc53ac0bc852e3769516a4b4a2756f26c6a683ea675c1e1771da42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/ba/bd1a4ebdbd1a06bfbded0e8c1117ee07be9f85427116c9ff8ad877fb01a3/ldpc-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b4d3630f4410700a099a8a3fefd030684294ed624e3285f415c6997b0a9f63f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/fb/f370df5080ee59316244cef6f8b88391fbd392fe8f702f116138bc57d804/ldpc-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:08ebc2e6cde49b1c0645a0eab8e2b4a843935858daeb3fd86598119c9c3a6d99" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/94/3f92b7f2c5f073e11b900b6af540534a77ea968e048131dd403576b1fd1f/ldpc-2.4.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:07ecf26a3ffe5ffddd6bbe5d6c4c764d11753664379b566a86e136a4a6f9dd59" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/72/7502708d32e54e1a220967c92429b1ee056aaca34d22018573251e16c91a/ldpc-2.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a77bcfd3570bc3cda0c429ba9e5b3a4404c422228d3b6fcc1b0e7dee6493cdf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/8a/c92b85dd756121a699ce94c3ea15c6222a6613b1d3e3564de45b5d59a92d/ldpc-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:5790180b77c588a72d2bf828b4e38e6f85c5e9dae967420c6b2ac7c317b3bd83" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/b8/22c448877853ea5a4404332b27e3dc6b9494c85fd7d79e5fc7fa11102277/ldpc-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:609f71596553e9c1d916bc154674dd6c9b90062de8a53ff0a197e2d2e9422480" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/85/4e69e11161b26f3a84c3bfbf9f8d450f67db4ec1ba85e19a05b48933ddf0/ldpc-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:73c59007646cb2256711240e42a857dfda3c65c099c4b8c45d99857d8737e803" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/8e/acc202ff674adbd7ea669bdebd3a25d79ef959580d00fc83abad15044651/ldpc-2.4.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5a5359842a5be1bd026a887e4cdd77e8ba01c5ad70088fd50180715b60eac21" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/5d/9b225037ffeae0ed37d8a7480d42896be062dfca77107f966e7dad04d40c/ldpc-2.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:569e9b6b13aa0165a49c6108eec3fda573054f62bb04927ff934c06ba5420c8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/b0/bdf54742c088af7eeda98a79e27bf36f9c51f7fa674456c1ac1a4d5a2ebf/ldpc-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:35426040ccbf633683009de0528eee06b4fa944ffdf13e6f89167770bc4fe10d" }, ] [[package]] name = "loguru" version = "0.7.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "win32-setctime", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c" }, ] [[package]] name = "markdown" version = "3.10.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36" }, ] [[package]] name = "markdown-it-py" version = "4.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147" }, ] [[package]] name = "markupsafe" version = "3.0.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" }, - { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" }, - { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" }, - { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" }, - { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" }, - { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" }, - { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" }, - { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" }, - { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" }, - { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" }, - { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, - { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, - { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, - { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, - { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, - { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, - { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, - { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, - { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, - { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, - { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, - { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, - { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, - { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, - { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, - { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, - { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, - { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, - { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, - { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, - { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, - { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, - { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, - { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, - { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, - { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, - { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, - { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, - { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, - { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, - { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, - { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, - { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, - { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, - { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, - { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, - { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, - { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, - { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, - { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, - { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, - { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, - { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, - { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, - { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, - { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, - { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, - { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, - { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, - { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, - { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, - { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, - { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, - { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, - { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, - { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, - { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, - { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, - { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, - { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, - { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, - { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, - { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, - { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, - { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa" }, ] [[package]] name = "matplotlib" version = "3.10.8" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/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 = "contourpy", version = "1.3.2", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, { name = "cycler" }, { name = "fonttools" }, { name = "kiwisolver" }, @@ -2197,110 +2197,110 @@ dependencies = [ { name = "pyparsing" }, { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3", size = 34806269, upload-time = "2025-12-10T22:56:51.155Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/58/be/a30bd917018ad220c400169fba298f2bb7003c8ccbc0c3e24ae2aacad1e8/matplotlib-3.10.8-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:00270d217d6b20d14b584c521f810d60c5c78406dc289859776550df837dcda7", size = 8239828, upload-time = "2025-12-10T22:55:02.313Z" }, - { url = "https://files.pythonhosted.org/packages/58/27/ca01e043c4841078e82cf6e80a6993dfecd315c3d79f5f3153afbb8e1ec6/matplotlib-3.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37b3c1cc42aa184b3f738cfa18c1c1d72fd496d85467a6cf7b807936d39aa656", size = 8128050, upload-time = "2025-12-10T22:55:04.997Z" }, - { url = "https://files.pythonhosted.org/packages/cb/aa/7ab67f2b729ae6a91bcf9dcac0affb95fb8c56f7fd2b2af894ae0b0cf6fa/matplotlib-3.10.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ee40c27c795bda6a5292e9cff9890189d32f7e3a0bf04e0e3c9430c4a00c37df", size = 8700452, upload-time = "2025-12-10T22:55:07.47Z" }, - { url = "https://files.pythonhosted.org/packages/73/ae/2d5817b0acee3c49b7e7ccfbf5b273f284957cc8e270adf36375db353190/matplotlib-3.10.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a48f2b74020919552ea25d222d5cc6af9ca3f4eb43a93e14d068457f545c2a17", size = 9534928, upload-time = "2025-12-10T22:55:10.566Z" }, - { url = "https://files.pythonhosted.org/packages/c9/5b/8e66653e9f7c39cb2e5cab25fce4810daffa2bff02cbf5f3077cea9e942c/matplotlib-3.10.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f254d118d14a7f99d616271d6c3c27922c092dac11112670b157798b89bf4933", size = 9586377, upload-time = "2025-12-10T22:55:12.362Z" }, - { url = "https://files.pythonhosted.org/packages/e2/e2/fd0bbadf837f81edb0d208ba8f8cb552874c3b16e27cb91a31977d90875d/matplotlib-3.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a", size = 8128127, upload-time = "2025-12-10T22:55:14.436Z" }, - { url = "https://files.pythonhosted.org/packages/f8/86/de7e3a1cdcfc941483af70609edc06b83e7c8a0e0dc9ac325200a3f4d220/matplotlib-3.10.8-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6be43b667360fef5c754dda5d25a32e6307a03c204f3c0fc5468b78fa87b4160", size = 8251215, upload-time = "2025-12-10T22:55:16.175Z" }, - { url = "https://files.pythonhosted.org/packages/fd/14/baad3222f424b19ce6ad243c71de1ad9ec6b2e4eb1e458a48fdc6d120401/matplotlib-3.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2b336e2d91a3d7006864e0990c83b216fcdca64b5a6484912902cef87313d78", size = 8139625, upload-time = "2025-12-10T22:55:17.712Z" }, - { url = "https://files.pythonhosted.org/packages/8f/a0/7024215e95d456de5883e6732e708d8187d9753a21d32f8ddb3befc0c445/matplotlib-3.10.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:efb30e3baaea72ce5928e32bab719ab4770099079d66726a62b11b1ef7273be4", size = 8712614, upload-time = "2025-12-10T22:55:20.8Z" }, - { url = "https://files.pythonhosted.org/packages/5a/f4/b8347351da9a5b3f41e26cf547252d861f685c6867d179a7c9d60ad50189/matplotlib-3.10.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d56a1efd5bfd61486c8bc968fa18734464556f0fb8e51690f4ac25d85cbbbbc2", size = 9540997, upload-time = "2025-12-10T22:55:23.258Z" }, - { url = "https://files.pythonhosted.org/packages/9e/c0/c7b914e297efe0bc36917bf216b2acb91044b91e930e878ae12981e461e5/matplotlib-3.10.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:238b7ce5717600615c895050239ec955d91f321c209dd110db988500558e70d6", size = 9596825, upload-time = "2025-12-10T22:55:25.217Z" }, - { url = "https://files.pythonhosted.org/packages/6f/d3/a4bbc01c237ab710a1f22b4da72f4ff6d77eb4c7735ea9811a94ae239067/matplotlib-3.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:18821ace09c763ec93aef5eeff087ee493a24051936d7b9ebcad9662f66501f9", size = 8135090, upload-time = "2025-12-10T22:55:27.162Z" }, - { url = "https://files.pythonhosted.org/packages/89/dd/a0b6588f102beab33ca6f5218b31725216577b2a24172f327eaf6417d5c9/matplotlib-3.10.8-cp311-cp311-win_arm64.whl", hash = "sha256:bab485bcf8b1c7d2060b4fcb6fc368a9e6f4cd754c9c2fea281f4be21df394a2", size = 8012377, upload-time = "2025-12-10T22:55:29.185Z" }, - { url = "https://files.pythonhosted.org/packages/9e/67/f997cdcbb514012eb0d10cd2b4b332667997fb5ebe26b8d41d04962fa0e6/matplotlib-3.10.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a", size = 8260453, upload-time = "2025-12-10T22:55:30.709Z" }, - { url = "https://files.pythonhosted.org/packages/7e/65/07d5f5c7f7c994f12c768708bd2e17a4f01a2b0f44a1c9eccad872433e2e/matplotlib-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58", size = 8148321, upload-time = "2025-12-10T22:55:33.265Z" }, - { url = "https://files.pythonhosted.org/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04", size = 8716944, upload-time = "2025-12-10T22:55:34.922Z" }, - { url = "https://files.pythonhosted.org/packages/00/f9/7638f5cc82ec8a7aa005de48622eecc3ed7c9854b96ba15bd76b7fd27574/matplotlib-3.10.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f", size = 9550099, upload-time = "2025-12-10T22:55:36.789Z" }, - { url = "https://files.pythonhosted.org/packages/57/61/78cd5920d35b29fd2a0fe894de8adf672ff52939d2e9b43cb83cd5ce1bc7/matplotlib-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466", size = 9613040, upload-time = "2025-12-10T22:55:38.715Z" }, - { url = "https://files.pythonhosted.org/packages/30/4e/c10f171b6e2f44d9e3a2b96efa38b1677439d79c99357600a62cc1e9594e/matplotlib-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf", size = 8142717, upload-time = "2025-12-10T22:55:41.103Z" }, - { url = "https://files.pythonhosted.org/packages/f1/76/934db220026b5fef85f45d51a738b91dea7d70207581063cd9bd8fafcf74/matplotlib-3.10.8-cp312-cp312-win_arm64.whl", hash = "sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b", size = 8012751, upload-time = "2025-12-10T22:55:42.684Z" }, - { url = "https://files.pythonhosted.org/packages/3d/b9/15fd5541ef4f5b9a17eefd379356cf12175fe577424e7b1d80676516031a/matplotlib-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6", size = 8261076, upload-time = "2025-12-10T22:55:44.648Z" }, - { url = "https://files.pythonhosted.org/packages/8d/a0/2ba3473c1b66b9c74dc7107c67e9008cb1782edbe896d4c899d39ae9cf78/matplotlib-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1", size = 8148794, upload-time = "2025-12-10T22:55:46.252Z" }, - { url = "https://files.pythonhosted.org/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486", size = 8718474, upload-time = "2025-12-10T22:55:47.864Z" }, - { url = "https://files.pythonhosted.org/packages/01/be/cd478f4b66f48256f42927d0acbcd63a26a893136456cd079c0cc24fbabf/matplotlib-3.10.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce", size = 9549637, upload-time = "2025-12-10T22:55:50.048Z" }, - { url = "https://files.pythonhosted.org/packages/5d/7c/8dc289776eae5109e268c4fb92baf870678dc048a25d4ac903683b86d5bf/matplotlib-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6", size = 9613678, upload-time = "2025-12-10T22:55:52.21Z" }, - { url = "https://files.pythonhosted.org/packages/64/40/37612487cc8a437d4dd261b32ca21fe2d79510fe74af74e1f42becb1bdb8/matplotlib-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149", size = 8142686, upload-time = "2025-12-10T22:55:54.253Z" }, - { url = "https://files.pythonhosted.org/packages/66/52/8d8a8730e968185514680c2a6625943f70269509c3dcfc0dcf7d75928cb8/matplotlib-3.10.8-cp313-cp313-win_arm64.whl", hash = "sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645", size = 8012917, upload-time = "2025-12-10T22:55:56.268Z" }, - { url = "https://files.pythonhosted.org/packages/b5/27/51fe26e1062f298af5ef66343d8ef460e090a27fea73036c76c35821df04/matplotlib-3.10.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077", size = 8305679, upload-time = "2025-12-10T22:55:57.856Z" }, - { url = "https://files.pythonhosted.org/packages/2c/1e/4de865bc591ac8e3062e835f42dd7fe7a93168d519557837f0e37513f629/matplotlib-3.10.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22", size = 8198336, upload-time = "2025-12-10T22:55:59.371Z" }, - { url = "https://files.pythonhosted.org/packages/c6/cb/2f7b6e75fb4dce87ef91f60cac4f6e34f4c145ab036a22318ec837971300/matplotlib-3.10.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39", size = 8731653, upload-time = "2025-12-10T22:56:01.032Z" }, - { url = "https://files.pythonhosted.org/packages/46/b3/bd9c57d6ba670a37ab31fb87ec3e8691b947134b201f881665b28cc039ff/matplotlib-3.10.8-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565", size = 9561356, upload-time = "2025-12-10T22:56:02.95Z" }, - { url = "https://files.pythonhosted.org/packages/c0/3d/8b94a481456dfc9dfe6e39e93b5ab376e50998cddfd23f4ae3b431708f16/matplotlib-3.10.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a", size = 9614000, upload-time = "2025-12-10T22:56:05.411Z" }, - { url = "https://files.pythonhosted.org/packages/bd/cd/bc06149fe5585ba800b189a6a654a75f1f127e8aab02fd2be10df7fa500c/matplotlib-3.10.8-cp313-cp313t-win_amd64.whl", hash = "sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958", size = 8220043, upload-time = "2025-12-10T22:56:07.551Z" }, - { url = "https://files.pythonhosted.org/packages/e3/de/b22cf255abec916562cc04eef457c13e58a1990048de0c0c3604d082355e/matplotlib-3.10.8-cp313-cp313t-win_arm64.whl", hash = "sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5", size = 8062075, upload-time = "2025-12-10T22:56:09.178Z" }, - { url = "https://files.pythonhosted.org/packages/3c/43/9c0ff7a2f11615e516c3b058e1e6e8f9614ddeca53faca06da267c48345d/matplotlib-3.10.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f", size = 8262481, upload-time = "2025-12-10T22:56:10.885Z" }, - { url = "https://files.pythonhosted.org/packages/6f/ca/e8ae28649fcdf039fda5ef554b40a95f50592a3c47e6f7270c9561c12b07/matplotlib-3.10.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b", size = 8151473, upload-time = "2025-12-10T22:56:12.377Z" }, - { url = "https://files.pythonhosted.org/packages/f1/6f/009d129ae70b75e88cbe7e503a12a4c0670e08ed748a902c2568909e9eb5/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d", size = 9553896, upload-time = "2025-12-10T22:56:14.432Z" }, - { url = "https://files.pythonhosted.org/packages/f5/26/4221a741eb97967bc1fd5e4c52b9aa5a91b2f4ec05b59f6def4d820f9df9/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008", size = 9824193, upload-time = "2025-12-10T22:56:16.29Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f3/3abf75f38605772cf48a9daf5821cd4f563472f38b4b828c6fba6fa6d06e/matplotlib-3.10.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c", size = 9615444, upload-time = "2025-12-10T22:56:18.155Z" }, - { url = "https://files.pythonhosted.org/packages/93/a5/de89ac80f10b8dc615807ee1133cd99ac74082581196d4d9590bea10690d/matplotlib-3.10.8-cp314-cp314-win_amd64.whl", hash = "sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11", size = 8272719, upload-time = "2025-12-10T22:56:20.366Z" }, - { url = "https://files.pythonhosted.org/packages/69/ce/b006495c19ccc0a137b48083168a37bd056392dee02f87dba0472f2797fe/matplotlib-3.10.8-cp314-cp314-win_arm64.whl", hash = "sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8", size = 8144205, upload-time = "2025-12-10T22:56:22.239Z" }, - { url = "https://files.pythonhosted.org/packages/68/d9/b31116a3a855bd313c6fcdb7226926d59b041f26061c6c5b1be66a08c826/matplotlib-3.10.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50", size = 8305785, upload-time = "2025-12-10T22:56:24.218Z" }, - { url = "https://files.pythonhosted.org/packages/1e/90/6effe8103f0272685767ba5f094f453784057072f49b393e3ea178fe70a5/matplotlib-3.10.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908", size = 8198361, upload-time = "2025-12-10T22:56:26.787Z" }, - { url = "https://files.pythonhosted.org/packages/d7/65/a73188711bea603615fc0baecca1061429ac16940e2385433cc778a9d8e7/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a", size = 9561357, upload-time = "2025-12-10T22:56:28.953Z" }, - { url = "https://files.pythonhosted.org/packages/f4/3d/b5c5d5d5be8ce63292567f0e2c43dde9953d3ed86ac2de0a72e93c8f07a1/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1", size = 9823610, upload-time = "2025-12-10T22:56:31.455Z" }, - { url = "https://files.pythonhosted.org/packages/4d/4b/e7beb6bbd49f6bae727a12b270a2654d13c397576d25bd6786e47033300f/matplotlib-3.10.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c", size = 9614011, upload-time = "2025-12-10T22:56:33.85Z" }, - { url = "https://files.pythonhosted.org/packages/7c/e6/76f2813d31f032e65f6f797e3f2f6e4aab95b65015924b1c51370395c28a/matplotlib-3.10.8-cp314-cp314t-win_amd64.whl", hash = "sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b", size = 8362801, upload-time = "2025-12-10T22:56:36.107Z" }, - { url = "https://files.pythonhosted.org/packages/5d/49/d651878698a0b67f23aa28e17f45a6d6dd3d3f933fa29087fa4ce5947b5a/matplotlib-3.10.8-cp314-cp314t-win_arm64.whl", hash = "sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f", size = 8192560, upload-time = "2025-12-10T22:56:38.008Z" }, - { url = "https://files.pythonhosted.org/packages/f5/43/31d59500bb950b0d188e149a2e552040528c13d6e3d6e84d0cccac593dcd/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8", size = 8237252, upload-time = "2025-12-10T22:56:39.529Z" }, - { url = "https://files.pythonhosted.org/packages/0c/2c/615c09984f3c5f907f51c886538ad785cf72e0e11a3225de2c0f9442aecc/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7", size = 8124693, upload-time = "2025-12-10T22:56:41.758Z" }, - { url = "https://files.pythonhosted.org/packages/91/e1/2757277a1c56041e1fc104b51a0f7b9a4afc8eb737865d63cababe30bc61/matplotlib-3.10.8-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:12d90df9183093fcd479f4172ac26b322b1248b15729cb57f42f71f24c7e37a3", size = 8702205, upload-time = "2025-12-10T22:56:43.415Z" }, - { url = "https://files.pythonhosted.org/packages/04/30/3afaa31c757f34b7725ab9d2ba8b48b5e89c2019c003e7d0ead143aabc5a/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6da7c2ce169267d0d066adcf63758f0604aa6c3eebf67458930f9d9b79ad1db1", size = 8249198, upload-time = "2025-12-10T22:56:45.584Z" }, - { url = "https://files.pythonhosted.org/packages/48/2f/6334aec331f57485a642a7c8be03cb286f29111ae71c46c38b363230063c/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9153c3292705be9f9c64498a8872118540c3f4123d1a1c840172edf262c8be4a", size = 8136817, upload-time = "2025-12-10T22:56:47.339Z" }, - { url = "https://files.pythonhosted.org/packages/73/e4/6d6f14b2a759c622f191b2d67e9075a3f56aaccb3be4bb9bb6890030d0a0/matplotlib-3.10.8-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ae029229a57cd1e8fe542485f27e7ca7b23aa9e8944ddb4985d0bc444f1eca2", size = 8713867, upload-time = "2025-12-10T22:56:48.954Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/be/a30bd917018ad220c400169fba298f2bb7003c8ccbc0c3e24ae2aacad1e8/matplotlib-3.10.8-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:00270d217d6b20d14b584c521f810d60c5c78406dc289859776550df837dcda7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/27/ca01e043c4841078e82cf6e80a6993dfecd315c3d79f5f3153afbb8e1ec6/matplotlib-3.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37b3c1cc42aa184b3f738cfa18c1c1d72fd496d85467a6cf7b807936d39aa656" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/aa/7ab67f2b729ae6a91bcf9dcac0affb95fb8c56f7fd2b2af894ae0b0cf6fa/matplotlib-3.10.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ee40c27c795bda6a5292e9cff9890189d32f7e3a0bf04e0e3c9430c4a00c37df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/ae/2d5817b0acee3c49b7e7ccfbf5b273f284957cc8e270adf36375db353190/matplotlib-3.10.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a48f2b74020919552ea25d222d5cc6af9ca3f4eb43a93e14d068457f545c2a17" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/5b/8e66653e9f7c39cb2e5cab25fce4810daffa2bff02cbf5f3077cea9e942c/matplotlib-3.10.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f254d118d14a7f99d616271d6c3c27922c092dac11112670b157798b89bf4933" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/e2/fd0bbadf837f81edb0d208ba8f8cb552874c3b16e27cb91a31977d90875d/matplotlib-3.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/86/de7e3a1cdcfc941483af70609edc06b83e7c8a0e0dc9ac325200a3f4d220/matplotlib-3.10.8-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6be43b667360fef5c754dda5d25a32e6307a03c204f3c0fc5468b78fa87b4160" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/14/baad3222f424b19ce6ad243c71de1ad9ec6b2e4eb1e458a48fdc6d120401/matplotlib-3.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2b336e2d91a3d7006864e0990c83b216fcdca64b5a6484912902cef87313d78" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/a0/7024215e95d456de5883e6732e708d8187d9753a21d32f8ddb3befc0c445/matplotlib-3.10.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:efb30e3baaea72ce5928e32bab719ab4770099079d66726a62b11b1ef7273be4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/f4/b8347351da9a5b3f41e26cf547252d861f685c6867d179a7c9d60ad50189/matplotlib-3.10.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d56a1efd5bfd61486c8bc968fa18734464556f0fb8e51690f4ac25d85cbbbbc2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/c0/c7b914e297efe0bc36917bf216b2acb91044b91e930e878ae12981e461e5/matplotlib-3.10.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:238b7ce5717600615c895050239ec955d91f321c209dd110db988500558e70d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/d3/a4bbc01c237ab710a1f22b4da72f4ff6d77eb4c7735ea9811a94ae239067/matplotlib-3.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:18821ace09c763ec93aef5eeff087ee493a24051936d7b9ebcad9662f66501f9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/dd/a0b6588f102beab33ca6f5218b31725216577b2a24172f327eaf6417d5c9/matplotlib-3.10.8-cp311-cp311-win_arm64.whl", hash = "sha256:bab485bcf8b1c7d2060b4fcb6fc368a9e6f4cd754c9c2fea281f4be21df394a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/67/f997cdcbb514012eb0d10cd2b4b332667997fb5ebe26b8d41d04962fa0e6/matplotlib-3.10.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/65/07d5f5c7f7c994f12c768708bd2e17a4f01a2b0f44a1c9eccad872433e2e/matplotlib-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/f9/7638f5cc82ec8a7aa005de48622eecc3ed7c9854b96ba15bd76b7fd27574/matplotlib-3.10.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/61/78cd5920d35b29fd2a0fe894de8adf672ff52939d2e9b43cb83cd5ce1bc7/matplotlib-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/4e/c10f171b6e2f44d9e3a2b96efa38b1677439d79c99357600a62cc1e9594e/matplotlib-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/76/934db220026b5fef85f45d51a738b91dea7d70207581063cd9bd8fafcf74/matplotlib-3.10.8-cp312-cp312-win_arm64.whl", hash = "sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/b9/15fd5541ef4f5b9a17eefd379356cf12175fe577424e7b1d80676516031a/matplotlib-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/a0/2ba3473c1b66b9c74dc7107c67e9008cb1782edbe896d4c899d39ae9cf78/matplotlib-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/be/cd478f4b66f48256f42927d0acbcd63a26a893136456cd079c0cc24fbabf/matplotlib-3.10.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/7c/8dc289776eae5109e268c4fb92baf870678dc048a25d4ac903683b86d5bf/matplotlib-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/40/37612487cc8a437d4dd261b32ca21fe2d79510fe74af74e1f42becb1bdb8/matplotlib-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/52/8d8a8730e968185514680c2a6625943f70269509c3dcfc0dcf7d75928cb8/matplotlib-3.10.8-cp313-cp313-win_arm64.whl", hash = "sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/27/51fe26e1062f298af5ef66343d8ef460e090a27fea73036c76c35821df04/matplotlib-3.10.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/1e/4de865bc591ac8e3062e835f42dd7fe7a93168d519557837f0e37513f629/matplotlib-3.10.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/cb/2f7b6e75fb4dce87ef91f60cac4f6e34f4c145ab036a22318ec837971300/matplotlib-3.10.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/b3/bd9c57d6ba670a37ab31fb87ec3e8691b947134b201f881665b28cc039ff/matplotlib-3.10.8-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/3d/8b94a481456dfc9dfe6e39e93b5ab376e50998cddfd23f4ae3b431708f16/matplotlib-3.10.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/cd/bc06149fe5585ba800b189a6a654a75f1f127e8aab02fd2be10df7fa500c/matplotlib-3.10.8-cp313-cp313t-win_amd64.whl", hash = "sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/de/b22cf255abec916562cc04eef457c13e58a1990048de0c0c3604d082355e/matplotlib-3.10.8-cp313-cp313t-win_arm64.whl", hash = "sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/43/9c0ff7a2f11615e516c3b058e1e6e8f9614ddeca53faca06da267c48345d/matplotlib-3.10.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/ca/e8ae28649fcdf039fda5ef554b40a95f50592a3c47e6f7270c9561c12b07/matplotlib-3.10.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/6f/009d129ae70b75e88cbe7e503a12a4c0670e08ed748a902c2568909e9eb5/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/26/4221a741eb97967bc1fd5e4c52b9aa5a91b2f4ec05b59f6def4d820f9df9/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/f3/3abf75f38605772cf48a9daf5821cd4f563472f38b4b828c6fba6fa6d06e/matplotlib-3.10.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/a5/de89ac80f10b8dc615807ee1133cd99ac74082581196d4d9590bea10690d/matplotlib-3.10.8-cp314-cp314-win_amd64.whl", hash = "sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/ce/b006495c19ccc0a137b48083168a37bd056392dee02f87dba0472f2797fe/matplotlib-3.10.8-cp314-cp314-win_arm64.whl", hash = "sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/d9/b31116a3a855bd313c6fcdb7226926d59b041f26061c6c5b1be66a08c826/matplotlib-3.10.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/90/6effe8103f0272685767ba5f094f453784057072f49b393e3ea178fe70a5/matplotlib-3.10.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/65/a73188711bea603615fc0baecca1061429ac16940e2385433cc778a9d8e7/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/3d/b5c5d5d5be8ce63292567f0e2c43dde9953d3ed86ac2de0a72e93c8f07a1/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/4b/e7beb6bbd49f6bae727a12b270a2654d13c397576d25bd6786e47033300f/matplotlib-3.10.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/e6/76f2813d31f032e65f6f797e3f2f6e4aab95b65015924b1c51370395c28a/matplotlib-3.10.8-cp314-cp314t-win_amd64.whl", hash = "sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/49/d651878698a0b67f23aa28e17f45a6d6dd3d3f933fa29087fa4ce5947b5a/matplotlib-3.10.8-cp314-cp314t-win_arm64.whl", hash = "sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/43/31d59500bb950b0d188e149a2e552040528c13d6e3d6e84d0cccac593dcd/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/2c/615c09984f3c5f907f51c886538ad785cf72e0e11a3225de2c0f9442aecc/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/e1/2757277a1c56041e1fc104b51a0f7b9a4afc8eb737865d63cababe30bc61/matplotlib-3.10.8-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:12d90df9183093fcd479f4172ac26b322b1248b15729cb57f42f71f24c7e37a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/30/3afaa31c757f34b7725ab9d2ba8b48b5e89c2019c003e7d0ead143aabc5a/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6da7c2ce169267d0d066adcf63758f0604aa6c3eebf67458930f9d9b79ad1db1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/2f/6334aec331f57485a642a7c8be03cb286f29111ae71c46c38b363230063c/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9153c3292705be9f9c64498a8872118540c3f4123d1a1c840172edf262c8be4a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/e4/6d6f14b2a759c622f191b2d67e9075a3f56aaccb3be4bb9bb6890030d0a0/matplotlib-3.10.8-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ae029229a57cd1e8fe542485f27e7ca7b23aa9e8944ddb4985d0bc444f1eca2" }, ] [[package]] name = "matplotlib-inline" version = "0.2.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110, upload-time = "2025-10-23T09:00:22.126Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe" } wheels = [ - { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76" }, ] [[package]] name = "mdit-py-plugins" version = "0.5.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "markdown-it-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz", hash = "sha256:f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6", size = 44655, upload-time = "2025-08-11T07:25:49.083Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz", hash = "sha256:f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/86/dd6e5db36df29e76c7a7699123569a4a18c1623ce68d826ed96c62643cae/mdit_py_plugins-0.5.0-py3-none-any.whl", hash = "sha256:07a08422fc1936a5d26d146759e9155ea466e842f5ab2f7d2266dd084c8dab1f", size = 57205, upload-time = "2025-08-11T07:25:47.597Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/86/dd6e5db36df29e76c7a7699123569a4a18c1623ce68d826ed96c62643cae/mdit_py_plugins-0.5.0-py3-none-any.whl", hash = "sha256:07a08422fc1936a5d26d146759e9155ea466e842f5ab2f7d2266dd084c8dab1f" }, ] [[package]] name = "mdurl" version = "0.1.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" }, ] [[package]] name = "mergedeep" version = "1.3.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307" }, ] [[package]] name = "mike" version = "2.1.4" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "jinja2" }, { name = "mkdocs" }, @@ -2309,27 +2309,27 @@ dependencies = [ { name = "pyyaml-env-tag" }, { name = "verspec" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/09/de1cab0018eb5f1fbd9dcc26b6e61f9453c5ec2eb790949d6ed75e1ffe55/mike-2.1.4.tar.gz", hash = "sha256:75d549420b134603805a65fc67f7dcd9fcd0ad1454fb2c893d9e844cba1aa6e4", size = 38190, upload-time = "2026-03-08T02:46:29.187Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/09/de1cab0018eb5f1fbd9dcc26b6e61f9453c5ec2eb790949d6ed75e1ffe55/mike-2.1.4.tar.gz", hash = "sha256:75d549420b134603805a65fc67f7dcd9fcd0ad1454fb2c893d9e844cba1aa6e4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/f7/10f5e101db25741b91e4f4792c5d97b4fa834ead5cf509ae91097d939424/mike-2.1.4-py3-none-any.whl", hash = "sha256:39933e992e155dd70f2297e749a0ed78d8fd7942bc33a3666195d177758a280e", size = 33820, upload-time = "2026-03-08T02:46:28.149Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/f7/10f5e101db25741b91e4f4792c5d97b4fa834ead5cf509ae91097d939424/mike-2.1.4-py3-none-any.whl", hash = "sha256:39933e992e155dd70f2297e749a0ed78d8fd7942bc33a3666195d177758a280e" }, ] [[package]] name = "mistune" version = "3.2.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ca/84/620cc3f7e3adf6f5067e10f4dbae71295d8f9e16d5d3f9ef97c40f2f592c/mistune-3.2.1.tar.gz", hash = "sha256:7c8e5501d38bac1582e067e46c8343f17d57ea1aaa735823f3aba1fd59c88a28", size = 98003, upload-time = "2026-05-03T14:33:22.312Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/84/620cc3f7e3adf6f5067e10f4dbae71295d8f9e16d5d3f9ef97c40f2f592c/mistune-3.2.1.tar.gz", hash = "sha256:7c8e5501d38bac1582e067e46c8343f17d57ea1aaa735823f3aba1fd59c88a28" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/7f/a946aa4f8752b37102b41e64dca18a1976ac705c3a0d1dfe74d820a02552/mistune-3.2.1-py3-none-any.whl", hash = "sha256:78cdb0ba5e938053ccf63651b352508d2efa9411dc8810bfb05f2dc5140c0048", size = 53749, upload-time = "2026-05-03T14:33:20.551Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2a/7f/a946aa4f8752b37102b41e64dca18a1976ac705c3a0d1dfe74d820a02552/mistune-3.2.1-py3-none-any.whl", hash = "sha256:78cdb0ba5e938053ccf63651b352508d2efa9411dc8810bfb05f2dc5140c0048" }, ] [[package]] name = "mkdocs" version = "1.6.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "click" }, { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -2345,56 +2345,56 @@ dependencies = [ { name = "pyyaml-env-tag" }, { name = "watchdog" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e" }, ] [[package]] name = "mkdocs-autorefs" version = "1.4.4" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "markdown" }, { name = "markupsafe" }, { name = "mkdocs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/52/c0/f641843de3f612a6b48253f39244165acff36657a91cc903633d456ae1ac/mkdocs_autorefs-1.4.4.tar.gz", hash = "sha256:d54a284f27a7346b9c38f1f852177940c222da508e66edc816a0fa55fc6da197", size = 56588, upload-time = "2026-02-10T15:23:55.105Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/c0/f641843de3f612a6b48253f39244165acff36657a91cc903633d456ae1ac/mkdocs_autorefs-1.4.4.tar.gz", hash = "sha256:d54a284f27a7346b9c38f1f852177940c222da508e66edc816a0fa55fc6da197" } wheels = [ - { url = "https://files.pythonhosted.org/packages/28/de/a3e710469772c6a89595fc52816da05c1e164b4c866a89e3cb82fb1b67c5/mkdocs_autorefs-1.4.4-py3-none-any.whl", hash = "sha256:834ef5408d827071ad1bc69e0f39704fa34c7fc05bc8e1c72b227dfdc5c76089", size = 25530, upload-time = "2026-02-10T15:23:53.817Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/de/a3e710469772c6a89595fc52816da05c1e164b4c866a89e3cb82fb1b67c5/mkdocs_autorefs-1.4.4-py3-none-any.whl", hash = "sha256:834ef5408d827071ad1bc69e0f39704fa34c7fc05bc8e1c72b227dfdc5c76089" }, ] [[package]] name = "mkdocs-gen-files" version = "0.6.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "mkdocs" }, { name = "properdocs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/43/43/428f312149c161cae557eecd35f3c4a82b867998b1d47fb29fdfe927be26/mkdocs_gen_files-0.6.1.tar.gz", hash = "sha256:57d7ff2229e23d077e46d14a33db6d37c8823f6ce1a503c874c1764a71679763", size = 8746, upload-time = "2026-03-16T23:26:09.31Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/43/428f312149c161cae557eecd35f3c4a82b867998b1d47fb29fdfe927be26/mkdocs_gen_files-0.6.1.tar.gz", hash = "sha256:57d7ff2229e23d077e46d14a33db6d37c8823f6ce1a503c874c1764a71679763" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/1b/3075eb67fe66e19db059f0a25744c4e56978a309603a20e1d3353d545b5e/mkdocs_gen_files-0.6.1-py3-none-any.whl", hash = "sha256:b3182bfc6219e35b8d26658cb988368659d5d023aac30c2a819247558fc12189", size = 8282, upload-time = "2026-03-16T23:26:08.292Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ee/1b/3075eb67fe66e19db059f0a25744c4e56978a309603a20e1d3353d545b5e/mkdocs_gen_files-0.6.1-py3-none-any.whl", hash = "sha256:b3182bfc6219e35b8d26658cb988368659d5d023aac30c2a819247558fc12189" }, ] [[package]] name = "mkdocs-get-deps" version = "0.2.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "mergedeep" }, { name = "platformdirs" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650" }, ] [[package]] name = "mkdocs-jupyter" version = "0.26.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "ipykernel" }, { name = "jupytext" }, @@ -2403,28 +2403,28 @@ dependencies = [ { name = "nbconvert" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7f/d8/c146ea8cc36c3e812dd4c154513aa308614f35d2b4becec4b449165088f5/mkdocs_jupyter-0.26.1.tar.gz", hash = "sha256:7c80c0d3953de91e5b40a0d3209233795c8f800243ab298e4ec38e0504eda630", size = 1628270, upload-time = "2026-03-24T15:32:47.944Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7f/d8/c146ea8cc36c3e812dd4c154513aa308614f35d2b4becec4b449165088f5/mkdocs_jupyter-0.26.1.tar.gz", hash = "sha256:7c80c0d3953de91e5b40a0d3209233795c8f800243ab298e4ec38e0504eda630" } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/89/eb601278b12c471235860992f5973cf3c55ca3f77d1d6127389eb045a021/mkdocs_jupyter-0.26.1-py3-none-any.whl", hash = "sha256:527242c2c8f1d30970764bbab752de41243e5703f458d8bc05336ec53828192e", size = 1459618, upload-time = "2026-03-24T15:32:46.25Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/89/eb601278b12c471235860992f5973cf3c55ca3f77d1d6127389eb045a021/mkdocs_jupyter-0.26.1-py3-none-any.whl", hash = "sha256:527242c2c8f1d30970764bbab752de41243e5703f458d8bc05336ec53828192e" }, ] [[package]] name = "mkdocs-literate-nav" version = "0.6.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "mkdocs" }, { name = "properdocs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/01/af/dd3776a7a713f798f79bec7eb9c661d5cfb83ddc17d9a3667595e53e1559/mkdocs_literate_nav-0.6.3.tar.gz", hash = "sha256:edbaca22343f861fe4e34aac47d55a0c9955c640dbf02eea99fe631e914cf9ee", size = 17526, upload-time = "2026-03-16T23:26:50.688Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/af/dd3776a7a713f798f79bec7eb9c661d5cfb83ddc17d9a3667595e53e1559/mkdocs_literate_nav-0.6.3.tar.gz", hash = "sha256:edbaca22343f861fe4e34aac47d55a0c9955c640dbf02eea99fe631e914cf9ee" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/2c/bcf1ae903975ad6f169abb05c1eb0f94395478364deb89270cf034081b29/mkdocs_literate_nav-0.6.3-py3-none-any.whl", hash = "sha256:2c421561280fa9184f88cbf399bebbd4cc17ee507e978a31ce11fd6f3aabf233", size = 13355, upload-time = "2026-03-16T23:26:49.562Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/2c/bcf1ae903975ad6f169abb05c1eb0f94395478364deb89270cf034081b29/mkdocs_literate_nav-0.6.3-py3-none-any.whl", hash = "sha256:2c421561280fa9184f88cbf399bebbd4cc17ee507e978a31ce11fd6f3aabf233" }, ] [[package]] name = "mkdocs-material" version = "9.7.6" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "babel" }, { name = "backrefs" }, @@ -2438,24 +2438,24 @@ dependencies = [ { name = "pymdown-extensions" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/45/29/6d2bcf41ae40802c4beda2432396fff97b8456fb496371d1bc7aad6512ec/mkdocs_material-9.7.6.tar.gz", hash = "sha256:00bdde50574f776d328b1862fe65daeaf581ec309bd150f7bff345a098c64a69", size = 4097959, upload-time = "2026-03-19T15:41:58.161Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/29/6d2bcf41ae40802c4beda2432396fff97b8456fb496371d1bc7aad6512ec/mkdocs_material-9.7.6.tar.gz", hash = "sha256:00bdde50574f776d328b1862fe65daeaf581ec309bd150f7bff345a098c64a69" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl", hash = "sha256:71b84353921b8ea1ba84fe11c50912cc512da8fe0881038fcc9a0761c0e635ba", size = 9305470, upload-time = "2026-03-19T15:41:55.217Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl", hash = "sha256:71b84353921b8ea1ba84fe11c50912cc512da8fe0881038fcc9a0761c0e635ba" }, ] [[package]] name = "mkdocs-material-extensions" version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31" }, ] [[package]] name = "mkdocstrings" version = "1.0.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "jinja2" }, { name = "markdown" }, @@ -2464,9 +2464,9 @@ dependencies = [ { name = "mkdocs-autorefs" }, { name = "pymdown-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/46/62/0dfc5719514115bf1781f44b1d7f2a0923fcc01e9c5d7990e48a05c9ae5d/mkdocstrings-1.0.3.tar.gz", hash = "sha256:ab670f55040722b49bb45865b2e93b824450fb4aef638b00d7acb493a9020434", size = 100946, upload-time = "2026-02-07T14:31:40.973Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/62/0dfc5719514115bf1781f44b1d7f2a0923fcc01e9c5d7990e48a05c9ae5d/mkdocstrings-1.0.3.tar.gz", hash = "sha256:ab670f55040722b49bb45865b2e93b824450fb4aef638b00d7acb493a9020434" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/41/1cf02e3df279d2dd846a1bf235a928254eba9006dd22b4a14caa71aed0f7/mkdocstrings-1.0.3-py3-none-any.whl", hash = "sha256:0d66d18430c2201dc7fe85134277382baaa15e6b30979f3f3bdbabd6dbdb6046", size = 35523, upload-time = "2026-02-07T14:31:39.27Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/41/1cf02e3df279d2dd846a1bf235a928254eba9006dd22b4a14caa71aed0f7/mkdocstrings-1.0.3-py3-none-any.whl", hash = "sha256:0d66d18430c2201dc7fe85134277382baaa15e6b30979f3f3bdbabd6dbdb6046" }, ] [package.optional-dependencies] @@ -2477,184 +2477,184 @@ python = [ [[package]] name = "mkdocstrings-python" version = "2.0.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "griffelib" }, { name = "mkdocs-autorefs" }, { name = "mkdocstrings" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/29/33/c225eaf898634bdda489a6766fc35d1683c640bffe0e0acd10646b13536d/mkdocstrings_python-2.0.3.tar.gz", hash = "sha256:c518632751cc869439b31c9d3177678ad2bfa5c21b79b863956ad68fc92c13b8", size = 199083, upload-time = "2026-02-20T10:38:36.368Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/29/33/c225eaf898634bdda489a6766fc35d1683c640bffe0e0acd10646b13536d/mkdocstrings_python-2.0.3.tar.gz", hash = "sha256:c518632751cc869439b31c9d3177678ad2bfa5c21b79b863956ad68fc92c13b8" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/28/79f0f8de97cce916d5ae88a7bee1ad724855e83e6019c0b4d5b3fabc80f3/mkdocstrings_python-2.0.3-py3-none-any.whl", hash = "sha256:0b83513478bdfd803ff05aa43e9b1fca9dd22bcd9471f09ca6257f009bc5ee12", size = 104779, upload-time = "2026-02-20T10:38:34.517Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/32/28/79f0f8de97cce916d5ae88a7bee1ad724855e83e6019c0b4d5b3fabc80f3/mkdocstrings_python-2.0.3-py3-none-any.whl", hash = "sha256:0b83513478bdfd803ff05aa43e9b1fca9dd22bcd9471f09ca6257f009bc5ee12" }, ] [[package]] name = "more-itertools" version = "11.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/f7/139d22fef48ac78127d18e01d80cf1be40236ae489769d17f35c3d425293/more_itertools-11.0.2.tar.gz", hash = "sha256:392a9e1e362cbc106a2457d37cabf9b36e5e12efd4ebff1654630e76597df804", size = 144659, upload-time = "2026-04-09T15:01:33.297Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/f7/139d22fef48ac78127d18e01d80cf1be40236ae489769d17f35c3d425293/more_itertools-11.0.2.tar.gz", hash = "sha256:392a9e1e362cbc106a2457d37cabf9b36e5e12efd4ebff1654630e76597df804" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl", hash = "sha256:6e35b35f818b01f691643c6c611bc0902f2e92b46c18fffa77ae1e7c46e912e4", size = 71939, upload-time = "2026-04-09T15:01:32.21Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl", hash = "sha256:6e35b35f818b01f691643c6c611bc0902f2e92b46c18fffa77ae1e7c46e912e4" }, ] [[package]] name = "multidict" version = "6.7.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/84/0b/19348d4c98980c4851d2f943f8ebafdece2ae7ef737adcfa5994ce8e5f10/multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", size = 77176, upload-time = "2026-01-26T02:42:59.784Z" }, - { url = "https://files.pythonhosted.org/packages/ef/04/9de3f8077852e3d438215c81e9b691244532d2e05b4270e89ce67b7d103c/multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", size = 44996, upload-time = "2026-01-26T02:43:01.674Z" }, - { url = "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", size = 44631, upload-time = "2026-01-26T02:43:03.169Z" }, - { url = "https://files.pythonhosted.org/packages/b7/7f/0e3b1390ae772f27501199996b94b52ceeb64fe6f9120a32c6c3f6b781be/multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", size = 242561, upload-time = "2026-01-26T02:43:04.733Z" }, - { url = "https://files.pythonhosted.org/packages/dd/f4/8719f4f167586af317b69dd3e90f913416c91ca610cac79a45c53f590312/multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", size = 242223, upload-time = "2026-01-26T02:43:06.695Z" }, - { url = "https://files.pythonhosted.org/packages/47/ab/7c36164cce64a6ad19c6d9a85377b7178ecf3b89f8fd589c73381a5eedfd/multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", size = 222322, upload-time = "2026-01-26T02:43:08.472Z" }, - { url = "https://files.pythonhosted.org/packages/f5/79/a25add6fb38035b5337bc5734f296d9afc99163403bbcf56d4170f97eb62/multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", size = 254005, upload-time = "2026-01-26T02:43:10.127Z" }, - { url = "https://files.pythonhosted.org/packages/4a/7b/64a87cf98e12f756fc8bd444b001232ffff2be37288f018ad0d3f0aae931/multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", size = 251173, upload-time = "2026-01-26T02:43:11.731Z" }, - { url = "https://files.pythonhosted.org/packages/4b/ac/b605473de2bb404e742f2cc3583d12aedb2352a70e49ae8fce455b50c5aa/multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", size = 243273, upload-time = "2026-01-26T02:43:13.063Z" }, - { url = "https://files.pythonhosted.org/packages/03/65/11492d6a0e259783720f3bc1d9ea55579a76f1407e31ed44045c99542004/multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", size = 238956, upload-time = "2026-01-26T02:43:14.843Z" }, - { url = "https://files.pythonhosted.org/packages/5f/a7/7ee591302af64e7c196fb63fe856c788993c1372df765102bd0448e7e165/multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", size = 233477, upload-time = "2026-01-26T02:43:16.025Z" }, - { url = "https://files.pythonhosted.org/packages/9c/99/c109962d58756c35fd9992fed7f2355303846ea2ff054bb5f5e9d6b888de/multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", size = 243615, upload-time = "2026-01-26T02:43:17.84Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5f/1973e7c771c86e93dcfe1c9cc55a5481b610f6614acfc28c0d326fe6bfad/multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", size = 249930, upload-time = "2026-01-26T02:43:19.06Z" }, - { url = "https://files.pythonhosted.org/packages/5d/a5/f170fc2268c3243853580203378cd522446b2df632061e0a5409817854c7/multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", size = 243807, upload-time = "2026-01-26T02:43:20.286Z" }, - { url = "https://files.pythonhosted.org/packages/de/01/73856fab6d125e5bc652c3986b90e8699a95e84b48d72f39ade6c0e74a8c/multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", size = 239103, upload-time = "2026-01-26T02:43:21.508Z" }, - { url = "https://files.pythonhosted.org/packages/e7/46/f1220bd9944d8aa40d8ccff100eeeee19b505b857b6f603d6078cb5315b0/multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", size = 41416, upload-time = "2026-01-26T02:43:22.703Z" }, - { url = "https://files.pythonhosted.org/packages/68/00/9b38e272a770303692fc406c36e1a4c740f401522d5787691eb38a8925a8/multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", size = 46022, upload-time = "2026-01-26T02:43:23.77Z" }, - { url = "https://files.pythonhosted.org/packages/64/65/d8d42490c02ee07b6bbe00f7190d70bb4738b3cce7629aaf9f213ef730dd/multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", size = 43238, upload-time = "2026-01-26T02:43:24.882Z" }, - { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626, upload-time = "2026-01-26T02:43:26.485Z" }, - { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706, upload-time = "2026-01-26T02:43:27.607Z" }, - { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356, upload-time = "2026-01-26T02:43:28.661Z" }, - { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355, upload-time = "2026-01-26T02:43:31.165Z" }, - { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433, upload-time = "2026-01-26T02:43:32.581Z" }, - { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376, upload-time = "2026-01-26T02:43:34.417Z" }, - { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365, upload-time = "2026-01-26T02:43:35.741Z" }, - { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747, upload-time = "2026-01-26T02:43:36.976Z" }, - { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293, upload-time = "2026-01-26T02:43:38.258Z" }, - { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962, upload-time = "2026-01-26T02:43:40.034Z" }, - { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360, upload-time = "2026-01-26T02:43:41.752Z" }, - { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940, upload-time = "2026-01-26T02:43:43.042Z" }, - { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502, upload-time = "2026-01-26T02:43:44.371Z" }, - { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065, upload-time = "2026-01-26T02:43:45.745Z" }, - { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870, upload-time = "2026-01-26T02:43:47.054Z" }, - { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302, upload-time = "2026-01-26T02:43:48.753Z" }, - { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981, upload-time = "2026-01-26T02:43:49.921Z" }, - { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159, upload-time = "2026-01-26T02:43:51.635Z" }, - { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" }, - { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" }, - { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" }, - { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" }, - { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" }, - { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, - { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, - { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, - { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, - { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" }, - { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, - { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" }, - { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, - { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, - { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, - { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887, upload-time = "2026-01-26T02:44:14.245Z" }, - { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053, upload-time = "2026-01-26T02:44:15.371Z" }, - { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307, upload-time = "2026-01-26T02:44:16.852Z" }, - { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" }, - { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" }, - { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" }, - { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" }, - { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" }, - { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" }, - { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" }, - { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" }, - { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" }, - { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" }, - { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" }, - { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" }, - { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" }, - { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" }, - { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695, upload-time = "2026-01-26T02:44:41.318Z" }, - { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884, upload-time = "2026-01-26T02:44:42.488Z" }, - { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122, upload-time = "2026-01-26T02:44:43.664Z" }, - { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" }, - { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" }, - { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" }, - { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" }, - { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" }, - { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" }, - { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" }, - { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" }, - { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" }, - { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" }, - { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" }, - { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" }, - { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" }, - { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" }, - { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" }, - { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770, upload-time = "2026-01-26T02:45:06.754Z" }, - { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109, upload-time = "2026-01-26T02:45:08.044Z" }, - { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573, upload-time = "2026-01-26T02:45:09.349Z" }, - { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190, upload-time = "2026-01-26T02:45:10.651Z" }, - { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486, upload-time = "2026-01-26T02:45:11.938Z" }, - { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219, upload-time = "2026-01-26T02:45:14.346Z" }, - { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132, upload-time = "2026-01-26T02:45:15.712Z" }, - { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420, upload-time = "2026-01-26T02:45:17.293Z" }, - { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510, upload-time = "2026-01-26T02:45:19.356Z" }, - { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094, upload-time = "2026-01-26T02:45:20.834Z" }, - { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786, upload-time = "2026-01-26T02:45:22.818Z" }, - { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483, upload-time = "2026-01-26T02:45:24.368Z" }, - { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403, upload-time = "2026-01-26T02:45:25.982Z" }, - { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315, upload-time = "2026-01-26T02:45:27.487Z" }, - { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528, upload-time = "2026-01-26T02:45:28.991Z" }, - { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784, upload-time = "2026-01-26T02:45:30.503Z" }, - { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980, upload-time = "2026-01-26T02:45:32.603Z" }, - { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602, upload-time = "2026-01-26T02:45:34.043Z" }, - { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930, upload-time = "2026-01-26T02:45:36.278Z" }, - { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074, upload-time = "2026-01-26T02:45:37.546Z" }, - { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471, upload-time = "2026-01-26T02:45:38.889Z" }, - { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401, upload-time = "2026-01-26T02:45:40.254Z" }, - { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143, upload-time = "2026-01-26T02:45:41.635Z" }, - { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507, upload-time = "2026-01-26T02:45:42.99Z" }, - { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358, upload-time = "2026-01-26T02:45:44.376Z" }, - { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884, upload-time = "2026-01-26T02:45:47.167Z" }, - { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878, upload-time = "2026-01-26T02:45:48.698Z" }, - { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542, upload-time = "2026-01-26T02:45:50.164Z" }, - { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403, upload-time = "2026-01-26T02:45:51.779Z" }, - { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889, upload-time = "2026-01-26T02:45:53.27Z" }, - { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982, upload-time = "2026-01-26T02:45:54.919Z" }, - { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415, upload-time = "2026-01-26T02:45:56.981Z" }, - { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337, upload-time = "2026-01-26T02:45:58.698Z" }, - { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788, upload-time = "2026-01-26T02:46:00.862Z" }, - { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842, upload-time = "2026-01-26T02:46:02.824Z" }, - { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237, upload-time = "2026-01-26T02:46:05.898Z" }, - { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008, upload-time = "2026-01-26T02:46:07.468Z" }, - { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542, upload-time = "2026-01-26T02:46:08.809Z" }, - { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719, upload-time = "2026-01-26T02:46:11.146Z" }, - { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/0b/19348d4c98980c4851d2f943f8ebafdece2ae7ef737adcfa5994ce8e5f10/multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/04/9de3f8077852e3d438215c81e9b691244532d2e05b4270e89ce67b7d103c/multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/7f/0e3b1390ae772f27501199996b94b52ceeb64fe6f9120a32c6c3f6b781be/multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/f4/8719f4f167586af317b69dd3e90f913416c91ca610cac79a45c53f590312/multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/ab/7c36164cce64a6ad19c6d9a85377b7178ecf3b89f8fd589c73381a5eedfd/multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/79/a25add6fb38035b5337bc5734f296d9afc99163403bbcf56d4170f97eb62/multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/7b/64a87cf98e12f756fc8bd444b001232ffff2be37288f018ad0d3f0aae931/multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/ac/b605473de2bb404e742f2cc3583d12aedb2352a70e49ae8fce455b50c5aa/multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/65/11492d6a0e259783720f3bc1d9ea55579a76f1407e31ed44045c99542004/multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/a7/7ee591302af64e7c196fb63fe856c788993c1372df765102bd0448e7e165/multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/99/c109962d58756c35fd9992fed7f2355303846ea2ff054bb5f5e9d6b888de/multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/5f/1973e7c771c86e93dcfe1c9cc55a5481b610f6614acfc28c0d326fe6bfad/multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/a5/f170fc2268c3243853580203378cd522446b2df632061e0a5409817854c7/multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/01/73856fab6d125e5bc652c3986b90e8699a95e84b48d72f39ade6c0e74a8c/multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/46/f1220bd9944d8aa40d8ccff100eeeee19b505b857b6f603d6078cb5315b0/multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/00/9b38e272a770303692fc406c36e1a4c740f401522d5787691eb38a8925a8/multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/65/d8d42490c02ee07b6bbe00f7190d70bb4738b3cce7629aaf9f213ef730dd/multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56" }, ] [[package]] name = "nbclient" version = "0.10.4" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "jupyter-client" }, { name = "jupyter-core" }, { name = "nbformat" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/91/1c1d5a4b9a9ebba2b4e32b8c852c2975c872aec1fe42ab5e516b2cecd193/nbclient-0.10.4.tar.gz", hash = "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9", size = 62554, upload-time = "2025-12-23T07:45:46.369Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/91/1c1d5a4b9a9ebba2b4e32b8c852c2975c872aec1fe42ab5e516b2cecd193/nbclient-0.10.4.tar.gz", hash = "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/a0/5b0c2f11142ed1dddec842457d3f65eaf71a0080894eb6f018755b319c3a/nbclient-0.10.4-py3-none-any.whl", hash = "sha256:9162df5a7373d70d606527300a95a975a47c137776cd942e52d9c7e29ff83440", size = 25465, upload-time = "2025-12-23T07:45:44.51Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/a0/5b0c2f11142ed1dddec842457d3f65eaf71a0080894eb6f018755b319c3a/nbclient-0.10.4-py3-none-any.whl", hash = "sha256:9162df5a7373d70d606527300a95a975a47c137776cd942e52d9c7e29ff83440" }, ] [[package]] name = "nbconvert" version = "7.17.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "beautifulsoup4" }, { name = "bleach", extra = ["css"] }, @@ -2671,51 +2671,51 @@ dependencies = [ { name = "pygments" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/01/b1/708e53fe2e429c103c6e6e159106bcf0357ac41aa4c28772bd8402339051/nbconvert-7.17.1.tar.gz", hash = "sha256:34d0d0a7e73ce3cbab6c5aae8f4f468797280b01fd8bd2ca746da8569eddd7d2", size = 865311, upload-time = "2026-04-08T00:44:14.914Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/b1/708e53fe2e429c103c6e6e159106bcf0357ac41aa4c28772bd8402339051/nbconvert-7.17.1.tar.gz", hash = "sha256:34d0d0a7e73ce3cbab6c5aae8f4f468797280b01fd8bd2ca746da8569eddd7d2" } wheels = [ - { url = "https://files.pythonhosted.org/packages/67/f8/bb0a9d5f46819c821dc1f004aa2cc29b1d91453297dbf5ff20470f00f193/nbconvert-7.17.1-py3-none-any.whl", hash = "sha256:aa85c087b435e7bf1ffd03319f658e285f2b89eccab33bc1ba7025495ab3e7c8", size = 261927, upload-time = "2026-04-08T00:44:12.845Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/f8/bb0a9d5f46819c821dc1f004aa2cc29b1d91453297dbf5ff20470f00f193/nbconvert-7.17.1-py3-none-any.whl", hash = "sha256:aa85c087b435e7bf1ffd03319f658e285f2b89eccab33bc1ba7025495ab3e7c8" }, ] [[package]] name = "nbformat" version = "5.10.4" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "fastjsonschema" }, { name = "jsonschema" }, { name = "jupyter-core" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b" }, ] [[package]] name = "nest-asyncio" version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c" }, ] [[package]] name = "networkx" version = "3.4.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version < '3.11'", ] -sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368, upload-time = "2024-10-21T12:39:38.695Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263, upload-time = "2024-10-21T12:39:36.247Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f" }, ] [[package]] name = "networkx" version = "3.6.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", "python_full_version >= '3.14' and sys_platform == 'emscripten'", @@ -2728,314 +2728,314 @@ resolution-markers = [ "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.11.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762" }, ] [[package]] name = "numpy" version = "2.2.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, - { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, - { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, - { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, - { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, - { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, - { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, - { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, - { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, - { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, - { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, - { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, - { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, - { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, - { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, - { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, - { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, - { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, - { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, - { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, - { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, - { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, - { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, - { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, - { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, - { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, - { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, - { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, - { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, - { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, - { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, - { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, - { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, - { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, - { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, - { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, - { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, - { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, - { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, - { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, - { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, - { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, - { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, - { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, - { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, - { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, - { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, - { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, - { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, - { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, - { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, - { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, - { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, - { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00" }, ] [[package]] name = "oauthlib" version = "3.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/5f/19930f824ffeb0ad4372da4812c50edbd1434f678c90c2733e1188edfc63/oauthlib-3.3.1.tar.gz", hash = "sha256:0f0f8aa759826a193cf66c12ea1af1637f87b9b4622d46e866952bb022e538c9", size = 185918, upload-time = "2025-06-19T22:48:08.269Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/5f/19930f824ffeb0ad4372da4812c50edbd1434f678c90c2733e1188edfc63/oauthlib-3.3.1.tar.gz", hash = "sha256:0f0f8aa759826a193cf66c12ea1af1637f87b9b4622d46e866952bb022e538c9" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/9c/92789c596b8df838baa98fa71844d84283302f7604ed565dafe5a6b5041a/oauthlib-3.3.1-py3-none-any.whl", hash = "sha256:88119c938d2b8fb88561af5f6ee0eec8cc8d552b7bb1f712743136eb7523b7a1", size = 160065, upload-time = "2025-06-19T22:48:06.508Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/9c/92789c596b8df838baa98fa71844d84283302f7604ed565dafe5a6b5041a/oauthlib-3.3.1-py3-none-any.whl", hash = "sha256:88119c938d2b8fb88561af5f6ee0eec8cc8d552b7bb1f712743136eb7523b7a1" }, ] [[package]] name = "packaging" version = "26.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529" }, ] [[package]] name = "paginate" version = "0.5.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591" }, ] [[package]] name = "pandas" version = "2.3.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "numpy" }, { 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" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87" }, ] [[package]] name = "pandocfilters" version = "1.5.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc" }, ] [[package]] name = "parso" version = "0.8.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/81/76/a1e769043c0c0c9fe391b702539d594731a4362334cdf4dc25d0c09761e7/parso-0.8.6.tar.gz", hash = "sha256:2b9a0332696df97d454fa67b81618fd69c35a7b90327cbe6ba5c92d2c68a7bfd", size = 401621, upload-time = "2026-02-09T15:45:24.425Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/76/a1e769043c0c0c9fe391b702539d594731a4362334cdf4dc25d0c09761e7/parso-0.8.6.tar.gz", hash = "sha256:2b9a0332696df97d454fa67b81618fd69c35a7b90327cbe6ba5c92d2c68a7bfd" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl", hash = "sha256:2c549f800b70a5c4952197248825584cb00f033b29c692671d3bf08bf380baff", size = 106894, upload-time = "2026-02-09T15:45:21.391Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl", hash = "sha256:2c549f800b70a5c4952197248825584cb00f033b29c692671d3bf08bf380baff" }, ] [[package]] name = "pathspec" version = "1.0.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", size = 131200, upload-time = "2026-01-27T03:59:46.938Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723" }, ] [[package]] name = "pexpect" version = "4.9.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "ptyprocess", marker = "(python_full_version < '3.12' and sys_platform == 'emscripten') or (python_full_version < '3.12' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523" }, ] [[package]] name = "pillow" version = "12.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", size = 46987819, upload-time = "2026-04-01T14:46:17.687Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/aa/d0b28e1c811cd4d5f5c2bfe2e022292bd255ae5744a3b9ac7d6c8f72dd75/pillow-12.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:a4e8f36e677d3336f35089648c8955c51c6d386a13cf6ee9c189c5f5bd713a9f", size = 5354355, upload-time = "2026-04-01T14:42:15.402Z" }, - { url = "https://files.pythonhosted.org/packages/27/8e/1d5b39b8ae2bd7650d0c7b6abb9602d16043ead9ebbfef4bc4047454da2a/pillow-12.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e589959f10d9824d39b350472b92f0ce3b443c0a3442ebf41c40cb8361c5b97", size = 4695871, upload-time = "2026-04-01T14:42:18.234Z" }, - { url = "https://files.pythonhosted.org/packages/f0/c5/dcb7a6ca6b7d3be41a76958e90018d56c8462166b3ef223150360850c8da/pillow-12.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a52edc8bfff4429aaabdf4d9ee0daadbbf8562364f940937b941f87a4290f5ff", size = 6269734, upload-time = "2026-04-01T14:42:20.608Z" }, - { url = "https://files.pythonhosted.org/packages/ea/f1/aa1bb13b2f4eba914e9637893c73f2af8e48d7d4023b9d3750d4c5eb2d0c/pillow-12.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:975385f4776fafde056abb318f612ef6285b10a1f12b8570f3647ad0d74b48ec", size = 8076080, upload-time = "2026-04-01T14:42:23.095Z" }, - { url = "https://files.pythonhosted.org/packages/a1/2a/8c79d6a53169937784604a8ae8d77e45888c41537f7f6f65ed1f407fe66d/pillow-12.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd9c0c7a0c681a347b3194c500cb1e6ca9cab053ea4d82a5cf45b6b754560136", size = 6382236, upload-time = "2026-04-01T14:42:25.82Z" }, - { url = "https://files.pythonhosted.org/packages/b5/42/bbcb6051030e1e421d103ce7a8ecadf837aa2f39b8f82ef1a8d37c3d4ebc/pillow-12.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:88d387ff40b3ff7c274947ed3125dedf5262ec6919d83946753b5f3d7c67ea4c", size = 7070220, upload-time = "2026-04-01T14:42:28.68Z" }, - { url = "https://files.pythonhosted.org/packages/3f/e1/c2a7d6dd8cfa6b231227da096fd2d58754bab3603b9d73bf609d3c18b64f/pillow-12.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:51c4167c34b0d8ba05b547a3bb23578d0ba17b80a5593f93bd8ecb123dd336a3", size = 6493124, upload-time = "2026-04-01T14:42:31.579Z" }, - { url = "https://files.pythonhosted.org/packages/5f/41/7c8617da5d32e1d2f026e509484fdb6f3ad7efaef1749a0c1928adbb099e/pillow-12.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:34c0d99ecccea270c04882cb3b86e7b57296079c9a4aff88cb3b33563d95afaa", size = 7194324, upload-time = "2026-04-01T14:42:34.615Z" }, - { url = "https://files.pythonhosted.org/packages/2d/de/a777627e19fd6d62f84070ee1521adde5eeda4855b5cf60fe0b149118bca/pillow-12.2.0-cp310-cp310-win32.whl", hash = "sha256:b85f66ae9eb53e860a873b858b789217ba505e5e405a24b85c0464822fe88032", size = 6376363, upload-time = "2026-04-01T14:42:37.19Z" }, - { url = "https://files.pythonhosted.org/packages/e7/34/fc4cb5204896465842767b96d250c08410f01f2f28afc43b257de842eed5/pillow-12.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:673aa32138f3e7531ccdbca7b3901dba9b70940a19ccecc6a37c77d5fdeb05b5", size = 7083523, upload-time = "2026-04-01T14:42:39.62Z" }, - { url = "https://files.pythonhosted.org/packages/2d/a0/32852d36bc7709f14dc3f64f929a275e958ad8c19a6deba9610d458e28b3/pillow-12.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:3e080565d8d7c671db5802eedfb438e5565ffa40115216eabb8cd52d0ecce024", size = 2463318, upload-time = "2026-04-01T14:42:42.063Z" }, - { url = "https://files.pythonhosted.org/packages/68/e1/748f5663efe6edcfc4e74b2b93edfb9b8b99b67f21a854c3ae416500a2d9/pillow-12.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:8be29e59487a79f173507c30ddf57e733a357f67881430449bb32614075a40ab", size = 5354347, upload-time = "2026-04-01T14:42:44.255Z" }, - { url = "https://files.pythonhosted.org/packages/47/a1/d5ff69e747374c33a3b53b9f98cca7889fce1fd03d79cdc4e1bccc6c5a87/pillow-12.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:71cde9a1e1551df7d34a25462fc60325e8a11a82cc2e2f54578e5e9a1e153d65", size = 4695873, upload-time = "2026-04-01T14:42:46.452Z" }, - { url = "https://files.pythonhosted.org/packages/df/21/e3fbdf54408a973c7f7f89a23b2cb97a7ef30c61ab4142af31eee6aebc88/pillow-12.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f490f9368b6fc026f021db16d7ec2fbf7d89e2edb42e8ec09d2c60505f5729c7", size = 6280168, upload-time = "2026-04-01T14:42:49.228Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f1/00b7278c7dd52b17ad4329153748f87b6756ec195ff786c2bdf12518337d/pillow-12.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8bd7903a5f2a4545f6fd5935c90058b89d30045568985a71c79f5fd6edf9b91e", size = 8088188, upload-time = "2026-04-01T14:42:51.735Z" }, - { url = "https://files.pythonhosted.org/packages/ad/cf/220a5994ef1b10e70e85748b75649d77d506499352be135a4989c957b701/pillow-12.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3997232e10d2920a68d25191392e3a4487d8183039e1c74c2297f00ed1c50705", size = 6394401, upload-time = "2026-04-01T14:42:54.343Z" }, - { url = "https://files.pythonhosted.org/packages/e9/bd/e51a61b1054f09437acfbc2ff9106c30d1eb76bc1453d428399946781253/pillow-12.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e74473c875d78b8e9d5da2a70f7099549f9eb37ded4e2f6a463e60125bccd176", size = 7079655, upload-time = "2026-04-01T14:42:56.954Z" }, - { url = "https://files.pythonhosted.org/packages/6b/3d/45132c57d5fb4b5744567c3817026480ac7fc3ce5d4c47902bc0e7f6f853/pillow-12.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:56a3f9c60a13133a98ecff6197af34d7824de9b7b38c3654861a725c970c197b", size = 6503105, upload-time = "2026-04-01T14:42:59.847Z" }, - { url = "https://files.pythonhosted.org/packages/7d/2e/9df2fc1e82097b1df3dce58dc43286aa01068e918c07574711fcc53e6fb4/pillow-12.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:90e6f81de50ad6b534cab6e5aef77ff6e37722b2f5d908686f4a5c9eba17a909", size = 7203402, upload-time = "2026-04-01T14:43:02.664Z" }, - { url = "https://files.pythonhosted.org/packages/bd/2e/2941e42858ebb67e50ae741473de81c2984e6eff7b397017623c676e2e8d/pillow-12.2.0-cp311-cp311-win32.whl", hash = "sha256:8c984051042858021a54926eb597d6ee3012393ce9c181814115df4c60b9a808", size = 6378149, upload-time = "2026-04-01T14:43:05.274Z" }, - { url = "https://files.pythonhosted.org/packages/69/42/836b6f3cd7f3e5fa10a1f1a5420447c17966044c8fbf589cc0452d5502db/pillow-12.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e6b2a0c538fc200b38ff9eb6628228b77908c319a005815f2dde585a0664b60", size = 7082626, upload-time = "2026-04-01T14:43:08.557Z" }, - { url = "https://files.pythonhosted.org/packages/c2/88/549194b5d6f1f494b485e493edc6693c0a16f4ada488e5bd974ed1f42fad/pillow-12.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:9a8a34cc89c67a65ea7437ce257cea81a9dad65b29805f3ecee8c8fe8ff25ffe", size = 2463531, upload-time = "2026-04-01T14:43:10.743Z" }, - { url = "https://files.pythonhosted.org/packages/58/be/7482c8a5ebebbc6470b3eb791812fff7d5e0216c2be3827b30b8bb6603ed/pillow-12.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2d192a155bbcec180f8564f693e6fd9bccff5a7af9b32e2e4bf8c9c69dbad6b5", size = 5308279, upload-time = "2026-04-01T14:43:13.246Z" }, - { url = "https://files.pythonhosted.org/packages/d8/95/0a351b9289c2b5cbde0bacd4a83ebc44023e835490a727b2a3bd60ddc0f4/pillow-12.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3f40b3c5a968281fd507d519e444c35f0ff171237f4fdde090dd60699458421", size = 4695490, upload-time = "2026-04-01T14:43:15.584Z" }, - { url = "https://files.pythonhosted.org/packages/de/af/4e8e6869cbed569d43c416fad3dc4ecb944cb5d9492defaed89ddd6fe871/pillow-12.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:03e7e372d5240cc23e9f07deca4d775c0817bffc641b01e9c3af208dbd300987", size = 6284462, upload-time = "2026-04-01T14:43:18.268Z" }, - { url = "https://files.pythonhosted.org/packages/e9/9e/c05e19657fd57841e476be1ab46c4d501bffbadbafdc31a6d665f8b737b6/pillow-12.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b86024e52a1b269467a802258c25521e6d742349d760728092e1bc2d135b4d76", size = 8094744, upload-time = "2026-04-01T14:43:20.716Z" }, - { url = "https://files.pythonhosted.org/packages/2b/54/1789c455ed10176066b6e7e6da1b01e50e36f94ba584dc68d9eebfe9156d/pillow-12.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7371b48c4fa448d20d2714c9a1f775a81155050d383333e0a6c15b1123dda005", size = 6398371, upload-time = "2026-04-01T14:43:23.443Z" }, - { url = "https://files.pythonhosted.org/packages/43/e3/fdc657359e919462369869f1c9f0e973f353f9a9ee295a39b1fea8ee1a77/pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62f5409336adb0663b7caa0da5c7d9e7bdbaae9ce761d34669420c2a801b2780", size = 7087215, upload-time = "2026-04-01T14:43:26.758Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f8/2f6825e441d5b1959d2ca5adec984210f1ec086435b0ed5f52c19b3b8a6e/pillow-12.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:01afa7cf67f74f09523699b4e88c73fb55c13346d212a59a2db1f86b0a63e8c5", size = 6509783, upload-time = "2026-04-01T14:43:29.56Z" }, - { url = "https://files.pythonhosted.org/packages/67/f9/029a27095ad20f854f9dba026b3ea6428548316e057e6fc3545409e86651/pillow-12.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc3d34d4a8fbec3e88a79b92e5465e0f9b842b628675850d860b8bd300b159f5", size = 7212112, upload-time = "2026-04-01T14:43:32.091Z" }, - { url = "https://files.pythonhosted.org/packages/be/42/025cfe05d1be22dbfdb4f264fe9de1ccda83f66e4fc3aac94748e784af04/pillow-12.2.0-cp312-cp312-win32.whl", hash = "sha256:58f62cc0f00fd29e64b29f4fd923ffdb3859c9f9e6105bfc37ba1d08994e8940", size = 6378489, upload-time = "2026-04-01T14:43:34.601Z" }, - { url = "https://files.pythonhosted.org/packages/5d/7b/25a221d2c761c6a8ae21bfa3874988ff2583e19cf8a27bf2fee358df7942/pillow-12.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7f84204dee22a783350679a0333981df803dac21a0190d706a50475e361c93f5", size = 7084129, upload-time = "2026-04-01T14:43:37.213Z" }, - { url = "https://files.pythonhosted.org/packages/10/e1/542a474affab20fd4a0f1836cb234e8493519da6b76899e30bcc5d990b8b/pillow-12.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:af73337013e0b3b46f175e79492d96845b16126ddf79c438d7ea7ff27783a414", size = 2463612, upload-time = "2026-04-01T14:43:39.421Z" }, - { url = "https://files.pythonhosted.org/packages/4a/01/53d10cf0dbad820a8db274d259a37ba50b88b24768ddccec07355382d5ad/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:8297651f5b5679c19968abefd6bb84d95fe30ef712eb1b2d9b2d31ca61267f4c", size = 4100837, upload-time = "2026-04-01T14:43:41.506Z" }, - { url = "https://files.pythonhosted.org/packages/0f/98/f3a6657ecb698c937f6c76ee564882945f29b79bad496abcba0e84659ec5/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:50d8520da2a6ce0af445fa6d648c4273c3eeefbc32d7ce049f22e8b5c3daecc2", size = 4176528, upload-time = "2026-04-01T14:43:43.773Z" }, - { url = "https://files.pythonhosted.org/packages/69/bc/8986948f05e3ea490b8442ea1c1d4d990b24a7e43d8a51b2c7d8b1dced36/pillow-12.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:766cef22385fa1091258ad7e6216792b156dc16d8d3fa607e7545b2b72061f1c", size = 3640401, upload-time = "2026-04-01T14:43:45.87Z" }, - { url = "https://files.pythonhosted.org/packages/34/46/6c717baadcd62bc8ed51d238d521ab651eaa74838291bda1f86fe1f864c9/pillow-12.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5d2fd0fa6b5d9d1de415060363433f28da8b1526c1c129020435e186794b3795", size = 5308094, upload-time = "2026-04-01T14:43:48.438Z" }, - { url = "https://files.pythonhosted.org/packages/71/43/905a14a8b17fdb1ccb58d282454490662d2cb89a6bfec26af6d3520da5ec/pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56b25336f502b6ed02e889f4ece894a72612fe885889a6e8c4c80239ff6e5f5f", size = 4695402, upload-time = "2026-04-01T14:43:51.292Z" }, - { url = "https://files.pythonhosted.org/packages/73/dd/42107efcb777b16fa0393317eac58f5b5cf30e8392e266e76e51cff28c3d/pillow-12.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f1c943e96e85df3d3478f7b691f229887e143f81fedab9b20205349ab04d73ed", size = 6280005, upload-time = "2026-04-01T14:43:54.242Z" }, - { url = "https://files.pythonhosted.org/packages/a8/68/b93e09e5e8549019e61acf49f65b1a8530765a7f812c77a7461bca7e4494/pillow-12.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03f6fab9219220f041c74aeaa2939ff0062bd5c364ba9ce037197f4c6d498cd9", size = 8090669, upload-time = "2026-04-01T14:43:57.335Z" }, - { url = "https://files.pythonhosted.org/packages/4b/6e/3ccb54ce8ec4ddd1accd2d89004308b7b0b21c4ac3d20fa70af4760a4330/pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cdfebd752ec52bf5bb4e35d9c64b40826bc5b40a13df7c3cda20a2c03a0f5ed", size = 6395194, upload-time = "2026-04-01T14:43:59.864Z" }, - { url = "https://files.pythonhosted.org/packages/67/ee/21d4e8536afd1a328f01b359b4d3997b291ffd35a237c877b331c1c3b71c/pillow-12.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eedf4b74eda2b5a4b2b2fb4c006d6295df3bf29e459e198c90ea48e130dc75c3", size = 7082423, upload-time = "2026-04-01T14:44:02.74Z" }, - { url = "https://files.pythonhosted.org/packages/78/5f/e9f86ab0146464e8c133fe85df987ed9e77e08b29d8d35f9f9f4d6f917ba/pillow-12.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9", size = 6505667, upload-time = "2026-04-01T14:44:05.381Z" }, - { url = "https://files.pythonhosted.org/packages/ed/1e/409007f56a2fdce61584fd3acbc2bbc259857d555196cedcadc68c015c82/pillow-12.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1e1757442ed87f4912397c6d35a0db6a7b52592156014706f17658ff58bbf795", size = 7208580, upload-time = "2026-04-01T14:44:08.39Z" }, - { url = "https://files.pythonhosted.org/packages/23/c4/7349421080b12fb35414607b8871e9534546c128a11965fd4a7002ccfbee/pillow-12.2.0-cp313-cp313-win32.whl", hash = "sha256:144748b3af2d1b358d41286056d0003f47cb339b8c43a9ea42f5fea4d8c66b6e", size = 6375896, upload-time = "2026-04-01T14:44:11.197Z" }, - { url = "https://files.pythonhosted.org/packages/3f/82/8a3739a5e470b3c6cbb1d21d315800d8e16bff503d1f16b03a4ec3212786/pillow-12.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:390ede346628ccc626e5730107cde16c42d3836b89662a115a921f28440e6a3b", size = 7081266, upload-time = "2026-04-01T14:44:13.947Z" }, - { url = "https://files.pythonhosted.org/packages/c3/25/f968f618a062574294592f668218f8af564830ccebdd1fa6200f598e65c5/pillow-12.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:8023abc91fba39036dbce14a7d6535632f99c0b857807cbbbf21ecc9f4717f06", size = 2463508, upload-time = "2026-04-01T14:44:16.312Z" }, - { url = "https://files.pythonhosted.org/packages/4d/a4/b342930964e3cb4dce5038ae34b0eab4653334995336cd486c5a8c25a00c/pillow-12.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:042db20a421b9bafecc4b84a8b6e444686bd9d836c7fd24542db3e7df7baad9b", size = 5309927, upload-time = "2026-04-01T14:44:18.89Z" }, - { url = "https://files.pythonhosted.org/packages/9f/de/23198e0a65a9cf06123f5435a5d95cea62a635697f8f03d134d3f3a96151/pillow-12.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd025009355c926a84a612fecf58bb315a3f6814b17ead51a8e48d3823d9087f", size = 4698624, upload-time = "2026-04-01T14:44:21.115Z" }, - { url = "https://files.pythonhosted.org/packages/01/a6/1265e977f17d93ea37aa28aa81bad4fa597933879fac2520d24e021c8da3/pillow-12.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88ddbc66737e277852913bd1e07c150cc7bb124539f94c4e2df5344494e0a612", size = 6321252, upload-time = "2026-04-01T14:44:23.663Z" }, - { url = "https://files.pythonhosted.org/packages/3c/83/5982eb4a285967baa70340320be9f88e57665a387e3a53a7f0db8231a0cd/pillow-12.2.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d362d1878f00c142b7e1a16e6e5e780f02be8195123f164edf7eddd911eefe7c", size = 8126550, upload-time = "2026-04-01T14:44:26.772Z" }, - { url = "https://files.pythonhosted.org/packages/4e/48/6ffc514adce69f6050d0753b1a18fd920fce8cac87620d5a31231b04bfc5/pillow-12.2.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c727a6d53cb0018aadd8018c2b938376af27914a68a492f59dfcaca650d5eea", size = 6433114, upload-time = "2026-04-01T14:44:29.615Z" }, - { url = "https://files.pythonhosted.org/packages/36/a3/f9a77144231fb8d40ee27107b4463e205fa4677e2ca2548e14da5cf18dce/pillow-12.2.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efd8c21c98c5cc60653bcb311bef2ce0401642b7ce9d09e03a7da87c878289d4", size = 7115667, upload-time = "2026-04-01T14:44:32.773Z" }, - { url = "https://files.pythonhosted.org/packages/c1/fc/ac4ee3041e7d5a565e1c4fd72a113f03b6394cc72ab7089d27608f8aaccb/pillow-12.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f08483a632889536b8139663db60f6724bfcb443c96f1b18855860d7d5c0fd4", size = 6538966, upload-time = "2026-04-01T14:44:35.252Z" }, - { url = "https://files.pythonhosted.org/packages/c0/a8/27fb307055087f3668f6d0a8ccb636e7431d56ed0750e07a60547b1e083e/pillow-12.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dac8d77255a37e81a2efcbd1fc05f1c15ee82200e6c240d7e127e25e365c39ea", size = 7238241, upload-time = "2026-04-01T14:44:37.875Z" }, - { url = "https://files.pythonhosted.org/packages/ad/4b/926ab182c07fccae9fcb120043464e1ff1564775ec8864f21a0ebce6ac25/pillow-12.2.0-cp313-cp313t-win32.whl", hash = "sha256:ee3120ae9dff32f121610bb08e4313be87e03efeadfc6c0d18f89127e24d0c24", size = 6379592, upload-time = "2026-04-01T14:44:40.336Z" }, - { url = "https://files.pythonhosted.org/packages/c2/c4/f9e476451a098181b30050cc4c9a3556b64c02cf6497ea421ac047e89e4b/pillow-12.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:325ca0528c6788d2a6c3d40e3568639398137346c3d6e66bb61db96b96511c98", size = 7085542, upload-time = "2026-04-01T14:44:43.251Z" }, - { url = "https://files.pythonhosted.org/packages/00/a4/285f12aeacbe2d6dc36c407dfbbe9e96d4a80b0fb710a337f6d2ad978c75/pillow-12.2.0-cp313-cp313t-win_arm64.whl", hash = "sha256:2e5a76d03a6c6dcef67edabda7a52494afa4035021a79c8558e14af25313d453", size = 2465765, upload-time = "2026-04-01T14:44:45.996Z" }, - { url = "https://files.pythonhosted.org/packages/bf/98/4595daa2365416a86cb0d495248a393dfc84e96d62ad080c8546256cb9c0/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3adc9215e8be0448ed6e814966ecf3d9952f0ea40eb14e89a102b87f450660d8", size = 4100848, upload-time = "2026-04-01T14:44:48.48Z" }, - { url = "https://files.pythonhosted.org/packages/0b/79/40184d464cf89f6663e18dfcf7ca21aae2491fff1a16127681bf1fa9b8cf/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6a9adfc6d24b10f89588096364cc726174118c62130c817c2837c60cf08a392b", size = 4176515, upload-time = "2026-04-01T14:44:51.353Z" }, - { url = "https://files.pythonhosted.org/packages/b0/63/703f86fd4c422a9cf722833670f4f71418fb116b2853ff7da722ea43f184/pillow-12.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6a6e67ea2e6feda684ed370f9a1c52e7a243631c025ba42149a2cc5934dec295", size = 3640159, upload-time = "2026-04-01T14:44:53.588Z" }, - { url = "https://files.pythonhosted.org/packages/71/e0/fb22f797187d0be2270f83500aab851536101b254bfa1eae10795709d283/pillow-12.2.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2bb4a8d594eacdfc59d9e5ad972aa8afdd48d584ffd5f13a937a664c3e7db0ed", size = 5312185, upload-time = "2026-04-01T14:44:56.039Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:80b2da48193b2f33ed0c32c38140f9d3186583ce7d516526d462645fd98660ae", size = 4695386, upload-time = "2026-04-01T14:44:58.663Z" }, - { url = "https://files.pythonhosted.org/packages/70/62/98f6b7f0c88b9addd0e87c217ded307b36be024d4ff8869a812b241d1345/pillow-12.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22db17c68434de69d8ecfc2fe821569195c0c373b25cccb9cbdacf2c6e53c601", size = 6280384, upload-time = "2026-04-01T14:45:01.5Z" }, - { url = "https://files.pythonhosted.org/packages/5e/03/688747d2e91cfbe0e64f316cd2e8005698f76ada3130d0194664174fa5de/pillow-12.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b14cc0106cd9aecda615dd6903840a058b4700fcb817687d0ee4fc8b6e389be", size = 8091599, upload-time = "2026-04-01T14:45:04.5Z" }, - { url = "https://files.pythonhosted.org/packages/f6/35/577e22b936fcdd66537329b33af0b4ccfefaeabd8aec04b266528cddb33c/pillow-12.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cbeb542b2ebc6fcdacabf8aca8c1a97c9b3ad3927d46b8723f9d4f033288a0f", size = 6396021, upload-time = "2026-04-01T14:45:07.117Z" }, - { url = "https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bfd07bc812fbd20395212969e41931001fd59eb55a60658b0e5710872e95286", size = 7083360, upload-time = "2026-04-01T14:45:09.763Z" }, - { url = "https://files.pythonhosted.org/packages/5e/26/d325f9f56c7e039034897e7380e9cc202b1e368bfd04d4cbe6a441f02885/pillow-12.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9aba9a17b623ef750a4d11b742cbafffeb48a869821252b30ee21b5e91392c50", size = 6507628, upload-time = "2026-04-01T14:45:12.378Z" }, - { url = "https://files.pythonhosted.org/packages/5f/f7/769d5632ffb0988f1c5e7660b3e731e30f7f8ec4318e94d0a5d674eb65a4/pillow-12.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:deede7c263feb25dba4e82ea23058a235dcc2fe1f6021025dc71f2b618e26104", size = 7209321, upload-time = "2026-04-01T14:45:15.122Z" }, - { url = "https://files.pythonhosted.org/packages/6a/7a/c253e3c645cd47f1aceea6a8bacdba9991bf45bb7dfe927f7c893e89c93c/pillow-12.2.0-cp314-cp314-win32.whl", hash = "sha256:632ff19b2778e43162304d50da0181ce24ac5bb8180122cbe1bf4673428328c7", size = 6479723, upload-time = "2026-04-01T14:45:17.797Z" }, - { url = "https://files.pythonhosted.org/packages/cd/8b/601e6566b957ca50e28725cb6c355c59c2c8609751efbecd980db44e0349/pillow-12.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:4e6c62e9d237e9b65fac06857d511e90d8461a32adcc1b9065ea0c0fa3a28150", size = 7217400, upload-time = "2026-04-01T14:45:20.529Z" }, - { url = "https://files.pythonhosted.org/packages/d6/94/220e46c73065c3e2951bb91c11a1fb636c8c9ad427ac3ce7d7f3359b9b2f/pillow-12.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:b1c1fbd8a5a1af3412a0810d060a78b5136ec0836c8a4ef9aa11807f2a22f4e1", size = 2554835, upload-time = "2026-04-01T14:45:23.162Z" }, - { url = "https://files.pythonhosted.org/packages/b6/ab/1b426a3974cb0e7da5c29ccff4807871d48110933a57207b5a676cccc155/pillow-12.2.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:57850958fe9c751670e49b2cecf6294acc99e562531f4bd317fa5ddee2068463", size = 5314225, upload-time = "2026-04-01T14:45:25.637Z" }, - { url = "https://files.pythonhosted.org/packages/19/1e/dce46f371be2438eecfee2a1960ee2a243bbe5e961890146d2dee1ff0f12/pillow-12.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d5d38f1411c0ed9f97bcb49b7bd59b6b7c314e0e27420e34d99d844b9ce3b6f3", size = 4698541, upload-time = "2026-04-01T14:45:28.355Z" }, - { url = "https://files.pythonhosted.org/packages/55/c3/7fbecf70adb3a0c33b77a300dc52e424dc22ad8cdc06557a2e49523b703d/pillow-12.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c0a9f29ca8e79f09de89293f82fc9b0270bb4af1d58bc98f540cc4aedf03166", size = 6322251, upload-time = "2026-04-01T14:45:30.924Z" }, - { url = "https://files.pythonhosted.org/packages/1c/3c/7fbc17cfb7e4fe0ef1642e0abc17fc6c94c9f7a16be41498e12e2ba60408/pillow-12.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1610dd6c61621ae1cf811bef44d77e149ce3f7b95afe66a4512f8c59f25d9ebe", size = 8127807, upload-time = "2026-04-01T14:45:33.908Z" }, - { url = "https://files.pythonhosted.org/packages/ff/c3/a8ae14d6defd2e448493ff512fae903b1e9bd40b72efb6ec55ce0048c8ce/pillow-12.2.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a34329707af4f73cf1782a36cd2289c0368880654a2c11f027bcee9052d35dd", size = 6433935, upload-time = "2026-04-01T14:45:36.623Z" }, - { url = "https://files.pythonhosted.org/packages/6e/32/2880fb3a074847ac159d8f902cb43278a61e85f681661e7419e6596803ed/pillow-12.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e9c4f5b3c546fa3458a29ab22646c1c6c787ea8f5ef51300e5a60300736905e", size = 7116720, upload-time = "2026-04-01T14:45:39.258Z" }, - { url = "https://files.pythonhosted.org/packages/46/87/495cc9c30e0129501643f24d320076f4cc54f718341df18cc70ec94c44e1/pillow-12.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06", size = 6540498, upload-time = "2026-04-01T14:45:41.879Z" }, - { url = "https://files.pythonhosted.org/packages/18/53/773f5edca692009d883a72211b60fdaf8871cbef075eaa9d577f0a2f989e/pillow-12.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f278f034eb75b4e8a13a54a876cc4a5ab39173d2cdd93a638e1b467fc545ac43", size = 7239413, upload-time = "2026-04-01T14:45:44.705Z" }, - { url = "https://files.pythonhosted.org/packages/c9/e4/4b64a97d71b2a83158134abbb2f5bd3f8a2ea691361282f010998f339ec7/pillow-12.2.0-cp314-cp314t-win32.whl", hash = "sha256:6bb77b2dcb06b20f9f4b4a8454caa581cd4dd0643a08bacf821216a16d9c8354", size = 6482084, upload-time = "2026-04-01T14:45:47.568Z" }, - { url = "https://files.pythonhosted.org/packages/ba/13/306d275efd3a3453f72114b7431c877d10b1154014c1ebbedd067770d629/pillow-12.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6562ace0d3fb5f20ed7290f1f929cae41b25ae29528f2af1722966a0a02e2aa1", size = 7225152, upload-time = "2026-04-01T14:45:50.032Z" }, - { url = "https://files.pythonhosted.org/packages/ff/6e/cf826fae916b8658848d7b9f38d88da6396895c676e8086fc0988073aaf8/pillow-12.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:aa88ccfe4e32d362816319ed727a004423aab09c5cea43c01a4b435643fa34eb", size = 2556579, upload-time = "2026-04-01T14:45:52.529Z" }, - { url = "https://files.pythonhosted.org/packages/4e/b7/2437044fb910f499610356d1352e3423753c98e34f915252aafecc64889f/pillow-12.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0538bd5e05efec03ae613fd89c4ce0368ecd2ba239cc25b9f9be7ed426b0af1f", size = 5273969, upload-time = "2026-04-01T14:45:55.538Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f4/8316e31de11b780f4ac08ef3654a75555e624a98db1056ecb2122d008d5a/pillow-12.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:394167b21da716608eac917c60aa9b969421b5dcbbe02ae7f013e7b85811c69d", size = 4659674, upload-time = "2026-04-01T14:45:58.093Z" }, - { url = "https://files.pythonhosted.org/packages/d4/37/664fca7201f8bb2aa1d20e2c3d5564a62e6ae5111741966c8319ca802361/pillow-12.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5d04bfa02cc2d23b497d1e90a0f927070043f6cbf303e738300532379a4b4e0f", size = 5288479, upload-time = "2026-04-01T14:46:01.141Z" }, - { url = "https://files.pythonhosted.org/packages/49/62/5b0ed78fce87346be7a5cfcfaaad91f6a1f98c26f86bdbafa2066c647ef6/pillow-12.2.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0c838a5125cee37e68edec915651521191cef1e6aa336b855f495766e77a366e", size = 7032230, upload-time = "2026-04-01T14:46:03.874Z" }, - { url = "https://files.pythonhosted.org/packages/c3/28/ec0fc38107fc32536908034e990c47914c57cd7c5a3ece4d8d8f7ffd7e27/pillow-12.2.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a6c9fa44005fa37a91ebfc95d081e8079757d2e904b27103f4f5fa6f0bf78c0", size = 5355404, upload-time = "2026-04-01T14:46:06.33Z" }, - { url = "https://files.pythonhosted.org/packages/5e/8b/51b0eddcfa2180d60e41f06bd6d0a62202b20b59c68f5a132e615b75aecf/pillow-12.2.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:25373b66e0dd5905ed63fa3cae13c82fbddf3079f2c8bf15c6fb6a35586324c1", size = 6002215, upload-time = "2026-04-01T14:46:08.83Z" }, - { url = "https://files.pythonhosted.org/packages/bc/60/5382c03e1970de634027cee8e1b7d39776b778b81812aaf45b694dfe9e28/pillow-12.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bfa9c230d2fe991bed5318a5f119bd6780cda2915cca595393649fc118ab895e", size = 7080946, upload-time = "2026-04-01T14:46:11.734Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/aa/d0b28e1c811cd4d5f5c2bfe2e022292bd255ae5744a3b9ac7d6c8f72dd75/pillow-12.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:a4e8f36e677d3336f35089648c8955c51c6d386a13cf6ee9c189c5f5bd713a9f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/27/8e/1d5b39b8ae2bd7650d0c7b6abb9602d16043ead9ebbfef4bc4047454da2a/pillow-12.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e589959f10d9824d39b350472b92f0ce3b443c0a3442ebf41c40cb8361c5b97" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/c5/dcb7a6ca6b7d3be41a76958e90018d56c8462166b3ef223150360850c8da/pillow-12.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a52edc8bfff4429aaabdf4d9ee0daadbbf8562364f940937b941f87a4290f5ff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/f1/aa1bb13b2f4eba914e9637893c73f2af8e48d7d4023b9d3750d4c5eb2d0c/pillow-12.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:975385f4776fafde056abb318f612ef6285b10a1f12b8570f3647ad0d74b48ec" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/2a/8c79d6a53169937784604a8ae8d77e45888c41537f7f6f65ed1f407fe66d/pillow-12.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd9c0c7a0c681a347b3194c500cb1e6ca9cab053ea4d82a5cf45b6b754560136" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/42/bbcb6051030e1e421d103ce7a8ecadf837aa2f39b8f82ef1a8d37c3d4ebc/pillow-12.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:88d387ff40b3ff7c274947ed3125dedf5262ec6919d83946753b5f3d7c67ea4c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/e1/c2a7d6dd8cfa6b231227da096fd2d58754bab3603b9d73bf609d3c18b64f/pillow-12.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:51c4167c34b0d8ba05b547a3bb23578d0ba17b80a5593f93bd8ecb123dd336a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/41/7c8617da5d32e1d2f026e509484fdb6f3ad7efaef1749a0c1928adbb099e/pillow-12.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:34c0d99ecccea270c04882cb3b86e7b57296079c9a4aff88cb3b33563d95afaa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/de/a777627e19fd6d62f84070ee1521adde5eeda4855b5cf60fe0b149118bca/pillow-12.2.0-cp310-cp310-win32.whl", hash = "sha256:b85f66ae9eb53e860a873b858b789217ba505e5e405a24b85c0464822fe88032" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/34/fc4cb5204896465842767b96d250c08410f01f2f28afc43b257de842eed5/pillow-12.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:673aa32138f3e7531ccdbca7b3901dba9b70940a19ccecc6a37c77d5fdeb05b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/a0/32852d36bc7709f14dc3f64f929a275e958ad8c19a6deba9610d458e28b3/pillow-12.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:3e080565d8d7c671db5802eedfb438e5565ffa40115216eabb8cd52d0ecce024" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/e1/748f5663efe6edcfc4e74b2b93edfb9b8b99b67f21a854c3ae416500a2d9/pillow-12.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:8be29e59487a79f173507c30ddf57e733a357f67881430449bb32614075a40ab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/a1/d5ff69e747374c33a3b53b9f98cca7889fce1fd03d79cdc4e1bccc6c5a87/pillow-12.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:71cde9a1e1551df7d34a25462fc60325e8a11a82cc2e2f54578e5e9a1e153d65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/21/e3fbdf54408a973c7f7f89a23b2cb97a7ef30c61ab4142af31eee6aebc88/pillow-12.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f490f9368b6fc026f021db16d7ec2fbf7d89e2edb42e8ec09d2c60505f5729c7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/f1/00b7278c7dd52b17ad4329153748f87b6756ec195ff786c2bdf12518337d/pillow-12.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8bd7903a5f2a4545f6fd5935c90058b89d30045568985a71c79f5fd6edf9b91e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/cf/220a5994ef1b10e70e85748b75649d77d506499352be135a4989c957b701/pillow-12.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3997232e10d2920a68d25191392e3a4487d8183039e1c74c2297f00ed1c50705" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/bd/e51a61b1054f09437acfbc2ff9106c30d1eb76bc1453d428399946781253/pillow-12.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e74473c875d78b8e9d5da2a70f7099549f9eb37ded4e2f6a463e60125bccd176" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/3d/45132c57d5fb4b5744567c3817026480ac7fc3ce5d4c47902bc0e7f6f853/pillow-12.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:56a3f9c60a13133a98ecff6197af34d7824de9b7b38c3654861a725c970c197b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/2e/9df2fc1e82097b1df3dce58dc43286aa01068e918c07574711fcc53e6fb4/pillow-12.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:90e6f81de50ad6b534cab6e5aef77ff6e37722b2f5d908686f4a5c9eba17a909" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/2e/2941e42858ebb67e50ae741473de81c2984e6eff7b397017623c676e2e8d/pillow-12.2.0-cp311-cp311-win32.whl", hash = "sha256:8c984051042858021a54926eb597d6ee3012393ce9c181814115df4c60b9a808" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/42/836b6f3cd7f3e5fa10a1f1a5420447c17966044c8fbf589cc0452d5502db/pillow-12.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e6b2a0c538fc200b38ff9eb6628228b77908c319a005815f2dde585a0664b60" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/88/549194b5d6f1f494b485e493edc6693c0a16f4ada488e5bd974ed1f42fad/pillow-12.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:9a8a34cc89c67a65ea7437ce257cea81a9dad65b29805f3ecee8c8fe8ff25ffe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/be/7482c8a5ebebbc6470b3eb791812fff7d5e0216c2be3827b30b8bb6603ed/pillow-12.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2d192a155bbcec180f8564f693e6fd9bccff5a7af9b32e2e4bf8c9c69dbad6b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/95/0a351b9289c2b5cbde0bacd4a83ebc44023e835490a727b2a3bd60ddc0f4/pillow-12.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3f40b3c5a968281fd507d519e444c35f0ff171237f4fdde090dd60699458421" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/af/4e8e6869cbed569d43c416fad3dc4ecb944cb5d9492defaed89ddd6fe871/pillow-12.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:03e7e372d5240cc23e9f07deca4d775c0817bffc641b01e9c3af208dbd300987" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/9e/c05e19657fd57841e476be1ab46c4d501bffbadbafdc31a6d665f8b737b6/pillow-12.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b86024e52a1b269467a802258c25521e6d742349d760728092e1bc2d135b4d76" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/54/1789c455ed10176066b6e7e6da1b01e50e36f94ba584dc68d9eebfe9156d/pillow-12.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7371b48c4fa448d20d2714c9a1f775a81155050d383333e0a6c15b1123dda005" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/e3/fdc657359e919462369869f1c9f0e973f353f9a9ee295a39b1fea8ee1a77/pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62f5409336adb0663b7caa0da5c7d9e7bdbaae9ce761d34669420c2a801b2780" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/f8/2f6825e441d5b1959d2ca5adec984210f1ec086435b0ed5f52c19b3b8a6e/pillow-12.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:01afa7cf67f74f09523699b4e88c73fb55c13346d212a59a2db1f86b0a63e8c5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/f9/029a27095ad20f854f9dba026b3ea6428548316e057e6fc3545409e86651/pillow-12.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc3d34d4a8fbec3e88a79b92e5465e0f9b842b628675850d860b8bd300b159f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/42/025cfe05d1be22dbfdb4f264fe9de1ccda83f66e4fc3aac94748e784af04/pillow-12.2.0-cp312-cp312-win32.whl", hash = "sha256:58f62cc0f00fd29e64b29f4fd923ffdb3859c9f9e6105bfc37ba1d08994e8940" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/7b/25a221d2c761c6a8ae21bfa3874988ff2583e19cf8a27bf2fee358df7942/pillow-12.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7f84204dee22a783350679a0333981df803dac21a0190d706a50475e361c93f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/e1/542a474affab20fd4a0f1836cb234e8493519da6b76899e30bcc5d990b8b/pillow-12.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:af73337013e0b3b46f175e79492d96845b16126ddf79c438d7ea7ff27783a414" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/01/53d10cf0dbad820a8db274d259a37ba50b88b24768ddccec07355382d5ad/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:8297651f5b5679c19968abefd6bb84d95fe30ef712eb1b2d9b2d31ca61267f4c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/98/f3a6657ecb698c937f6c76ee564882945f29b79bad496abcba0e84659ec5/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:50d8520da2a6ce0af445fa6d648c4273c3eeefbc32d7ce049f22e8b5c3daecc2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/bc/8986948f05e3ea490b8442ea1c1d4d990b24a7e43d8a51b2c7d8b1dced36/pillow-12.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:766cef22385fa1091258ad7e6216792b156dc16d8d3fa607e7545b2b72061f1c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/46/6c717baadcd62bc8ed51d238d521ab651eaa74838291bda1f86fe1f864c9/pillow-12.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5d2fd0fa6b5d9d1de415060363433f28da8b1526c1c129020435e186794b3795" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/43/905a14a8b17fdb1ccb58d282454490662d2cb89a6bfec26af6d3520da5ec/pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56b25336f502b6ed02e889f4ece894a72612fe885889a6e8c4c80239ff6e5f5f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/dd/42107efcb777b16fa0393317eac58f5b5cf30e8392e266e76e51cff28c3d/pillow-12.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f1c943e96e85df3d3478f7b691f229887e143f81fedab9b20205349ab04d73ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/68/b93e09e5e8549019e61acf49f65b1a8530765a7f812c77a7461bca7e4494/pillow-12.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03f6fab9219220f041c74aeaa2939ff0062bd5c364ba9ce037197f4c6d498cd9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/6e/3ccb54ce8ec4ddd1accd2d89004308b7b0b21c4ac3d20fa70af4760a4330/pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cdfebd752ec52bf5bb4e35d9c64b40826bc5b40a13df7c3cda20a2c03a0f5ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/ee/21d4e8536afd1a328f01b359b4d3997b291ffd35a237c877b331c1c3b71c/pillow-12.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eedf4b74eda2b5a4b2b2fb4c006d6295df3bf29e459e198c90ea48e130dc75c3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/5f/e9f86ab0146464e8c133fe85df987ed9e77e08b29d8d35f9f9f4d6f917ba/pillow-12.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/1e/409007f56a2fdce61584fd3acbc2bbc259857d555196cedcadc68c015c82/pillow-12.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1e1757442ed87f4912397c6d35a0db6a7b52592156014706f17658ff58bbf795" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/c4/7349421080b12fb35414607b8871e9534546c128a11965fd4a7002ccfbee/pillow-12.2.0-cp313-cp313-win32.whl", hash = "sha256:144748b3af2d1b358d41286056d0003f47cb339b8c43a9ea42f5fea4d8c66b6e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/82/8a3739a5e470b3c6cbb1d21d315800d8e16bff503d1f16b03a4ec3212786/pillow-12.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:390ede346628ccc626e5730107cde16c42d3836b89662a115a921f28440e6a3b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/25/f968f618a062574294592f668218f8af564830ccebdd1fa6200f598e65c5/pillow-12.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:8023abc91fba39036dbce14a7d6535632f99c0b857807cbbbf21ecc9f4717f06" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/a4/b342930964e3cb4dce5038ae34b0eab4653334995336cd486c5a8c25a00c/pillow-12.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:042db20a421b9bafecc4b84a8b6e444686bd9d836c7fd24542db3e7df7baad9b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/de/23198e0a65a9cf06123f5435a5d95cea62a635697f8f03d134d3f3a96151/pillow-12.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd025009355c926a84a612fecf58bb315a3f6814b17ead51a8e48d3823d9087f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/a6/1265e977f17d93ea37aa28aa81bad4fa597933879fac2520d24e021c8da3/pillow-12.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88ddbc66737e277852913bd1e07c150cc7bb124539f94c4e2df5344494e0a612" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/83/5982eb4a285967baa70340320be9f88e57665a387e3a53a7f0db8231a0cd/pillow-12.2.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d362d1878f00c142b7e1a16e6e5e780f02be8195123f164edf7eddd911eefe7c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/48/6ffc514adce69f6050d0753b1a18fd920fce8cac87620d5a31231b04bfc5/pillow-12.2.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c727a6d53cb0018aadd8018c2b938376af27914a68a492f59dfcaca650d5eea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/a3/f9a77144231fb8d40ee27107b4463e205fa4677e2ca2548e14da5cf18dce/pillow-12.2.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efd8c21c98c5cc60653bcb311bef2ce0401642b7ce9d09e03a7da87c878289d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/fc/ac4ee3041e7d5a565e1c4fd72a113f03b6394cc72ab7089d27608f8aaccb/pillow-12.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f08483a632889536b8139663db60f6724bfcb443c96f1b18855860d7d5c0fd4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/a8/27fb307055087f3668f6d0a8ccb636e7431d56ed0750e07a60547b1e083e/pillow-12.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dac8d77255a37e81a2efcbd1fc05f1c15ee82200e6c240d7e127e25e365c39ea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/4b/926ab182c07fccae9fcb120043464e1ff1564775ec8864f21a0ebce6ac25/pillow-12.2.0-cp313-cp313t-win32.whl", hash = "sha256:ee3120ae9dff32f121610bb08e4313be87e03efeadfc6c0d18f89127e24d0c24" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/c4/f9e476451a098181b30050cc4c9a3556b64c02cf6497ea421ac047e89e4b/pillow-12.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:325ca0528c6788d2a6c3d40e3568639398137346c3d6e66bb61db96b96511c98" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/a4/285f12aeacbe2d6dc36c407dfbbe9e96d4a80b0fb710a337f6d2ad978c75/pillow-12.2.0-cp313-cp313t-win_arm64.whl", hash = "sha256:2e5a76d03a6c6dcef67edabda7a52494afa4035021a79c8558e14af25313d453" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/98/4595daa2365416a86cb0d495248a393dfc84e96d62ad080c8546256cb9c0/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3adc9215e8be0448ed6e814966ecf3d9952f0ea40eb14e89a102b87f450660d8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/79/40184d464cf89f6663e18dfcf7ca21aae2491fff1a16127681bf1fa9b8cf/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6a9adfc6d24b10f89588096364cc726174118c62130c817c2837c60cf08a392b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/63/703f86fd4c422a9cf722833670f4f71418fb116b2853ff7da722ea43f184/pillow-12.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6a6e67ea2e6feda684ed370f9a1c52e7a243631c025ba42149a2cc5934dec295" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/e0/fb22f797187d0be2270f83500aab851536101b254bfa1eae10795709d283/pillow-12.2.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2bb4a8d594eacdfc59d9e5ad972aa8afdd48d584ffd5f13a937a664c3e7db0ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:80b2da48193b2f33ed0c32c38140f9d3186583ce7d516526d462645fd98660ae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/62/98f6b7f0c88b9addd0e87c217ded307b36be024d4ff8869a812b241d1345/pillow-12.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22db17c68434de69d8ecfc2fe821569195c0c373b25cccb9cbdacf2c6e53c601" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/03/688747d2e91cfbe0e64f316cd2e8005698f76ada3130d0194664174fa5de/pillow-12.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b14cc0106cd9aecda615dd6903840a058b4700fcb817687d0ee4fc8b6e389be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/35/577e22b936fcdd66537329b33af0b4ccfefaeabd8aec04b266528cddb33c/pillow-12.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cbeb542b2ebc6fcdacabf8aca8c1a97c9b3ad3927d46b8723f9d4f033288a0f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bfd07bc812fbd20395212969e41931001fd59eb55a60658b0e5710872e95286" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/26/d325f9f56c7e039034897e7380e9cc202b1e368bfd04d4cbe6a441f02885/pillow-12.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9aba9a17b623ef750a4d11b742cbafffeb48a869821252b30ee21b5e91392c50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/f7/769d5632ffb0988f1c5e7660b3e731e30f7f8ec4318e94d0a5d674eb65a4/pillow-12.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:deede7c263feb25dba4e82ea23058a235dcc2fe1f6021025dc71f2b618e26104" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/7a/c253e3c645cd47f1aceea6a8bacdba9991bf45bb7dfe927f7c893e89c93c/pillow-12.2.0-cp314-cp314-win32.whl", hash = "sha256:632ff19b2778e43162304d50da0181ce24ac5bb8180122cbe1bf4673428328c7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/8b/601e6566b957ca50e28725cb6c355c59c2c8609751efbecd980db44e0349/pillow-12.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:4e6c62e9d237e9b65fac06857d511e90d8461a32adcc1b9065ea0c0fa3a28150" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/94/220e46c73065c3e2951bb91c11a1fb636c8c9ad427ac3ce7d7f3359b9b2f/pillow-12.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:b1c1fbd8a5a1af3412a0810d060a78b5136ec0836c8a4ef9aa11807f2a22f4e1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b6/ab/1b426a3974cb0e7da5c29ccff4807871d48110933a57207b5a676cccc155/pillow-12.2.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:57850958fe9c751670e49b2cecf6294acc99e562531f4bd317fa5ddee2068463" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/1e/dce46f371be2438eecfee2a1960ee2a243bbe5e961890146d2dee1ff0f12/pillow-12.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d5d38f1411c0ed9f97bcb49b7bd59b6b7c314e0e27420e34d99d844b9ce3b6f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/55/c3/7fbecf70adb3a0c33b77a300dc52e424dc22ad8cdc06557a2e49523b703d/pillow-12.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c0a9f29ca8e79f09de89293f82fc9b0270bb4af1d58bc98f540cc4aedf03166" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/3c/7fbc17cfb7e4fe0ef1642e0abc17fc6c94c9f7a16be41498e12e2ba60408/pillow-12.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1610dd6c61621ae1cf811bef44d77e149ce3f7b95afe66a4512f8c59f25d9ebe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/c3/a8ae14d6defd2e448493ff512fae903b1e9bd40b72efb6ec55ce0048c8ce/pillow-12.2.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a34329707af4f73cf1782a36cd2289c0368880654a2c11f027bcee9052d35dd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/32/2880fb3a074847ac159d8f902cb43278a61e85f681661e7419e6596803ed/pillow-12.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e9c4f5b3c546fa3458a29ab22646c1c6c787ea8f5ef51300e5a60300736905e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/87/495cc9c30e0129501643f24d320076f4cc54f718341df18cc70ec94c44e1/pillow-12.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/53/773f5edca692009d883a72211b60fdaf8871cbef075eaa9d577f0a2f989e/pillow-12.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f278f034eb75b4e8a13a54a876cc4a5ab39173d2cdd93a638e1b467fc545ac43" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/e4/4b64a97d71b2a83158134abbb2f5bd3f8a2ea691361282f010998f339ec7/pillow-12.2.0-cp314-cp314t-win32.whl", hash = "sha256:6bb77b2dcb06b20f9f4b4a8454caa581cd4dd0643a08bacf821216a16d9c8354" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/13/306d275efd3a3453f72114b7431c877d10b1154014c1ebbedd067770d629/pillow-12.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6562ace0d3fb5f20ed7290f1f929cae41b25ae29528f2af1722966a0a02e2aa1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/6e/cf826fae916b8658848d7b9f38d88da6396895c676e8086fc0988073aaf8/pillow-12.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:aa88ccfe4e32d362816319ed727a004423aab09c5cea43c01a4b435643fa34eb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/b7/2437044fb910f499610356d1352e3423753c98e34f915252aafecc64889f/pillow-12.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0538bd5e05efec03ae613fd89c4ce0368ecd2ba239cc25b9f9be7ed426b0af1f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/f4/8316e31de11b780f4ac08ef3654a75555e624a98db1056ecb2122d008d5a/pillow-12.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:394167b21da716608eac917c60aa9b969421b5dcbbe02ae7f013e7b85811c69d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/37/664fca7201f8bb2aa1d20e2c3d5564a62e6ae5111741966c8319ca802361/pillow-12.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5d04bfa02cc2d23b497d1e90a0f927070043f6cbf303e738300532379a4b4e0f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/62/5b0ed78fce87346be7a5cfcfaaad91f6a1f98c26f86bdbafa2066c647ef6/pillow-12.2.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0c838a5125cee37e68edec915651521191cef1e6aa336b855f495766e77a366e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/28/ec0fc38107fc32536908034e990c47914c57cd7c5a3ece4d8d8f7ffd7e27/pillow-12.2.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a6c9fa44005fa37a91ebfc95d081e8079757d2e904b27103f4f5fa6f0bf78c0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/8b/51b0eddcfa2180d60e41f06bd6d0a62202b20b59c68f5a132e615b75aecf/pillow-12.2.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:25373b66e0dd5905ed63fa3cae13c82fbddf3079f2c8bf15c6fb6a35586324c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/60/5382c03e1970de634027cee8e1b7d39776b778b81812aaf45b694dfe9e28/pillow-12.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bfa9c230d2fe991bed5318a5f119bd6780cda2915cca595393649fc118ab895e" }, ] [[package]] name = "platformdirs" version = "4.9.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz", hash = "sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a", size = 29400, upload-time = "2026-04-09T00:04:10.812Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz", hash = "sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" } wheels = [ - { url = "https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl", hash = "sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917", size = 21348, upload-time = "2026-04-09T00:04:09.463Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl", hash = "sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917" }, ] [[package]] name = "pluggy" version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" }, ] [[package]] @@ -3050,6 +3050,10 @@ dependencies = [ ] [package.dev-dependencies] +demo = [ + { name = "scipy", version = "1.15.3", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, +] dev = [ { name = "numpy" }, { name = "pytest" }, @@ -3075,6 +3079,7 @@ requires-dist = [ ] [package.metadata.requires-dev] +demo = [{ name = "scipy", specifier = ">=1.13" }] dev = [ { name = "numpy", specifier = ">=2.2.6" }, { name = "pytest", specifier = ">=9.0.2" }, @@ -3103,147 +3108,147 @@ dev = [{ name = "maturin", specifier = ">=1.12.6" }] [[package]] name = "prompt-toolkit" version = "3.0.52" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955" }, ] [[package]] name = "propcache" version = "0.5.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/56/030b7b4719d53085722893e0009dffb9236aa10bca1b12121bdc5626ef16/propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b", size = 93417, upload-time = "2026-05-08T20:59:15.597Z" }, - { url = "https://files.pythonhosted.org/packages/1a/55/1140a8e067b8ec093a18a4ae7bb0045d9db65da38a08618ddc5e2f1994aa/propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c", size = 53847, upload-time = "2026-05-08T20:59:17.096Z" }, - { url = "https://files.pythonhosted.org/packages/20/42/0e7443c90310498561addf346e7d57fe3c6ba1914e1ba938b5464c7bbfd2/propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bf3be92233808fcd338eba0fb4d0b59ec5772af4f4ecfcec450d1bfc0f8b5eb", size = 53512, upload-time = "2026-05-08T20:59:18.64Z" }, - { url = "https://files.pythonhosted.org/packages/b7/db/cf51a71bab2009517d1a7f0ee07657e3bd446c4d69f67e6966cf17bcf956/propcache-0.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f8ea531c794b9d6274acd4e8d2c2ebcac590a4361d27482edd3010b79f1325e", size = 58068, upload-time = "2026-05-08T20:59:20.683Z" }, - { url = "https://files.pythonhosted.org/packages/b7/43/39b6bdee9699fa1e1641c519feeb64a67e2a9f93bb465c70776b37a7333f/propcache-0.5.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:decfca4c79dd53ebab484b00cc4b6717d8c369f86e74aa4ca395a64ac651495e", size = 61020, upload-time = "2026-05-08T20:59:22.112Z" }, - { url = "https://files.pythonhosted.org/packages/26/0b/843726fbb0a29a8c5684fdb25971823638399f31e52e9d1f06a02dc9aa6b/propcache-0.5.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4621064bbf28fa77ff64dd5d94367c04684c67d3a5bf1dff25f0cd0d98a38f3b", size = 62732, upload-time = "2026-05-08T20:59:23.805Z" }, - { url = "https://files.pythonhosted.org/packages/39/6e/899fed76dc1942b8a64193a4f059d7f1a2c7ef65085e8a9366ed8ec0d199/propcache-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b96db7141a592cbc968daf1feea83a118e6ab378af4abbc72b248c895414c22d", size = 60140, upload-time = "2026-05-08T20:59:25.389Z" }, - { url = "https://files.pythonhosted.org/packages/ab/09/3da4be9b5b879219ad234aa535b3dd4a080ed1ad48d3a73ca07a9e798f22/propcache-0.5.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ca071adabaab6e9219924bbe00af821f1ee7de113a9eca1cdc292de3d120f4d", size = 60400, upload-time = "2026-05-08T20:59:27.238Z" }, - { url = "https://files.pythonhosted.org/packages/60/2f/09b72b874a9aa0044faf52a69807a6ed618e267ceaa9ec4a63195fa5b504/propcache-0.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e4294d04a94dcab1b3bccd8b66d962dcad411a1d19414b2a41d1445f1de32ad0", size = 58155, upload-time = "2026-05-08T20:59:28.48Z" }, - { url = "https://files.pythonhosted.org/packages/8a/37/97489848c54c95578045473954f10956d619ce6a09e7ac137b71cdcb698b/propcache-0.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a0e399a2eccb91ed18721f86aa85757727400b6865c89e88934781deb9c8498b", size = 57037, upload-time = "2026-05-08T20:59:30.146Z" }, - { url = "https://files.pythonhosted.org/packages/22/db/6c695285ccfc49012743ee9c98212b8c5dd0aed7b63cfd816d4a0f7a1601/propcache-0.5.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:823581fd5cb08b12a48bfa11fe962a7916766b6170c17b028fbdf762b85eb9bf", size = 61103, upload-time = "2026-05-08T20:59:31.626Z" }, - { url = "https://files.pythonhosted.org/packages/98/a9/1e500401ca593b0bdb6bf75a70bc2d723835fd53360edff6af70692c7546/propcache-0.5.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:949c91d1a990cf3b2e8188dfcfb25005e0b834a06c63fa4ef9f360878ce21ecf", size = 60394, upload-time = "2026-05-08T20:59:32.829Z" }, - { url = "https://files.pythonhosted.org/packages/1f/87/f638b6e375eae0f30a1a2325d8b34fd85fdc785bb9960cf805f3bf1ec69a/propcache-0.5.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc1177027eda740fdb152706bd215a3f124e3eea15afc39f2cb9fe351b50619e", size = 63084, upload-time = "2026-05-08T20:59:35.964Z" }, - { url = "https://files.pythonhosted.org/packages/f6/18/884573f5d97b6d9eba68de759a82c901b7e39d7904d30f7b8d58d42d2a12/propcache-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b05d643f944a8c3c4bd86d65ffd87bf3264b617f87791940302bc474d2ff5274", size = 60999, upload-time = "2026-05-08T20:59:38.481Z" }, - { url = "https://files.pythonhosted.org/packages/8f/1a/c3915eb059ceec9e758a56e4cfd955292bc0f201be2176a46b76d94b303a/propcache-0.5.2-cp310-cp310-win32.whl", hash = "sha256:8114f28879e0904748e831c3a7774261bd9e75f49be089f389a76f959dcd13fe", size = 39036, upload-time = "2026-05-08T20:59:40.323Z" }, - { url = "https://files.pythonhosted.org/packages/5b/02/1dfd5607501a602d19c1c449d2d193b7d1c611f9246b4059026a1189a80e/propcache-0.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:5fcb98e7598b1ee0addab320d90f65b530297a867dbfe9de52ea838077e16e3d", size = 42190, upload-time = "2026-05-08T20:59:42.232Z" }, - { url = "https://files.pythonhosted.org/packages/57/93/f71588ad08b3e6f4b555b5ef215808a3c02b042d0151ad82fa6f15be677a/propcache-0.5.2-cp310-cp310-win_arm64.whl", hash = "sha256:04dc2390d9edbbaef7461f33322555976ffddf0b650a038649d026358714e6c5", size = 38545, upload-time = "2026-05-08T20:59:44.087Z" }, - { url = "https://files.pythonhosted.org/packages/e7/f1/8a8cc1c2c7e7934ab77e0163414f736fadbc0f5e8dd9673b952355ac175b/propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78", size = 90744, upload-time = "2026-05-08T20:59:45.799Z" }, - { url = "https://files.pythonhosted.org/packages/c2/f4/651b1225e976bd1a2ba5cfba0c29d096581c2636b437e3a9a7ab6276270a/propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959", size = 52033, upload-time = "2026-05-08T20:59:47.408Z" }, - { url = "https://files.pythonhosted.org/packages/15/a8/8ede85d6aa1f79fc7dc2f8fd2c8d65920b8272c3892903c8a1affde48cfb/propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7", size = 52754, upload-time = "2026-05-08T20:59:49.202Z" }, - { url = "https://files.pythonhosted.org/packages/7d/fe/b3551b41bbc2f5b5bb088fc6920567cd43101253e68fbaa261339eb96fe1/propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511", size = 57573, upload-time = "2026-05-08T20:59:50.778Z" }, - { url = "https://files.pythonhosted.org/packages/83/27/ab851ebd1b7172e3e161f5f8d39e315d54a91bea246f01f4d872d3376aef/propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660", size = 60645, upload-time = "2026-05-08T20:59:52.227Z" }, - { url = "https://files.pythonhosted.org/packages/95/7d/466b3d18022e9897cbda9c735c493c5bd747d7a4c6f5ea1480b4cec434b6/propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66", size = 61563, upload-time = "2026-05-08T20:59:53.866Z" }, - { url = "https://files.pythonhosted.org/packages/27/1b/16ab7f2cf2041da2f60d156ba64c2484eadf9168075b4ff43c3ef60045af/propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b", size = 58888, upload-time = "2026-05-08T20:59:55.457Z" }, - { url = "https://files.pythonhosted.org/packages/0a/67/bb777ffd907633563bf35fd859c4ce97b0512c32f4633cf5d1eb7c33512b/propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67", size = 59253, upload-time = "2026-05-08T20:59:57.075Z" }, - { url = "https://files.pythonhosted.org/packages/b9/42/64f8d90b73fd9cdc1499b48057ff6d9cd2a98a25734c9bb62ecf07e87061/propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f", size = 57558, upload-time = "2026-05-08T20:59:58.602Z" }, - { url = "https://files.pythonhosted.org/packages/eb/02/dba5bc03c9041f2092ea55a449caf5dfe68352c6654511b29ba0654ddb69/propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c", size = 55007, upload-time = "2026-05-08T20:59:59.837Z" }, - { url = "https://files.pythonhosted.org/packages/14/c0/43f649c7aa2a77a3b100d84e9dea3a483120ecb608bfe36ce49eaff517fe/propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0", size = 60355, upload-time = "2026-05-08T21:00:01.144Z" }, - { url = "https://files.pythonhosted.org/packages/83/c0/435dafd27f1cb4a495381dae60e25883ccfe4020bb72818e8184c1678092/propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6", size = 59057, upload-time = "2026-05-08T21:00:02.401Z" }, - { url = "https://files.pythonhosted.org/packages/53/ae/6e292df9135d659944e96cb3389258e4a663e5b2b5f6c217ef0ddc8d2f73/propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27", size = 61938, upload-time = "2026-05-08T21:00:03.638Z" }, - { url = "https://files.pythonhosted.org/packages/0b/42/314ebc50d8159055411fd6b0bda322ff510e4b1f7d2e4927940ad0f6af20/propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f", size = 59731, upload-time = "2026-05-08T21:00:04.881Z" }, - { url = "https://files.pythonhosted.org/packages/b8/9b/2da6dee38871c3c8772fabc2758325a5c9077d6d18c597737dc04dd884cd/propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0", size = 38966, upload-time = "2026-05-08T21:00:06.511Z" }, - { url = "https://files.pythonhosted.org/packages/42/4e/f17363fb58c0afe05b067361cb6d86ed2d29de6506779a27547c4d183075/propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82", size = 42135, upload-time = "2026-05-08T21:00:08.088Z" }, - { url = "https://files.pythonhosted.org/packages/c6/eb/6af6685077d22e8b33358d3c548e3282706a0b3cd85044ffba4e5dd08e3b/propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab", size = 38381, upload-time = "2026-05-08T21:00:09.692Z" }, - { url = "https://files.pythonhosted.org/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba", size = 95887, upload-time = "2026-05-08T21:00:11.277Z" }, - { url = "https://files.pythonhosted.org/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a", size = 54654, upload-time = "2026-05-08T21:00:12.604Z" }, - { url = "https://files.pythonhosted.org/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf", size = 55190, upload-time = "2026-05-08T21:00:13.935Z" }, - { url = "https://files.pythonhosted.org/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144", size = 59995, upload-time = "2026-05-08T21:00:15.526Z" }, - { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, - { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, - { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, - { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, - { url = "https://files.pythonhosted.org/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a", size = 60029, upload-time = "2026-05-08T21:00:22.713Z" }, - { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, - { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, - { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, - { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, - { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, - { url = "https://files.pythonhosted.org/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031", size = 39018, upload-time = "2026-05-08T21:00:31.622Z" }, - { url = "https://files.pythonhosted.org/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42", size = 42322, upload-time = "2026-05-08T21:00:32.918Z" }, - { url = "https://files.pythonhosted.org/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84", size = 38172, upload-time = "2026-05-08T21:00:35.124Z" }, - { url = "https://files.pythonhosted.org/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a", size = 94457, upload-time = "2026-05-08T21:00:36.355Z" }, - { url = "https://files.pythonhosted.org/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117", size = 53835, upload-time = "2026-05-08T21:00:38.072Z" }, - { url = "https://files.pythonhosted.org/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098", size = 54545, upload-time = "2026-05-08T21:00:39.319Z" }, - { url = "https://files.pythonhosted.org/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4", size = 59886, upload-time = "2026-05-08T21:00:40.621Z" }, - { url = "https://files.pythonhosted.org/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e", size = 63261, upload-time = "2026-05-08T21:00:41.775Z" }, - { url = "https://files.pythonhosted.org/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7", size = 64184, upload-time = "2026-05-08T21:00:43.018Z" }, - { url = "https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d", size = 61534, upload-time = "2026-05-08T21:00:44.507Z" }, - { url = "https://files.pythonhosted.org/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a", size = 61500, upload-time = "2026-05-08T21:00:45.796Z" }, - { url = "https://files.pythonhosted.org/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2", size = 59994, upload-time = "2026-05-08T21:00:47.093Z" }, - { url = "https://files.pythonhosted.org/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa", size = 56884, upload-time = "2026-05-08T21:00:48.376Z" }, - { url = "https://files.pythonhosted.org/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853", size = 63464, upload-time = "2026-05-08T21:00:49.954Z" }, - { url = "https://files.pythonhosted.org/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a", size = 61588, upload-time = "2026-05-08T21:00:51.281Z" }, - { url = "https://files.pythonhosted.org/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704", size = 64667, upload-time = "2026-05-08T21:00:52.602Z" }, - { url = "https://files.pythonhosted.org/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4", size = 62463, upload-time = "2026-05-08T21:00:54.303Z" }, - { url = "https://files.pythonhosted.org/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d", size = 38621, upload-time = "2026-05-08T21:00:55.808Z" }, - { url = "https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757", size = 41649, upload-time = "2026-05-08T21:00:57.061Z" }, - { url = "https://files.pythonhosted.org/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f", size = 37636, upload-time = "2026-05-08T21:00:58.646Z" }, - { url = "https://files.pythonhosted.org/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d", size = 98872, upload-time = "2026-05-08T21:00:59.889Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa", size = 56257, upload-time = "2026-05-08T21:01:01.195Z" }, - { url = "https://files.pythonhosted.org/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94", size = 56696, upload-time = "2026-05-08T21:01:02.941Z" }, - { url = "https://files.pythonhosted.org/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164", size = 62378, upload-time = "2026-05-08T21:01:04.475Z" }, - { url = "https://files.pythonhosted.org/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f", size = 65283, upload-time = "2026-05-08T21:01:05.959Z" }, - { url = "https://files.pythonhosted.org/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c", size = 66616, upload-time = "2026-05-08T21:01:07.228Z" }, - { url = "https://files.pythonhosted.org/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc", size = 63773, upload-time = "2026-05-08T21:01:08.514Z" }, - { url = "https://files.pythonhosted.org/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f", size = 63664, upload-time = "2026-05-08T21:01:09.874Z" }, - { url = "https://files.pythonhosted.org/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb", size = 62643, upload-time = "2026-05-08T21:01:11.132Z" }, - { url = "https://files.pythonhosted.org/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751", size = 59595, upload-time = "2026-05-08T21:01:12.387Z" }, - { url = "https://files.pythonhosted.org/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836", size = 65711, upload-time = "2026-05-08T21:01:13.676Z" }, - { url = "https://files.pythonhosted.org/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f", size = 64247, upload-time = "2026-05-08T21:01:14.936Z" }, - { url = "https://files.pythonhosted.org/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55", size = 67102, upload-time = "2026-05-08T21:01:16.281Z" }, - { url = "https://files.pythonhosted.org/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568", size = 64964, upload-time = "2026-05-08T21:01:17.57Z" }, - { url = "https://files.pythonhosted.org/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191", size = 42546, upload-time = "2026-05-08T21:01:18.946Z" }, - { url = "https://files.pythonhosted.org/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7", size = 46330, upload-time = "2026-05-08T21:01:20.162Z" }, - { url = "https://files.pythonhosted.org/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96", size = 40521, upload-time = "2026-05-08T21:01:21.399Z" }, - { url = "https://files.pythonhosted.org/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999", size = 94662, upload-time = "2026-05-08T21:01:22.683Z" }, - { url = "https://files.pythonhosted.org/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e", size = 53928, upload-time = "2026-05-08T21:01:23.986Z" }, - { url = "https://files.pythonhosted.org/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539", size = 54650, upload-time = "2026-05-08T21:01:25.305Z" }, - { url = "https://files.pythonhosted.org/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e", size = 59912, upload-time = "2026-05-08T21:01:26.545Z" }, - { url = "https://files.pythonhosted.org/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979", size = 63300, upload-time = "2026-05-08T21:01:27.937Z" }, - { url = "https://files.pythonhosted.org/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80", size = 64208, upload-time = "2026-05-08T21:01:29.484Z" }, - { url = "https://files.pythonhosted.org/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825", size = 61633, upload-time = "2026-05-08T21:01:31.068Z" }, - { url = "https://files.pythonhosted.org/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39", size = 61724, upload-time = "2026-05-08T21:01:32.374Z" }, - { url = "https://files.pythonhosted.org/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4", size = 60069, upload-time = "2026-05-08T21:01:33.67Z" }, - { url = "https://files.pythonhosted.org/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5", size = 57099, upload-time = "2026-05-08T21:01:34.915Z" }, - { url = "https://files.pythonhosted.org/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702", size = 63391, upload-time = "2026-05-08T21:01:36.231Z" }, - { url = "https://files.pythonhosted.org/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3", size = 61626, upload-time = "2026-05-08T21:01:37.545Z" }, - { url = "https://files.pythonhosted.org/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5", size = 64781, upload-time = "2026-05-08T21:01:38.83Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4", size = 62570, upload-time = "2026-05-08T21:01:40.415Z" }, - { url = "https://files.pythonhosted.org/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0", size = 39436, upload-time = "2026-05-08T21:01:41.654Z" }, - { url = "https://files.pythonhosted.org/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c", size = 42373, upload-time = "2026-05-08T21:01:43.041Z" }, - { url = "https://files.pythonhosted.org/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0", size = 38554, upload-time = "2026-05-08T21:01:44.336Z" }, - { url = "https://files.pythonhosted.org/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb", size = 99395, upload-time = "2026-05-08T21:01:45.883Z" }, - { url = "https://files.pythonhosted.org/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078", size = 56653, upload-time = "2026-05-08T21:01:47.307Z" }, - { url = "https://files.pythonhosted.org/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa", size = 56914, upload-time = "2026-05-08T21:01:48.573Z" }, - { url = "https://files.pythonhosted.org/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917", size = 62567, upload-time = "2026-05-08T21:01:49.903Z" }, - { url = "https://files.pythonhosted.org/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe", size = 65542, upload-time = "2026-05-08T21:01:51.204Z" }, - { url = "https://files.pythonhosted.org/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03", size = 66845, upload-time = "2026-05-08T21:01:52.539Z" }, - { url = "https://files.pythonhosted.org/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335", size = 63985, upload-time = "2026-05-08T21:01:53.847Z" }, - { url = "https://files.pythonhosted.org/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285", size = 63999, upload-time = "2026-05-08T21:01:55.179Z" }, - { url = "https://files.pythonhosted.org/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837", size = 62779, upload-time = "2026-05-08T21:01:57.489Z" }, - { url = "https://files.pythonhosted.org/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8", size = 59796, upload-time = "2026-05-08T21:01:58.736Z" }, - { url = "https://files.pythonhosted.org/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366", size = 66023, upload-time = "2026-05-08T21:02:00.228Z" }, - { url = "https://files.pythonhosted.org/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56", size = 64448, upload-time = "2026-05-08T21:02:01.888Z" }, - { url = "https://files.pythonhosted.org/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d", size = 67329, upload-time = "2026-05-08T21:02:03.484Z" }, - { url = "https://files.pythonhosted.org/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2", size = 65172, upload-time = "2026-05-08T21:02:04.745Z" }, - { url = "https://files.pythonhosted.org/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821", size = 43813, upload-time = "2026-05-08T21:02:06.025Z" }, - { url = "https://files.pythonhosted.org/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370", size = 47764, upload-time = "2026-05-08T21:02:07.353Z" }, - { url = "https://files.pythonhosted.org/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6", size = 41140, upload-time = "2026-05-08T21:02:09.065Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/56/030b7b4719d53085722893e0009dffb9236aa10bca1b12121bdc5626ef16/propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/55/1140a8e067b8ec093a18a4ae7bb0045d9db65da38a08618ddc5e2f1994aa/propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/42/0e7443c90310498561addf346e7d57fe3c6ba1914e1ba938b5464c7bbfd2/propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bf3be92233808fcd338eba0fb4d0b59ec5772af4f4ecfcec450d1bfc0f8b5eb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/db/cf51a71bab2009517d1a7f0ee07657e3bd446c4d69f67e6966cf17bcf956/propcache-0.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f8ea531c794b9d6274acd4e8d2c2ebcac590a4361d27482edd3010b79f1325e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/43/39b6bdee9699fa1e1641c519feeb64a67e2a9f93bb465c70776b37a7333f/propcache-0.5.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:decfca4c79dd53ebab484b00cc4b6717d8c369f86e74aa4ca395a64ac651495e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/26/0b/843726fbb0a29a8c5684fdb25971823638399f31e52e9d1f06a02dc9aa6b/propcache-0.5.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4621064bbf28fa77ff64dd5d94367c04684c67d3a5bf1dff25f0cd0d98a38f3b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/6e/899fed76dc1942b8a64193a4f059d7f1a2c7ef65085e8a9366ed8ec0d199/propcache-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b96db7141a592cbc968daf1feea83a118e6ab378af4abbc72b248c895414c22d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/09/3da4be9b5b879219ad234aa535b3dd4a080ed1ad48d3a73ca07a9e798f22/propcache-0.5.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ca071adabaab6e9219924bbe00af821f1ee7de113a9eca1cdc292de3d120f4d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/2f/09b72b874a9aa0044faf52a69807a6ed618e267ceaa9ec4a63195fa5b504/propcache-0.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e4294d04a94dcab1b3bccd8b66d962dcad411a1d19414b2a41d1445f1de32ad0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/37/97489848c54c95578045473954f10956d619ce6a09e7ac137b71cdcb698b/propcache-0.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a0e399a2eccb91ed18721f86aa85757727400b6865c89e88934781deb9c8498b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/db/6c695285ccfc49012743ee9c98212b8c5dd0aed7b63cfd816d4a0f7a1601/propcache-0.5.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:823581fd5cb08b12a48bfa11fe962a7916766b6170c17b028fbdf762b85eb9bf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/a9/1e500401ca593b0bdb6bf75a70bc2d723835fd53360edff6af70692c7546/propcache-0.5.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:949c91d1a990cf3b2e8188dfcfb25005e0b834a06c63fa4ef9f360878ce21ecf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/87/f638b6e375eae0f30a1a2325d8b34fd85fdc785bb9960cf805f3bf1ec69a/propcache-0.5.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc1177027eda740fdb152706bd215a3f124e3eea15afc39f2cb9fe351b50619e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/18/884573f5d97b6d9eba68de759a82c901b7e39d7904d30f7b8d58d42d2a12/propcache-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b05d643f944a8c3c4bd86d65ffd87bf3264b617f87791940302bc474d2ff5274" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/1a/c3915eb059ceec9e758a56e4cfd955292bc0f201be2176a46b76d94b303a/propcache-0.5.2-cp310-cp310-win32.whl", hash = "sha256:8114f28879e0904748e831c3a7774261bd9e75f49be089f389a76f959dcd13fe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/02/1dfd5607501a602d19c1c449d2d193b7d1c611f9246b4059026a1189a80e/propcache-0.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:5fcb98e7598b1ee0addab320d90f65b530297a867dbfe9de52ea838077e16e3d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/93/f71588ad08b3e6f4b555b5ef215808a3c02b042d0151ad82fa6f15be677a/propcache-0.5.2-cp310-cp310-win_arm64.whl", hash = "sha256:04dc2390d9edbbaef7461f33322555976ffddf0b650a038649d026358714e6c5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/f1/8a8cc1c2c7e7934ab77e0163414f736fadbc0f5e8dd9673b952355ac175b/propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/f4/651b1225e976bd1a2ba5cfba0c29d096581c2636b437e3a9a7ab6276270a/propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/15/a8/8ede85d6aa1f79fc7dc2f8fd2c8d65920b8272c3892903c8a1affde48cfb/propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/fe/b3551b41bbc2f5b5bb088fc6920567cd43101253e68fbaa261339eb96fe1/propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/27/ab851ebd1b7172e3e161f5f8d39e315d54a91bea246f01f4d872d3376aef/propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/7d/466b3d18022e9897cbda9c735c493c5bd747d7a4c6f5ea1480b4cec434b6/propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/27/1b/16ab7f2cf2041da2f60d156ba64c2484eadf9168075b4ff43c3ef60045af/propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/67/bb777ffd907633563bf35fd859c4ce97b0512c32f4633cf5d1eb7c33512b/propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/42/64f8d90b73fd9cdc1499b48057ff6d9cd2a98a25734c9bb62ecf07e87061/propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/02/dba5bc03c9041f2092ea55a449caf5dfe68352c6654511b29ba0654ddb69/propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/c0/43f649c7aa2a77a3b100d84e9dea3a483120ecb608bfe36ce49eaff517fe/propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/c0/435dafd27f1cb4a495381dae60e25883ccfe4020bb72818e8184c1678092/propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/ae/6e292df9135d659944e96cb3389258e4a663e5b2b5f6c217ef0ddc8d2f73/propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/42/314ebc50d8159055411fd6b0bda322ff510e4b1f7d2e4927940ad0f6af20/propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/9b/2da6dee38871c3c8772fabc2758325a5c9077d6d18c597737dc04dd884cd/propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/4e/f17363fb58c0afe05b067361cb6d86ed2d29de6506779a27547c4d183075/propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/eb/6af6685077d22e8b33358d3c548e3282706a0b3cd85044ffba4e5dd08e3b/propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe" }, ] [[package]] name = "properdocs" version = "1.6.7" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "click" }, { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -3258,401 +3263,401 @@ dependencies = [ { name = "pyyaml-env-tag" }, { name = "watchdog" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/29/f27a4e1eddf72ed3db6e47818fbafe6debbf09fd7051f9c1a007239b46ef/properdocs-1.6.7.tar.gz", hash = "sha256:adc7b16e562890af0e098a7e5b02e3a81c20894a87d6a28d345c9300de73c26e", size = 276141, upload-time = "2026-03-20T20:07:48.167Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/29/f27a4e1eddf72ed3db6e47818fbafe6debbf09fd7051f9c1a007239b46ef/properdocs-1.6.7.tar.gz", hash = "sha256:adc7b16e562890af0e098a7e5b02e3a81c20894a87d6a28d345c9300de73c26e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/4d/fc923f5c85318ee8cc903566dc4e0ebe41b2dfc1d2ecf5546db232397ed6/properdocs-1.6.7-py3-none-any.whl", hash = "sha256:6fa0cfa2e01bf338f684892c8a506cf70ea88ae7f3479c933b6fa20168101cbd", size = 225406, upload-time = "2026-03-20T20:07:46.875Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/4d/fc923f5c85318ee8cc903566dc4e0ebe41b2dfc1d2ecf5546db232397ed6/properdocs-1.6.7-py3-none-any.whl", hash = "sha256:6fa0cfa2e01bf338f684892c8a506cf70ea88ae7f3479c933b6fa20168101cbd" }, ] [[package]] name = "proto-plus" version = "1.28.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c9/56/e647b0c675392d2da368da7b6f158f7368b18542fd6f7d7400a2f39de000/proto_plus-1.28.0.tar.gz", hash = "sha256:38e5696342835b08fc116f30a25665b29531cda9d5d5643e9b81fc312385abd9", size = 57221, upload-time = "2026-05-07T08:04:50.811Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/56/e647b0c675392d2da368da7b6f158f7368b18542fd6f7d7400a2f39de000/proto_plus-1.28.0.tar.gz", hash = "sha256:38e5696342835b08fc116f30a25665b29531cda9d5d5643e9b81fc312385abd9" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/20/b122d4626976acb81132036d2ad1bb35a1a8775fceb837ec30964622516a/proto_plus-1.28.0-py3-none-any.whl", hash = "sha256:a630604310899e73c59ec302e5765c058d412b2f090b9c79c8822589f14955b8", size = 50410, upload-time = "2026-05-07T08:03:31.962Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/20/b122d4626976acb81132036d2ad1bb35a1a8775fceb837ec30964622516a/proto_plus-1.28.0-py3-none-any.whl", hash = "sha256:a630604310899e73c59ec302e5765c058d412b2f090b9c79c8822589f14955b8" }, ] [[package]] name = "protobuf" version = "6.33.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", size = 444531, upload-time = "2026-03-18T19:05:00.988Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/9f/2f509339e89cfa6f6a4c4ff50438db9ca488dec341f7e454adad60150b00/protobuf-6.33.6-cp310-abi3-win32.whl", hash = "sha256:7d29d9b65f8afef196f8334e80d6bc1d5d4adedb449971fefd3723824e6e77d3", size = 425739, upload-time = "2026-03-18T19:04:48.373Z" }, - { url = "https://files.pythonhosted.org/packages/76/5d/683efcd4798e0030c1bab27374fd13a89f7c2515fb1f3123efdfaa5eab57/protobuf-6.33.6-cp310-abi3-win_amd64.whl", hash = "sha256:0cd27b587afca21b7cfa59a74dcbd48a50f0a6400cfb59391340ad729d91d326", size = 437089, upload-time = "2026-03-18T19:04:50.381Z" }, - { url = "https://files.pythonhosted.org/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a", size = 427737, upload-time = "2026-03-18T19:04:51.866Z" }, - { url = "https://files.pythonhosted.org/packages/ee/90/b3c01fdec7d2f627b3a6884243ba328c1217ed2d978def5c12dc50d328a3/protobuf-6.33.6-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2", size = 324610, upload-time = "2026-03-18T19:04:53.096Z" }, - { url = "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", size = 339381, upload-time = "2026-03-18T19:04:54.616Z" }, - { url = "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", size = 323436, upload-time = "2026-03-18T19:04:55.768Z" }, - { url = "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", size = 170656, upload-time = "2026-03-18T19:04:59.826Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/9f/2f509339e89cfa6f6a4c4ff50438db9ca488dec341f7e454adad60150b00/protobuf-6.33.6-cp310-abi3-win32.whl", hash = "sha256:7d29d9b65f8afef196f8334e80d6bc1d5d4adedb449971fefd3723824e6e77d3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/5d/683efcd4798e0030c1bab27374fd13a89f7c2515fb1f3123efdfaa5eab57/protobuf-6.33.6-cp310-abi3-win_amd64.whl", hash = "sha256:0cd27b587afca21b7cfa59a74dcbd48a50f0a6400cfb59391340ad729d91d326" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ee/90/b3c01fdec7d2f627b3a6884243ba328c1217ed2d978def5c12dc50d328a3/protobuf-6.33.6-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901" }, ] [[package]] name = "psutil" version = "7.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595, upload-time = "2026-01-28T18:14:57.293Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082, upload-time = "2026-01-28T18:14:59.732Z" }, - { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476, upload-time = "2026-01-28T18:15:01.884Z" }, - { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062, upload-time = "2026-01-28T18:15:04.436Z" }, - { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893, upload-time = "2026-01-28T18:15:06.378Z" }, - { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589, upload-time = "2026-01-28T18:15:08.03Z" }, - { url = "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", size = 130664, upload-time = "2026-01-28T18:15:09.469Z" }, - { url = "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", size = 131087, upload-time = "2026-01-28T18:15:11.724Z" }, - { url = "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", size = 182383, upload-time = "2026-01-28T18:15:13.445Z" }, - { url = "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", size = 185210, upload-time = "2026-01-28T18:15:16.002Z" }, - { url = "https://files.pythonhosted.org/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1", size = 141228, upload-time = "2026-01-28T18:15:18.385Z" }, - { url = "https://files.pythonhosted.org/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841", size = 136284, upload-time = "2026-01-28T18:15:19.912Z" }, - { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" }, - { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" }, - { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" }, - { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" }, - { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" }, - { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" }, - { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" }, - { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee" }, ] [[package]] name = "psygnal" version = "0.15.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4e/79/20c3e23e75272e9ddf018097cf872ab088bccba978888472656629efa4a3/psygnal-0.15.1.tar.gz", hash = "sha256:f64f62dee2306fc1c22050a59b6c6cdad126e04b0cf50e393ff858a1da719096", size = 123147, upload-time = "2026-01-04T16:38:41.959Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/44/ab13cb6147d010258826a43e574ad94599af0de29df13795fff9efee656c/psygnal-0.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ee55e3997f796fd84d4fdbd829bb1b19d323e087c43d072744604a3016c8851", size = 587322, upload-time = "2026-01-04T16:38:04.827Z" }, - { url = "https://files.pythonhosted.org/packages/f2/a2/68c042a607ca613e9450dfee99cc5c2a4d10d95392fb1de2ba932dd0a605/psygnal-0.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:912bcf110bfe7b4aa121d24987b6a58afb967ff090a049dad136eaf3cbcc7bea", size = 576207, upload-time = "2026-01-04T16:38:06.183Z" }, - { url = "https://files.pythonhosted.org/packages/4b/86/123c7b169ad32994a0cd801cd1f11c1a2be84555807e9c8a8a4682c67a9f/psygnal-0.15.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2e860c11fe075fd80c93a24081c577ef7ec5c9da41f0e75990aa4cccf3f79cf", size = 864261, upload-time = "2026-01-04T16:38:07.895Z" }, - { url = "https://files.pythonhosted.org/packages/20/f1/886cec7bec2f27fe453cfa32bfcaac08a83aab2a04895af68f93e1c493b8/psygnal-0.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d5b8bebcf99699ef50b6ef572868a490f6d191dc4466e5bd9818ca27e17cd581", size = 872582, upload-time = "2026-01-04T16:38:09.745Z" }, - { url = "https://files.pythonhosted.org/packages/21/a3/da972a05568ee8a9dc6c6567bee2c0cc5af8c681baebcb9fdbbf3cceb4f7/psygnal-0.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:06e0a90490e1205620d97ac52fbbe3282a22b126a26d02b3e1196bb46de16c7a", size = 411043, upload-time = "2026-01-04T16:38:11.588Z" }, - { url = "https://files.pythonhosted.org/packages/bb/a7/69495410025cc4298765545ce3b8c635cd4c8d3a362b7fbbc15b80e9fc8f/psygnal-0.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1adc41515f648696990964433f1e25d8dfd306813a3645366c85e01986ba57a0", size = 581002, upload-time = "2026-01-04T16:38:12.753Z" }, - { url = "https://files.pythonhosted.org/packages/75/1f/19a8126ccf3cd3974ba5d08a435a049b666961d90f5848ba83599d7a29de/psygnal-0.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:38ff18455b2ac73d4e8eea82ef298ce904b52e4dfdc603a24380c9c440e37519", size = 567775, upload-time = "2026-01-04T16:38:14.04Z" }, - { url = "https://files.pythonhosted.org/packages/54/c5/b1348880d603edb82128a721397a1ddcf3dfcf5384fe5689db6e471118ae/psygnal-0.15.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c923c322eeefb1140886927cfe7bda7c32341087e290e812b9c69a624ab72d54", size = 855961, upload-time = "2026-01-04T16:38:15.612Z" }, - { url = "https://files.pythonhosted.org/packages/e6/42/3da2d6f3583bd1a849f7faa2fd3492b14bfda05012519ceaea5992658af0/psygnal-0.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2714ddaa41ea3134c0ee91cebd5fb11a88f254ea1d5948806ab0ad5f8be603d5", size = 862721, upload-time = "2026-01-04T16:38:17.059Z" }, - { url = "https://files.pythonhosted.org/packages/4d/14/6fc7e97fdecf7e8c5c105684bab784920312a3259800d8b53e3cf8783f42/psygnal-0.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:877516056a5a383427a647fff2fad5179eaa3e12de2c083c273e748435414aef", size = 415696, upload-time = "2026-01-04T16:38:18.355Z" }, - { url = "https://files.pythonhosted.org/packages/76/65/b7bbca96bc477aa9ac2264e5907b2f4ccfcd1319f776dd1f35eec06cc2f4/psygnal-0.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d56f0f35eaf4a21f660de76885222faf9e8c7112454528d3394d464f3d4d1a3", size = 598340, upload-time = "2026-01-04T16:38:19.752Z" }, - { url = "https://files.pythonhosted.org/packages/40/f2/56577465a1b42a5e6780bb5fab53fb68f8bfd72f0131ed397576529af724/psygnal-0.15.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0febcf757a1323d9b8bd75735ee3569213d8110012a7bf0f478e85c5ab459fc6", size = 575311, upload-time = "2026-01-04T16:38:21.137Z" }, - { url = "https://files.pythonhosted.org/packages/79/81/f642ac08104049383076f83480ed412c9626e068769a1c34873c595bec0e/psygnal-0.15.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b5e4837dfbfa4974dabe0795e32be9aadcd87603adf734738ce1114f72238a05", size = 889770, upload-time = "2026-01-04T16:38:22.629Z" }, - { url = "https://files.pythonhosted.org/packages/de/43/e571fa40b72780abed080ef829e5ad98017b6fe48d28c15a2404e006b676/psygnal-0.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:07b4c4e03bbf4e8cad7e25f4fbc1ba9575fb9c3d14991bc7edfeb8b09c8d6d54", size = 881105, upload-time = "2026-01-04T16:38:23.896Z" }, - { url = "https://files.pythonhosted.org/packages/e3/26/ef3ab825eb08eaecbbceeeb56383694fe64ce399dbfd1d0767bb85688785/psygnal-0.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:4f0ce91b9c18e92281bf2c3fc4bb4e808d90f0b023d0a37b302d354188520338", size = 418969, upload-time = "2026-01-04T16:38:25.731Z" }, - { url = "https://files.pythonhosted.org/packages/46/21/5a142165d27063abf5921807d3c3d973f5d44ab414a13b210839a43ead4d/psygnal-0.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2087aadc9404f007f79c2899e329932869e362c50de58b90631c5f49b4768cc5", size = 596768, upload-time = "2026-01-04T16:38:27.053Z" }, - { url = "https://files.pythonhosted.org/packages/e1/25/c1712931d61c118691e73daf29ef708c679ea9ba187c797dd5deee360411/psygnal-0.15.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f3bf68ca42569dfdce20c6cf915d34b78b9e3ddddacb9f78728224fda6946b4", size = 574808, upload-time = "2026-01-04T16:38:28.779Z" }, - { url = "https://files.pythonhosted.org/packages/2d/4f/3593e5adb88a188c798604aed95fbc1479f30230e7f51e8f2c770e6a3832/psygnal-0.15.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e9fca977f5335deea39aed22e31d9795983e4f243e59a7d3c4105793adb7693d", size = 885616, upload-time = "2026-01-04T16:38:30.081Z" }, - { url = "https://files.pythonhosted.org/packages/58/4c/14779ed4c3a1d71fa1a9a87ecfb184ad3335dd64681067f77c1c47b14ae9/psygnal-0.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0c85b7d05b92ccbec47c75ab8a5545eda462e81a492c82424aba5ab81a3ad89d", size = 876516, upload-time = "2026-01-04T16:38:31.422Z" }, - { url = "https://files.pythonhosted.org/packages/3e/bc/4f771e3cdcde4db4023dbf36d6f0aab44e02b9de719353c22954b655e2ff/psygnal-0.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:ac0e693b29e0a429e97315a52313321855bef6140e9975b7ae78b4d93c8fbb42", size = 419172, upload-time = "2026-01-04T16:38:32.82Z" }, - { url = "https://files.pythonhosted.org/packages/f4/2e/975bd61727578d88df62797f78390965ca7905780cf01eb59cb095a13638/psygnal-0.15.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:803fc33c4280c822c6f4b22e6c3ea7c4483e190f3cc69e69350098b3799476f3", size = 595706, upload-time = "2026-01-04T16:38:34.139Z" }, - { url = "https://files.pythonhosted.org/packages/b8/55/e487f1d91497eb75e86c3fdfef69a21b1cab24d023383dd7648b08797d6a/psygnal-0.15.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4f53b4b83355b0a785b745987fd04e59bbf169a9028ed81a68ca7e05fb76d458", size = 575133, upload-time = "2026-01-04T16:38:35.448Z" }, - { url = "https://files.pythonhosted.org/packages/bf/2f/f286355accd0e68d3eef52e63c8b9ab6ba33ec3107177719a036b3319657/psygnal-0.15.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bcbca12190f5aa65c1f8fb04a81fa6f4463c5f5dde25cd74c3a56ceff6f37b02", size = 889565, upload-time = "2026-01-04T16:38:37.003Z" }, - { url = "https://files.pythonhosted.org/packages/fc/dc/40c6026c88d7f9220ecc913afe0501045a512c9b82f9b7e036bb089dc287/psygnal-0.15.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1ac399566852fe4354ce26a1acbe12319232e8c2b615fe5ad1e114c547095cf6", size = 880863, upload-time = "2026-01-04T16:38:38.381Z" }, - { url = "https://files.pythonhosted.org/packages/b7/85/b4f45ec3057c473b5622fc002b3a636a698c34d3a0917a064ff5247f1984/psygnal-0.15.1-cp314-cp314-win_amd64.whl", hash = "sha256:d3a03055f331ce91d44581c71edb79938ccc133a94af2ce7ad3a18fa57ac7be5", size = 423654, upload-time = "2026-01-04T16:38:39.7Z" }, - { url = "https://files.pythonhosted.org/packages/46/49/7742544684bee728ec123515d2694cee859aa2a705951a461230b00f18cc/psygnal-0.15.1-py3-none-any.whl", hash = "sha256:4221140e633e45b076953c64bcb9b41a744833527f9a037c1ca98bc270798cbf", size = 90638, upload-time = "2026-01-04T16:38:40.841Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/79/20c3e23e75272e9ddf018097cf872ab088bccba978888472656629efa4a3/psygnal-0.15.1.tar.gz", hash = "sha256:f64f62dee2306fc1c22050a59b6c6cdad126e04b0cf50e393ff858a1da719096" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/44/ab13cb6147d010258826a43e574ad94599af0de29df13795fff9efee656c/psygnal-0.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ee55e3997f796fd84d4fdbd829bb1b19d323e087c43d072744604a3016c8851" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/a2/68c042a607ca613e9450dfee99cc5c2a4d10d95392fb1de2ba932dd0a605/psygnal-0.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:912bcf110bfe7b4aa121d24987b6a58afb967ff090a049dad136eaf3cbcc7bea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/86/123c7b169ad32994a0cd801cd1f11c1a2be84555807e9c8a8a4682c67a9f/psygnal-0.15.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2e860c11fe075fd80c93a24081c577ef7ec5c9da41f0e75990aa4cccf3f79cf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/f1/886cec7bec2f27fe453cfa32bfcaac08a83aab2a04895af68f93e1c493b8/psygnal-0.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d5b8bebcf99699ef50b6ef572868a490f6d191dc4466e5bd9818ca27e17cd581" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/a3/da972a05568ee8a9dc6c6567bee2c0cc5af8c681baebcb9fdbbf3cceb4f7/psygnal-0.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:06e0a90490e1205620d97ac52fbbe3282a22b126a26d02b3e1196bb46de16c7a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bb/a7/69495410025cc4298765545ce3b8c635cd4c8d3a362b7fbbc15b80e9fc8f/psygnal-0.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1adc41515f648696990964433f1e25d8dfd306813a3645366c85e01986ba57a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/1f/19a8126ccf3cd3974ba5d08a435a049b666961d90f5848ba83599d7a29de/psygnal-0.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:38ff18455b2ac73d4e8eea82ef298ce904b52e4dfdc603a24380c9c440e37519" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/54/c5/b1348880d603edb82128a721397a1ddcf3dfcf5384fe5689db6e471118ae/psygnal-0.15.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c923c322eeefb1140886927cfe7bda7c32341087e290e812b9c69a624ab72d54" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/42/3da2d6f3583bd1a849f7faa2fd3492b14bfda05012519ceaea5992658af0/psygnal-0.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2714ddaa41ea3134c0ee91cebd5fb11a88f254ea1d5948806ab0ad5f8be603d5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/14/6fc7e97fdecf7e8c5c105684bab784920312a3259800d8b53e3cf8783f42/psygnal-0.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:877516056a5a383427a647fff2fad5179eaa3e12de2c083c273e748435414aef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/65/b7bbca96bc477aa9ac2264e5907b2f4ccfcd1319f776dd1f35eec06cc2f4/psygnal-0.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d56f0f35eaf4a21f660de76885222faf9e8c7112454528d3394d464f3d4d1a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/f2/56577465a1b42a5e6780bb5fab53fb68f8bfd72f0131ed397576529af724/psygnal-0.15.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0febcf757a1323d9b8bd75735ee3569213d8110012a7bf0f478e85c5ab459fc6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/79/81/f642ac08104049383076f83480ed412c9626e068769a1c34873c595bec0e/psygnal-0.15.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b5e4837dfbfa4974dabe0795e32be9aadcd87603adf734738ce1114f72238a05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/43/e571fa40b72780abed080ef829e5ad98017b6fe48d28c15a2404e006b676/psygnal-0.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:07b4c4e03bbf4e8cad7e25f4fbc1ba9575fb9c3d14991bc7edfeb8b09c8d6d54" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/26/ef3ab825eb08eaecbbceeeb56383694fe64ce399dbfd1d0767bb85688785/psygnal-0.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:4f0ce91b9c18e92281bf2c3fc4bb4e808d90f0b023d0a37b302d354188520338" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/21/5a142165d27063abf5921807d3c3d973f5d44ab414a13b210839a43ead4d/psygnal-0.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2087aadc9404f007f79c2899e329932869e362c50de58b90631c5f49b4768cc5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/25/c1712931d61c118691e73daf29ef708c679ea9ba187c797dd5deee360411/psygnal-0.15.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f3bf68ca42569dfdce20c6cf915d34b78b9e3ddddacb9f78728224fda6946b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/4f/3593e5adb88a188c798604aed95fbc1479f30230e7f51e8f2c770e6a3832/psygnal-0.15.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e9fca977f5335deea39aed22e31d9795983e4f243e59a7d3c4105793adb7693d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/4c/14779ed4c3a1d71fa1a9a87ecfb184ad3335dd64681067f77c1c47b14ae9/psygnal-0.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0c85b7d05b92ccbec47c75ab8a5545eda462e81a492c82424aba5ab81a3ad89d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/bc/4f771e3cdcde4db4023dbf36d6f0aab44e02b9de719353c22954b655e2ff/psygnal-0.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:ac0e693b29e0a429e97315a52313321855bef6140e9975b7ae78b4d93c8fbb42" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/2e/975bd61727578d88df62797f78390965ca7905780cf01eb59cb095a13638/psygnal-0.15.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:803fc33c4280c822c6f4b22e6c3ea7c4483e190f3cc69e69350098b3799476f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/55/e487f1d91497eb75e86c3fdfef69a21b1cab24d023383dd7648b08797d6a/psygnal-0.15.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4f53b4b83355b0a785b745987fd04e59bbf169a9028ed81a68ca7e05fb76d458" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/2f/f286355accd0e68d3eef52e63c8b9ab6ba33ec3107177719a036b3319657/psygnal-0.15.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bcbca12190f5aa65c1f8fb04a81fa6f4463c5f5dde25cd74c3a56ceff6f37b02" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/dc/40c6026c88d7f9220ecc913afe0501045a512c9b82f9b7e036bb089dc287/psygnal-0.15.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1ac399566852fe4354ce26a1acbe12319232e8c2b615fe5ad1e114c547095cf6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/85/b4f45ec3057c473b5622fc002b3a636a698c34d3a0917a064ff5247f1984/psygnal-0.15.1-cp314-cp314-win_amd64.whl", hash = "sha256:d3a03055f331ce91d44581c71edb79938ccc133a94af2ce7ad3a18fa57ac7be5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/49/7742544684bee728ec123515d2694cee859aa2a705951a461230b00f18cc/psygnal-0.15.1-py3-none-any.whl", hash = "sha256:4221140e633e45b076953c64bcb9b41a744833527f9a037c1ca98bc270798cbf" }, ] [[package]] name = "ptyprocess" version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" }, ] [[package]] name = "pure-eval" version = "0.2.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0" }, ] [[package]] name = "pyasn1" version = "0.6.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5c/5f/6583902b6f79b399c9c40674ac384fd9cd77805f9e6205075f828ef11fb2/pyasn1-0.6.3.tar.gz", hash = "sha256:697a8ecd6d98891189184ca1fa05d1bb00e2f84b5977c481452050549c8a72cf", size = 148685, upload-time = "2026-03-17T01:06:53.382Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/5f/6583902b6f79b399c9c40674ac384fd9cd77805f9e6205075f828ef11fb2/pyasn1-0.6.3.tar.gz", hash = "sha256:697a8ecd6d98891189184ca1fa05d1bb00e2f84b5977c481452050549c8a72cf" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/a0/7d793dce3fa811fe047d6ae2431c672364b462850c6235ae306c0efd025f/pyasn1-0.6.3-py3-none-any.whl", hash = "sha256:a80184d120f0864a52a073acc6fc642847d0be408e7c7252f31390c0f4eadcde", size = 83997, upload-time = "2026-03-17T01:06:52.036Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/a0/7d793dce3fa811fe047d6ae2431c672364b462850c6235ae306c0efd025f/pyasn1-0.6.3-py3-none-any.whl", hash = "sha256:a80184d120f0864a52a073acc6fc642847d0be408e7c7252f31390c0f4eadcde" }, ] [[package]] name = "pyasn1-modules" version = "0.4.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "pyasn1" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload-time = "2025-03-28T02:41:22.17Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload-time = "2025-03-28T02:41:19.028Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a" }, ] [[package]] name = "pycparser" version = "3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992" }, ] [[package]] name = "pydantic" version = "2.10.6" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "annotated-types" }, { name = "pydantic-core" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681, upload-time = "2025-01-24T01:42:12.693Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696, upload-time = "2025-01-24T01:42:10.371Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584" }, ] [[package]] name = "pydantic-core" version = "2.27.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443, upload-time = "2024-12-18T11:31:54.917Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938, upload-time = "2024-12-18T11:27:14.406Z" }, - { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684, upload-time = "2024-12-18T11:27:16.489Z" }, - { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169, upload-time = "2024-12-18T11:27:22.16Z" }, - { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227, upload-time = "2024-12-18T11:27:25.097Z" }, - { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695, upload-time = "2024-12-18T11:27:28.656Z" }, - { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662, upload-time = "2024-12-18T11:27:30.798Z" }, - { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370, upload-time = "2024-12-18T11:27:33.692Z" }, - { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813, upload-time = "2024-12-18T11:27:37.111Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287, upload-time = "2024-12-18T11:27:40.566Z" }, - { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414, upload-time = "2024-12-18T11:27:43.757Z" }, - { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301, upload-time = "2024-12-18T11:27:47.36Z" }, - { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685, upload-time = "2024-12-18T11:27:50.508Z" }, - { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876, upload-time = "2024-12-18T11:27:53.54Z" }, - { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421, upload-time = "2024-12-18T11:27:55.409Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998, upload-time = "2024-12-18T11:27:57.252Z" }, - { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167, upload-time = "2024-12-18T11:27:59.146Z" }, - { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071, upload-time = "2024-12-18T11:28:02.625Z" }, - { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244, upload-time = "2024-12-18T11:28:04.442Z" }, - { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470, upload-time = "2024-12-18T11:28:07.679Z" }, - { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291, upload-time = "2024-12-18T11:28:10.297Z" }, - { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613, upload-time = "2024-12-18T11:28:13.362Z" }, - { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355, upload-time = "2024-12-18T11:28:16.587Z" }, - { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661, upload-time = "2024-12-18T11:28:18.407Z" }, - { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261, upload-time = "2024-12-18T11:28:21.471Z" }, - { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361, upload-time = "2024-12-18T11:28:23.53Z" }, - { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484, upload-time = "2024-12-18T11:28:25.391Z" }, - { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102, upload-time = "2024-12-18T11:28:28.593Z" }, - { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127, upload-time = "2024-12-18T11:28:30.346Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340, upload-time = "2024-12-18T11:28:32.521Z" }, - { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900, upload-time = "2024-12-18T11:28:34.507Z" }, - { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177, upload-time = "2024-12-18T11:28:36.488Z" }, - { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046, upload-time = "2024-12-18T11:28:39.409Z" }, - { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386, upload-time = "2024-12-18T11:28:41.221Z" }, - { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060, upload-time = "2024-12-18T11:28:44.709Z" }, - { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870, upload-time = "2024-12-18T11:28:46.839Z" }, - { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822, upload-time = "2024-12-18T11:28:48.896Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364, upload-time = "2024-12-18T11:28:50.755Z" }, - { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303, upload-time = "2024-12-18T11:28:54.122Z" }, - { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064, upload-time = "2024-12-18T11:28:56.074Z" }, - { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046, upload-time = "2024-12-18T11:28:58.107Z" }, - { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092, upload-time = "2024-12-18T11:29:01.335Z" }, - { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709, upload-time = "2024-12-18T11:29:03.193Z" }, - { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273, upload-time = "2024-12-18T11:29:05.306Z" }, - { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027, upload-time = "2024-12-18T11:29:07.294Z" }, - { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888, upload-time = "2024-12-18T11:29:09.249Z" }, - { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738, upload-time = "2024-12-18T11:29:11.23Z" }, - { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138, upload-time = "2024-12-18T11:29:16.396Z" }, - { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025, upload-time = "2024-12-18T11:29:20.25Z" }, - { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633, upload-time = "2024-12-18T11:29:23.877Z" }, - { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404, upload-time = "2024-12-18T11:29:25.872Z" }, - { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130, upload-time = "2024-12-18T11:29:29.252Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946, upload-time = "2024-12-18T11:29:31.338Z" }, - { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387, upload-time = "2024-12-18T11:29:33.481Z" }, - { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453, upload-time = "2024-12-18T11:29:35.533Z" }, - { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186, upload-time = "2024-12-18T11:29:37.649Z" }, - { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159, upload-time = "2024-12-18T11:30:54.382Z" }, - { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331, upload-time = "2024-12-18T11:30:58.178Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467, upload-time = "2024-12-18T11:31:00.6Z" }, - { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797, upload-time = "2024-12-18T11:31:07.243Z" }, - { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839, upload-time = "2024-12-18T11:31:09.775Z" }, - { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861, upload-time = "2024-12-18T11:31:13.469Z" }, - { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582, upload-time = "2024-12-18T11:31:17.423Z" }, - { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985, upload-time = "2024-12-18T11:31:19.901Z" }, - { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715, upload-time = "2024-12-18T11:31:22.821Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151" }, ] [[package]] name = "pygments" version = "2.20.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176" }, ] [[package]] name = "pymatching" version = "2.3.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "matplotlib" }, - { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.6.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, { name = "numpy" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c5/92/60f1419500b49afb0925b0536538c352ef71b4bf182c28b0e3861141fc81/pymatching-2.3.1.tar.gz", hash = "sha256:dac1afab0a190a003a3689a18c3afc5c99a5beaa6a099d79e3d4c8b24c1fa7c5", size = 347052, upload-time = "2025-09-25T21:46:25.293Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/92/65/4e414c1a09b198b5ab771a9249cbbfe47c29951914e1393f787aaf8041b4/pymatching-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9f3bd434808ce6dc59730bed2fbb22bb2cc5454f13f4833ba621240e0d75d4f6", size = 380012, upload-time = "2025-09-25T21:45:57.439Z" }, - { url = "https://files.pythonhosted.org/packages/b4/4b/abc76305247b2204eb2a72239c3032647a31d69eb99ca63181027011d7a7/pymatching-2.3.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:403b4abba5d54ea8012a5d7334a8f6ba871f72875e072753bb7078e81a4f32e4", size = 411642, upload-time = "2025-09-25T21:45:59.018Z" }, - { url = "https://files.pythonhosted.org/packages/c4/3c/ecdc80293a45b4702a8fdb0630ebca9e93efd91a3b6b6986a81be9a5a3a1/pymatching-2.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fba6c1320dcad0268073cbba3b5e7296d94c61944a798cf8674cbaef68d9af91", size = 623778, upload-time = "2025-09-25T21:46:00.058Z" }, - { url = "https://files.pythonhosted.org/packages/ce/22/6757dc12b3adb5fc97adc414bee2fe63ce66fb534548288ef2d7e6b326f0/pymatching-2.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:b902eab5d530990eb577eabafc8969115252baa48eb9e9c7734b6bca97edc98c", size = 345417, upload-time = "2025-09-25T21:46:01.281Z" }, - { url = "https://files.pythonhosted.org/packages/9b/94/eee399cae91c349481467b03189832277ea79781f331cc04bde51834a1e1/pymatching-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:020a7bd1f8a2d312fe98f4eee594cff98395272ab868f93ee202adbdec1901bf", size = 381265, upload-time = "2025-09-25T21:46:02.262Z" }, - { url = "https://files.pythonhosted.org/packages/42/24/a72c64d30b7f1a86b3b87bd358b01c00eb2a8da8ceda9d3e4b030f73f26e/pymatching-2.3.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:10699180d84ec27a6bf5ccd78c61b8aa52afff0f01263cf928a51ec876138037", size = 412928, upload-time = "2025-09-25T21:46:03.603Z" }, - { url = "https://files.pythonhosted.org/packages/24/dc/946e33cdc7aa734913f2c97326ddcea0f0fdd3cfdcd7b986e5326f5d3ee3/pymatching-2.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d462371c7d9864fb1b7993018f16e2f105d732e5671c56dd14c9a789a1aa4861", size = 624637, upload-time = "2025-09-25T21:46:05.025Z" }, - { url = "https://files.pythonhosted.org/packages/56/97/14767cb0cb81de1cd2fc3211072bc3bdd08d0d4ae054eafa5584273a6a53/pymatching-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d27bd5cf79b25268dfce11fb9e3a47acd0a5c1f88815c2fab333eaa8bd45b7b", size = 346047, upload-time = "2025-09-25T21:46:05.991Z" }, - { url = "https://files.pythonhosted.org/packages/33/e9/cf2302b391f7c692feed5c1cddb07c2667722dd2944232cfb4c1a691e2ca/pymatching-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4bde7bac71e3b1b1d55569c664a7a2d0b0d87962df12b9b45ce3e287d0ac0dff", size = 380195, upload-time = "2025-09-25T21:46:07.26Z" }, - { url = "https://files.pythonhosted.org/packages/75/60/90c3fd4fe1b16dfc46aa3a774c9dc0438299aa07e7d9f41c3f6bbd207734/pymatching-2.3.1-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:fb06a9a60c32c490f2637a5d0ccb70c8c53024f970ab50d699bc8dc1c61f0534", size = 412898, upload-time = "2025-09-25T21:46:08.16Z" }, - { url = "https://files.pythonhosted.org/packages/da/b5/25e97b533495a839780c89dac2b56e2b683100945ac4149645f9d95e7aee/pymatching-2.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b90cf168645adb78c9f81dd60c9e97e2aae005386b5795b54c8b4055d1492b1b", size = 626112, upload-time = "2025-09-25T21:46:09.591Z" }, - { url = "https://files.pythonhosted.org/packages/d9/50/e34731b6e7f1a46facaa5c189cc95a55b49a00730203d09f211ef4d5ee58/pymatching-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:1f3a0d307b30ef52b7a9cabb58ec27a08ef057e09bcbd00ffe3c40f4e31e606d", size = 347938, upload-time = "2025-09-25T21:46:10.65Z" }, - { url = "https://files.pythonhosted.org/packages/e0/ee/1e89ba6a2811fad9f1c8d4254812c97904ee386e0490cdd0ee8c68d5d1cd/pymatching-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5c010d2dc808a58e80874ada568a4d2bb8c9e81959b858e2e56a84ccc6b2b4ac", size = 380256, upload-time = "2025-09-25T21:46:11.567Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ef/a3114a4c29cd43e180f0c494aa71beda969a347ee34459c4f816597d5e53/pymatching-2.3.1-cp313-cp313-macosx_11_0_x86_64.whl", hash = "sha256:8e3122358a398853d9e809beadcf52b2d7f38a7cac21e14bca6ce0b44045c376", size = 413004, upload-time = "2025-09-25T21:46:12.883Z" }, - { url = "https://files.pythonhosted.org/packages/6f/22/0d0494562792575be67358dcd8951678449b273af168dd5e52b887e51ab1/pymatching-2.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0edddbae8437d173d7c1314c9cb853d4abc9b84be9b2274f76972ba89b1b5b5", size = 625873, upload-time = "2025-09-25T21:46:14.068Z" }, - { url = "https://files.pythonhosted.org/packages/1f/c4/0e53ff3c9312ffb0e1677ebb62172660c5614077dca9c69ccfc31b90b7e4/pymatching-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:7ebce2e8bc98379f0bb7643a0ef0171142cf384ba626e46108c84249c868f0a6", size = 347977, upload-time = "2025-09-25T21:46:15.044Z" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/92/60f1419500b49afb0925b0536538c352ef71b4bf182c28b0e3861141fc81/pymatching-2.3.1.tar.gz", hash = "sha256:dac1afab0a190a003a3689a18c3afc5c99a5beaa6a099d79e3d4c8b24c1fa7c5" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/65/4e414c1a09b198b5ab771a9249cbbfe47c29951914e1393f787aaf8041b4/pymatching-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9f3bd434808ce6dc59730bed2fbb22bb2cc5454f13f4833ba621240e0d75d4f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/4b/abc76305247b2204eb2a72239c3032647a31d69eb99ca63181027011d7a7/pymatching-2.3.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:403b4abba5d54ea8012a5d7334a8f6ba871f72875e072753bb7078e81a4f32e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/3c/ecdc80293a45b4702a8fdb0630ebca9e93efd91a3b6b6986a81be9a5a3a1/pymatching-2.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fba6c1320dcad0268073cbba3b5e7296d94c61944a798cf8674cbaef68d9af91" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/22/6757dc12b3adb5fc97adc414bee2fe63ce66fb534548288ef2d7e6b326f0/pymatching-2.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:b902eab5d530990eb577eabafc8969115252baa48eb9e9c7734b6bca97edc98c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/94/eee399cae91c349481467b03189832277ea79781f331cc04bde51834a1e1/pymatching-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:020a7bd1f8a2d312fe98f4eee594cff98395272ab868f93ee202adbdec1901bf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/24/a72c64d30b7f1a86b3b87bd358b01c00eb2a8da8ceda9d3e4b030f73f26e/pymatching-2.3.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:10699180d84ec27a6bf5ccd78c61b8aa52afff0f01263cf928a51ec876138037" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/dc/946e33cdc7aa734913f2c97326ddcea0f0fdd3cfdcd7b986e5326f5d3ee3/pymatching-2.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d462371c7d9864fb1b7993018f16e2f105d732e5671c56dd14c9a789a1aa4861" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/97/14767cb0cb81de1cd2fc3211072bc3bdd08d0d4ae054eafa5584273a6a53/pymatching-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d27bd5cf79b25268dfce11fb9e3a47acd0a5c1f88815c2fab333eaa8bd45b7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/e9/cf2302b391f7c692feed5c1cddb07c2667722dd2944232cfb4c1a691e2ca/pymatching-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4bde7bac71e3b1b1d55569c664a7a2d0b0d87962df12b9b45ce3e287d0ac0dff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/75/60/90c3fd4fe1b16dfc46aa3a774c9dc0438299aa07e7d9f41c3f6bbd207734/pymatching-2.3.1-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:fb06a9a60c32c490f2637a5d0ccb70c8c53024f970ab50d699bc8dc1c61f0534" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/b5/25e97b533495a839780c89dac2b56e2b683100945ac4149645f9d95e7aee/pymatching-2.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b90cf168645adb78c9f81dd60c9e97e2aae005386b5795b54c8b4055d1492b1b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/50/e34731b6e7f1a46facaa5c189cc95a55b49a00730203d09f211ef4d5ee58/pymatching-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:1f3a0d307b30ef52b7a9cabb58ec27a08ef057e09bcbd00ffe3c40f4e31e606d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/ee/1e89ba6a2811fad9f1c8d4254812c97904ee386e0490cdd0ee8c68d5d1cd/pymatching-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5c010d2dc808a58e80874ada568a4d2bb8c9e81959b858e2e56a84ccc6b2b4ac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/ef/a3114a4c29cd43e180f0c494aa71beda969a347ee34459c4f816597d5e53/pymatching-2.3.1-cp313-cp313-macosx_11_0_x86_64.whl", hash = "sha256:8e3122358a398853d9e809beadcf52b2d7f38a7cac21e14bca6ce0b44045c376" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/22/0d0494562792575be67358dcd8951678449b273af168dd5e52b887e51ab1/pymatching-2.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0edddbae8437d173d7c1314c9cb853d4abc9b84be9b2274f76972ba89b1b5b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/c4/0e53ff3c9312ffb0e1677ebb62172660c5614077dca9c69ccfc31b90b7e4/pymatching-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:7ebce2e8bc98379f0bb7643a0ef0171142cf384ba626e46108c84249c868f0a6" }, ] [[package]] name = "pymdown-extensions" version = "10.21.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/26/d1015444da4d952a1ca487a236b522eb979766f0295a0bd0c5fc089989a9/pymdown_extensions-10.21.3.tar.gz", hash = "sha256:72cfcf55f07aea0d4af2c4f11dd4e52466ddfb1bb819673146398e0bd3a77354", size = 854140, upload-time = "2026-05-13T12:57:32.267Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/26/d1015444da4d952a1ca487a236b522eb979766f0295a0bd0c5fc089989a9/pymdown_extensions-10.21.3.tar.gz", hash = "sha256:72cfcf55f07aea0d4af2c4f11dd4e52466ddfb1bb819673146398e0bd3a77354" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/85/545a951eecc270fcd688288c600017e2050a1aacb56c711d208586d3e470/pymdown_extensions-10.21.3-py3-none-any.whl", hash = "sha256:d7a5d08014fc571e80ca21dd6f854e31f94c489800350564d55d15b3c41e76b6", size = 269002, upload-time = "2026-05-13T12:57:30.296Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/85/545a951eecc270fcd688288c600017e2050a1aacb56c711d208586d3e470/pymdown_extensions-10.21.3-py3-none-any.whl", hash = "sha256:d7a5d08014fc571e80ca21dd6f854e31f94c489800350564d55d15b3c41e76b6" }, ] [[package]] name = "pymongo" version = "4.17.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "dnspython" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ca/64/50be6fbac9c79fe2e4c17401a467da2d8764d82833d83cec325afe5cab32/pymongo-4.17.0.tar.gz", hash = "sha256:70ffa08ba641468cc068cf46c06b34f01a8ce3489f6411309fcb5ceabe6b2fc0", size = 2523370, upload-time = "2026-04-20T16:39:53.524Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/77/28ebbf69772a4341d530831c7a006cdb06877ac23075cb53b0a227df4fe1/pymongo-4.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:47b021363cd923ace5edc7a1d63c0ff8a6d9d43859b8a1ba23645f5afae63221", size = 819234, upload-time = "2026-04-20T16:37:20.888Z" }, - { url = "https://files.pythonhosted.org/packages/88/cf/5a70cee503ff9a2fea20607607f14d189f4d975960ac0945ec306ee7b695/pymongo-4.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:422fa50d7d7f5c22ea0953554396c9ef95684a2d775f860bd75a7b510538dfca", size = 819969, upload-time = "2026-04-20T16:37:24.187Z" }, - { url = "https://files.pythonhosted.org/packages/23/d5/07b7e27e662c58d872efd104a0e8055eb6569aa1b6d4da436f3fdee7f897/pymongo-4.17.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:addd0498ebbdc6354227f6ed457ed9fce442d48a3bb30d5b5bad33e104996561", size = 1244510, upload-time = "2026-04-20T16:37:26.069Z" }, - { url = "https://files.pythonhosted.org/packages/fb/be/7cac5b1e89bd5a8e395067648241390321593a7c29243e36f91343c02a90/pymongo-4.17.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5c8e180cb2cabe37300e1e36c60aa4f2ff956cc579f0142135a5d2cba252243", size = 1263245, upload-time = "2026-04-20T16:37:28.003Z" }, - { url = "https://files.pythonhosted.org/packages/2e/20/40e8e99824c1fda18261411e65ce3b0cd3d9a6ed3c056cdd0a569adc870b/pymongo-4.17.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bd835cdb37a1adec359dd072c24f8bb14809e2644fde86fab4ee2fc9719b9483", size = 1304113, upload-time = "2026-04-20T16:37:30.048Z" }, - { url = "https://files.pythonhosted.org/packages/3a/94/fb7e25441dd66f2069a9b172380849b0eaa5881c18b3db217bf64a6d393c/pymongo-4.17.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c4979e7e8887862bbb44d203f00cc8263a3f27237876fa691b6beba23e40e6d8", size = 1297046, upload-time = "2026-04-20T16:37:32.054Z" }, - { url = "https://files.pythonhosted.org/packages/4f/c9/7352e0c20fe772541556e4d283c05e07ec48f8b0d2737ad930ac4a1b6655/pymongo-4.17.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:77aa4bc164b4de60d5db193b322f0f5b6ead716e831031bfdef8e8bd92205556", size = 1265708, upload-time = "2026-04-20T16:37:33.934Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e4/3df15494c2015ed297958517f0e4f6493e21b00990748068a973e66d45e0/pymongo-4.17.0-cp310-cp310-win32.whl", hash = "sha256:48bbc576677b50af043df870d84ded67cc3a9b4aa7553201beef4da5dc050a0a", size = 805533, upload-time = "2026-04-20T16:37:35.744Z" }, - { url = "https://files.pythonhosted.org/packages/22/fa/b4e71bb8cb82ad7d21bb4e8c476f2d573ba68b20368aac36ef06e4a196b4/pymongo-4.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46767f28dea610e02edf6c5d956ce615c3c7790ea396660b9b1efd5c5ead2e0", size = 815677, upload-time = "2026-04-20T16:37:37.808Z" }, - { url = "https://files.pythonhosted.org/packages/22/e2/0a4bba644f1cda3970ea1012149eeae3594ebfeed3f81fdaf32b61d90c95/pymongo-4.17.0-cp310-cp310-win_arm64.whl", hash = "sha256:757f2a4c0c2c46cab87df0333681ce69e86c9d5b45bc5203ceba5410b3489e59", size = 807293, upload-time = "2026-04-20T16:37:39.707Z" }, - { url = "https://files.pythonhosted.org/packages/c4/e2/336d86f221cf1b56b2ed9330d4a3b98f9f38f0b37829ae9a9184617d5419/pymongo-4.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4141e6c6a339789b2974efa00ecd9409101672d77a0e3ee2cc3839eedf8ec4df", size = 874668, upload-time = "2026-04-20T16:37:41.39Z" }, - { url = "https://files.pythonhosted.org/packages/34/8e/75d3c6c935d187ab59c61e9c15d9aab3f274b563eaf1706e8cae5f508dec/pymongo-4.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e68c76b84e0c132d9dbf9307f12ff8185702328187a87b9aca8c941303873433", size = 875294, upload-time = "2026-04-20T16:37:43.432Z" }, - { url = "https://files.pythonhosted.org/packages/5f/ec/62e855744489dbcd54fd778aae4d80fa4c4819e8fb228ca0cf6f21a03997/pymongo-4.17.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ba2195d4f386f839a52a23ea1cfd60ffaaba78a3d7841db51b7e433001139918", size = 1496233, upload-time = "2026-04-20T16:37:45.518Z" }, - { url = "https://files.pythonhosted.org/packages/82/e8/93e4e5e5ce8fdf8929dabeefe24aafa5ce046028eed0dfa8eeb936e72c49/pymongo-4.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8446ff4bfcb6ec2a2e50998c860986a1e992136f998b7f53e7a717fb8aa5a0b9", size = 1522927, upload-time = "2026-04-20T16:37:47.492Z" }, - { url = "https://files.pythonhosted.org/packages/f7/ca/425dc1d21e0f17bdea0072fc463f662f7fa06d2852af52975c9eced3c07c/pymongo-4.17.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2a0d5ac205728c86e0a02192f1aa5f865b0d7d51f8df6101c01a69a7fc620d72", size = 1583468, upload-time = "2026-04-20T16:37:49.221Z" }, - { url = "https://files.pythonhosted.org/packages/b3/9d/f08b07eeffda1a43c1759f0fa625e88ae12360996eb56d42aad832fa7dff/pymongo-4.17.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:485c8a8eaa4c739f00a331fc73757898ee7c092c214a79e63866ff76aaf282ff", size = 1572787, upload-time = "2026-04-20T16:37:51.061Z" }, - { url = "https://files.pythonhosted.org/packages/e9/c2/6855a07aafa7b894929af23675b6fb9634800ce43122b76a62f6eeb8da2a/pymongo-4.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2dfcc795f5b9fedbe179a11fdf6051581479d196582a3fe819a92a00e9b9969", size = 1526184, upload-time = "2026-04-20T16:37:53.358Z" }, - { url = "https://files.pythonhosted.org/packages/4e/05/c952bac7db71c1942ea3559fcd308b49754cc5004b455935fb4000d1f37b/pymongo-4.17.0-cp311-cp311-win32.whl", hash = "sha256:c2292144505fb12156b981bd440f3dc994a883da06ac726c0c8692ccdbc1c510", size = 852621, upload-time = "2026-04-20T16:37:55.28Z" }, - { url = "https://files.pythonhosted.org/packages/11/c0/c04da9f4c0c6252404598f4e394b862a58a9e866822a70ae261c8a018fdf/pymongo-4.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:2e190827834fce70ecdf9d46796c6dbc0ce08ea87dc2ff5bc6f3f5579b605cb9", size = 867852, upload-time = "2026-04-20T16:37:57.233Z" }, - { url = "https://files.pythonhosted.org/packages/1d/b2/c7b4870fbeef471e947d3e014676f5910d02e0197074d692ebcf24ec049a/pymongo-4.17.0-cp311-cp311-win_arm64.whl", hash = "sha256:a8f9c40a09bb7d4b9fc8b1da65ecf6efa79bda5cb2756f39d9b6940fac1d19ae", size = 855019, upload-time = "2026-04-20T16:37:58.983Z" }, - { url = "https://files.pythonhosted.org/packages/98/90/60bcb508840135d5ee46b51b1a950f548338aa8145a8366dbe6639ae51ac/pymongo-4.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53ffa94b2340dbf6b055e09a0090618c60482c158ecfc9565642fc996bf0944", size = 930529, upload-time = "2026-04-20T16:38:00.936Z" }, - { url = "https://files.pythonhosted.org/packages/a6/e9/313840f1e52c6dfac47f704428cbfbce59956ebe7633bffc92b03f74f0ad/pymongo-4.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6fe0de9d0f6791abce3471230b32b4817bf89d27b1182b6a550e1ec0fa72aa9a", size = 930665, upload-time = "2026-04-20T16:38:02.915Z" }, - { url = "https://files.pythonhosted.org/packages/78/35/9d3565ea45b1606f635c1e2cd2563c28d66caafdc50f7ad7d979fcd1b363/pymongo-4.17.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e537e95514dae1aaa718f481ec03151a0f0394bcd05f1322896d8fc1330cb729", size = 1762369, upload-time = "2026-04-20T16:38:05.375Z" }, - { url = "https://files.pythonhosted.org/packages/95/ee/149b0d4b1a11c38bff6f14c23d5814c9b0843fd6dc38ad40596bdb1a62d2/pymongo-4.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:37a8385c29881b43eab31f584100fa0eaddedd5607adf010147ba1810118be90", size = 1798044, upload-time = "2026-04-20T16:38:07.195Z" }, - { url = "https://files.pythonhosted.org/packages/7b/d4/4cee4a7b8d8f6f0550ef6cd2fea42455c5ed619a220cb6ba4fb40d6a5bc8/pymongo-4.17.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f3ee3d241ed77a4fc99ce3cff3b289c3ebce37f61fdd7349d3592c23b82c8784", size = 1878567, upload-time = "2026-04-20T16:38:09.121Z" }, - { url = "https://files.pythonhosted.org/packages/45/ef/7fe366c84952619ee2f69973566c214775e083dd4df465751912153e4b72/pymongo-4.17.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9eb5d63a3c518cb0804ed678f5e2b875af032d89a7cf57a57360322cf6a4d222", size = 1864881, upload-time = "2026-04-20T16:38:10.896Z" }, - { url = "https://files.pythonhosted.org/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e97e03fa13327c87e3fdc5656acd01e71817f0c1dc3221cd8f30de136bf4ec3", size = 1800349, upload-time = "2026-04-20T16:38:13.589Z" }, - { url = "https://files.pythonhosted.org/packages/b8/69/dafcf04f66e130ddd91aeb92e7a692480eda46dcd04ec1dbe82c06619e10/pymongo-4.17.0-cp312-cp312-win32.whl", hash = "sha256:6877214bff5f06f6884a9fc8d9016a4a7a5f51f537f5c51ac3a576f93e7dfb32", size = 900518, upload-time = "2026-04-20T16:38:15.541Z" }, - { url = "https://files.pythonhosted.org/packages/11/35/5c9262a459f988b4eb2605f70815240b77a0d4131136c4326d18f1822b89/pymongo-4.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:9828485f72f63c7d802e0ec41f71906f633c2692621ab3af55ca990186b091b1", size = 920335, upload-time = "2026-04-20T16:38:17.665Z" }, - { url = "https://files.pythonhosted.org/packages/8d/da/e9c7265ee176faccf4e52c4797837e794d93569a1046f6b19a4acc36e5ad/pymongo-4.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:1195370a77baf003b59b10e91ecc4706297197f0dd9d29c840cc556dc08f7cee", size = 903289, upload-time = "2026-04-20T16:38:19.33Z" }, - { url = "https://files.pythonhosted.org/packages/2a/6b/c1206879708b94e82fcd8b9653440ec271f79a3674d122192df383047f5a/pymongo-4.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:809ec74de3b9148ae43fa8df9faf53470f511c8d384f13b99d6f671f2a379f15", size = 985829, upload-time = "2026-04-20T16:38:21.031Z" }, - { url = "https://files.pythonhosted.org/packages/cb/cf/bb044ed85160e5c40f568c7c4f4e8ea16f40764ff5d302e5befbe8f6f814/pymongo-4.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a431b737816bf4cddd4fa0fcef04e424ad36b7692734a64150f872fb8f3208be", size = 985899, upload-time = "2026-04-20T16:38:23.409Z" }, - { url = "https://files.pythonhosted.org/packages/74/0a/f6dfd5ea3901e5d6888da8de8ba728971a1d447debab681cfc56f90d1208/pymongo-4.17.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e4fab10f8403169ce92f3cea921609d9ee81107306caae06c08f592d4b8ad2b5", size = 2028569, upload-time = "2026-04-20T16:38:25.343Z" }, - { url = "https://files.pythonhosted.org/packages/4a/c5/081f59a1c02ae8c0dc73ae58e563838c44eec81aeafa7d0b93a637841c9b/pymongo-4.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20323b0b1c1d33770ad1fc68d429c757734ce9ad3594421c3d6618f10572b1b9", size = 2072916, upload-time = "2026-04-20T16:38:27.291Z" }, - { url = "https://files.pythonhosted.org/packages/31/42/6e41d434297ffe8b30d9c3717916591a4a7be9075a0dcc2fafdfaaaa62ed/pymongo-4.17.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5a5de048e6da5c18e27cc2437e8c15b3b0cdc8385c15b41178b0caa3322a09c2", size = 2173234, upload-time = "2026-04-20T16:38:29.474Z" }, - { url = "https://files.pythonhosted.org/packages/3d/cf/1e4a7db352ef9485831c7268dfe8402f0117b32a9ad54b16e810699e3617/pymongo-4.17.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dff3de1294fbbc1db0ba6b511f77b8e540601d092538a31312e99c8a91a78b1e", size = 2156784, upload-time = "2026-04-20T16:38:32.134Z" }, - { url = "https://files.pythonhosted.org/packages/12/10/6195be29962a61ebb5f4bd9e4c7519890b172f7968a0a0d880398c6ddb02/pymongo-4.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:faf03e4c2aafd6de626dbd30ba246d369ae33f47f10629d1bbe40f72115027a6", size = 2074446, upload-time = "2026-04-20T16:38:34.004Z" }, - { url = "https://files.pythonhosted.org/packages/37/48/33410b8819837ed370c738587306bdf060b59cef11823be212f4a07703c5/pymongo-4.17.0-cp313-cp313-win32.whl", hash = "sha256:c9786665926a09630c5d420c79762cfadbff35a9438bcbc4c81a9fb5ab9228b7", size = 948435, upload-time = "2026-04-20T16:38:35.922Z" }, - { url = "https://files.pythonhosted.org/packages/6f/77/c0ed522f798a286b99acaa7914ed8d9c80ab091f97f57c59ffed72906e5e/pymongo-4.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:5960519b4d7168f1ecdd3ea10c81b2aedeb9423651aca953cfbc8e76705d3b38", size = 972847, upload-time = "2026-04-20T16:38:37.888Z" }, - { url = "https://files.pythonhosted.org/packages/97/f0/c39480a2db385fde23861d0c8acda41cdaf1d43e46579db72c5c013a2e81/pymongo-4.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:0ff6bd2f735ab5356541e3e57d5b7dbfbc3f2ee1ccb10b6b0f82d58af69d1d8e", size = 951575, upload-time = "2026-04-20T16:38:40.544Z" }, - { url = "https://files.pythonhosted.org/packages/da/49/2b0250762a89737ed6f9cea238331baca061b89a8ddd10dd17fee52c3970/pymongo-4.17.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ff5aa3f1c7e3f08eb0e7a016c91ba468b1850ccfd63d9b1f12f56350f4974cef", size = 1040945, upload-time = "2026-04-20T16:38:42.783Z" }, - { url = "https://files.pythonhosted.org/packages/89/1c/7a9b5447a08be20e84b6e5b17330917e8d6d9507daa3cd099a9309f11ad7/pymongo-4.17.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e816db649ba5d7de0568cf3a9f287a9dc9aad21cf0ca667ab156a7ef47fca0b0", size = 1041187, upload-time = "2026-04-20T16:38:45.358Z" }, - { url = "https://files.pythonhosted.org/packages/78/a1/71704f61632dfc90407a5834fe5f6132854937c4a3648f6c05c351d85a45/pymongo-4.17.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:12c4fded3a9f1d6a687e36ebd384ac6d00b9b00de1969aa74048e7051ec2a713", size = 2294806, upload-time = "2026-04-20T16:38:47.734Z" }, - { url = "https://files.pythonhosted.org/packages/ad/b9/aff42be75108b96c2469b1d9329b912c15108f3e7ef32fdc86da8423c330/pymongo-4.17.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2db66aa8dd253a0fc1fad3b0d23d5b3993f7ebde02fbbd7727128debf2853675", size = 2348231, upload-time = "2026-04-20T16:38:50.371Z" }, - { url = "https://files.pythonhosted.org/packages/f2/30/44c115b8ba1479942c15fd9480eb29a7da0ba68acd56983423ba0deb4a94/pymongo-4.17.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3987e96e7c7be4083d42e8ac2cc6c0d5b78db9973c90fce42ae800b616ca6b20", size = 2467614, upload-time = "2026-04-20T16:38:52.665Z" }, - { url = "https://files.pythonhosted.org/packages/d2/84/21ee95c8bf0ca7acae7ec7eb365d740bf8fc0156c194baf2c3bdfcb85ec0/pymongo-4.17.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cee36b3c0d0354f880fa7a7fdcdaf2bb5e542c2281e25c1bfadf8cfe21eba7d2", size = 2445970, upload-time = "2026-04-20T16:38:55.175Z" }, - { url = "https://files.pythonhosted.org/packages/06/89/081d7f1809d5ca09d1e47e49f2111b245f5694de3a7af32cd3a353a6f43f/pymongo-4.17.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:320b34457b20bbcc79997801f95d25ce00472915ca5241167242b42c4359e027", size = 2348605, upload-time = "2026-04-20T16:38:57.557Z" }, - { url = "https://files.pythonhosted.org/packages/ea/c3/0d949f9d3f2a341c1f635c398c16615e96f89f51ff424ed81e914cf1a4de/pymongo-4.17.0-cp314-cp314-win32.whl", hash = "sha256:df4a644af9ae132d4bfdb2e9516ea51a615fd881caddfbfbd071cf1354844479", size = 1004119, upload-time = "2026-04-20T16:39:00.309Z" }, - { url = "https://files.pythonhosted.org/packages/f7/55/5c3a3db1048054c695c75c5964cc8bedc2247fdb5a75ef6fab4ec8bb013e/pymongo-4.17.0-cp314-cp314-win_amd64.whl", hash = "sha256:c797f8a80957134f6dd9690367a0f8f5906d672119af2c6aa55f0c527b656bed", size = 1032314, upload-time = "2026-04-20T16:39:02.665Z" }, - { url = "https://files.pythonhosted.org/packages/e0/19/e235f39906134cb0ffd5574c5a59c355ef5380f0499644ab94994afbb109/pymongo-4.17.0-cp314-cp314-win_arm64.whl", hash = "sha256:68fca71e05ee5da23a8d73cee8379dfb3d26e609a377cae731d742771ed96946", size = 1007627, upload-time = "2026-04-20T16:39:04.678Z" }, - { url = "https://files.pythonhosted.org/packages/1e/e0/c4c1a86791415b14c684fa0908f9da96de91594a3fd1fa1b8dc689fbb800/pymongo-4.17.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b4384700cffc3f1dd98e088bc0072dedf6d7d68a230bb4b972665cf69c071c1e", size = 1099151, upload-time = "2026-04-20T16:39:06.969Z" }, - { url = "https://files.pythonhosted.org/packages/81/4b/69c67f3e23fd9b23b9bedc7ebd23754881cc9d5c5d5b2a9811e96b07f475/pymongo-4.17.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:93641192644fa1ee0f34030e774fd31022a27ad11ba22cb1716142231524f8bd", size = 1099346, upload-time = "2026-04-20T16:39:08.996Z" }, - { url = "https://files.pythonhosted.org/packages/a2/19/a5208f62f9508a26d73acc69bd3821b8c8adae253679a3c26d2f9652f0d5/pymongo-4.17.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:75bc3aa5b94fdb7138d357ec6ca61cd97e0c79f4f7f0bd3efe9639b15cc50942", size = 2619034, upload-time = "2026-04-20T16:39:11.049Z" }, - { url = "https://files.pythonhosted.org/packages/77/27/426cba1ec5973082a56d4150798529bfdf4151c31391ed1fbbecb23ef2ac/pymongo-4.17.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50e8f8e23c6df7c6d6929f5e734980b227706e73ee847517c9ba5af90f7fc466", size = 2689939, upload-time = "2026-04-20T16:39:13.617Z" }, - { url = "https://files.pythonhosted.org/packages/ef/2e/f70993d1255e33f6ee59a4ec4371cc65bff7a7e3fda7d55c3386f25287e8/pymongo-4.17.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:15d3f3d732aecac1f8d481bde4029755615639bd3076f258a2147210aec8515a", size = 2824994, upload-time = "2026-04-20T16:39:16.057Z" }, - { url = "https://files.pythonhosted.org/packages/b3/eb/87b0e988ba889e1fcc3430c2cfc166b251872c813e92b43174298bee17ff/pymongo-4.17.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5f62862d0f87be481fa1fe8cb811994486773c94a2b61e509285e3f2890763", size = 2801745, upload-time = "2026-04-20T16:39:18.476Z" }, - { url = "https://files.pythonhosted.org/packages/67/4c/3f83412d086f682d4d468761d66ddc49cf161e786ea74073045eb4491c60/pymongo-4.17.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64837adbbd72073301af51bb0fc80e3d7707fe5527cea1033ba0320f0b2f881b", size = 2684636, upload-time = "2026-04-20T16:39:20.878Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d8/b75f6f4ab6c8beb50b0270a4f1e2530b5774f5e116563440e1677ca1820f/pymongo-4.17.0-cp314-cp314t-win32.whl", hash = "sha256:b93b22eedc62598cf5ee9d8c8007a8e9121c50fd88137012d8985500e9dc3151", size = 1056356, upload-time = "2026-04-20T16:39:22.996Z" }, - { url = "https://files.pythonhosted.org/packages/e4/5e/648c8a238eef18a25ed8a169ea6542d4a860bbec3e95b3d9badac2935c71/pymongo-4.17.0-cp314-cp314t-win_amd64.whl", hash = "sha256:3689ea34f6b647c7d1e7bdc60fcfb214b2789ed1359a7fb96569c69f50e5f18f", size = 1090964, upload-time = "2026-04-20T16:39:24.989Z" }, - { url = "https://files.pythonhosted.org/packages/dc/cb/d9780b66939c4fc1f024bcc7be23a2abcfe06a9745ca8fa76dc73395482e/pymongo-4.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9543d8f84c2e5608565c08ac679774811e6730770d8a645439b073422a4276fb", size = 1058526, upload-time = "2026-04-20T16:39:27.924Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/64/50be6fbac9c79fe2e4c17401a467da2d8764d82833d83cec325afe5cab32/pymongo-4.17.0.tar.gz", hash = "sha256:70ffa08ba641468cc068cf46c06b34f01a8ce3489f6411309fcb5ceabe6b2fc0" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/77/28ebbf69772a4341d530831c7a006cdb06877ac23075cb53b0a227df4fe1/pymongo-4.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:47b021363cd923ace5edc7a1d63c0ff8a6d9d43859b8a1ba23645f5afae63221" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/cf/5a70cee503ff9a2fea20607607f14d189f4d975960ac0945ec306ee7b695/pymongo-4.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:422fa50d7d7f5c22ea0953554396c9ef95684a2d775f860bd75a7b510538dfca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/d5/07b7e27e662c58d872efd104a0e8055eb6569aa1b6d4da436f3fdee7f897/pymongo-4.17.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:addd0498ebbdc6354227f6ed457ed9fce442d48a3bb30d5b5bad33e104996561" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fb/be/7cac5b1e89bd5a8e395067648241390321593a7c29243e36f91343c02a90/pymongo-4.17.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5c8e180cb2cabe37300e1e36c60aa4f2ff956cc579f0142135a5d2cba252243" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2e/20/40e8e99824c1fda18261411e65ce3b0cd3d9a6ed3c056cdd0a569adc870b/pymongo-4.17.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bd835cdb37a1adec359dd072c24f8bb14809e2644fde86fab4ee2fc9719b9483" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/94/fb7e25441dd66f2069a9b172380849b0eaa5881c18b3db217bf64a6d393c/pymongo-4.17.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c4979e7e8887862bbb44d203f00cc8263a3f27237876fa691b6beba23e40e6d8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/c9/7352e0c20fe772541556e4d283c05e07ec48f8b0d2737ad930ac4a1b6655/pymongo-4.17.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:77aa4bc164b4de60d5db193b322f0f5b6ead716e831031bfdef8e8bd92205556" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/e4/3df15494c2015ed297958517f0e4f6493e21b00990748068a973e66d45e0/pymongo-4.17.0-cp310-cp310-win32.whl", hash = "sha256:48bbc576677b50af043df870d84ded67cc3a9b4aa7553201beef4da5dc050a0a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/fa/b4e71bb8cb82ad7d21bb4e8c476f2d573ba68b20368aac36ef06e4a196b4/pymongo-4.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46767f28dea610e02edf6c5d956ce615c3c7790ea396660b9b1efd5c5ead2e0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/e2/0a4bba644f1cda3970ea1012149eeae3594ebfeed3f81fdaf32b61d90c95/pymongo-4.17.0-cp310-cp310-win_arm64.whl", hash = "sha256:757f2a4c0c2c46cab87df0333681ce69e86c9d5b45bc5203ceba5410b3489e59" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/e2/336d86f221cf1b56b2ed9330d4a3b98f9f38f0b37829ae9a9184617d5419/pymongo-4.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4141e6c6a339789b2974efa00ecd9409101672d77a0e3ee2cc3839eedf8ec4df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/8e/75d3c6c935d187ab59c61e9c15d9aab3f274b563eaf1706e8cae5f508dec/pymongo-4.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e68c76b84e0c132d9dbf9307f12ff8185702328187a87b9aca8c941303873433" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/ec/62e855744489dbcd54fd778aae4d80fa4c4819e8fb228ca0cf6f21a03997/pymongo-4.17.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ba2195d4f386f839a52a23ea1cfd60ffaaba78a3d7841db51b7e433001139918" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/e8/93e4e5e5ce8fdf8929dabeefe24aafa5ce046028eed0dfa8eeb936e72c49/pymongo-4.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8446ff4bfcb6ec2a2e50998c860986a1e992136f998b7f53e7a717fb8aa5a0b9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/ca/425dc1d21e0f17bdea0072fc463f662f7fa06d2852af52975c9eced3c07c/pymongo-4.17.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2a0d5ac205728c86e0a02192f1aa5f865b0d7d51f8df6101c01a69a7fc620d72" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/9d/f08b07eeffda1a43c1759f0fa625e88ae12360996eb56d42aad832fa7dff/pymongo-4.17.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:485c8a8eaa4c739f00a331fc73757898ee7c092c214a79e63866ff76aaf282ff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/c2/6855a07aafa7b894929af23675b6fb9634800ce43122b76a62f6eeb8da2a/pymongo-4.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2dfcc795f5b9fedbe179a11fdf6051581479d196582a3fe819a92a00e9b9969" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/05/c952bac7db71c1942ea3559fcd308b49754cc5004b455935fb4000d1f37b/pymongo-4.17.0-cp311-cp311-win32.whl", hash = "sha256:c2292144505fb12156b981bd440f3dc994a883da06ac726c0c8692ccdbc1c510" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/c0/c04da9f4c0c6252404598f4e394b862a58a9e866822a70ae261c8a018fdf/pymongo-4.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:2e190827834fce70ecdf9d46796c6dbc0ce08ea87dc2ff5bc6f3f5579b605cb9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/b2/c7b4870fbeef471e947d3e014676f5910d02e0197074d692ebcf24ec049a/pymongo-4.17.0-cp311-cp311-win_arm64.whl", hash = "sha256:a8f9c40a09bb7d4b9fc8b1da65ecf6efa79bda5cb2756f39d9b6940fac1d19ae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/90/60bcb508840135d5ee46b51b1a950f548338aa8145a8366dbe6639ae51ac/pymongo-4.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53ffa94b2340dbf6b055e09a0090618c60482c158ecfc9565642fc996bf0944" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/e9/313840f1e52c6dfac47f704428cbfbce59956ebe7633bffc92b03f74f0ad/pymongo-4.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6fe0de9d0f6791abce3471230b32b4817bf89d27b1182b6a550e1ec0fa72aa9a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/35/9d3565ea45b1606f635c1e2cd2563c28d66caafdc50f7ad7d979fcd1b363/pymongo-4.17.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e537e95514dae1aaa718f481ec03151a0f0394bcd05f1322896d8fc1330cb729" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/ee/149b0d4b1a11c38bff6f14c23d5814c9b0843fd6dc38ad40596bdb1a62d2/pymongo-4.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:37a8385c29881b43eab31f584100fa0eaddedd5607adf010147ba1810118be90" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/d4/4cee4a7b8d8f6f0550ef6cd2fea42455c5ed619a220cb6ba4fb40d6a5bc8/pymongo-4.17.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f3ee3d241ed77a4fc99ce3cff3b289c3ebce37f61fdd7349d3592c23b82c8784" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/ef/7fe366c84952619ee2f69973566c214775e083dd4df465751912153e4b72/pymongo-4.17.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9eb5d63a3c518cb0804ed678f5e2b875af032d89a7cf57a57360322cf6a4d222" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/35/b577d82c6d1be7aee7ac7e249bc86f7847998345042e5f8360de238e177b/pymongo-4.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e97e03fa13327c87e3fdc5656acd01e71817f0c1dc3221cd8f30de136bf4ec3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/69/dafcf04f66e130ddd91aeb92e7a692480eda46dcd04ec1dbe82c06619e10/pymongo-4.17.0-cp312-cp312-win32.whl", hash = "sha256:6877214bff5f06f6884a9fc8d9016a4a7a5f51f537f5c51ac3a576f93e7dfb32" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/35/5c9262a459f988b4eb2605f70815240b77a0d4131136c4326d18f1822b89/pymongo-4.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:9828485f72f63c7d802e0ec41f71906f633c2692621ab3af55ca990186b091b1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/da/e9c7265ee176faccf4e52c4797837e794d93569a1046f6b19a4acc36e5ad/pymongo-4.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:1195370a77baf003b59b10e91ecc4706297197f0dd9d29c840cc556dc08f7cee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2a/6b/c1206879708b94e82fcd8b9653440ec271f79a3674d122192df383047f5a/pymongo-4.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:809ec74de3b9148ae43fa8df9faf53470f511c8d384f13b99d6f671f2a379f15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/cf/bb044ed85160e5c40f568c7c4f4e8ea16f40764ff5d302e5befbe8f6f814/pymongo-4.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a431b737816bf4cddd4fa0fcef04e424ad36b7692734a64150f872fb8f3208be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/0a/f6dfd5ea3901e5d6888da8de8ba728971a1d447debab681cfc56f90d1208/pymongo-4.17.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e4fab10f8403169ce92f3cea921609d9ee81107306caae06c08f592d4b8ad2b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/c5/081f59a1c02ae8c0dc73ae58e563838c44eec81aeafa7d0b93a637841c9b/pymongo-4.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20323b0b1c1d33770ad1fc68d429c757734ce9ad3594421c3d6618f10572b1b9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/31/42/6e41d434297ffe8b30d9c3717916591a4a7be9075a0dcc2fafdfaaaa62ed/pymongo-4.17.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5a5de048e6da5c18e27cc2437e8c15b3b0cdc8385c15b41178b0caa3322a09c2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/cf/1e4a7db352ef9485831c7268dfe8402f0117b32a9ad54b16e810699e3617/pymongo-4.17.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dff3de1294fbbc1db0ba6b511f77b8e540601d092538a31312e99c8a91a78b1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/10/6195be29962a61ebb5f4bd9e4c7519890b172f7968a0a0d880398c6ddb02/pymongo-4.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:faf03e4c2aafd6de626dbd30ba246d369ae33f47f10629d1bbe40f72115027a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/48/33410b8819837ed370c738587306bdf060b59cef11823be212f4a07703c5/pymongo-4.17.0-cp313-cp313-win32.whl", hash = "sha256:c9786665926a09630c5d420c79762cfadbff35a9438bcbc4c81a9fb5ab9228b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/77/c0ed522f798a286b99acaa7914ed8d9c80ab091f97f57c59ffed72906e5e/pymongo-4.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:5960519b4d7168f1ecdd3ea10c81b2aedeb9423651aca953cfbc8e76705d3b38" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/f0/c39480a2db385fde23861d0c8acda41cdaf1d43e46579db72c5c013a2e81/pymongo-4.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:0ff6bd2f735ab5356541e3e57d5b7dbfbc3f2ee1ccb10b6b0f82d58af69d1d8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/49/2b0250762a89737ed6f9cea238331baca061b89a8ddd10dd17fee52c3970/pymongo-4.17.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ff5aa3f1c7e3f08eb0e7a016c91ba468b1850ccfd63d9b1f12f56350f4974cef" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/1c/7a9b5447a08be20e84b6e5b17330917e8d6d9507daa3cd099a9309f11ad7/pymongo-4.17.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e816db649ba5d7de0568cf3a9f287a9dc9aad21cf0ca667ab156a7ef47fca0b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/a1/71704f61632dfc90407a5834fe5f6132854937c4a3648f6c05c351d85a45/pymongo-4.17.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:12c4fded3a9f1d6a687e36ebd384ac6d00b9b00de1969aa74048e7051ec2a713" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ad/b9/aff42be75108b96c2469b1d9329b912c15108f3e7ef32fdc86da8423c330/pymongo-4.17.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2db66aa8dd253a0fc1fad3b0d23d5b3993f7ebde02fbbd7727128debf2853675" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/30/44c115b8ba1479942c15fd9480eb29a7da0ba68acd56983423ba0deb4a94/pymongo-4.17.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3987e96e7c7be4083d42e8ac2cc6c0d5b78db9973c90fce42ae800b616ca6b20" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/84/21ee95c8bf0ca7acae7ec7eb365d740bf8fc0156c194baf2c3bdfcb85ec0/pymongo-4.17.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cee36b3c0d0354f880fa7a7fdcdaf2bb5e542c2281e25c1bfadf8cfe21eba7d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/89/081d7f1809d5ca09d1e47e49f2111b245f5694de3a7af32cd3a353a6f43f/pymongo-4.17.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:320b34457b20bbcc79997801f95d25ce00472915ca5241167242b42c4359e027" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/c3/0d949f9d3f2a341c1f635c398c16615e96f89f51ff424ed81e914cf1a4de/pymongo-4.17.0-cp314-cp314-win32.whl", hash = "sha256:df4a644af9ae132d4bfdb2e9516ea51a615fd881caddfbfbd071cf1354844479" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/55/5c3a3db1048054c695c75c5964cc8bedc2247fdb5a75ef6fab4ec8bb013e/pymongo-4.17.0-cp314-cp314-win_amd64.whl", hash = "sha256:c797f8a80957134f6dd9690367a0f8f5906d672119af2c6aa55f0c527b656bed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/19/e235f39906134cb0ffd5574c5a59c355ef5380f0499644ab94994afbb109/pymongo-4.17.0-cp314-cp314-win_arm64.whl", hash = "sha256:68fca71e05ee5da23a8d73cee8379dfb3d26e609a377cae731d742771ed96946" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1e/e0/c4c1a86791415b14c684fa0908f9da96de91594a3fd1fa1b8dc689fbb800/pymongo-4.17.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b4384700cffc3f1dd98e088bc0072dedf6d7d68a230bb4b972665cf69c071c1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/4b/69c67f3e23fd9b23b9bedc7ebd23754881cc9d5c5d5b2a9811e96b07f475/pymongo-4.17.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:93641192644fa1ee0f34030e774fd31022a27ad11ba22cb1716142231524f8bd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/19/a5208f62f9508a26d73acc69bd3821b8c8adae253679a3c26d2f9652f0d5/pymongo-4.17.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:75bc3aa5b94fdb7138d357ec6ca61cd97e0c79f4f7f0bd3efe9639b15cc50942" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/27/426cba1ec5973082a56d4150798529bfdf4151c31391ed1fbbecb23ef2ac/pymongo-4.17.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50e8f8e23c6df7c6d6929f5e734980b227706e73ee847517c9ba5af90f7fc466" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/2e/f70993d1255e33f6ee59a4ec4371cc65bff7a7e3fda7d55c3386f25287e8/pymongo-4.17.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:15d3f3d732aecac1f8d481bde4029755615639bd3076f258a2147210aec8515a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/eb/87b0e988ba889e1fcc3430c2cfc166b251872c813e92b43174298bee17ff/pymongo-4.17.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5f62862d0f87be481fa1fe8cb811994486773c94a2b61e509285e3f2890763" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/4c/3f83412d086f682d4d468761d66ddc49cf161e786ea74073045eb4491c60/pymongo-4.17.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64837adbbd72073301af51bb0fc80e3d7707fe5527cea1033ba0320f0b2f881b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/d8/b75f6f4ab6c8beb50b0270a4f1e2530b5774f5e116563440e1677ca1820f/pymongo-4.17.0-cp314-cp314t-win32.whl", hash = "sha256:b93b22eedc62598cf5ee9d8c8007a8e9121c50fd88137012d8985500e9dc3151" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/5e/648c8a238eef18a25ed8a169ea6542d4a860bbec3e95b3d9badac2935c71/pymongo-4.17.0-cp314-cp314t-win_amd64.whl", hash = "sha256:3689ea34f6b647c7d1e7bdc60fcfb214b2789ed1359a7fb96569c69f50e5f18f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/cb/d9780b66939c4fc1f024bcc7be23a2abcfe06a9745ca8fa76dc73395482e/pymongo-4.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9543d8f84c2e5608565c08ac679774811e6730770d8a645439b073422a4276fb" }, ] [[package]] name = "pyparsing" version = "3.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc" } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d" }, ] [[package]] name = "pyprojroot" version = "0.3.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/7f/d04044efe4acc4185db1174209fadac33cc21c015ed0d6bef8884c9fa808/pyprojroot-0.3.0.tar.gz", hash = "sha256:109705bb790968704958efcfc5ccce85d8e3dafa054897cc81371fcbbf56cb10", size = 6287, upload-time = "2023-03-13T05:39:30.318Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/7f/d04044efe4acc4185db1174209fadac33cc21c015ed0d6bef8884c9fa808/pyprojroot-0.3.0.tar.gz", hash = "sha256:109705bb790968704958efcfc5ccce85d8e3dafa054897cc81371fcbbf56cb10" } wheels = [ - { url = "https://files.pythonhosted.org/packages/53/9b/eef01392be945c0fe86a8d084ba9188b1e2b22af037d7109b9f40a962cd0/pyprojroot-0.3.0-py3-none-any.whl", hash = "sha256:c426b51b17ab4f4d4f95b479cf5b6c22df59bb58fbd4f01b37a6977d29b99888", size = 7558, upload-time = "2023-03-13T05:39:28.707Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/9b/eef01392be945c0fe86a8d084ba9188b1e2b22af037d7109b9f40a962cd0/pyprojroot-0.3.0-py3-none-any.whl", hash = "sha256:c426b51b17ab4f4d4f95b479cf5b6c22df59bb58fbd4f01b37a6977d29b99888" }, ] [[package]] name = "pyqrack-cpu" version = "1.89.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/f4/2f327e1be091b44b346ae461987dea87ead1be4ddced94d2456336505990/pyqrack_cpu-1.89.0.tar.gz", hash = "sha256:f9483868405affc00e413ad9a654cfaf70f18445dd17066888cc379ba78c768e", size = 56254, upload-time = "2026-04-25T17:10:42.196Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/f4/2f327e1be091b44b346ae461987dea87ead1be4ddced94d2456336505990/pyqrack_cpu-1.89.0.tar.gz", hash = "sha256:f9483868405affc00e413ad9a654cfaf70f18445dd17066888cc379ba78c768e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/44/35/6a1610c95ffb81d6007350ca975eaed083e0e1dc513dd7e440029ffb85ae/pyqrack_cpu-1.89.0-py3-none-macosx_14_0_arm64.whl", hash = "sha256:2dd33531cc97f1e82a0da77a8724c41f11745100432591eaaea2d8bb59fbf4d4", size = 1902045, upload-time = "2026-04-25T17:10:10.083Z" }, - { url = "https://files.pythonhosted.org/packages/99/a9/900987ab5530c9b2d17dfbd40772125e468ed67eed604fac24e079c9444f/pyqrack_cpu-1.89.0-py3-none-macosx_15_0_arm64.whl", hash = "sha256:3b75ca238a8dd0c016ab31d3545d5bdb21c7459ef102942ae82b166fc80919fe", size = 1883866, upload-time = "2026-04-25T17:10:12.528Z" }, - { url = "https://files.pythonhosted.org/packages/84/4e/ac999a9a9aadee19d3c46d42a3a1cbe088e207b3537f0be8b34644b3cdae/pyqrack_cpu-1.89.0-py3-none-macosx_15_0_x86_64.whl", hash = "sha256:7c719e7fd3038a4e891faa1c865a8b23b9a6c3fb7375777b4de2e87678a2a275", size = 2071105, upload-time = "2026-04-25T17:10:14.855Z" }, - { url = "https://files.pythonhosted.org/packages/2e/52/2c4ebafcc1113f086dcabe54060e42c94cea5c04cd83b794ee1eae0860bb/pyqrack_cpu-1.89.0-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:ca92f8c3d34708c5625c928518ba5a5144dc463e6f9c9f786465d231c3ca4cba", size = 3078459, upload-time = "2026-04-25T17:10:17.528Z" }, - { url = "https://files.pythonhosted.org/packages/2f/77/2d62203d1e6589656f69a9e238daad018fbe7c3c61e10aa491b2e818dd1c/pyqrack_cpu-1.89.0-py3-none-manylinux_2_39_x86_64.whl", hash = "sha256:46bc2808c36f7ea1b45ec019890268f94cbce275a3a640ae0f96d135af2c594a", size = 3032387, upload-time = "2026-04-25T17:10:20.351Z" }, - { url = "https://files.pythonhosted.org/packages/e5/88/8ed6132343afeb0f31f22c58b246f029e46e6ef4abdc538aadd63bf0eba5/pyqrack_cpu-1.89.0-py3-none-win_amd64.whl", hash = "sha256:03a65d64131cbb4c2e31298de94c4372a7d90b61454839975a1d9c321a6091f7", size = 807305, upload-time = "2026-04-25T17:10:22.824Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/35/6a1610c95ffb81d6007350ca975eaed083e0e1dc513dd7e440029ffb85ae/pyqrack_cpu-1.89.0-py3-none-macosx_14_0_arm64.whl", hash = "sha256:2dd33531cc97f1e82a0da77a8724c41f11745100432591eaaea2d8bb59fbf4d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/a9/900987ab5530c9b2d17dfbd40772125e468ed67eed604fac24e079c9444f/pyqrack_cpu-1.89.0-py3-none-macosx_15_0_arm64.whl", hash = "sha256:3b75ca238a8dd0c016ab31d3545d5bdb21c7459ef102942ae82b166fc80919fe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/4e/ac999a9a9aadee19d3c46d42a3a1cbe088e207b3537f0be8b34644b3cdae/pyqrack_cpu-1.89.0-py3-none-macosx_15_0_x86_64.whl", hash = "sha256:7c719e7fd3038a4e891faa1c865a8b23b9a6c3fb7375777b4de2e87678a2a275" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2e/52/2c4ebafcc1113f086dcabe54060e42c94cea5c04cd83b794ee1eae0860bb/pyqrack_cpu-1.89.0-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:ca92f8c3d34708c5625c928518ba5a5144dc463e6f9c9f786465d231c3ca4cba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/77/2d62203d1e6589656f69a9e238daad018fbe7c3c61e10aa491b2e818dd1c/pyqrack_cpu-1.89.0-py3-none-manylinux_2_39_x86_64.whl", hash = "sha256:46bc2808c36f7ea1b45ec019890268f94cbce275a3a640ae0f96d135af2c594a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/88/8ed6132343afeb0f31f22c58b246f029e46e6ef4abdc538aadd63bf0eba5/pyqrack_cpu-1.89.0-py3-none-win_amd64.whl", hash = "sha256:03a65d64131cbb4c2e31298de94c4372a7d90b61454839975a1d9c321a6091f7" }, ] [[package]] name = "pytest" version = "9.0.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, @@ -3662,486 +3667,486 @@ dependencies = [ { name = "pygments" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", size = 1572165, upload-time = "2026-04-07T17:16:18.027Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9" }, ] [[package]] name = "python-dateutil" version = "2.9.0.post0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/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" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" }, ] [[package]] name = "python-dotenv" version = "1.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", size = 50135, upload-time = "2026-03-01T16:00:26.196Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a" }, ] [[package]] name = "python-multipart" version = "0.0.29" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4e/fe/70bd71a6738b09a0bdf6480ca6436b167469ca4578b2a0efbe390b4b0e70/python_multipart-0.0.29.tar.gz", hash = "sha256:643e93849196645e2dbdd81a0f8829a23123ad7f797a84a364c6fb3563f18904", size = 45678, upload-time = "2026-05-17T17:29:47.654Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/fe/70bd71a6738b09a0bdf6480ca6436b167469ca4578b2a0efbe390b4b0e70/python_multipart-0.0.29.tar.gz", hash = "sha256:643e93849196645e2dbdd81a0f8829a23123ad7f797a84a364c6fb3563f18904" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/cb/769cfc37177252872a45a71f3fbdde9d51b471a3f3c14bfe95dde3407386/python_multipart-0.0.29-py3-none-any.whl", hash = "sha256:2ddcc971cef266225f54f552d8fa10bcfbb1f14446caec199060daac59ff2d69", size = 29640, upload-time = "2026-05-17T17:29:45.69Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/cb/769cfc37177252872a45a71f3fbdde9d51b471a3f3c14bfe95dde3407386/python_multipart-0.0.29-py3-none-any.whl", hash = "sha256:2ddcc971cef266225f54f552d8fa10bcfbb1f14446caec199060daac59ff2d69" }, ] [[package]] name = "python-slugify" version = "8.0.4" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "text-unidecode" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/87/c7/5e1547c44e31da50a460df93af11a535ace568ef89d7a811069ead340c4a/python-slugify-8.0.4.tar.gz", hash = "sha256:59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856", size = 10921, upload-time = "2024-02-08T18:32:45.488Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/c7/5e1547c44e31da50a460df93af11a535ace568ef89d7a811069ead340c4a/python-slugify-8.0.4.tar.gz", hash = "sha256:59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/62/02da182e544a51a5c3ccf4b03ab79df279f9c60c5e82d5e8bec7ca26ac11/python_slugify-8.0.4-py2.py3-none-any.whl", hash = "sha256:276540b79961052b66b7d116620b36518847f52d5fd9e3a70164fc8c50faa6b8", size = 10051, upload-time = "2024-02-08T18:32:43.911Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/62/02da182e544a51a5c3ccf4b03ab79df279f9c60c5e82d5e8bec7ca26ac11/python_slugify-8.0.4-py2.py3-none-any.whl", hash = "sha256:276540b79961052b66b7d116620b36518847f52d5fd9e3a70164fc8c50faa6b8" }, ] [[package]] name = "pytz" version = "2026.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ff/46/dd499ec9038423421951e4fad73051febaa13d2df82b4064f87af8b8c0c3/pytz-2026.2.tar.gz", hash = "sha256:0e60b47b29f21574376f218fe21abc009894a2321ea16c6754f3cad6eb7cdd6a", size = 320861, upload-time = "2026-05-04T01:35:29.667Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/46/dd499ec9038423421951e4fad73051febaa13d2df82b4064f87af8b8c0c3/pytz-2026.2.tar.gz", hash = "sha256:0e60b47b29f21574376f218fe21abc009894a2321ea16c6754f3cad6eb7cdd6a" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/dd/96da98f892250475bdf2328112d7468abdd4acc7b902b6af23f4ed958ea0/pytz-2026.2-py2.py3-none-any.whl", hash = "sha256:04156e608bee23d3792fd45c94ae47fae1036688e75032eea2e3bf0323d1f126", size = 510141, upload-time = "2026-05-04T01:35:27.408Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/dd/96da98f892250475bdf2328112d7468abdd4acc7b902b6af23f4ed958ea0/pytz-2026.2-py2.py3-none-any.whl", hash = "sha256:04156e608bee23d3792fd45c94ae47fae1036688e75032eea2e3bf0323d1f126" }, ] [[package]] name = "pywin32-ctypes" version = "0.2.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" }, ] [[package]] name = "pyyaml" version = "6.0.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" }, - { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" }, - { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" }, - { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" }, - { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" }, - { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" }, - { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" }, - { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" }, - { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, - { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, - { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, - { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, - { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, - { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, - { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, - { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, - { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, - { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, - { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, - { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, - { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, - { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, - { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, - { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, - { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, - { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, - { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, - { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, - { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, - { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, - { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, - { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, - { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, - { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, - { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, - { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, - { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, - { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, - { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, - { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, - { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, - { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, - { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, - { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, - { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, - { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, - { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, - { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, - { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, - { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, - { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, - { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, - { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, - { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b" }, ] [[package]] name = "pyyaml-env-tag" version = "1.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04" }, ] [[package]] name = "pyzmq" version = "27.1.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "cffi", marker = "implementation_name == 'pypy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/67/b9/52aa9ec2867528b54f1e60846728d8b4d84726630874fee3a91e66c7df81/pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4", size = 1329850, upload-time = "2025-09-08T23:07:26.274Z" }, - { url = "https://files.pythonhosted.org/packages/99/64/5653e7b7425b169f994835a2b2abf9486264401fdef18df91ddae47ce2cc/pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556", size = 906380, upload-time = "2025-09-08T23:07:29.78Z" }, - { url = "https://files.pythonhosted.org/packages/73/78/7d713284dbe022f6440e391bd1f3c48d9185673878034cfb3939cdf333b2/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf7b38f9fd7b81cb6d9391b2946382c8237fd814075c6aa9c3b746d53076023b", size = 666421, upload-time = "2025-09-08T23:07:31.263Z" }, - { url = "https://files.pythonhosted.org/packages/30/76/8f099f9d6482450428b17c4d6b241281af7ce6a9de8149ca8c1c649f6792/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03ff0b279b40d687691a6217c12242ee71f0fba28bf8626ff50e3ef0f4410e1e", size = 854149, upload-time = "2025-09-08T23:07:33.17Z" }, - { url = "https://files.pythonhosted.org/packages/59/f0/37fbfff06c68016019043897e4c969ceab18bde46cd2aca89821fcf4fb2e/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:677e744fee605753eac48198b15a2124016c009a11056f93807000ab11ce6526", size = 1655070, upload-time = "2025-09-08T23:07:35.205Z" }, - { url = "https://files.pythonhosted.org/packages/47/14/7254be73f7a8edc3587609554fcaa7bfd30649bf89cd260e4487ca70fdaa/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd2fec2b13137416a1c5648b7009499bcc8fea78154cd888855fa32514f3dad1", size = 2033441, upload-time = "2025-09-08T23:07:37.432Z" }, - { url = "https://files.pythonhosted.org/packages/22/dc/49f2be26c6f86f347e796a4d99b19167fc94503f0af3fd010ad262158822/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08e90bb4b57603b84eab1d0ca05b3bbb10f60c1839dc471fc1c9e1507bef3386", size = 1891529, upload-time = "2025-09-08T23:07:39.047Z" }, - { url = "https://files.pythonhosted.org/packages/a3/3e/154fb963ae25be70c0064ce97776c937ecc7d8b0259f22858154a9999769/pyzmq-27.1.0-cp310-cp310-win32.whl", hash = "sha256:a5b42d7a0658b515319148875fcb782bbf118dd41c671b62dae33666c2213bda", size = 567276, upload-time = "2025-09-08T23:07:40.695Z" }, - { url = "https://files.pythonhosted.org/packages/62/b2/f4ab56c8c595abcb26b2be5fd9fa9e6899c1e5ad54964e93ae8bb35482be/pyzmq-27.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0bb87227430ee3aefcc0ade2088100e528d5d3298a0a715a64f3d04c60ba02f", size = 632208, upload-time = "2025-09-08T23:07:42.298Z" }, - { url = "https://files.pythonhosted.org/packages/3b/e3/be2cc7ab8332bdac0522fdb64c17b1b6241a795bee02e0196636ec5beb79/pyzmq-27.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:9a916f76c2ab8d045b19f2286851a38e9ac94ea91faf65bd64735924522a8b32", size = 559766, upload-time = "2025-09-08T23:07:43.869Z" }, - { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328, upload-time = "2025-09-08T23:07:45.946Z" }, - { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803, upload-time = "2025-09-08T23:07:47.551Z" }, - { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836, upload-time = "2025-09-08T23:07:49.436Z" }, - { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038, upload-time = "2025-09-08T23:07:51.234Z" }, - { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531, upload-time = "2025-09-08T23:07:52.795Z" }, - { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786, upload-time = "2025-09-08T23:07:55.047Z" }, - { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220, upload-time = "2025-09-08T23:07:57.172Z" }, - { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155, upload-time = "2025-09-08T23:07:59.05Z" }, - { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428, upload-time = "2025-09-08T23:08:00.663Z" }, - { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497, upload-time = "2025-09-08T23:08:02.15Z" }, - { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, - { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, - { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, - { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, - { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, - { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, - { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, - { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, - { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, - { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, - { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, - { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, - { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, - { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, - { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, - { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, - { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, - { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, - { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, - { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, - { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, - { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, - { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, - { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, - { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, - { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, - { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, - { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, - { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, - { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, - { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, - { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, - { url = "https://files.pythonhosted.org/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6", size = 836266, upload-time = "2025-09-08T23:09:40.048Z" }, - { url = "https://files.pythonhosted.org/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90", size = 800206, upload-time = "2025-09-08T23:09:41.902Z" }, - { url = "https://files.pythonhosted.org/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62", size = 567747, upload-time = "2025-09-08T23:09:43.741Z" }, - { url = "https://files.pythonhosted.org/packages/d1/db/5c4d6807434751e3f21231bee98109aa57b9b9b55e058e450d0aef59b70f/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:448f9cb54eb0cee4732b46584f2710c8bc178b0e5371d9e4fc8125201e413a74", size = 747371, upload-time = "2025-09-08T23:09:45.575Z" }, - { url = "https://files.pythonhosted.org/packages/26/af/78ce193dbf03567eb8c0dc30e3df2b9e56f12a670bf7eb20f9fb532c7e8a/pyzmq-27.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05b12f2d32112bf8c95ef2e74ec4f1d4beb01f8b5e703b38537f8849f92cb9ba", size = 544862, upload-time = "2025-09-08T23:09:47.448Z" }, - { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265, upload-time = "2025-09-08T23:09:49.376Z" }, - { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208, upload-time = "2025-09-08T23:09:51.073Z" }, - { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" }, - { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" }, - { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/b9/52aa9ec2867528b54f1e60846728d8b4d84726630874fee3a91e66c7df81/pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/64/5653e7b7425b169f994835a2b2abf9486264401fdef18df91ddae47ce2cc/pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/78/7d713284dbe022f6440e391bd1f3c48d9185673878034cfb3939cdf333b2/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf7b38f9fd7b81cb6d9391b2946382c8237fd814075c6aa9c3b746d53076023b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/76/8f099f9d6482450428b17c4d6b241281af7ce6a9de8149ca8c1c649f6792/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03ff0b279b40d687691a6217c12242ee71f0fba28bf8626ff50e3ef0f4410e1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/f0/37fbfff06c68016019043897e4c969ceab18bde46cd2aca89821fcf4fb2e/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:677e744fee605753eac48198b15a2124016c009a11056f93807000ab11ce6526" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/14/7254be73f7a8edc3587609554fcaa7bfd30649bf89cd260e4487ca70fdaa/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd2fec2b13137416a1c5648b7009499bcc8fea78154cd888855fa32514f3dad1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/dc/49f2be26c6f86f347e796a4d99b19167fc94503f0af3fd010ad262158822/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08e90bb4b57603b84eab1d0ca05b3bbb10f60c1839dc471fc1c9e1507bef3386" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/3e/154fb963ae25be70c0064ce97776c937ecc7d8b0259f22858154a9999769/pyzmq-27.1.0-cp310-cp310-win32.whl", hash = "sha256:a5b42d7a0658b515319148875fcb782bbf118dd41c671b62dae33666c2213bda" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/b2/f4ab56c8c595abcb26b2be5fd9fa9e6899c1e5ad54964e93ae8bb35482be/pyzmq-27.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0bb87227430ee3aefcc0ade2088100e528d5d3298a0a715a64f3d04c60ba02f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/e3/be2cc7ab8332bdac0522fdb64c17b1b6241a795bee02e0196636ec5beb79/pyzmq-27.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:9a916f76c2ab8d045b19f2286851a38e9ac94ea91faf65bd64735924522a8b32" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/db/5c4d6807434751e3f21231bee98109aa57b9b9b55e058e450d0aef59b70f/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:448f9cb54eb0cee4732b46584f2710c8bc178b0e5371d9e4fc8125201e413a74" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/26/af/78ce193dbf03567eb8c0dc30e3df2b9e56f12a670bf7eb20f9fb532c7e8a/pyzmq-27.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05b12f2d32112bf8c95ef2e74ec4f1d4beb01f8b5e703b38537f8849f92cb9ba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355" }, ] [[package]] name = "referencing" version = "0.37.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "attrs" }, { name = "rpds-py" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231" }, ] [[package]] name = "requests" version = "2.33.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "certifi" }, { name = "charset-normalizer" }, { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517", size = 134120, upload-time = "2026-03-30T16:09:15.531Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a", size = 64947, upload-time = "2026-03-30T16:09:13.83Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a" }, ] [[package]] name = "requests-oauthlib" version = "2.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "oauthlib" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/f2/05f29bc3913aea15eb670be136045bf5c5bbf4b99ecb839da9b422bb2c85/requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9", size = 55650, upload-time = "2024-03-22T20:32:29.939Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/f2/05f29bc3913aea15eb670be136045bf5c5bbf4b99ecb839da9b422bb2c85/requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36", size = 24179, upload-time = "2024-03-22T20:32:28.055Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36" }, ] [[package]] name = "rich" version = "15.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" } wheels = [ - { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" }, ] [[package]] name = "rpds-py" version = "0.30.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469, upload-time = "2025-11-30T20:24:38.837Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288", size = 370490, upload-time = "2025-11-30T20:21:33.256Z" }, - { url = "https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00", size = 359751, upload-time = "2025-11-30T20:21:34.591Z" }, - { url = "https://files.pythonhosted.org/packages/cd/7c/e4933565ef7f7a0818985d87c15d9d273f1a649afa6a52ea35ad011195ea/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6", size = 389696, upload-time = "2025-11-30T20:21:36.122Z" }, - { url = "https://files.pythonhosted.org/packages/5e/01/6271a2511ad0815f00f7ed4390cf2567bec1d4b1da39e2c27a41e6e3b4de/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7", size = 403136, upload-time = "2025-11-30T20:21:37.728Z" }, - { url = "https://files.pythonhosted.org/packages/55/64/c857eb7cd7541e9b4eee9d49c196e833128a55b89a9850a9c9ac33ccf897/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324", size = 524699, upload-time = "2025-11-30T20:21:38.92Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ed/94816543404078af9ab26159c44f9e98e20fe47e2126d5d32c9d9948d10a/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df", size = 412022, upload-time = "2025-11-30T20:21:40.407Z" }, - { url = "https://files.pythonhosted.org/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3", size = 390522, upload-time = "2025-11-30T20:21:42.17Z" }, - { url = "https://files.pythonhosted.org/packages/13/4e/57a85fda37a229ff4226f8cbcf09f2a455d1ed20e802ce5b2b4a7f5ed053/rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221", size = 404579, upload-time = "2025-11-30T20:21:43.769Z" }, - { url = "https://files.pythonhosted.org/packages/f9/da/c9339293513ec680a721e0e16bf2bac3db6e5d7e922488de471308349bba/rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7", size = 421305, upload-time = "2025-11-30T20:21:44.994Z" }, - { url = "https://files.pythonhosted.org/packages/f9/be/522cb84751114f4ad9d822ff5a1aa3c98006341895d5f084779b99596e5c/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff", size = 572503, upload-time = "2025-11-30T20:21:46.91Z" }, - { url = "https://files.pythonhosted.org/packages/a2/9b/de879f7e7ceddc973ea6e4629e9b380213a6938a249e94b0cdbcc325bb66/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7", size = 598322, upload-time = "2025-11-30T20:21:48.709Z" }, - { url = "https://files.pythonhosted.org/packages/48/ac/f01fc22efec3f37d8a914fc1b2fb9bcafd56a299edbe96406f3053edea5a/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139", size = 560792, upload-time = "2025-11-30T20:21:50.024Z" }, - { url = "https://files.pythonhosted.org/packages/e2/da/4e2b19d0f131f35b6146425f846563d0ce036763e38913d917187307a671/rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464", size = 221901, upload-time = "2025-11-30T20:21:51.32Z" }, - { url = "https://files.pythonhosted.org/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169", size = 235823, upload-time = "2025-11-30T20:21:52.505Z" }, - { url = "https://files.pythonhosted.org/packages/4d/6e/f964e88b3d2abee2a82c1ac8366da848fce1c6d834dc2132c3fda3970290/rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425", size = 370157, upload-time = "2025-11-30T20:21:53.789Z" }, - { url = "https://files.pythonhosted.org/packages/94/ba/24e5ebb7c1c82e74c4e4f33b2112a5573ddc703915b13a073737b59b86e0/rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d", size = 359676, upload-time = "2025-11-30T20:21:55.475Z" }, - { url = "https://files.pythonhosted.org/packages/84/86/04dbba1b087227747d64d80c3b74df946b986c57af0a9f0c98726d4d7a3b/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4", size = 389938, upload-time = "2025-11-30T20:21:57.079Z" }, - { url = "https://files.pythonhosted.org/packages/42/bb/1463f0b1722b7f45431bdd468301991d1328b16cffe0b1c2918eba2c4eee/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f", size = 402932, upload-time = "2025-11-30T20:21:58.47Z" }, - { url = "https://files.pythonhosted.org/packages/99/ee/2520700a5c1f2d76631f948b0736cdf9b0acb25abd0ca8e889b5c62ac2e3/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4", size = 525830, upload-time = "2025-11-30T20:21:59.699Z" }, - { url = "https://files.pythonhosted.org/packages/e0/ad/bd0331f740f5705cc555a5e17fdf334671262160270962e69a2bdef3bf76/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97", size = 412033, upload-time = "2025-11-30T20:22:00.991Z" }, - { url = "https://files.pythonhosted.org/packages/f8/1e/372195d326549bb51f0ba0f2ecb9874579906b97e08880e7a65c3bef1a99/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89", size = 390828, upload-time = "2025-11-30T20:22:02.723Z" }, - { url = "https://files.pythonhosted.org/packages/ab/2b/d88bb33294e3e0c76bc8f351a3721212713629ffca1700fa94979cb3eae8/rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d", size = 404683, upload-time = "2025-11-30T20:22:04.367Z" }, - { url = "https://files.pythonhosted.org/packages/50/32/c759a8d42bcb5289c1fac697cd92f6fe01a018dd937e62ae77e0e7f15702/rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038", size = 421583, upload-time = "2025-11-30T20:22:05.814Z" }, - { url = "https://files.pythonhosted.org/packages/2b/81/e729761dbd55ddf5d84ec4ff1f47857f4374b0f19bdabfcf929164da3e24/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7", size = 572496, upload-time = "2025-11-30T20:22:07.713Z" }, - { url = "https://files.pythonhosted.org/packages/14/f6/69066a924c3557c9c30baa6ec3a0aa07526305684c6f86c696b08860726c/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed", size = 598669, upload-time = "2025-11-30T20:22:09.312Z" }, - { url = "https://files.pythonhosted.org/packages/5f/48/905896b1eb8a05630d20333d1d8ffd162394127b74ce0b0784ae04498d32/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85", size = 561011, upload-time = "2025-11-30T20:22:11.309Z" }, - { url = "https://files.pythonhosted.org/packages/22/16/cd3027c7e279d22e5eb431dd3c0fbc677bed58797fe7581e148f3f68818b/rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c", size = 221406, upload-time = "2025-11-30T20:22:13.101Z" }, - { url = "https://files.pythonhosted.org/packages/fa/5b/e7b7aa136f28462b344e652ee010d4de26ee9fd16f1bfd5811f5153ccf89/rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825", size = 236024, upload-time = "2025-11-30T20:22:14.853Z" }, - { url = "https://files.pythonhosted.org/packages/14/a6/364bba985e4c13658edb156640608f2c9e1d3ea3c81b27aa9d889fff0e31/rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229", size = 229069, upload-time = "2025-11-30T20:22:16.577Z" }, - { url = "https://files.pythonhosted.org/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad", size = 375086, upload-time = "2025-11-30T20:22:17.93Z" }, - { url = "https://files.pythonhosted.org/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05", size = 359053, upload-time = "2025-11-30T20:22:19.297Z" }, - { url = "https://files.pythonhosted.org/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28", size = 390763, upload-time = "2025-11-30T20:22:21.661Z" }, - { url = "https://files.pythonhosted.org/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd", size = 408951, upload-time = "2025-11-30T20:22:23.408Z" }, - { url = "https://files.pythonhosted.org/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f", size = 514622, upload-time = "2025-11-30T20:22:25.16Z" }, - { url = "https://files.pythonhosted.org/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1", size = 414492, upload-time = "2025-11-30T20:22:26.505Z" }, - { url = "https://files.pythonhosted.org/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23", size = 394080, upload-time = "2025-11-30T20:22:27.934Z" }, - { url = "https://files.pythonhosted.org/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6", size = 408680, upload-time = "2025-11-30T20:22:29.341Z" }, - { url = "https://files.pythonhosted.org/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51", size = 423589, upload-time = "2025-11-30T20:22:31.469Z" }, - { url = "https://files.pythonhosted.org/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5", size = 573289, upload-time = "2025-11-30T20:22:32.997Z" }, - { url = "https://files.pythonhosted.org/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e", size = 599737, upload-time = "2025-11-30T20:22:34.419Z" }, - { url = "https://files.pythonhosted.org/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394", size = 563120, upload-time = "2025-11-30T20:22:35.903Z" }, - { url = "https://files.pythonhosted.org/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf", size = 223782, upload-time = "2025-11-30T20:22:37.271Z" }, - { url = "https://files.pythonhosted.org/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b", size = 240463, upload-time = "2025-11-30T20:22:39.021Z" }, - { url = "https://files.pythonhosted.org/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e", size = 230868, upload-time = "2025-11-30T20:22:40.493Z" }, - { url = "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", size = 374887, upload-time = "2025-11-30T20:22:41.812Z" }, - { url = "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", size = 358904, upload-time = "2025-11-30T20:22:43.479Z" }, - { url = "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", size = 389945, upload-time = "2025-11-30T20:22:44.819Z" }, - { url = "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", size = 407783, upload-time = "2025-11-30T20:22:46.103Z" }, - { url = "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", size = 515021, upload-time = "2025-11-30T20:22:47.458Z" }, - { url = "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", size = 414589, upload-time = "2025-11-30T20:22:48.872Z" }, - { url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", size = 394025, upload-time = "2025-11-30T20:22:50.196Z" }, - { url = "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", size = 408895, upload-time = "2025-11-30T20:22:51.87Z" }, - { url = "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", size = 422799, upload-time = "2025-11-30T20:22:53.341Z" }, - { url = "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", size = 572731, upload-time = "2025-11-30T20:22:54.778Z" }, - { url = "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", size = 599027, upload-time = "2025-11-30T20:22:56.212Z" }, - { url = "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", size = 563020, upload-time = "2025-11-30T20:22:58.2Z" }, - { url = "https://files.pythonhosted.org/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d", size = 223139, upload-time = "2025-11-30T20:23:00.209Z" }, - { url = "https://files.pythonhosted.org/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15", size = 240224, upload-time = "2025-11-30T20:23:02.008Z" }, - { url = "https://files.pythonhosted.org/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1", size = 230645, upload-time = "2025-11-30T20:23:03.43Z" }, - { url = "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", size = 364443, upload-time = "2025-11-30T20:23:04.878Z" }, - { url = "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", size = 353375, upload-time = "2025-11-30T20:23:06.342Z" }, - { url = "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", size = 383850, upload-time = "2025-11-30T20:23:07.825Z" }, - { url = "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", size = 392812, upload-time = "2025-11-30T20:23:09.228Z" }, - { url = "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", size = 517841, upload-time = "2025-11-30T20:23:11.186Z" }, - { url = "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", size = 408149, upload-time = "2025-11-30T20:23:12.864Z" }, - { url = "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", size = 383843, upload-time = "2025-11-30T20:23:14.638Z" }, - { url = "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", size = 396507, upload-time = "2025-11-30T20:23:16.105Z" }, - { url = "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", size = 414949, upload-time = "2025-11-30T20:23:17.539Z" }, - { url = "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", size = 565790, upload-time = "2025-11-30T20:23:19.029Z" }, - { url = "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", size = 590217, upload-time = "2025-11-30T20:23:20.885Z" }, - { url = "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", size = 555806, upload-time = "2025-11-30T20:23:22.488Z" }, - { url = "https://files.pythonhosted.org/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6", size = 211341, upload-time = "2025-11-30T20:23:24.449Z" }, - { url = "https://files.pythonhosted.org/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d", size = 225768, upload-time = "2025-11-30T20:23:25.908Z" }, - { url = "https://files.pythonhosted.org/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0", size = 362099, upload-time = "2025-11-30T20:23:27.316Z" }, - { url = "https://files.pythonhosted.org/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be", size = 353192, upload-time = "2025-11-30T20:23:29.151Z" }, - { url = "https://files.pythonhosted.org/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f", size = 384080, upload-time = "2025-11-30T20:23:30.785Z" }, - { url = "https://files.pythonhosted.org/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f", size = 394841, upload-time = "2025-11-30T20:23:32.209Z" }, - { url = "https://files.pythonhosted.org/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87", size = 516670, upload-time = "2025-11-30T20:23:33.742Z" }, - { url = "https://files.pythonhosted.org/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18", size = 408005, upload-time = "2025-11-30T20:23:35.253Z" }, - { url = "https://files.pythonhosted.org/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad", size = 382112, upload-time = "2025-11-30T20:23:36.842Z" }, - { url = "https://files.pythonhosted.org/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07", size = 399049, upload-time = "2025-11-30T20:23:38.343Z" }, - { url = "https://files.pythonhosted.org/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f", size = 415661, upload-time = "2025-11-30T20:23:40.263Z" }, - { url = "https://files.pythonhosted.org/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65", size = 565606, upload-time = "2025-11-30T20:23:42.186Z" }, - { url = "https://files.pythonhosted.org/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f", size = 591126, upload-time = "2025-11-30T20:23:44.086Z" }, - { url = "https://files.pythonhosted.org/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53", size = 553371, upload-time = "2025-11-30T20:23:46.004Z" }, - { url = "https://files.pythonhosted.org/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed", size = 215298, upload-time = "2025-11-30T20:23:47.696Z" }, - { url = "https://files.pythonhosted.org/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950", size = 228604, upload-time = "2025-11-30T20:23:49.501Z" }, - { url = "https://files.pythonhosted.org/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6", size = 222391, upload-time = "2025-11-30T20:23:50.96Z" }, - { url = "https://files.pythonhosted.org/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb", size = 364868, upload-time = "2025-11-30T20:23:52.494Z" }, - { url = "https://files.pythonhosted.org/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8", size = 353747, upload-time = "2025-11-30T20:23:54.036Z" }, - { url = "https://files.pythonhosted.org/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7", size = 383795, upload-time = "2025-11-30T20:23:55.556Z" }, - { url = "https://files.pythonhosted.org/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898", size = 393330, upload-time = "2025-11-30T20:23:57.033Z" }, - { url = "https://files.pythonhosted.org/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e", size = 518194, upload-time = "2025-11-30T20:23:58.637Z" }, - { url = "https://files.pythonhosted.org/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419", size = 408340, upload-time = "2025-11-30T20:24:00.2Z" }, - { url = "https://files.pythonhosted.org/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551", size = 383765, upload-time = "2025-11-30T20:24:01.759Z" }, - { url = "https://files.pythonhosted.org/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8", size = 396834, upload-time = "2025-11-30T20:24:03.687Z" }, - { url = "https://files.pythonhosted.org/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5", size = 415470, upload-time = "2025-11-30T20:24:05.232Z" }, - { url = "https://files.pythonhosted.org/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404", size = 565630, upload-time = "2025-11-30T20:24:06.878Z" }, - { url = "https://files.pythonhosted.org/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856", size = 591148, upload-time = "2025-11-30T20:24:08.445Z" }, - { url = "https://files.pythonhosted.org/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40", size = 556030, upload-time = "2025-11-30T20:24:10.956Z" }, - { url = "https://files.pythonhosted.org/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0", size = 211570, upload-time = "2025-11-30T20:24:12.735Z" }, - { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532, upload-time = "2025-11-30T20:24:14.634Z" }, - { url = "https://files.pythonhosted.org/packages/69/71/3f34339ee70521864411f8b6992e7ab13ac30d8e4e3309e07c7361767d91/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58", size = 372292, upload-time = "2025-11-30T20:24:16.537Z" }, - { url = "https://files.pythonhosted.org/packages/57/09/f183df9b8f2d66720d2ef71075c59f7e1b336bec7ee4c48f0a2b06857653/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a", size = 362128, upload-time = "2025-11-30T20:24:18.086Z" }, - { url = "https://files.pythonhosted.org/packages/7a/68/5c2594e937253457342e078f0cc1ded3dd7b2ad59afdbf2d354869110a02/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb", size = 391542, upload-time = "2025-11-30T20:24:20.092Z" }, - { url = "https://files.pythonhosted.org/packages/49/5c/31ef1afd70b4b4fbdb2800249f34c57c64beb687495b10aec0365f53dfc4/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c", size = 404004, upload-time = "2025-11-30T20:24:22.231Z" }, - { url = "https://files.pythonhosted.org/packages/e3/63/0cfbea38d05756f3440ce6534d51a491d26176ac045e2707adc99bb6e60a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3", size = 527063, upload-time = "2025-11-30T20:24:24.302Z" }, - { url = "https://files.pythonhosted.org/packages/42/e6/01e1f72a2456678b0f618fc9a1a13f882061690893c192fcad9f2926553a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5", size = 413099, upload-time = "2025-11-30T20:24:25.916Z" }, - { url = "https://files.pythonhosted.org/packages/b8/25/8df56677f209003dcbb180765520c544525e3ef21ea72279c98b9aa7c7fb/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738", size = 392177, upload-time = "2025-11-30T20:24:27.834Z" }, - { url = "https://files.pythonhosted.org/packages/4a/b4/0a771378c5f16f8115f796d1f437950158679bcd2a7c68cf251cfb00ed5b/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f", size = 406015, upload-time = "2025-11-30T20:24:29.457Z" }, - { url = "https://files.pythonhosted.org/packages/36/d8/456dbba0af75049dc6f63ff295a2f92766b9d521fa00de67a2bd6427d57a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877", size = 423736, upload-time = "2025-11-30T20:24:31.22Z" }, - { url = "https://files.pythonhosted.org/packages/13/64/b4d76f227d5c45a7e0b796c674fd81b0a6c4fbd48dc29271857d8219571c/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a", size = 573981, upload-time = "2025-11-30T20:24:32.934Z" }, - { url = "https://files.pythonhosted.org/packages/20/91/092bacadeda3edf92bf743cc96a7be133e13a39cdbfd7b5082e7ab638406/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4", size = 599782, upload-time = "2025-11-30T20:24:35.169Z" }, - { url = "https://files.pythonhosted.org/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e", size = 562191, upload-time = "2025-11-30T20:24:36.853Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/7c/e4933565ef7f7a0818985d87c15d9d273f1a649afa6a52ea35ad011195ea/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/01/6271a2511ad0815f00f7ed4390cf2567bec1d4b1da39e2c27a41e6e3b4de/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/55/64/c857eb7cd7541e9b4eee9d49c196e833128a55b89a9850a9c9ac33ccf897/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/ed/94816543404078af9ab26159c44f9e98e20fe47e2126d5d32c9d9948d10a/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/4e/57a85fda37a229ff4226f8cbcf09f2a455d1ed20e802ce5b2b4a7f5ed053/rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/da/c9339293513ec680a721e0e16bf2bac3db6e5d7e922488de471308349bba/rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/be/522cb84751114f4ad9d822ff5a1aa3c98006341895d5f084779b99596e5c/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/9b/de879f7e7ceddc973ea6e4629e9b380213a6938a249e94b0cdbcc325bb66/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/ac/f01fc22efec3f37d8a914fc1b2fb9bcafd56a299edbe96406f3053edea5a/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/da/4e2b19d0f131f35b6146425f846563d0ce036763e38913d917187307a671/rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/6e/f964e88b3d2abee2a82c1ac8366da848fce1c6d834dc2132c3fda3970290/rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/ba/24e5ebb7c1c82e74c4e4f33b2112a5573ddc703915b13a073737b59b86e0/rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/86/04dbba1b087227747d64d80c3b74df946b986c57af0a9f0c98726d4d7a3b/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/bb/1463f0b1722b7f45431bdd468301991d1328b16cffe0b1c2918eba2c4eee/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/ee/2520700a5c1f2d76631f948b0736cdf9b0acb25abd0ca8e889b5c62ac2e3/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/ad/bd0331f740f5705cc555a5e17fdf334671262160270962e69a2bdef3bf76/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/1e/372195d326549bb51f0ba0f2ecb9874579906b97e08880e7a65c3bef1a99/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/2b/d88bb33294e3e0c76bc8f351a3721212713629ffca1700fa94979cb3eae8/rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/32/c759a8d42bcb5289c1fac697cd92f6fe01a018dd937e62ae77e0e7f15702/rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/81/e729761dbd55ddf5d84ec4ff1f47857f4374b0f19bdabfcf929164da3e24/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/f6/69066a924c3557c9c30baa6ec3a0aa07526305684c6f86c696b08860726c/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/48/905896b1eb8a05630d20333d1d8ffd162394127b74ce0b0784ae04498d32/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/16/cd3027c7e279d22e5eb431dd3c0fbc677bed58797fe7581e148f3f68818b/rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fa/5b/e7b7aa136f28462b344e652ee010d4de26ee9fd16f1bfd5811f5153ccf89/rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/a6/364bba985e4c13658edb156640608f2c9e1d3ea3c81b27aa9d889fff0e31/rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/71/3f34339ee70521864411f8b6992e7ab13ac30d8e4e3309e07c7361767d91/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/57/09/f183df9b8f2d66720d2ef71075c59f7e1b336bec7ee4c48f0a2b06857653/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/68/5c2594e937253457342e078f0cc1ded3dd7b2ad59afdbf2d354869110a02/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/5c/31ef1afd70b4b4fbdb2800249f34c57c64beb687495b10aec0365f53dfc4/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/63/0cfbea38d05756f3440ce6534d51a491d26176ac045e2707adc99bb6e60a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/e6/01e1f72a2456678b0f618fc9a1a13f882061690893c192fcad9f2926553a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/25/8df56677f209003dcbb180765520c544525e3ef21ea72279c98b9aa7c7fb/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/b4/0a771378c5f16f8115f796d1f437950158679bcd2a7c68cf251cfb00ed5b/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/d8/456dbba0af75049dc6f63ff295a2f92766b9d521fa00de67a2bd6427d57a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/13/64/b4d76f227d5c45a7e0b796c674fd81b0a6c4fbd48dc29271857d8219571c/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/20/91/092bacadeda3edf92bf743cc96a7be133e13a39cdbfd7b5082e7ab638406/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e" }, ] [[package]] name = "s3fs" version = "2026.4.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "aiobotocore" }, { name = "aiohttp" }, { name = "fsspec" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cb/d8/76f3dc1558bdf4494b117a9f7a9cc0a5d9d34edadc9e5d7ceabc5a6a7c37/s3fs-2026.4.0.tar.gz", hash = "sha256:5bdce0abb00b0435ee150807a45fea727451dbc22de4cbc116464f8504ab9d37", size = 85986, upload-time = "2026-04-29T20:52:51.748Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/d8/76f3dc1558bdf4494b117a9f7a9cc0a5d9d34edadc9e5d7ceabc5a6a7c37/s3fs-2026.4.0.tar.gz", hash = "sha256:5bdce0abb00b0435ee150807a45fea727451dbc22de4cbc116464f8504ab9d37" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/a4/9d1ea10ebc9e028a289a72fec84da170689549a8102c8aacfcad26bc5035/s3fs-2026.4.0-py3-none-any.whl", hash = "sha256:de0d2a1f33cdf03831fd2382d278c6e4e31fe57c3bf2f703c61f8aec6b703e2a", size = 32392, upload-time = "2026-04-29T20:52:50.295Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5d/a4/9d1ea10ebc9e028a289a72fec84da170689549a8102c8aacfcad26bc5035/s3fs-2026.4.0-py3-none-any.whl", hash = "sha256:de0d2a1f33cdf03831fd2382d278c6e4e31fe57c3bf2f703c61f8aec6b703e2a" }, ] [[package]] name = "s3transfer" version = "0.17.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "botocore" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9b/ec/7c692cde9125b77e84b307354d4fb705f98b8ccad59a036d5957ca75bfc3/s3transfer-0.17.0.tar.gz", hash = "sha256:9edeb6d1c3c2f89d6050348548834ad8289610d886e5bf7b7207728bd43ce33a", size = 155337, upload-time = "2026-04-29T22:07:36.33Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9b/ec/7c692cde9125b77e84b307354d4fb705f98b8ccad59a036d5957ca75bfc3/s3transfer-0.17.0.tar.gz", hash = "sha256:9edeb6d1c3c2f89d6050348548834ad8289610d886e5bf7b7207728bd43ce33a" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/72/c6c32d2b657fa3dad1de340254e14390b1e334ce38268b7ad51abda3c8c2/s3transfer-0.17.0-py3-none-any.whl", hash = "sha256:ce3801712acf4ad3e89fb9990df97b4972e93f4b3b0004d214be5bce12814c20", size = 86811, upload-time = "2026-04-29T22:07:34.966Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/72/c6c32d2b657fa3dad1de340254e14390b1e334ce38268b7ad51abda3c8c2/s3transfer-0.17.0-py3-none-any.whl", hash = "sha256:ce3801712acf4ad3e89fb9990df97b4972e93f4b3b0004d214be5bce12814c20" }, ] [[package]] name = "scipy" version = "1.15.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ { name = "numpy", 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" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca" }, ] [[package]] name = "scipy" version = "1.17.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", "python_full_version >= '3.14' and sys_platform == 'emscripten'", @@ -4157,668 +4162,668 @@ resolution-markers = [ dependencies = [ { name = "numpy", marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/df/75/b4ce781849931fef6fd529afa6b63711d5a733065722d0c3e2724af9e40a/scipy-1.17.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1f95b894f13729334fb990162e911c9e5dc1ab390c58aa6cbecb389c5b5e28ec", size = 31613675, upload-time = "2026-02-23T00:16:00.13Z" }, - { url = "https://files.pythonhosted.org/packages/f7/58/bccc2861b305abdd1b8663d6130c0b3d7cc22e8d86663edbc8401bfd40d4/scipy-1.17.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e18f12c6b0bc5a592ed23d3f7b891f68fd7f8241d69b7883769eb5d5dfb52696", size = 28162057, upload-time = "2026-02-23T00:16:09.456Z" }, - { url = "https://files.pythonhosted.org/packages/6d/ee/18146b7757ed4976276b9c9819108adbc73c5aad636e5353e20746b73069/scipy-1.17.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a3472cfbca0a54177d0faa68f697d8ba4c80bbdc19908c3465556d9f7efce9ee", size = 20334032, upload-time = "2026-02-23T00:16:17.358Z" }, - { url = "https://files.pythonhosted.org/packages/ec/e6/cef1cf3557f0c54954198554a10016b6a03b2ec9e22a4e1df734936bd99c/scipy-1.17.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:766e0dc5a616d026a3a1cffa379af959671729083882f50307e18175797b3dfd", size = 22709533, upload-time = "2026-02-23T00:16:25.791Z" }, - { url = "https://files.pythonhosted.org/packages/4d/60/8804678875fc59362b0fb759ab3ecce1f09c10a735680318ac30da8cd76b/scipy-1.17.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:744b2bf3640d907b79f3fd7874efe432d1cf171ee721243e350f55234b4cec4c", size = 33062057, upload-time = "2026-02-23T00:16:36.931Z" }, - { url = "https://files.pythonhosted.org/packages/09/7d/af933f0f6e0767995b4e2d705a0665e454d1c19402aa7e895de3951ebb04/scipy-1.17.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43af8d1f3bea642559019edfe64e9b11192a8978efbd1539d7bc2aaa23d92de4", size = 35349300, upload-time = "2026-02-23T00:16:49.108Z" }, - { url = "https://files.pythonhosted.org/packages/b4/3d/7ccbbdcbb54c8fdc20d3b6930137c782a163fa626f0aef920349873421ba/scipy-1.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd96a1898c0a47be4520327e01f874acfd61fb48a9420f8aa9f6483412ffa444", size = 35127333, upload-time = "2026-02-23T00:17:01.293Z" }, - { url = "https://files.pythonhosted.org/packages/e8/19/f926cb11c42b15ba08e3a71e376d816ac08614f769b4f47e06c3580c836a/scipy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4eb6c25dd62ee8d5edf68a8e1c171dd71c292fdae95d8aeb3dd7d7de4c364082", size = 37741314, upload-time = "2026-02-23T00:17:12.576Z" }, - { url = "https://files.pythonhosted.org/packages/95/da/0d1df507cf574b3f224ccc3d45244c9a1d732c81dcb26b1e8a766ae271a8/scipy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:d30e57c72013c2a4fe441c2fcb8e77b14e152ad48b5464858e07e2ad9fbfceff", size = 36607512, upload-time = "2026-02-23T00:17:23.424Z" }, - { url = "https://files.pythonhosted.org/packages/68/7f/bdd79ceaad24b671543ffe0ef61ed8e659440eb683b66f033454dcee90eb/scipy-1.17.1-cp311-cp311-win_arm64.whl", hash = "sha256:9ecb4efb1cd6e8c4afea0daa91a87fbddbce1b99d2895d151596716c0b2e859d", size = 24599248, upload-time = "2026-02-23T00:17:34.561Z" }, - { url = "https://files.pythonhosted.org/packages/35/48/b992b488d6f299dbe3f11a20b24d3dda3d46f1a635ede1c46b5b17a7b163/scipy-1.17.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:35c3a56d2ef83efc372eaec584314bd0ef2e2f0d2adb21c55e6ad5b344c0dcb8", size = 31610954, upload-time = "2026-02-23T00:17:49.855Z" }, - { url = "https://files.pythonhosted.org/packages/b2/02/cf107b01494c19dc100f1d0b7ac3cc08666e96ba2d64db7626066cee895e/scipy-1.17.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76", size = 28172662, upload-time = "2026-02-23T00:18:01.64Z" }, - { url = "https://files.pythonhosted.org/packages/cf/a9/599c28631bad314d219cf9ffd40e985b24d603fc8a2f4ccc5ae8419a535b/scipy-1.17.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:cc90d2e9c7e5c7f1a482c9875007c095c3194b1cfedca3c2f3291cdc2bc7c086", size = 20344366, upload-time = "2026-02-23T00:18:12.015Z" }, - { url = "https://files.pythonhosted.org/packages/35/f5/906eda513271c8deb5af284e5ef0206d17a96239af79f9fa0aebfe0e36b4/scipy-1.17.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:c80be5ede8f3f8eded4eff73cc99a25c388ce98e555b17d31da05287015ffa5b", size = 22704017, upload-time = "2026-02-23T00:18:21.502Z" }, - { url = "https://files.pythonhosted.org/packages/da/34/16f10e3042d2f1d6b66e0428308ab52224b6a23049cb2f5c1756f713815f/scipy-1.17.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e19ebea31758fac5893a2ac360fedd00116cbb7628e650842a6691ba7ca28a21", size = 32927842, upload-time = "2026-02-23T00:18:35.367Z" }, - { url = "https://files.pythonhosted.org/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02ae3b274fde71c5e92ac4d54bc06c42d80e399fec704383dcd99b301df37458", size = 35235890, upload-time = "2026-02-23T00:18:49.188Z" }, - { url = "https://files.pythonhosted.org/packages/c5/5c/9d7f4c88bea6e0d5a4f1bc0506a53a00e9fcb198de372bfe4d3652cef482/scipy-1.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8a604bae87c6195d8b1045eddece0514d041604b14f2727bbc2b3020172045eb", size = 35003557, upload-time = "2026-02-23T00:18:54.74Z" }, - { url = "https://files.pythonhosted.org/packages/65/94/7698add8f276dbab7a9de9fb6b0e02fc13ee61d51c7c3f85ac28b65e1239/scipy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f590cd684941912d10becc07325a3eeb77886fe981415660d9265c4c418d0bea", size = 37625856, upload-time = "2026-02-23T00:19:00.307Z" }, - { url = "https://files.pythonhosted.org/packages/a2/84/dc08d77fbf3d87d3ee27f6a0c6dcce1de5829a64f2eae85a0ecc1f0daa73/scipy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:41b71f4a3a4cab9d366cd9065b288efc4d4f3c0b37a91a8e0947fb5bd7f31d87", size = 36549682, upload-time = "2026-02-23T00:19:07.67Z" }, - { url = "https://files.pythonhosted.org/packages/bc/98/fe9ae9ffb3b54b62559f52dedaebe204b408db8109a8c66fdd04869e6424/scipy-1.17.1-cp312-cp312-win_arm64.whl", hash = "sha256:f4115102802df98b2b0db3cce5cb9b92572633a1197c77b7553e5203f284a5b3", size = 24547340, upload-time = "2026-02-23T00:19:12.024Z" }, - { url = "https://files.pythonhosted.org/packages/76/27/07ee1b57b65e92645f219b37148a7e7928b82e2b5dbeccecb4dff7c64f0b/scipy-1.17.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5e3c5c011904115f88a39308379c17f91546f77c1667cea98739fe0fccea804c", size = 31590199, upload-time = "2026-02-23T00:19:17.192Z" }, - { url = "https://files.pythonhosted.org/packages/ec/ae/db19f8ab842e9b724bf5dbb7db29302a91f1e55bc4d04b1025d6d605a2c5/scipy-1.17.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:6fac755ca3d2c3edcb22f479fceaa241704111414831ddd3bc6056e18516892f", size = 28154001, upload-time = "2026-02-23T00:19:22.241Z" }, - { url = "https://files.pythonhosted.org/packages/5b/58/3ce96251560107b381cbd6e8413c483bbb1228a6b919fa8652b0d4090e7f/scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:7ff200bf9d24f2e4d5dc6ee8c3ac64d739d3a89e2326ba68aaf6c4a2b838fd7d", size = 20325719, upload-time = "2026-02-23T00:19:26.329Z" }, - { url = "https://files.pythonhosted.org/packages/b2/83/15087d945e0e4d48ce2377498abf5ad171ae013232ae31d06f336e64c999/scipy-1.17.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4b400bdc6f79fa02a4d86640310dde87a21fba0c979efff5248908c6f15fad1b", size = 22683595, upload-time = "2026-02-23T00:19:30.304Z" }, - { url = "https://files.pythonhosted.org/packages/b4/e0/e58fbde4a1a594c8be8114eb4aac1a55bcd6587047efc18a61eb1f5c0d30/scipy-1.17.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b64ca7d4aee0102a97f3ba22124052b4bd2152522355073580bf4845e2550b6", size = 32896429, upload-time = "2026-02-23T00:19:35.536Z" }, - { url = "https://files.pythonhosted.org/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:581b2264fc0aa555f3f435a5944da7504ea3a065d7029ad60e7c3d1ae09c5464", size = 35203952, upload-time = "2026-02-23T00:19:42.259Z" }, - { url = "https://files.pythonhosted.org/packages/8d/a5/9afd17de24f657fdfe4df9a3f1ea049b39aef7c06000c13db1530d81ccca/scipy-1.17.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:beeda3d4ae615106d7094f7e7cef6218392e4465cc95d25f900bebabfded0950", size = 34979063, upload-time = "2026-02-23T00:19:47.547Z" }, - { url = "https://files.pythonhosted.org/packages/8b/13/88b1d2384b424bf7c924f2038c1c409f8d88bb2a8d49d097861dd64a57b2/scipy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6609bc224e9568f65064cfa72edc0f24ee6655b47575954ec6339534b2798369", size = 37598449, upload-time = "2026-02-23T00:19:53.238Z" }, - { url = "https://files.pythonhosted.org/packages/35/e5/d6d0e51fc888f692a35134336866341c08655d92614f492c6860dc45bb2c/scipy-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:37425bc9175607b0268f493d79a292c39f9d001a357bebb6b88fdfaff13f6448", size = 36510943, upload-time = "2026-02-23T00:20:50.89Z" }, - { url = "https://files.pythonhosted.org/packages/2a/fd/3be73c564e2a01e690e19cc618811540ba5354c67c8680dce3281123fb79/scipy-1.17.1-cp313-cp313-win_arm64.whl", hash = "sha256:5cf36e801231b6a2059bf354720274b7558746f3b1a4efb43fcf557ccd484a87", size = 24545621, upload-time = "2026-02-23T00:20:55.871Z" }, - { url = "https://files.pythonhosted.org/packages/6f/6b/17787db8b8114933a66f9dcc479a8272e4b4da75fe03b0c282f7b0ade8cd/scipy-1.17.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:d59c30000a16d8edc7e64152e30220bfbd724c9bbb08368c054e24c651314f0a", size = 31936708, upload-time = "2026-02-23T00:19:58.694Z" }, - { url = "https://files.pythonhosted.org/packages/38/2e/524405c2b6392765ab1e2b722a41d5da33dc5c7b7278184a8ad29b6cb206/scipy-1.17.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:010f4333c96c9bb1a4516269e33cb5917b08ef2166d5556ca2fd9f082a9e6ea0", size = 28570135, upload-time = "2026-02-23T00:20:03.934Z" }, - { url = "https://files.pythonhosted.org/packages/fd/c3/5bd7199f4ea8556c0c8e39f04ccb014ac37d1468e6cfa6a95c6b3562b76e/scipy-1.17.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2ceb2d3e01c5f1d83c4189737a42d9cb2fc38a6eeed225e7515eef71ad301dce", size = 20741977, upload-time = "2026-02-23T00:20:07.935Z" }, - { url = "https://files.pythonhosted.org/packages/d9/b8/8ccd9b766ad14c78386599708eb745f6b44f08400a5fd0ade7cf89b6fc93/scipy-1.17.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:844e165636711ef41f80b4103ed234181646b98a53c8f05da12ca5ca289134f6", size = 23029601, upload-time = "2026-02-23T00:20:12.161Z" }, - { url = "https://files.pythonhosted.org/packages/6d/a0/3cb6f4d2fb3e17428ad2880333cac878909ad1a89f678527b5328b93c1d4/scipy-1.17.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:158dd96d2207e21c966063e1635b1063cd7787b627b6f07305315dd73d9c679e", size = 33019667, upload-time = "2026-02-23T00:20:17.208Z" }, - { url = "https://files.pythonhosted.org/packages/f3/c3/2d834a5ac7bf3a0c806ad1508efc02dda3c8c61472a56132d7894c312dea/scipy-1.17.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74cbb80d93260fe2ffa334efa24cb8f2f0f622a9b9febf8b483c0b865bfb3475", size = 35264159, upload-time = "2026-02-23T00:20:23.087Z" }, - { url = "https://files.pythonhosted.org/packages/4d/77/d3ed4becfdbd217c52062fafe35a72388d1bd82c2d0ba5ca19d6fcc93e11/scipy-1.17.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dbc12c9f3d185f5c737d801da555fb74b3dcfa1a50b66a1a93e09190f41fab50", size = 35102771, upload-time = "2026-02-23T00:20:28.636Z" }, - { url = "https://files.pythonhosted.org/packages/bd/12/d19da97efde68ca1ee5538bb261d5d2c062f0c055575128f11a2730e3ac1/scipy-1.17.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94055a11dfebe37c656e70317e1996dc197e1a15bbcc351bcdd4610e128fe1ca", size = 37665910, upload-time = "2026-02-23T00:20:34.743Z" }, - { url = "https://files.pythonhosted.org/packages/06/1c/1172a88d507a4baaf72c5a09bb6c018fe2ae0ab622e5830b703a46cc9e44/scipy-1.17.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e30bdeaa5deed6bc27b4cc490823cd0347d7dae09119b8803ae576ea0ce52e4c", size = 36562980, upload-time = "2026-02-23T00:20:40.575Z" }, - { url = "https://files.pythonhosted.org/packages/70/b0/eb757336e5a76dfa7911f63252e3b7d1de00935d7705cf772db5b45ec238/scipy-1.17.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a720477885a9d2411f94a93d16f9d89bad0f28ca23c3f8daa521e2dcc3f44d49", size = 24856543, upload-time = "2026-02-23T00:20:45.313Z" }, - { url = "https://files.pythonhosted.org/packages/cf/83/333afb452af6f0fd70414dc04f898647ee1423979ce02efa75c3b0f2c28e/scipy-1.17.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:a48a72c77a310327f6a3a920092fa2b8fd03d7deaa60f093038f22d98e096717", size = 31584510, upload-time = "2026-02-23T00:21:01.015Z" }, - { url = "https://files.pythonhosted.org/packages/ed/a6/d05a85fd51daeb2e4ea71d102f15b34fedca8e931af02594193ae4fd25f7/scipy-1.17.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:45abad819184f07240d8a696117a7aacd39787af9e0b719d00285549ed19a1e9", size = 28170131, upload-time = "2026-02-23T00:21:05.888Z" }, - { url = "https://files.pythonhosted.org/packages/db/7b/8624a203326675d7746a254083a187398090a179335b2e4a20e2ddc46e83/scipy-1.17.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3fd1fcdab3ea951b610dc4cef356d416d5802991e7e32b5254828d342f7b7e0b", size = 20342032, upload-time = "2026-02-23T00:21:09.904Z" }, - { url = "https://files.pythonhosted.org/packages/c9/35/2c342897c00775d688d8ff3987aced3426858fd89d5a0e26e020b660b301/scipy-1.17.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:7bdf2da170b67fdf10bca777614b1c7d96ae3ca5794fd9587dce41eb2966e866", size = 22678766, upload-time = "2026-02-23T00:21:14.313Z" }, - { url = "https://files.pythonhosted.org/packages/ef/f2/7cdb8eb308a1a6ae1e19f945913c82c23c0c442a462a46480ce487fdc0ac/scipy-1.17.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:adb2642e060a6549c343603a3851ba76ef0b74cc8c079a9a58121c7ec9fe2350", size = 32957007, upload-time = "2026-02-23T00:21:19.663Z" }, - { url = "https://files.pythonhosted.org/packages/0b/2e/7eea398450457ecb54e18e9d10110993fa65561c4f3add5e8eccd2b9cd41/scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eee2cfda04c00a857206a4330f0c5e3e56535494e30ca445eb19ec624ae75118", size = 35221333, upload-time = "2026-02-23T00:21:25.278Z" }, - { url = "https://files.pythonhosted.org/packages/d9/77/5b8509d03b77f093a0d52e606d3c4f79e8b06d1d38c441dacb1e26cacf46/scipy-1.17.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d2650c1fb97e184d12d8ba010493ee7b322864f7d3d00d3f9bb97d9c21de4068", size = 35042066, upload-time = "2026-02-23T00:21:31.358Z" }, - { url = "https://files.pythonhosted.org/packages/f9/df/18f80fb99df40b4070328d5ae5c596f2f00fffb50167e31439e932f29e7d/scipy-1.17.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:08b900519463543aa604a06bec02461558a6e1cef8fdbb8098f77a48a83c8118", size = 37612763, upload-time = "2026-02-23T00:21:37.247Z" }, - { url = "https://files.pythonhosted.org/packages/4b/39/f0e8ea762a764a9dc52aa7dabcfad51a354819de1f0d4652b6a1122424d6/scipy-1.17.1-cp314-cp314-win_amd64.whl", hash = "sha256:3877ac408e14da24a6196de0ddcace62092bfc12a83823e92e49e40747e52c19", size = 37290984, upload-time = "2026-02-23T00:22:35.023Z" }, - { url = "https://files.pythonhosted.org/packages/7c/56/fe201e3b0f93d1a8bcf75d3379affd228a63d7e2d80ab45467a74b494947/scipy-1.17.1-cp314-cp314-win_arm64.whl", hash = "sha256:f8885db0bc2bffa59d5c1b72fad7a6a92d3e80e7257f967dd81abb553a90d293", size = 25192877, upload-time = "2026-02-23T00:22:39.798Z" }, - { url = "https://files.pythonhosted.org/packages/96/ad/f8c414e121f82e02d76f310f16db9899c4fcde36710329502a6b2a3c0392/scipy-1.17.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:1cc682cea2ae55524432f3cdff9e9a3be743d52a7443d0cba9017c23c87ae2f6", size = 31949750, upload-time = "2026-02-23T00:21:42.289Z" }, - { url = "https://files.pythonhosted.org/packages/7c/b0/c741e8865d61b67c81e255f4f0a832846c064e426636cd7de84e74d209be/scipy-1.17.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:2040ad4d1795a0ae89bfc7e8429677f365d45aa9fd5e4587cf1ea737f927b4a1", size = 28585858, upload-time = "2026-02-23T00:21:47.706Z" }, - { url = "https://files.pythonhosted.org/packages/ed/1b/3985219c6177866628fa7c2595bfd23f193ceebbe472c98a08824b9466ff/scipy-1.17.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:131f5aaea57602008f9822e2115029b55d4b5f7c070287699fe45c661d051e39", size = 20757723, upload-time = "2026-02-23T00:21:52.039Z" }, - { url = "https://files.pythonhosted.org/packages/c0/19/2a04aa25050d656d6f7b9e7b685cc83d6957fb101665bfd9369ca6534563/scipy-1.17.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9cdc1a2fcfd5c52cfb3045feb399f7b3ce822abdde3a193a6b9a60b3cb5854ca", size = 23043098, upload-time = "2026-02-23T00:21:56.185Z" }, - { url = "https://files.pythonhosted.org/packages/86/f1/3383beb9b5d0dbddd030335bf8a8b32d4317185efe495374f134d8be6cce/scipy-1.17.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e3dcd57ab780c741fde8dc68619de988b966db759a3c3152e8e9142c26295ad", size = 33030397, upload-time = "2026-02-23T00:22:01.404Z" }, - { url = "https://files.pythonhosted.org/packages/41/68/8f21e8a65a5a03f25a79165ec9d2b28c00e66dc80546cf5eb803aeeff35b/scipy-1.17.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9956e4d4f4a301ebf6cde39850333a6b6110799d470dbbb1e25326ac447f52a", size = 35281163, upload-time = "2026-02-23T00:22:07.024Z" }, - { url = "https://files.pythonhosted.org/packages/84/8d/c8a5e19479554007a5632ed7529e665c315ae7492b4f946b0deb39870e39/scipy-1.17.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a4328d245944d09fd639771de275701ccadf5f781ba0ff092ad141e017eccda4", size = 35116291, upload-time = "2026-02-23T00:22:12.585Z" }, - { url = "https://files.pythonhosted.org/packages/52/52/e57eceff0e342a1f50e274264ed47497b59e6a4e3118808ee58ddda7b74a/scipy-1.17.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a77cbd07b940d326d39a1d1b37817e2ee4d79cb30e7338f3d0cddffae70fcaa2", size = 37682317, upload-time = "2026-02-23T00:22:18.513Z" }, - { url = "https://files.pythonhosted.org/packages/11/2f/b29eafe4a3fbc3d6de9662b36e028d5f039e72d345e05c250e121a230dd4/scipy-1.17.1-cp314-cp314t-win_amd64.whl", hash = "sha256:eb092099205ef62cd1782b006658db09e2fed75bffcae7cc0d44052d8aa0f484", size = 37345327, upload-time = "2026-02-23T00:22:24.442Z" }, - { url = "https://files.pythonhosted.org/packages/07/39/338d9219c4e87f3e708f18857ecd24d22a0c3094752393319553096b98af/scipy-1.17.1-cp314-cp314t-win_arm64.whl", hash = "sha256:200e1050faffacc162be6a486a984a0497866ec54149a01270adc8a59b7c7d21", size = 25489165, upload-time = "2026-02-23T00:22:29.563Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/75/b4ce781849931fef6fd529afa6b63711d5a733065722d0c3e2724af9e40a/scipy-1.17.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1f95b894f13729334fb990162e911c9e5dc1ab390c58aa6cbecb389c5b5e28ec" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/58/bccc2861b305abdd1b8663d6130c0b3d7cc22e8d86663edbc8401bfd40d4/scipy-1.17.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e18f12c6b0bc5a592ed23d3f7b891f68fd7f8241d69b7883769eb5d5dfb52696" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/ee/18146b7757ed4976276b9c9819108adbc73c5aad636e5353e20746b73069/scipy-1.17.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a3472cfbca0a54177d0faa68f697d8ba4c80bbdc19908c3465556d9f7efce9ee" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/e6/cef1cf3557f0c54954198554a10016b6a03b2ec9e22a4e1df734936bd99c/scipy-1.17.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:766e0dc5a616d026a3a1cffa379af959671729083882f50307e18175797b3dfd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/60/8804678875fc59362b0fb759ab3ecce1f09c10a735680318ac30da8cd76b/scipy-1.17.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:744b2bf3640d907b79f3fd7874efe432d1cf171ee721243e350f55234b4cec4c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/09/7d/af933f0f6e0767995b4e2d705a0665e454d1c19402aa7e895de3951ebb04/scipy-1.17.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43af8d1f3bea642559019edfe64e9b11192a8978efbd1539d7bc2aaa23d92de4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/3d/7ccbbdcbb54c8fdc20d3b6930137c782a163fa626f0aef920349873421ba/scipy-1.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd96a1898c0a47be4520327e01f874acfd61fb48a9420f8aa9f6483412ffa444" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/19/f926cb11c42b15ba08e3a71e376d816ac08614f769b4f47e06c3580c836a/scipy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4eb6c25dd62ee8d5edf68a8e1c171dd71c292fdae95d8aeb3dd7d7de4c364082" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/95/da/0d1df507cf574b3f224ccc3d45244c9a1d732c81dcb26b1e8a766ae271a8/scipy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:d30e57c72013c2a4fe441c2fcb8e77b14e152ad48b5464858e07e2ad9fbfceff" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/7f/bdd79ceaad24b671543ffe0ef61ed8e659440eb683b66f033454dcee90eb/scipy-1.17.1-cp311-cp311-win_arm64.whl", hash = "sha256:9ecb4efb1cd6e8c4afea0daa91a87fbddbce1b99d2895d151596716c0b2e859d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/48/b992b488d6f299dbe3f11a20b24d3dda3d46f1a635ede1c46b5b17a7b163/scipy-1.17.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:35c3a56d2ef83efc372eaec584314bd0ef2e2f0d2adb21c55e6ad5b344c0dcb8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/02/cf107b01494c19dc100f1d0b7ac3cc08666e96ba2d64db7626066cee895e/scipy-1.17.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/a9/599c28631bad314d219cf9ffd40e985b24d603fc8a2f4ccc5ae8419a535b/scipy-1.17.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:cc90d2e9c7e5c7f1a482c9875007c095c3194b1cfedca3c2f3291cdc2bc7c086" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/f5/906eda513271c8deb5af284e5ef0206d17a96239af79f9fa0aebfe0e36b4/scipy-1.17.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:c80be5ede8f3f8eded4eff73cc99a25c388ce98e555b17d31da05287015ffa5b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/34/16f10e3042d2f1d6b66e0428308ab52224b6a23049cb2f5c1756f713815f/scipy-1.17.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e19ebea31758fac5893a2ac360fedd00116cbb7628e650842a6691ba7ca28a21" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02ae3b274fde71c5e92ac4d54bc06c42d80e399fec704383dcd99b301df37458" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c5/5c/9d7f4c88bea6e0d5a4f1bc0506a53a00e9fcb198de372bfe4d3652cef482/scipy-1.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8a604bae87c6195d8b1045eddece0514d041604b14f2727bbc2b3020172045eb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/94/7698add8f276dbab7a9de9fb6b0e02fc13ee61d51c7c3f85ac28b65e1239/scipy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f590cd684941912d10becc07325a3eeb77886fe981415660d9265c4c418d0bea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/84/dc08d77fbf3d87d3ee27f6a0c6dcce1de5829a64f2eae85a0ecc1f0daa73/scipy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:41b71f4a3a4cab9d366cd9065b288efc4d4f3c0b37a91a8e0947fb5bd7f31d87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/98/fe9ae9ffb3b54b62559f52dedaebe204b408db8109a8c66fdd04869e6424/scipy-1.17.1-cp312-cp312-win_arm64.whl", hash = "sha256:f4115102802df98b2b0db3cce5cb9b92572633a1197c77b7553e5203f284a5b3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/27/07ee1b57b65e92645f219b37148a7e7928b82e2b5dbeccecb4dff7c64f0b/scipy-1.17.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5e3c5c011904115f88a39308379c17f91546f77c1667cea98739fe0fccea804c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/ae/db19f8ab842e9b724bf5dbb7db29302a91f1e55bc4d04b1025d6d605a2c5/scipy-1.17.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:6fac755ca3d2c3edcb22f479fceaa241704111414831ddd3bc6056e18516892f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/58/3ce96251560107b381cbd6e8413c483bbb1228a6b919fa8652b0d4090e7f/scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:7ff200bf9d24f2e4d5dc6ee8c3ac64d739d3a89e2326ba68aaf6c4a2b838fd7d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/83/15087d945e0e4d48ce2377498abf5ad171ae013232ae31d06f336e64c999/scipy-1.17.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4b400bdc6f79fa02a4d86640310dde87a21fba0c979efff5248908c6f15fad1b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/e0/e58fbde4a1a594c8be8114eb4aac1a55bcd6587047efc18a61eb1f5c0d30/scipy-1.17.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b64ca7d4aee0102a97f3ba22124052b4bd2152522355073580bf4845e2550b6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:581b2264fc0aa555f3f435a5944da7504ea3a065d7029ad60e7c3d1ae09c5464" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8d/a5/9afd17de24f657fdfe4df9a3f1ea049b39aef7c06000c13db1530d81ccca/scipy-1.17.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:beeda3d4ae615106d7094f7e7cef6218392e4465cc95d25f900bebabfded0950" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/13/88b1d2384b424bf7c924f2038c1c409f8d88bb2a8d49d097861dd64a57b2/scipy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6609bc224e9568f65064cfa72edc0f24ee6655b47575954ec6339534b2798369" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/e5/d6d0e51fc888f692a35134336866341c08655d92614f492c6860dc45bb2c/scipy-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:37425bc9175607b0268f493d79a292c39f9d001a357bebb6b88fdfaff13f6448" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2a/fd/3be73c564e2a01e690e19cc618811540ba5354c67c8680dce3281123fb79/scipy-1.17.1-cp313-cp313-win_arm64.whl", hash = "sha256:5cf36e801231b6a2059bf354720274b7558746f3b1a4efb43fcf557ccd484a87" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/6b/17787db8b8114933a66f9dcc479a8272e4b4da75fe03b0c282f7b0ade8cd/scipy-1.17.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:d59c30000a16d8edc7e64152e30220bfbd724c9bbb08368c054e24c651314f0a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/2e/524405c2b6392765ab1e2b722a41d5da33dc5c7b7278184a8ad29b6cb206/scipy-1.17.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:010f4333c96c9bb1a4516269e33cb5917b08ef2166d5556ca2fd9f082a9e6ea0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fd/c3/5bd7199f4ea8556c0c8e39f04ccb014ac37d1468e6cfa6a95c6b3562b76e/scipy-1.17.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2ceb2d3e01c5f1d83c4189737a42d9cb2fc38a6eeed225e7515eef71ad301dce" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/b8/8ccd9b766ad14c78386599708eb745f6b44f08400a5fd0ade7cf89b6fc93/scipy-1.17.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:844e165636711ef41f80b4103ed234181646b98a53c8f05da12ca5ca289134f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/a0/3cb6f4d2fb3e17428ad2880333cac878909ad1a89f678527b5328b93c1d4/scipy-1.17.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:158dd96d2207e21c966063e1635b1063cd7787b627b6f07305315dd73d9c679e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f3/c3/2d834a5ac7bf3a0c806ad1508efc02dda3c8c61472a56132d7894c312dea/scipy-1.17.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74cbb80d93260fe2ffa334efa24cb8f2f0f622a9b9febf8b483c0b865bfb3475" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4d/77/d3ed4becfdbd217c52062fafe35a72388d1bd82c2d0ba5ca19d6fcc93e11/scipy-1.17.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dbc12c9f3d185f5c737d801da555fb74b3dcfa1a50b66a1a93e09190f41fab50" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/12/d19da97efde68ca1ee5538bb261d5d2c062f0c055575128f11a2730e3ac1/scipy-1.17.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94055a11dfebe37c656e70317e1996dc197e1a15bbcc351bcdd4610e128fe1ca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/06/1c/1172a88d507a4baaf72c5a09bb6c018fe2ae0ab622e5830b703a46cc9e44/scipy-1.17.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e30bdeaa5deed6bc27b4cc490823cd0347d7dae09119b8803ae576ea0ce52e4c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/70/b0/eb757336e5a76dfa7911f63252e3b7d1de00935d7705cf772db5b45ec238/scipy-1.17.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a720477885a9d2411f94a93d16f9d89bad0f28ca23c3f8daa521e2dcc3f44d49" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/83/333afb452af6f0fd70414dc04f898647ee1423979ce02efa75c3b0f2c28e/scipy-1.17.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:a48a72c77a310327f6a3a920092fa2b8fd03d7deaa60f093038f22d98e096717" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/a6/d05a85fd51daeb2e4ea71d102f15b34fedca8e931af02594193ae4fd25f7/scipy-1.17.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:45abad819184f07240d8a696117a7aacd39787af9e0b719d00285549ed19a1e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/7b/8624a203326675d7746a254083a187398090a179335b2e4a20e2ddc46e83/scipy-1.17.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3fd1fcdab3ea951b610dc4cef356d416d5802991e7e32b5254828d342f7b7e0b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/35/2c342897c00775d688d8ff3987aced3426858fd89d5a0e26e020b660b301/scipy-1.17.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:7bdf2da170b67fdf10bca777614b1c7d96ae3ca5794fd9587dce41eb2966e866" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/f2/7cdb8eb308a1a6ae1e19f945913c82c23c0c442a462a46480ce487fdc0ac/scipy-1.17.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:adb2642e060a6549c343603a3851ba76ef0b74cc8c079a9a58121c7ec9fe2350" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/2e/7eea398450457ecb54e18e9d10110993fa65561c4f3add5e8eccd2b9cd41/scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eee2cfda04c00a857206a4330f0c5e3e56535494e30ca445eb19ec624ae75118" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/77/5b8509d03b77f093a0d52e606d3c4f79e8b06d1d38c441dacb1e26cacf46/scipy-1.17.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d2650c1fb97e184d12d8ba010493ee7b322864f7d3d00d3f9bb97d9c21de4068" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f9/df/18f80fb99df40b4070328d5ae5c596f2f00fffb50167e31439e932f29e7d/scipy-1.17.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:08b900519463543aa604a06bec02461558a6e1cef8fdbb8098f77a48a83c8118" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4b/39/f0e8ea762a764a9dc52aa7dabcfad51a354819de1f0d4652b6a1122424d6/scipy-1.17.1-cp314-cp314-win_amd64.whl", hash = "sha256:3877ac408e14da24a6196de0ddcace62092bfc12a83823e92e49e40747e52c19" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/56/fe201e3b0f93d1a8bcf75d3379affd228a63d7e2d80ab45467a74b494947/scipy-1.17.1-cp314-cp314-win_arm64.whl", hash = "sha256:f8885db0bc2bffa59d5c1b72fad7a6a92d3e80e7257f967dd81abb553a90d293" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/96/ad/f8c414e121f82e02d76f310f16db9899c4fcde36710329502a6b2a3c0392/scipy-1.17.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:1cc682cea2ae55524432f3cdff9e9a3be743d52a7443d0cba9017c23c87ae2f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7c/b0/c741e8865d61b67c81e255f4f0a832846c064e426636cd7de84e74d209be/scipy-1.17.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:2040ad4d1795a0ae89bfc7e8429677f365d45aa9fd5e4587cf1ea737f927b4a1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ed/1b/3985219c6177866628fa7c2595bfd23f193ceebbe472c98a08824b9466ff/scipy-1.17.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:131f5aaea57602008f9822e2115029b55d4b5f7c070287699fe45c661d051e39" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/19/2a04aa25050d656d6f7b9e7b685cc83d6957fb101665bfd9369ca6534563/scipy-1.17.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9cdc1a2fcfd5c52cfb3045feb399f7b3ce822abdde3a193a6b9a60b3cb5854ca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/f1/3383beb9b5d0dbddd030335bf8a8b32d4317185efe495374f134d8be6cce/scipy-1.17.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e3dcd57ab780c741fde8dc68619de988b966db759a3c3152e8e9142c26295ad" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/41/68/8f21e8a65a5a03f25a79165ec9d2b28c00e66dc80546cf5eb803aeeff35b/scipy-1.17.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9956e4d4f4a301ebf6cde39850333a6b6110799d470dbbb1e25326ac447f52a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/84/8d/c8a5e19479554007a5632ed7529e665c315ae7492b4f946b0deb39870e39/scipy-1.17.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a4328d245944d09fd639771de275701ccadf5f781ba0ff092ad141e017eccda4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/52/e57eceff0e342a1f50e274264ed47497b59e6a4e3118808ee58ddda7b74a/scipy-1.17.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a77cbd07b940d326d39a1d1b37817e2ee4d79cb30e7338f3d0cddffae70fcaa2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/11/2f/b29eafe4a3fbc3d6de9662b36e028d5f039e72d345e05c250e121a230dd4/scipy-1.17.1-cp314-cp314t-win_amd64.whl", hash = "sha256:eb092099205ef62cd1782b006658db09e2fed75bffcae7cc0d44052d8aa0f484" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/39/338d9219c4e87f3e708f18857ecd24d22a0c3094752393319553096b98af/scipy-1.17.1-cp314-cp314t-win_arm64.whl", hash = "sha256:200e1050faffacc162be6a486a984a0497866ec54149a01270adc8a59b7c7d21" }, ] [[package]] name = "secretstorage" version = "3.5.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "cryptography", marker = "(python_full_version < '3.12' and sys_platform == 'emscripten') or (python_full_version < '3.12' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, { name = "jeepney", marker = "(python_full_version < '3.12' and sys_platform == 'emscripten') or (python_full_version < '3.12' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be", size = 19884, upload-time = "2025-11-23T19:02:53.191Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl", hash = "sha256:0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137", size = 15554, upload-time = "2025-11-23T19:02:51.545Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl", hash = "sha256:0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" }, ] [[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" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686" }, ] [[package]] name = "sinter" version = "1.15.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "matplotlib" }, { name = "numpy" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" }, marker = "python_full_version >= '3.11'" }, { name = "stim" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/78/ce/ba7f22ac1535b95b16f046678d133b2af65288effb6e4e99c28b576ef54d/sinter-1.15.0.tar.gz", hash = "sha256:47c7e4412d73bcbd5cabca49b6d9bfc0b33eb18d333f525076512e0efa873d45", size = 176702, upload-time = "2025-05-07T06:19:38.872Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/ce/ba7f22ac1535b95b16f046678d133b2af65288effb6e4e99c28b576ef54d/sinter-1.15.0.tar.gz", hash = "sha256:47c7e4412d73bcbd5cabca49b6d9bfc0b33eb18d333f525076512e0efa873d45" } wheels = [ - { url = "https://files.pythonhosted.org/packages/62/45/be8193757e44880348dc9561bedadce0b815b408c959ceaf56c1863fd65d/sinter-1.15.0-py3-none-any.whl", hash = "sha256:6bec05cc643e301192c2acaca9ede464576572635c5e25a592e48294b7e53bed", size = 196891, upload-time = "2025-05-07T06:19:37.398Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/45/be8193757e44880348dc9561bedadce0b815b408c959ceaf56c1863fd65d/sinter-1.15.0-py3-none-any.whl", hash = "sha256:6bec05cc643e301192c2acaca9ede464576572635c5e25a592e48294b7e53bed" }, ] [[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" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" }, ] [[package]] name = "soupsieve" version = "2.8.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95" }, ] [[package]] name = "stack-data" version = "0.6.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "asttokens" }, { name = "executing" }, { name = "pure-eval" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" }, ] [[package]] name = "starlette" version = "1.0.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "anyio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz", hash = "sha256:6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149", size = 2655289, upload-time = "2026-03-22T18:29:46.779Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz", hash = "sha256:6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/c9/584bc9651441b4ba60cc4d557d8a547b5aff901af35bda3a4ee30c819b82/starlette-1.0.0-py3-none-any.whl", hash = "sha256:d3ec55e0bb321692d275455ddfd3df75fff145d009685eb40dc91fc66b03d38b", size = 72651, upload-time = "2026-03-22T18:29:45.111Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/c9/584bc9651441b4ba60cc4d557d8a547b5aff901af35bda3a4ee30c819b82/starlette-1.0.0-py3-none-any.whl", hash = "sha256:d3ec55e0bb321692d275455ddfd3df75fff145d009685eb40dc91fc66b03d38b" }, ] [[package]] name = "stim" version = "1.15.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/77/15/0218eacd61cda992daf398bc36daf9830c8b430157a3ac0c06379598d24a/stim-1.15.0.tar.gz", hash = "sha256:95236006859d6754be99629d4fb44788e742e962ac8c59caad421ca088f7350e", size = 853226, upload-time = "2025-05-07T06:19:30.452Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/15/0218eacd61cda992daf398bc36daf9830c8b430157a3ac0c06379598d24a/stim-1.15.0.tar.gz", hash = "sha256:95236006859d6754be99629d4fb44788e742e962ac8c59caad421ca088f7350e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/e8/5d0c058e59ba156c6f1bfd8569a889dec80154e95d7903bf50bea31814ec/stim-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c10d2022b3c4c245f5f421dbf01b012a4d04901df697d9aca69eaea329c8532", size = 1952385, upload-time = "2025-05-07T06:18:29.003Z" }, - { url = "https://files.pythonhosted.org/packages/16/85/e82bd61413db51c92642620340c9175f0e1e93d2afc5274e8fa775831326/stim-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f240c196f23126bfed79bd78de5baa1fdde9c8fbfe56de032a12657fc42da37", size = 1824039, upload-time = "2025-05-07T06:18:31.537Z" }, - { url = "https://files.pythonhosted.org/packages/d8/06/b267359c50d735ca718dd487ec57842d0ed34865b62b0d8e6bdc3381d611/stim-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c55fad7529d6ee508f268534eeca1433017f2e83082f88275bea362b94f30f", size = 4982908, upload-time = "2025-05-07T06:18:33.035Z" }, - { url = "https://files.pythonhosted.org/packages/c6/2c/84b07f2fe78f382c3514ce3863554ae47019536293d366e80e57598fe9cb/stim-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:d94638feaac9d037690779c383592bb898eda9db460d23fc0652d10030d570c9", size = 2624472, upload-time = "2025-05-07T06:18:34.678Z" }, - { url = "https://files.pythonhosted.org/packages/94/5f/82a80a3b0e494af4723737ea2109e64edbedc25fe05dcee8918e70d3a060/stim-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:48525d92965cc65b61399a9e1fe1d7a8925981bb4430ef69866d4e5c67a77d16", size = 1956537, upload-time = "2025-05-07T06:18:36.685Z" }, - { url = "https://files.pythonhosted.org/packages/a8/82/0a01580071c6d50107298e93faa88250fc30f1538117ec887ec48de7816d/stim-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0bb3757c69c9b16fd24ff7400b5cddb22017c4cae84fc4b7b73f84373cb03c00", size = 1826988, upload-time = "2025-05-07T06:18:38.598Z" }, - { url = "https://files.pythonhosted.org/packages/d7/c1/1dfa90b0622070eb39b4260eca26814d6fbac0f278e23b156072d9fac86b/stim-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0fb249f1a2897a22cbe4e0c2627abf49188cbbf19b942d4749972d1c3bdf12c", size = 4989254, upload-time = "2025-05-07T06:18:40.628Z" }, - { url = "https://files.pythonhosted.org/packages/cb/27/5b8e8155e7fb75a9313e70f77a62233e0b9041c5acb60f6cf5a908d221e8/stim-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e3b61a2d9dc4b4312f5cf2ccf9c9f7175fe13a12e5c08df99835c5275680919", size = 2625370, upload-time = "2025-05-07T06:18:42.65Z" }, - { url = "https://files.pythonhosted.org/packages/65/99/da44f1fde8692deb74e291899699ee166e5726b975addff50f0f68bfc4c1/stim-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d426e00afe21478828369df3aaa82905e710c5b1f72582ec45244e3739d6183d", size = 1974467, upload-time = "2025-05-07T06:18:44.665Z" }, - { url = "https://files.pythonhosted.org/packages/46/f3/5aa6a7b31bcc9fb2540f65954b99dbf1e8c5fcd8d0aa164857b74e5eae9a/stim-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc613f78bc88b4318d7f34f9fddacec52638c11b72cc618f911bdd7ca153f938", size = 1838840, upload-time = "2025-05-07T06:18:46.025Z" }, - { url = "https://files.pythonhosted.org/packages/5b/25/f3b56b07c0c3fb31cb973a5c47ef88da022a859940dd46c910b706fc74aa/stim-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdd9e5ab85ba2fb113b8834422518f6e46a4aea2e0f6f7305cfc2ad0fcd07086", size = 4968123, upload-time = "2025-05-07T06:18:48.197Z" }, - { url = "https://files.pythonhosted.org/packages/81/7e/abfed103a045a6ee8c7f3f00cd820d1cf9127304066aec42ea9fb89ee9c0/stim-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:e92d5be90f6c92bada6b5aea64dfe9c80813a06e1316a71d5a36203dd24492f5", size = 2625908, upload-time = "2025-05-07T06:18:49.681Z" }, - { url = "https://files.pythonhosted.org/packages/28/7f/825d745dc128321dd2f41da75d18111121a90e7bb711da24f28b1e003c9e/stim-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:673a323402c266b1a1225565d69d31816c3d4a4c259383ed4fa9c15cacd12411", size = 1974528, upload-time = "2025-05-07T06:18:51.125Z" }, - { url = "https://files.pythonhosted.org/packages/bb/99/10604264cd7159573d6d01cdf5f9675c71580dcc3df5c533fccabad59cda/stim-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:35e36d0479015b4dcb4261b8b68be85067cbd4bac5632bdfdb3ee3f8671d05a9", size = 1838700, upload-time = "2025-05-07T06:18:52.95Z" }, - { url = "https://files.pythonhosted.org/packages/25/97/1bf3bf16129667eff1c0d0f3bb95262a2bec8c8d1227aa973b8e2a1935b6/stim-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb9465ab120837ecbd26b5af216a00715f04da087ddcfa09646892c8de720d09", size = 4967782, upload-time = "2025-05-07T06:18:54.94Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/e8/5d0c058e59ba156c6f1bfd8569a889dec80154e95d7903bf50bea31814ec/stim-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c10d2022b3c4c245f5f421dbf01b012a4d04901df697d9aca69eaea329c8532" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/85/e82bd61413db51c92642620340c9175f0e1e93d2afc5274e8fa775831326/stim-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f240c196f23126bfed79bd78de5baa1fdde9c8fbfe56de032a12657fc42da37" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d8/06/b267359c50d735ca718dd487ec57842d0ed34865b62b0d8e6bdc3381d611/stim-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c55fad7529d6ee508f268534eeca1433017f2e83082f88275bea362b94f30f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/2c/84b07f2fe78f382c3514ce3863554ae47019536293d366e80e57598fe9cb/stim-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:d94638feaac9d037690779c383592bb898eda9db460d23fc0652d10030d570c9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/94/5f/82a80a3b0e494af4723737ea2109e64edbedc25fe05dcee8918e70d3a060/stim-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:48525d92965cc65b61399a9e1fe1d7a8925981bb4430ef69866d4e5c67a77d16" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a8/82/0a01580071c6d50107298e93faa88250fc30f1538117ec887ec48de7816d/stim-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0bb3757c69c9b16fd24ff7400b5cddb22017c4cae84fc4b7b73f84373cb03c00" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d7/c1/1dfa90b0622070eb39b4260eca26814d6fbac0f278e23b156072d9fac86b/stim-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0fb249f1a2897a22cbe4e0c2627abf49188cbbf19b942d4749972d1c3bdf12c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/27/5b8e8155e7fb75a9313e70f77a62233e0b9041c5acb60f6cf5a908d221e8/stim-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e3b61a2d9dc4b4312f5cf2ccf9c9f7175fe13a12e5c08df99835c5275680919" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/99/da44f1fde8692deb74e291899699ee166e5726b975addff50f0f68bfc4c1/stim-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d426e00afe21478828369df3aaa82905e710c5b1f72582ec45244e3739d6183d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/46/f3/5aa6a7b31bcc9fb2540f65954b99dbf1e8c5fcd8d0aa164857b74e5eae9a/stim-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc613f78bc88b4318d7f34f9fddacec52638c11b72cc618f911bdd7ca153f938" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/25/f3b56b07c0c3fb31cb973a5c47ef88da022a859940dd46c910b706fc74aa/stim-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdd9e5ab85ba2fb113b8834422518f6e46a4aea2e0f6f7305cfc2ad0fcd07086" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/81/7e/abfed103a045a6ee8c7f3f00cd820d1cf9127304066aec42ea9fb89ee9c0/stim-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:e92d5be90f6c92bada6b5aea64dfe9c80813a06e1316a71d5a36203dd24492f5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/7f/825d745dc128321dd2f41da75d18111121a90e7bb711da24f28b1e003c9e/stim-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:673a323402c266b1a1225565d69d31816c3d4a4c259383ed4fa9c15cacd12411" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bb/99/10604264cd7159573d6d01cdf5f9675c71580dcc3df5c533fccabad59cda/stim-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:35e36d0479015b4dcb4261b8b68be85067cbd4bac5632bdfdb3ee3f8671d05a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/25/97/1bf3bf16129667eff1c0d0f3bb95262a2bec8c8d1227aa973b8e2a1935b6/stim-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb9465ab120837ecbd26b5af216a00715f04da087ddcfa09646892c8de720d09" }, ] [[package]] name = "text-unidecode" version = "1.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ab/e2/e9a00f0ccb71718418230718b3d900e71a5d16e701a3dae079a21e9cd8f8/text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93", size = 76885, upload-time = "2019-08-30T21:36:45.405Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/e2/e9a00f0ccb71718418230718b3d900e71a5d16e701a3dae079a21e9cd8f8/text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/a5/c0b6468d3824fe3fde30dbb5e1f687b291608f9473681bbf7dabbf5a87d7/text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8", size = 78154, upload-time = "2019-08-30T21:37:03.543Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a6/a5/c0b6468d3824fe3fde30dbb5e1f687b291608f9473681bbf7dabbf5a87d7/text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8" }, ] [[package]] name = "tinycss2" version = "1.4.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289" }, ] [[package]] name = "tomli" version = "2.4.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f", size = 17543, upload-time = "2026-03-25T20:22:03.828Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30", size = 154704, upload-time = "2026-03-25T20:21:10.473Z" }, - { url = "https://files.pythonhosted.org/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a", size = 149454, upload-time = "2026-03-25T20:21:12.036Z" }, - { url = "https://files.pythonhosted.org/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076", size = 237561, upload-time = "2026-03-25T20:21:13.098Z" }, - { url = "https://files.pythonhosted.org/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9", size = 243824, upload-time = "2026-03-25T20:21:14.569Z" }, - { url = "https://files.pythonhosted.org/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c", size = 242227, upload-time = "2026-03-25T20:21:15.712Z" }, - { url = "https://files.pythonhosted.org/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc", size = 247859, upload-time = "2026-03-25T20:21:17.001Z" }, - { url = "https://files.pythonhosted.org/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049", size = 97204, upload-time = "2026-03-25T20:21:18.079Z" }, - { url = "https://files.pythonhosted.org/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e", size = 108084, upload-time = "2026-03-25T20:21:18.978Z" }, - { url = "https://files.pythonhosted.org/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece", size = 95285, upload-time = "2026-03-25T20:21:20.309Z" }, - { url = "https://files.pythonhosted.org/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a", size = 155924, upload-time = "2026-03-25T20:21:21.626Z" }, - { url = "https://files.pythonhosted.org/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085", size = 150018, upload-time = "2026-03-25T20:21:23.002Z" }, - { url = "https://files.pythonhosted.org/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9", size = 244948, upload-time = "2026-03-25T20:21:24.04Z" }, - { url = "https://files.pythonhosted.org/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5", size = 253341, upload-time = "2026-03-25T20:21:25.177Z" }, - { url = "https://files.pythonhosted.org/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585", size = 248159, upload-time = "2026-03-25T20:21:26.364Z" }, - { url = "https://files.pythonhosted.org/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1", size = 253290, upload-time = "2026-03-25T20:21:27.46Z" }, - { url = "https://files.pythonhosted.org/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917", size = 98141, upload-time = "2026-03-25T20:21:28.492Z" }, - { url = "https://files.pythonhosted.org/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9", size = 108847, upload-time = "2026-03-25T20:21:29.386Z" }, - { url = "https://files.pythonhosted.org/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257", size = 95088, upload-time = "2026-03-25T20:21:30.677Z" }, - { url = "https://files.pythonhosted.org/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54", size = 155866, upload-time = "2026-03-25T20:21:31.65Z" }, - { url = "https://files.pythonhosted.org/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a", size = 149887, upload-time = "2026-03-25T20:21:33.028Z" }, - { url = "https://files.pythonhosted.org/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897", size = 243704, upload-time = "2026-03-25T20:21:34.51Z" }, - { url = "https://files.pythonhosted.org/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f", size = 251628, upload-time = "2026-03-25T20:21:36.012Z" }, - { url = "https://files.pythonhosted.org/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d", size = 247180, upload-time = "2026-03-25T20:21:37.136Z" }, - { url = "https://files.pythonhosted.org/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5", size = 251674, upload-time = "2026-03-25T20:21:38.298Z" }, - { url = "https://files.pythonhosted.org/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd", size = 97976, upload-time = "2026-03-25T20:21:39.316Z" }, - { url = "https://files.pythonhosted.org/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36", size = 108755, upload-time = "2026-03-25T20:21:40.248Z" }, - { url = "https://files.pythonhosted.org/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd", size = 95265, upload-time = "2026-03-25T20:21:41.219Z" }, - { url = "https://files.pythonhosted.org/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf", size = 155726, upload-time = "2026-03-25T20:21:42.23Z" }, - { url = "https://files.pythonhosted.org/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac", size = 149859, upload-time = "2026-03-25T20:21:43.386Z" }, - { url = "https://files.pythonhosted.org/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662", size = 244713, upload-time = "2026-03-25T20:21:44.474Z" }, - { url = "https://files.pythonhosted.org/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853", size = 252084, upload-time = "2026-03-25T20:21:45.62Z" }, - { url = "https://files.pythonhosted.org/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15", size = 247973, upload-time = "2026-03-25T20:21:46.937Z" }, - { url = "https://files.pythonhosted.org/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba", size = 256223, upload-time = "2026-03-25T20:21:48.467Z" }, - { url = "https://files.pythonhosted.org/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6", size = 98973, upload-time = "2026-03-25T20:21:49.526Z" }, - { url = "https://files.pythonhosted.org/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7", size = 109082, upload-time = "2026-03-25T20:21:50.506Z" }, - { url = "https://files.pythonhosted.org/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232", size = 96490, upload-time = "2026-03-25T20:21:51.474Z" }, - { url = "https://files.pythonhosted.org/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4", size = 164263, upload-time = "2026-03-25T20:21:52.543Z" }, - { url = "https://files.pythonhosted.org/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c", size = 160736, upload-time = "2026-03-25T20:21:53.674Z" }, - { url = "https://files.pythonhosted.org/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d", size = 270717, upload-time = "2026-03-25T20:21:55.129Z" }, - { url = "https://files.pythonhosted.org/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41", size = 278461, upload-time = "2026-03-25T20:21:56.228Z" }, - { url = "https://files.pythonhosted.org/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c", size = 274855, upload-time = "2026-03-25T20:21:57.653Z" }, - { url = "https://files.pythonhosted.org/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f", size = 283144, upload-time = "2026-03-25T20:21:59.089Z" }, - { url = "https://files.pythonhosted.org/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8", size = 108683, upload-time = "2026-03-25T20:22:00.214Z" }, - { url = "https://files.pythonhosted.org/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26", size = 121196, upload-time = "2026-03-25T20:22:01.169Z" }, - { url = "https://files.pythonhosted.org/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396", size = 100393, upload-time = "2026-03-25T20:22:02.137Z" }, - { url = "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe", size = 14583, upload-time = "2026-03-25T20:22:03.012Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe" }, ] [[package]] name = "tornado" version = "6.5.5" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", size = 516006, upload-time = "2026-03-10T21:31:02.067Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", size = 445983, upload-time = "2026-03-10T21:30:44.28Z" }, - { url = "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", size = 444246, upload-time = "2026-03-10T21:30:46.571Z" }, - { url = "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", size = 447229, upload-time = "2026-03-10T21:30:48.273Z" }, - { url = "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", size = 448192, upload-time = "2026-03-10T21:30:51.22Z" }, - { url = "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", size = 448039, upload-time = "2026-03-10T21:30:53.52Z" }, - { url = "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", size = 447445, upload-time = "2026-03-10T21:30:55.541Z" }, - { url = "https://files.pythonhosted.org/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7", size = 448582, upload-time = "2026-03-10T21:30:57.142Z" }, - { url = "https://files.pythonhosted.org/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b", size = 448990, upload-time = "2026-03-10T21:30:58.857Z" }, - { url = "https://files.pythonhosted.org/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6", size = 448016, upload-time = "2026-03-10T21:31:00.43Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6" }, ] [[package]] name = "tqdm" version = "4.67.3" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", size = 169598, upload-time = "2026-02-03T17:35:53.048Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" } wheels = [ - { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf" }, ] [[package]] name = "traitlets" version = "5.14.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f" }, ] [[package]] name = "typer" version = "0.25.1" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "annotated-doc" }, { name = "click" }, { name = "rich" }, { name = "shellingham" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz", hash = "sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc", size = 122276, upload-time = "2026-04-30T19:32:16.964Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz", hash = "sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl", hash = "sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89", size = 58409, upload-time = "2026-04-30T19:32:18.271Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl", hash = "sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89" }, ] [[package]] name = "typing-extensions" version = "4.15.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" } 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" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" }, ] [[package]] name = "typing-inspection" version = "0.4.2" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7" }, ] [[package]] name = "tzdata" version = "2026.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/19/1b9b0e29f30c6d35cb345486df41110984ea67ae69dddbc0e8a100999493/tzdata-2026.2.tar.gz", hash = "sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10", size = 198254, upload-time = "2026-04-24T15:22:08.651Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ba/19/1b9b0e29f30c6d35cb345486df41110984ea67ae69dddbc0e8a100999493/tzdata-2026.2.tar.gz", hash = "sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/e4/dccd7f47c4b64213ac01ef921a1337ee6e30e8c6466046018326977efd95/tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7", size = 349321, upload-time = "2026-04-24T15:22:05.876Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/e4/dccd7f47c4b64213ac01ef921a1337ee6e30e8c6466046018326977efd95/tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7" }, ] [[package]] name = "urllib3" version = "2.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" }, ] [[package]] name = "uvicorn" version = "0.47.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "click" }, { name = "h11" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f6/b1/8e7077a8641086aea449e1b5752a570f1b5906c64e0a33cd6d93b63a066b/uvicorn-0.47.0.tar.gz", hash = "sha256:7c9a0ea1a9414106bbab7324609c162d8fa0cdcdcb703060987269d77c7bb533", size = 90582, upload-time = "2026-05-14T18:16:54.455Z" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/b1/8e7077a8641086aea449e1b5752a570f1b5906c64e0a33cd6d93b63a066b/uvicorn-0.47.0.tar.gz", hash = "sha256:7c9a0ea1a9414106bbab7324609c162d8fa0cdcdcb703060987269d77c7bb533" } wheels = [ - { url = "https://files.pythonhosted.org/packages/15/41/ac2dfdbc1f60c7af4f994c7a335cfa7040c01642b605d65f611cecc2a1e4/uvicorn-0.47.0-py3-none-any.whl", hash = "sha256:2c5715bc12d1892d84752049f400cd1c3cb018514967fdfeb97640443a6a9432", size = 71301, upload-time = "2026-05-14T18:16:51.762Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/15/41/ac2dfdbc1f60c7af4f994c7a335cfa7040c01642b605d65f611cecc2a1e4/uvicorn-0.47.0-py3-none-any.whl", hash = "sha256:2c5715bc12d1892d84752049f400cd1c3cb018514967fdfeb97640443a6a9432" }, ] [[package]] name = "verspec" version = "0.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31" }, ] [[package]] name = "watchdog" version = "6.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, - { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, - { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, - { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, - { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, - { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, - { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, - { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, - { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, - { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, - { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, - { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, - { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, - { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, - { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, - { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, - { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, - { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, - { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, - { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, - { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, - { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, - { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f" }, ] [[package]] name = "wcwidth" version = "0.6.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz", hash = "sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159", size = 159684, upload-time = "2026-02-06T19:19:40.919Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz", hash = "sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159" } wheels = [ - { url = "https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl", hash = "sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad", size = 94189, upload-time = "2026-02-06T19:19:39.646Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl", hash = "sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad" }, ] [[package]] name = "webencodings" version = "0.5.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78" }, ] [[package]] name = "widgetsnbextension" version = "4.0.15" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bd/f4/c67440c7fb409a71b7404b7aefcd7569a9c0d6bd071299bf4198ae7a5d95/widgetsnbextension-4.0.15.tar.gz", hash = "sha256:de8610639996f1567952d763a5a41af8af37f2575a41f9852a38f947eb82a3b9", size = 1097402, upload-time = "2025-11-01T21:15:55.178Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bd/f4/c67440c7fb409a71b7404b7aefcd7569a9c0d6bd071299bf4198ae7a5d95/widgetsnbextension-4.0.15.tar.gz", hash = "sha256:de8610639996f1567952d763a5a41af8af37f2575a41f9852a38f947eb82a3b9" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl", hash = "sha256:8156704e4346a571d9ce73b84bee86a29906c9abfd7223b7228a28899ccf3366", size = 2196503, upload-time = "2025-11-01T21:15:53.565Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl", hash = "sha256:8156704e4346a571d9ce73b84bee86a29906c9abfd7223b7228a28899ccf3366" }, ] [[package]] name = "win32-setctime" version = "1.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390" }, ] [[package]] name = "wrapt" version = "2.1.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2e/64/925f213fdcbb9baeb1530449ac71a4d57fc361c053d06bf78d0c5c7cd80c/wrapt-2.1.2.tar.gz", hash = "sha256:3996a67eecc2c68fd47b4e3c564405a5777367adfd9b8abb58387b63ee83b21e", size = 81678, upload-time = "2026-03-06T02:53:25.134Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/da/d2/387594fb592d027366645f3d7cc9b4d7ca7be93845fbaba6d835a912ef3c/wrapt-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b7a86d99a14f76facb269dc148590c01aaf47584071809a70da30555228158c", size = 60669, upload-time = "2026-03-06T02:52:40.671Z" }, - { url = "https://files.pythonhosted.org/packages/c9/18/3f373935bc5509e7ac444c8026a56762e50c1183e7061797437ca96c12ce/wrapt-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a819e39017f95bf7aede768f75915635aa8f671f2993c036991b8d3bfe8dbb6f", size = 61603, upload-time = "2026-03-06T02:54:21.032Z" }, - { url = "https://files.pythonhosted.org/packages/c2/7a/32758ca2853b07a887a4574b74e28843919103194bb47001a304e24af62f/wrapt-2.1.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5681123e60aed0e64c7d44f72bbf8b4ce45f79d81467e2c4c728629f5baf06eb", size = 113632, upload-time = "2026-03-06T02:53:54.121Z" }, - { url = "https://files.pythonhosted.org/packages/1d/d5/eeaa38f670d462e97d978b3b0d9ce06d5b91e54bebac6fbed867809216e7/wrapt-2.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b8b28e97a44d21836259739ae76284e180b18abbb4dcfdff07a415cf1016c3e", size = 115644, upload-time = "2026-03-06T02:54:53.33Z" }, - { url = "https://files.pythonhosted.org/packages/e3/09/2a41506cb17affb0bdf9d5e2129c8c19e192b388c4c01d05e1b14db23c00/wrapt-2.1.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cef91c95a50596fcdc31397eb6955476f82ae8a3f5a8eabdc13611b60ee380ba", size = 112016, upload-time = "2026-03-06T02:54:43.274Z" }, - { url = "https://files.pythonhosted.org/packages/64/15/0e6c3f5e87caadc43db279724ee36979246d5194fa32fed489c73643ba59/wrapt-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dad63212b168de8569b1c512f4eac4b57f2c6934b30df32d6ee9534a79f1493f", size = 114823, upload-time = "2026-03-06T02:54:29.392Z" }, - { url = "https://files.pythonhosted.org/packages/56/b2/0ad17c8248f4e57bedf44938c26ec3ee194715f812d2dbbd9d7ff4be6c06/wrapt-2.1.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d307aa6888d5efab2c1cde09843d48c843990be13069003184b67d426d145394", size = 111244, upload-time = "2026-03-06T02:54:02.149Z" }, - { url = "https://files.pythonhosted.org/packages/ff/04/bcdba98c26f2c6522c7c09a726d5d9229120163493620205b2f76bd13c01/wrapt-2.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c87cf3f0c85e27b3ac7d9ad95da166bf8739ca215a8b171e8404a2d739897a45", size = 113307, upload-time = "2026-03-06T02:54:12.428Z" }, - { url = "https://files.pythonhosted.org/packages/0e/1b/5e2883c6bc14143924e465a6fc5a92d09eeabe35310842a481fb0581f832/wrapt-2.1.2-cp310-cp310-win32.whl", hash = "sha256:d1c5fea4f9fe3762e2b905fdd67df51e4be7a73b7674957af2d2ade71a5c075d", size = 57986, upload-time = "2026-03-06T02:54:26.823Z" }, - { url = "https://files.pythonhosted.org/packages/42/5a/4efc997bccadd3af5749c250b49412793bc41e13a83a486b2b54a33e240c/wrapt-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:d8f7740e1af13dff2684e4d56fe604a7e04d6c94e737a60568d8d4238b9a0c71", size = 60336, upload-time = "2026-03-06T02:54:18Z" }, - { url = "https://files.pythonhosted.org/packages/c1/f5/a2bb833e20181b937e87c242645ed5d5aa9c373006b0467bfe1a35c727d0/wrapt-2.1.2-cp310-cp310-win_arm64.whl", hash = "sha256:1c6cc827c00dc839350155f316f1f8b4b0c370f52b6a19e782e2bda89600c7dc", size = 58757, upload-time = "2026-03-06T02:53:51.545Z" }, - { url = "https://files.pythonhosted.org/packages/c7/81/60c4471fce95afa5922ca09b88a25f03c93343f759aae0f31fb4412a85c7/wrapt-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:96159a0ee2b0277d44201c3b5be479a9979cf154e8c82fa5df49586a8e7679bb", size = 60666, upload-time = "2026-03-06T02:52:58.934Z" }, - { url = "https://files.pythonhosted.org/packages/6b/be/80e80e39e7cb90b006a0eaf11c73ac3a62bbfb3068469aec15cc0bc795de/wrapt-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:98ba61833a77b747901e9012072f038795de7fc77849f1faa965464f3f87ff2d", size = 61601, upload-time = "2026-03-06T02:53:00.487Z" }, - { url = "https://files.pythonhosted.org/packages/b0/be/d7c88cd9293c859fc74b232abdc65a229bb953997995d6912fc85af18323/wrapt-2.1.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:767c0dbbe76cae2a60dd2b235ac0c87c9cccf4898aef8062e57bead46b5f6894", size = 114057, upload-time = "2026-03-06T02:52:44.08Z" }, - { url = "https://files.pythonhosted.org/packages/ea/25/36c04602831a4d685d45a93b3abea61eca7fe35dab6c842d6f5d570ef94a/wrapt-2.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c691a6bc752c0cc4711cc0c00896fcd0f116abc253609ef64ef930032821842", size = 116099, upload-time = "2026-03-06T02:54:56.74Z" }, - { url = "https://files.pythonhosted.org/packages/5c/4e/98a6eb417ef551dc277bec1253d5246b25003cf36fdf3913b65cb7657a56/wrapt-2.1.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f3b7d73012ea75aee5844de58c88f44cf62d0d62711e39da5a82824a7c4626a8", size = 112457, upload-time = "2026-03-06T02:53:52.842Z" }, - { url = "https://files.pythonhosted.org/packages/cb/a6/a6f7186a5297cad8ec53fd7578533b28f795fdf5372368c74bd7e6e9841c/wrapt-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:577dff354e7acd9d411eaf4bfe76b724c89c89c8fc9b7e127ee28c5f7bcb25b6", size = 115351, upload-time = "2026-03-06T02:53:32.684Z" }, - { url = "https://files.pythonhosted.org/packages/97/6f/06e66189e721dbebd5cf20e138acc4d1150288ce118462f2fcbff92d38db/wrapt-2.1.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3d7b6fd105f8b24e5bd23ccf41cb1d1099796524bcc6f7fbb8fe576c44befbc9", size = 111748, upload-time = "2026-03-06T02:53:08.455Z" }, - { url = "https://files.pythonhosted.org/packages/ef/43/4808b86f499a51370fbdbdfa6cb91e9b9169e762716456471b619fca7a70/wrapt-2.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:866abdbf4612e0b34764922ef8b1c5668867610a718d3053d59e24a5e5fcfc15", size = 113783, upload-time = "2026-03-06T02:53:02.02Z" }, - { url = "https://files.pythonhosted.org/packages/91/2c/a3f28b8fa7ac2cefa01cfcaca3471f9b0460608d012b693998cd61ef43df/wrapt-2.1.2-cp311-cp311-win32.whl", hash = "sha256:5a0a0a3a882393095573344075189eb2d566e0fd205a2b6414e9997b1b800a8b", size = 57977, upload-time = "2026-03-06T02:53:27.844Z" }, - { url = "https://files.pythonhosted.org/packages/3f/c3/2b1c7bd07a27b1db885a2fab469b707bdd35bddf30a113b4917a7e2139d2/wrapt-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:64a07a71d2730ba56f11d1a4b91f7817dc79bc134c11516b75d1921a7c6fcda1", size = 60336, upload-time = "2026-03-06T02:54:28.104Z" }, - { url = "https://files.pythonhosted.org/packages/ec/5c/76ece7b401b088daa6503d6264dd80f9a727df3e6042802de9a223084ea2/wrapt-2.1.2-cp311-cp311-win_arm64.whl", hash = "sha256:b89f095fe98bc12107f82a9f7d570dc83a0870291aeb6b1d7a7d35575f55d98a", size = 58756, upload-time = "2026-03-06T02:53:16.319Z" }, - { url = "https://files.pythonhosted.org/packages/4c/b6/1db817582c49c7fcbb7df6809d0f515af29d7c2fbf57eb44c36e98fb1492/wrapt-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ff2aad9c4cda28a8f0653fc2d487596458c2a3f475e56ba02909e950a9efa6a9", size = 61255, upload-time = "2026-03-06T02:52:45.663Z" }, - { url = "https://files.pythonhosted.org/packages/a2/16/9b02a6b99c09227c93cd4b73acc3678114154ec38da53043c0ddc1fba0dc/wrapt-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6433ea84e1cfacf32021d2a4ee909554ade7fd392caa6f7c13f1f4bf7b8e8748", size = 61848, upload-time = "2026-03-06T02:53:48.728Z" }, - { url = "https://files.pythonhosted.org/packages/af/aa/ead46a88f9ec3a432a4832dfedb84092fc35af2d0ba40cd04aea3889f247/wrapt-2.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c20b757c268d30d6215916a5fa8461048d023865d888e437fab451139cad6c8e", size = 121433, upload-time = "2026-03-06T02:54:40.328Z" }, - { url = "https://files.pythonhosted.org/packages/3a/9f/742c7c7cdf58b59085a1ee4b6c37b013f66ac33673a7ef4aaed5e992bc33/wrapt-2.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79847b83eb38e70d93dc392c7c5b587efe65b3e7afcc167aa8abd5d60e8761c8", size = 123013, upload-time = "2026-03-06T02:53:26.58Z" }, - { url = "https://files.pythonhosted.org/packages/e8/44/2c3dd45d53236b7ed7c646fcf212251dc19e48e599debd3926b52310fafb/wrapt-2.1.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f8fba1bae256186a83d1875b2b1f4e2d1242e8fac0f58ec0d7e41b26967b965c", size = 117326, upload-time = "2026-03-06T02:53:11.547Z" }, - { url = "https://files.pythonhosted.org/packages/74/e2/b17d66abc26bd96f89dec0ecd0ef03da4a1286e6ff793839ec431b9fae57/wrapt-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e3d3b35eedcf5f7d022291ecd7533321c4775f7b9cd0050a31a68499ba45757c", size = 121444, upload-time = "2026-03-06T02:54:09.5Z" }, - { url = "https://files.pythonhosted.org/packages/3c/62/e2977843fdf9f03daf1586a0ff49060b1b2fc7ff85a7ea82b6217c1ae36e/wrapt-2.1.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:6f2c5390460de57fa9582bc8a1b7a6c86e1a41dfad74c5225fc07044c15cc8d1", size = 116237, upload-time = "2026-03-06T02:54:03.884Z" }, - { url = "https://files.pythonhosted.org/packages/88/dd/27fc67914e68d740bce512f11734aec08696e6b17641fef8867c00c949fc/wrapt-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7dfa9f2cf65d027b951d05c662cc99ee3bd01f6e4691ed39848a7a5fffc902b2", size = 120563, upload-time = "2026-03-06T02:53:20.412Z" }, - { url = "https://files.pythonhosted.org/packages/ec/9f/b750b3692ed2ef4705cb305bd68858e73010492b80e43d2a4faa5573cbe7/wrapt-2.1.2-cp312-cp312-win32.whl", hash = "sha256:eba8155747eb2cae4a0b913d9ebd12a1db4d860fc4c829d7578c7b989bd3f2f0", size = 58198, upload-time = "2026-03-06T02:53:37.732Z" }, - { url = "https://files.pythonhosted.org/packages/8e/b2/feecfe29f28483d888d76a48f03c4c4d8afea944dbee2b0cd3380f9df032/wrapt-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:1c51c738d7d9faa0b3601708e7e2eda9bf779e1b601dce6c77411f2a1b324a63", size = 60441, upload-time = "2026-03-06T02:52:47.138Z" }, - { url = "https://files.pythonhosted.org/packages/44/e1/e328f605d6e208547ea9fd120804fcdec68536ac748987a68c47c606eea8/wrapt-2.1.2-cp312-cp312-win_arm64.whl", hash = "sha256:c8e46ae8e4032792eb2f677dbd0d557170a8e5524d22acc55199f43efedd39bf", size = 58836, upload-time = "2026-03-06T02:53:22.053Z" }, - { url = "https://files.pythonhosted.org/packages/4c/7a/d936840735c828b38d26a854e85d5338894cda544cb7a85a9d5b8b9c4df7/wrapt-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787fd6f4d67befa6fe2abdffcbd3de2d82dfc6fb8a6d850407c53332709d030b", size = 61259, upload-time = "2026-03-06T02:53:41.922Z" }, - { url = "https://files.pythonhosted.org/packages/5e/88/9a9b9a90ac8ca11c2fdb6a286cb3a1fc7dd774c00ed70929a6434f6bc634/wrapt-2.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4bdf26e03e6d0da3f0e9422fd36bcebf7bc0eeb55fdf9c727a09abc6b9fe472e", size = 61851, upload-time = "2026-03-06T02:52:48.672Z" }, - { url = "https://files.pythonhosted.org/packages/03/a9/5b7d6a16fd6533fed2756900fc8fc923f678179aea62ada6d65c92718c00/wrapt-2.1.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bbac24d879aa22998e87f6b3f481a5216311e7d53c7db87f189a7a0266dafffb", size = 121446, upload-time = "2026-03-06T02:54:14.013Z" }, - { url = "https://files.pythonhosted.org/packages/45/bb/34c443690c847835cfe9f892be78c533d4f32366ad2888972c094a897e39/wrapt-2.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16997dfb9d67addc2e3f41b62a104341e80cac52f91110dece393923c0ebd5ca", size = 123056, upload-time = "2026-03-06T02:54:10.829Z" }, - { url = "https://files.pythonhosted.org/packages/93/b9/ff205f391cb708f67f41ea148545f2b53ff543a7ac293b30d178af4d2271/wrapt-2.1.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:162e4e2ba7542da9027821cb6e7c5e068d64f9a10b5f15512ea28e954893a267", size = 117359, upload-time = "2026-03-06T02:53:03.623Z" }, - { url = "https://files.pythonhosted.org/packages/1f/3d/1ea04d7747825119c3c9a5e0874a40b33594ada92e5649347c457d982805/wrapt-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f29c827a8d9936ac320746747a016c4bc66ef639f5cd0d32df24f5eacbf9c69f", size = 121479, upload-time = "2026-03-06T02:53:45.844Z" }, - { url = "https://files.pythonhosted.org/packages/78/cc/ee3a011920c7a023b25e8df26f306b2484a531ab84ca5c96260a73de76c0/wrapt-2.1.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a9dd9813825f7ecb018c17fd147a01845eb330254dff86d3b5816f20f4d6aaf8", size = 116271, upload-time = "2026-03-06T02:54:46.356Z" }, - { url = "https://files.pythonhosted.org/packages/98/fd/e5ff7ded41b76d802cf1191288473e850d24ba2e39a6ec540f21ae3b57cb/wrapt-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6f8dbdd3719e534860d6a78526aafc220e0241f981367018c2875178cf83a413", size = 120573, upload-time = "2026-03-06T02:52:50.163Z" }, - { url = "https://files.pythonhosted.org/packages/47/c5/242cae3b5b080cd09bacef0591691ba1879739050cc7c801ff35c8886b66/wrapt-2.1.2-cp313-cp313-win32.whl", hash = "sha256:5c35b5d82b16a3bc6e0a04349b606a0582bc29f573786aebe98e0c159bc48db6", size = 58205, upload-time = "2026-03-06T02:53:47.494Z" }, - { url = "https://files.pythonhosted.org/packages/12/69/c358c61e7a50f290958809b3c61ebe8b3838ea3e070d7aac9814f95a0528/wrapt-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:f8bc1c264d8d1cf5b3560a87bbdd31131573eb25f9f9447bb6252b8d4c44a3a1", size = 60452, upload-time = "2026-03-06T02:53:30.038Z" }, - { url = "https://files.pythonhosted.org/packages/8e/66/c8a6fcfe321295fd8c0ab1bd685b5a01462a9b3aa2f597254462fc2bc975/wrapt-2.1.2-cp313-cp313-win_arm64.whl", hash = "sha256:3beb22f674550d5634642c645aba4c72a2c66fb185ae1aebe1e955fae5a13baf", size = 58842, upload-time = "2026-03-06T02:52:52.114Z" }, - { url = "https://files.pythonhosted.org/packages/da/55/9c7052c349106e0b3f17ae8db4b23a691a963c334de7f9dbd60f8f74a831/wrapt-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fc04bc8664a8bc4c8e00b37b5355cffca2535209fba1abb09ae2b7c76ddf82b", size = 63075, upload-time = "2026-03-06T02:53:19.108Z" }, - { url = "https://files.pythonhosted.org/packages/09/a8/ce7b4006f7218248dd71b7b2b732d0710845a0e49213b18faef64811ffef/wrapt-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a9b9d50c9af998875a1482a038eb05755dfd6fe303a313f6a940bb53a83c3f18", size = 63719, upload-time = "2026-03-06T02:54:33.452Z" }, - { url = "https://files.pythonhosted.org/packages/e4/e5/2ca472e80b9e2b7a17f106bb8f9df1db11e62101652ce210f66935c6af67/wrapt-2.1.2-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2d3ff4f0024dd224290c0eabf0240f1bfc1f26363431505fb1b0283d3b08f11d", size = 152643, upload-time = "2026-03-06T02:52:42.721Z" }, - { url = "https://files.pythonhosted.org/packages/36/42/30f0f2cefca9d9cbf6835f544d825064570203c3e70aa873d8ae12e23791/wrapt-2.1.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3278c471f4468ad544a691b31bb856374fbdefb7fee1a152153e64019379f015", size = 158805, upload-time = "2026-03-06T02:54:25.441Z" }, - { url = "https://files.pythonhosted.org/packages/bb/67/d08672f801f604889dcf58f1a0b424fe3808860ede9e03affc1876b295af/wrapt-2.1.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8914c754d3134a3032601c6984db1c576e6abaf3fc68094bb8ab1379d75ff92", size = 145990, upload-time = "2026-03-06T02:53:57.456Z" }, - { url = "https://files.pythonhosted.org/packages/68/a7/fd371b02e73babec1de6ade596e8cd9691051058cfdadbfd62a5898f3295/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ff95d4264e55839be37bafe1536db2ab2de19da6b65f9244f01f332b5286cfbf", size = 155670, upload-time = "2026-03-06T02:54:55.309Z" }, - { url = "https://files.pythonhosted.org/packages/86/2d/9fe0095dfdb621009f40117dcebf41d7396c2c22dca6eac779f4c007b86c/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:76405518ca4e1b76fbb1b9f686cff93aebae03920cc55ceeec48ff9f719c5f67", size = 144357, upload-time = "2026-03-06T02:54:24.092Z" }, - { url = "https://files.pythonhosted.org/packages/0e/b6/ec7b4a254abbe4cde9fa15c5d2cca4518f6b07d0f1b77d4ee9655e30280e/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c0be8b5a74c5824e9359b53e7e58bef71a729bacc82e16587db1c4ebc91f7c5a", size = 150269, upload-time = "2026-03-06T02:53:31.268Z" }, - { url = "https://files.pythonhosted.org/packages/6e/6b/2fabe8ebf148f4ee3c782aae86a795cc68ffe7d432ef550f234025ce0cfa/wrapt-2.1.2-cp313-cp313t-win32.whl", hash = "sha256:f01277d9a5fc1862f26f7626da9cf443bebc0abd2f303f41c5e995b15887dabd", size = 59894, upload-time = "2026-03-06T02:54:15.391Z" }, - { url = "https://files.pythonhosted.org/packages/ca/fb/9ba66fc2dedc936de5f8073c0217b5d4484e966d87723415cc8262c5d9c2/wrapt-2.1.2-cp313-cp313t-win_amd64.whl", hash = "sha256:84ce8f1c2104d2f6daa912b1b5b039f331febfeee74f8042ad4e04992bd95c8f", size = 63197, upload-time = "2026-03-06T02:54:41.943Z" }, - { url = "https://files.pythonhosted.org/packages/c0/1c/012d7423c95d0e337117723eb8ecf73c622ce15a97847e84cf3f8f26cd7e/wrapt-2.1.2-cp313-cp313t-win_arm64.whl", hash = "sha256:a93cd767e37faeddbe07d8fc4212d5cba660af59bdb0f6372c93faaa13e6e679", size = 60363, upload-time = "2026-03-06T02:54:48.093Z" }, - { url = "https://files.pythonhosted.org/packages/39/25/e7ea0b417db02bb796182a5316398a75792cd9a22528783d868755e1f669/wrapt-2.1.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1370e516598854e5b4366e09ce81e08bfe94d42b0fd569b88ec46cc56d9164a9", size = 61418, upload-time = "2026-03-06T02:53:55.706Z" }, - { url = "https://files.pythonhosted.org/packages/ec/0f/fa539e2f6a770249907757eaeb9a5ff4deb41c026f8466c1c6d799088a9b/wrapt-2.1.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6de1a3851c27e0bd6a04ca993ea6f80fc53e6c742ee1601f486c08e9f9b900a9", size = 61914, upload-time = "2026-03-06T02:52:53.37Z" }, - { url = "https://files.pythonhosted.org/packages/53/37/02af1867f5b1441aaeda9c82deed061b7cd1372572ddcd717f6df90b5e93/wrapt-2.1.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:de9f1a2bbc5ac7f6012ec24525bdd444765a2ff64b5985ac6e0692144838542e", size = 120417, upload-time = "2026-03-06T02:54:30.74Z" }, - { url = "https://files.pythonhosted.org/packages/c3/b7/0138a6238c8ba7476c77cf786a807f871672b37f37a422970342308276e7/wrapt-2.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:970d57ed83fa040d8b20c52fe74a6ae7e3775ae8cff5efd6a81e06b19078484c", size = 122797, upload-time = "2026-03-06T02:54:51.539Z" }, - { url = "https://files.pythonhosted.org/packages/e1/ad/819ae558036d6a15b7ed290d5b14e209ca795dd4da9c58e50c067d5927b0/wrapt-2.1.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3969c56e4563c375861c8df14fa55146e81ac11c8db49ea6fb7f2ba58bc1ff9a", size = 117350, upload-time = "2026-03-06T02:54:37.651Z" }, - { url = "https://files.pythonhosted.org/packages/8b/2d/afc18dc57a4600a6e594f77a9ae09db54f55ba455440a54886694a84c71b/wrapt-2.1.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:57d7c0c980abdc5f1d98b11a2aa3bb159790add80258c717fa49a99921456d90", size = 121223, upload-time = "2026-03-06T02:54:35.221Z" }, - { url = "https://files.pythonhosted.org/packages/b9/5b/5ec189b22205697bc56eb3b62aed87a1e0423e9c8285d0781c7a83170d15/wrapt-2.1.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:776867878e83130c7a04237010463372e877c1c994d449ca6aaafeab6aab2586", size = 116287, upload-time = "2026-03-06T02:54:19.654Z" }, - { url = "https://files.pythonhosted.org/packages/f7/2d/f84939a7c9b5e6cdd8a8d0f6a26cabf36a0f7e468b967720e8b0cd2bdf69/wrapt-2.1.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:fab036efe5464ec3291411fabb80a7a39e2dd80bae9bcbeeca5087fdfa891e19", size = 119593, upload-time = "2026-03-06T02:54:16.697Z" }, - { url = "https://files.pythonhosted.org/packages/0b/fe/ccd22a1263159c4ac811ab9374c061bcb4a702773f6e06e38de5f81a1bdc/wrapt-2.1.2-cp314-cp314-win32.whl", hash = "sha256:e6ed62c82ddf58d001096ae84ce7f833db97ae2263bff31c9b336ba8cfe3f508", size = 58631, upload-time = "2026-03-06T02:53:06.498Z" }, - { url = "https://files.pythonhosted.org/packages/65/0a/6bd83be7bff2e7efaac7b4ac9748da9d75a34634bbbbc8ad077d527146df/wrapt-2.1.2-cp314-cp314-win_amd64.whl", hash = "sha256:467e7c76315390331c67073073d00662015bb730c566820c9ca9b54e4d67fd04", size = 60875, upload-time = "2026-03-06T02:53:50.252Z" }, - { url = "https://files.pythonhosted.org/packages/6c/c0/0b3056397fe02ff80e5a5d72d627c11eb885d1ca78e71b1a5c1e8c7d45de/wrapt-2.1.2-cp314-cp314-win_arm64.whl", hash = "sha256:da1f00a557c66225d53b095a97eace0fc5349e3bfda28fa34ffae238978ee575", size = 59164, upload-time = "2026-03-06T02:53:59.128Z" }, - { url = "https://files.pythonhosted.org/packages/71/ed/5d89c798741993b2371396eb9d4634f009ff1ad8a6c78d366fe2883ea7a6/wrapt-2.1.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:62503ffbc2d3a69891cf29beeaccdb4d5e0a126e2b6a851688d4777e01428dbb", size = 63163, upload-time = "2026-03-06T02:52:54.873Z" }, - { url = "https://files.pythonhosted.org/packages/c6/8c/05d277d182bf36b0a13d6bd393ed1dec3468a25b59d01fba2dd70fe4d6ae/wrapt-2.1.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c7e6cd120ef837d5b6f860a6ea3745f8763805c418bb2f12eeb1fa6e25f22d22", size = 63723, upload-time = "2026-03-06T02:52:56.374Z" }, - { url = "https://files.pythonhosted.org/packages/f4/27/6c51ec1eff4413c57e72d6106bb8dec6f0c7cdba6503d78f0fa98767bcc9/wrapt-2.1.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3769a77df8e756d65fbc050333f423c01ae012b4f6731aaf70cf2bef61b34596", size = 152652, upload-time = "2026-03-06T02:53:23.79Z" }, - { url = "https://files.pythonhosted.org/packages/db/4c/d7dd662d6963fc7335bfe29d512b02b71cdfa23eeca7ab3ac74a67505deb/wrapt-2.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a76d61a2e851996150ba0f80582dd92a870643fa481f3b3846f229de88caf044", size = 158807, upload-time = "2026-03-06T02:53:35.742Z" }, - { url = "https://files.pythonhosted.org/packages/b4/4d/1e5eea1a78d539d346765727422976676615814029522c76b87a95f6bcdd/wrapt-2.1.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6f97edc9842cf215312b75fe737ee7c8adda75a89979f8e11558dfff6343cc4b", size = 146061, upload-time = "2026-03-06T02:52:57.574Z" }, - { url = "https://files.pythonhosted.org/packages/89/bc/62cabea7695cd12a288023251eeefdcb8465056ddaab6227cb78a2de005b/wrapt-2.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4006c351de6d5007aa33a551f600404ba44228a89e833d2fadc5caa5de8edfbf", size = 155667, upload-time = "2026-03-06T02:53:39.422Z" }, - { url = "https://files.pythonhosted.org/packages/e9/99/6f2888cd68588f24df3a76572c69c2de28287acb9e1972bf0c83ce97dbc1/wrapt-2.1.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a9372fc3639a878c8e7d87e1556fa209091b0a66e912c611e3f833e2c4202be2", size = 144392, upload-time = "2026-03-06T02:54:22.41Z" }, - { url = "https://files.pythonhosted.org/packages/40/51/1dfc783a6c57971614c48e361a82ca3b6da9055879952587bc99fe1a7171/wrapt-2.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3144b027ff30cbd2fca07c0a87e67011adb717eb5f5bd8496325c17e454257a3", size = 150296, upload-time = "2026-03-06T02:54:07.848Z" }, - { url = "https://files.pythonhosted.org/packages/6c/38/cbb8b933a0201076c1f64fc42883b0023002bdc14a4964219154e6ff3350/wrapt-2.1.2-cp314-cp314t-win32.whl", hash = "sha256:3b8d15e52e195813efe5db8cec156eebe339aaf84222f4f4f051a6c01f237ed7", size = 60539, upload-time = "2026-03-06T02:54:00.594Z" }, - { url = "https://files.pythonhosted.org/packages/82/dd/e5176e4b241c9f528402cebb238a36785a628179d7d8b71091154b3e4c9e/wrapt-2.1.2-cp314-cp314t-win_amd64.whl", hash = "sha256:08ffa54146a7559f5b8df4b289b46d963a8e74ed16ba3687f99896101a3990c5", size = 63969, upload-time = "2026-03-06T02:54:39Z" }, - { url = "https://files.pythonhosted.org/packages/5c/99/79f17046cf67e4a95b9987ea129632ba8bcec0bc81f3fb3d19bdb0bd60cd/wrapt-2.1.2-cp314-cp314t-win_arm64.whl", hash = "sha256:72aaa9d0d8e4ed0e2e98019cea47a21f823c9dd4b43c7b77bba6679ffcca6a00", size = 60554, upload-time = "2026-03-06T02:53:14.132Z" }, - { url = "https://files.pythonhosted.org/packages/1a/c7/8528ac2dfa2c1e6708f647df7ae144ead13f0a31146f43c7264b4942bf12/wrapt-2.1.2-py3-none-any.whl", hash = "sha256:b8fd6fa2b2c4e7621808f8c62e8317f4aae56e59721ad933bac5239d913cf0e8", size = 43993, upload-time = "2026-03-06T02:53:12.905Z" }, +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2e/64/925f213fdcbb9baeb1530449ac71a4d57fc361c053d06bf78d0c5c7cd80c/wrapt-2.1.2.tar.gz", hash = "sha256:3996a67eecc2c68fd47b4e3c564405a5777367adfd9b8abb58387b63ee83b21e" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/d2/387594fb592d027366645f3d7cc9b4d7ca7be93845fbaba6d835a912ef3c/wrapt-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b7a86d99a14f76facb269dc148590c01aaf47584071809a70da30555228158c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c9/18/3f373935bc5509e7ac444c8026a56762e50c1183e7061797437ca96c12ce/wrapt-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a819e39017f95bf7aede768f75915635aa8f671f2993c036991b8d3bfe8dbb6f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/7a/32758ca2853b07a887a4574b74e28843919103194bb47001a304e24af62f/wrapt-2.1.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5681123e60aed0e64c7d44f72bbf8b4ce45f79d81467e2c4c728629f5baf06eb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1d/d5/eeaa38f670d462e97d978b3b0d9ce06d5b91e54bebac6fbed867809216e7/wrapt-2.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b8b28e97a44d21836259739ae76284e180b18abbb4dcfdff07a415cf1016c3e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/09/2a41506cb17affb0bdf9d5e2129c8c19e192b388c4c01d05e1b14db23c00/wrapt-2.1.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cef91c95a50596fcdc31397eb6955476f82ae8a3f5a8eabdc13611b60ee380ba" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/64/15/0e6c3f5e87caadc43db279724ee36979246d5194fa32fed489c73643ba59/wrapt-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dad63212b168de8569b1c512f4eac4b57f2c6934b30df32d6ee9534a79f1493f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/b2/0ad17c8248f4e57bedf44938c26ec3ee194715f812d2dbbd9d7ff4be6c06/wrapt-2.1.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d307aa6888d5efab2c1cde09843d48c843990be13069003184b67d426d145394" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ff/04/bcdba98c26f2c6522c7c09a726d5d9229120163493620205b2f76bd13c01/wrapt-2.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c87cf3f0c85e27b3ac7d9ad95da166bf8739ca215a8b171e8404a2d739897a45" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0e/1b/5e2883c6bc14143924e465a6fc5a92d09eeabe35310842a481fb0581f832/wrapt-2.1.2-cp310-cp310-win32.whl", hash = "sha256:d1c5fea4f9fe3762e2b905fdd67df51e4be7a73b7674957af2d2ade71a5c075d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/5a/4efc997bccadd3af5749c250b49412793bc41e13a83a486b2b54a33e240c/wrapt-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:d8f7740e1af13dff2684e4d56fe604a7e04d6c94e737a60568d8d4238b9a0c71" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/f5/a2bb833e20181b937e87c242645ed5d5aa9c373006b0467bfe1a35c727d0/wrapt-2.1.2-cp310-cp310-win_arm64.whl", hash = "sha256:1c6cc827c00dc839350155f316f1f8b4b0c370f52b6a19e782e2bda89600c7dc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/81/60c4471fce95afa5922ca09b88a25f03c93343f759aae0f31fb4412a85c7/wrapt-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:96159a0ee2b0277d44201c3b5be479a9979cf154e8c82fa5df49586a8e7679bb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6b/be/80e80e39e7cb90b006a0eaf11c73ac3a62bbfb3068469aec15cc0bc795de/wrapt-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:98ba61833a77b747901e9012072f038795de7fc77849f1faa965464f3f87ff2d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b0/be/d7c88cd9293c859fc74b232abdc65a229bb953997995d6912fc85af18323/wrapt-2.1.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:767c0dbbe76cae2a60dd2b235ac0c87c9cccf4898aef8062e57bead46b5f6894" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/25/36c04602831a4d685d45a93b3abea61eca7fe35dab6c842d6f5d570ef94a/wrapt-2.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c691a6bc752c0cc4711cc0c00896fcd0f116abc253609ef64ef930032821842" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/4e/98a6eb417ef551dc277bec1253d5246b25003cf36fdf3913b65cb7657a56/wrapt-2.1.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f3b7d73012ea75aee5844de58c88f44cf62d0d62711e39da5a82824a7c4626a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cb/a6/a6f7186a5297cad8ec53fd7578533b28f795fdf5372368c74bd7e6e9841c/wrapt-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:577dff354e7acd9d411eaf4bfe76b724c89c89c8fc9b7e127ee28c5f7bcb25b6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/97/6f/06e66189e721dbebd5cf20e138acc4d1150288ce118462f2fcbff92d38db/wrapt-2.1.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3d7b6fd105f8b24e5bd23ccf41cb1d1099796524bcc6f7fbb8fe576c44befbc9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ef/43/4808b86f499a51370fbdbdfa6cb91e9b9169e762716456471b619fca7a70/wrapt-2.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:866abdbf4612e0b34764922ef8b1c5668867610a718d3053d59e24a5e5fcfc15" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/91/2c/a3f28b8fa7ac2cefa01cfcaca3471f9b0460608d012b693998cd61ef43df/wrapt-2.1.2-cp311-cp311-win32.whl", hash = "sha256:5a0a0a3a882393095573344075189eb2d566e0fd205a2b6414e9997b1b800a8b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3f/c3/2b1c7bd07a27b1db885a2fab469b707bdd35bddf30a113b4917a7e2139d2/wrapt-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:64a07a71d2730ba56f11d1a4b91f7817dc79bc134c11516b75d1921a7c6fcda1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/5c/76ece7b401b088daa6503d6264dd80f9a727df3e6042802de9a223084ea2/wrapt-2.1.2-cp311-cp311-win_arm64.whl", hash = "sha256:b89f095fe98bc12107f82a9f7d570dc83a0870291aeb6b1d7a7d35575f55d98a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/b6/1db817582c49c7fcbb7df6809d0f515af29d7c2fbf57eb44c36e98fb1492/wrapt-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ff2aad9c4cda28a8f0653fc2d487596458c2a3f475e56ba02909e950a9efa6a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/16/9b02a6b99c09227c93cd4b73acc3678114154ec38da53043c0ddc1fba0dc/wrapt-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6433ea84e1cfacf32021d2a4ee909554ade7fd392caa6f7c13f1f4bf7b8e8748" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/af/aa/ead46a88f9ec3a432a4832dfedb84092fc35af2d0ba40cd04aea3889f247/wrapt-2.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c20b757c268d30d6215916a5fa8461048d023865d888e437fab451139cad6c8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3a/9f/742c7c7cdf58b59085a1ee4b6c37b013f66ac33673a7ef4aaed5e992bc33/wrapt-2.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79847b83eb38e70d93dc392c7c5b587efe65b3e7afcc167aa8abd5d60e8761c8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e8/44/2c3dd45d53236b7ed7c646fcf212251dc19e48e599debd3926b52310fafb/wrapt-2.1.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f8fba1bae256186a83d1875b2b1f4e2d1242e8fac0f58ec0d7e41b26967b965c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/e2/b17d66abc26bd96f89dec0ecd0ef03da4a1286e6ff793839ec431b9fae57/wrapt-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e3d3b35eedcf5f7d022291ecd7533321c4775f7b9cd0050a31a68499ba45757c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/3c/62/e2977843fdf9f03daf1586a0ff49060b1b2fc7ff85a7ea82b6217c1ae36e/wrapt-2.1.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:6f2c5390460de57fa9582bc8a1b7a6c86e1a41dfad74c5225fc07044c15cc8d1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/dd/27fc67914e68d740bce512f11734aec08696e6b17641fef8867c00c949fc/wrapt-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7dfa9f2cf65d027b951d05c662cc99ee3bd01f6e4691ed39848a7a5fffc902b2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/9f/b750b3692ed2ef4705cb305bd68858e73010492b80e43d2a4faa5573cbe7/wrapt-2.1.2-cp312-cp312-win32.whl", hash = "sha256:eba8155747eb2cae4a0b913d9ebd12a1db4d860fc4c829d7578c7b989bd3f2f0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/b2/feecfe29f28483d888d76a48f03c4c4d8afea944dbee2b0cd3380f9df032/wrapt-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:1c51c738d7d9faa0b3601708e7e2eda9bf779e1b601dce6c77411f2a1b324a63" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/44/e1/e328f605d6e208547ea9fd120804fcdec68536ac748987a68c47c606eea8/wrapt-2.1.2-cp312-cp312-win_arm64.whl", hash = "sha256:c8e46ae8e4032792eb2f677dbd0d557170a8e5524d22acc55199f43efedd39bf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/4c/7a/d936840735c828b38d26a854e85d5338894cda544cb7a85a9d5b8b9c4df7/wrapt-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787fd6f4d67befa6fe2abdffcbd3de2d82dfc6fb8a6d850407c53332709d030b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/88/9a9b9a90ac8ca11c2fdb6a286cb3a1fc7dd774c00ed70929a6434f6bc634/wrapt-2.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4bdf26e03e6d0da3f0e9422fd36bcebf7bc0eeb55fdf9c727a09abc6b9fe472e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/03/a9/5b7d6a16fd6533fed2756900fc8fc923f678179aea62ada6d65c92718c00/wrapt-2.1.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bbac24d879aa22998e87f6b3f481a5216311e7d53c7db87f189a7a0266dafffb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/45/bb/34c443690c847835cfe9f892be78c533d4f32366ad2888972c094a897e39/wrapt-2.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16997dfb9d67addc2e3f41b62a104341e80cac52f91110dece393923c0ebd5ca" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/b9/ff205f391cb708f67f41ea148545f2b53ff543a7ac293b30d178af4d2271/wrapt-2.1.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:162e4e2ba7542da9027821cb6e7c5e068d64f9a10b5f15512ea28e954893a267" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1f/3d/1ea04d7747825119c3c9a5e0874a40b33594ada92e5649347c457d982805/wrapt-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f29c827a8d9936ac320746747a016c4bc66ef639f5cd0d32df24f5eacbf9c69f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/78/cc/ee3a011920c7a023b25e8df26f306b2484a531ab84ca5c96260a73de76c0/wrapt-2.1.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a9dd9813825f7ecb018c17fd147a01845eb330254dff86d3b5816f20f4d6aaf8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/98/fd/e5ff7ded41b76d802cf1191288473e850d24ba2e39a6ec540f21ae3b57cb/wrapt-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6f8dbdd3719e534860d6a78526aafc220e0241f981367018c2875178cf83a413" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/47/c5/242cae3b5b080cd09bacef0591691ba1879739050cc7c801ff35c8886b66/wrapt-2.1.2-cp313-cp313-win32.whl", hash = "sha256:5c35b5d82b16a3bc6e0a04349b606a0582bc29f573786aebe98e0c159bc48db6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/12/69/c358c61e7a50f290958809b3c61ebe8b3838ea3e070d7aac9814f95a0528/wrapt-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:f8bc1c264d8d1cf5b3560a87bbdd31131573eb25f9f9447bb6252b8d4c44a3a1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/66/c8a6fcfe321295fd8c0ab1bd685b5a01462a9b3aa2f597254462fc2bc975/wrapt-2.1.2-cp313-cp313-win_arm64.whl", hash = "sha256:3beb22f674550d5634642c645aba4c72a2c66fb185ae1aebe1e955fae5a13baf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/da/55/9c7052c349106e0b3f17ae8db4b23a691a963c334de7f9dbd60f8f74a831/wrapt-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fc04bc8664a8bc4c8e00b37b5355cffca2535209fba1abb09ae2b7c76ddf82b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/09/a8/ce7b4006f7218248dd71b7b2b732d0710845a0e49213b18faef64811ffef/wrapt-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a9b9d50c9af998875a1482a038eb05755dfd6fe303a313f6a940bb53a83c3f18" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e4/e5/2ca472e80b9e2b7a17f106bb8f9df1db11e62101652ce210f66935c6af67/wrapt-2.1.2-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2d3ff4f0024dd224290c0eabf0240f1bfc1f26363431505fb1b0283d3b08f11d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/36/42/30f0f2cefca9d9cbf6835f544d825064570203c3e70aa873d8ae12e23791/wrapt-2.1.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3278c471f4468ad544a691b31bb856374fbdefb7fee1a152153e64019379f015" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bb/67/d08672f801f604889dcf58f1a0b424fe3808860ede9e03affc1876b295af/wrapt-2.1.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8914c754d3134a3032601c6984db1c576e6abaf3fc68094bb8ab1379d75ff92" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/a7/fd371b02e73babec1de6ade596e8cd9691051058cfdadbfd62a5898f3295/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ff95d4264e55839be37bafe1536db2ab2de19da6b65f9244f01f332b5286cfbf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/2d/9fe0095dfdb621009f40117dcebf41d7396c2c22dca6eac779f4c007b86c/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:76405518ca4e1b76fbb1b9f686cff93aebae03920cc55ceeec48ff9f719c5f67" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0e/b6/ec7b4a254abbe4cde9fa15c5d2cca4518f6b07d0f1b77d4ee9655e30280e/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c0be8b5a74c5824e9359b53e7e58bef71a729bacc82e16587db1c4ebc91f7c5a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6e/6b/2fabe8ebf148f4ee3c782aae86a795cc68ffe7d432ef550f234025ce0cfa/wrapt-2.1.2-cp313-cp313t-win32.whl", hash = "sha256:f01277d9a5fc1862f26f7626da9cf443bebc0abd2f303f41c5e995b15887dabd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ca/fb/9ba66fc2dedc936de5f8073c0217b5d4484e966d87723415cc8262c5d9c2/wrapt-2.1.2-cp313-cp313t-win_amd64.whl", hash = "sha256:84ce8f1c2104d2f6daa912b1b5b039f331febfeee74f8042ad4e04992bd95c8f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/1c/012d7423c95d0e337117723eb8ecf73c622ce15a97847e84cf3f8f26cd7e/wrapt-2.1.2-cp313-cp313t-win_arm64.whl", hash = "sha256:a93cd767e37faeddbe07d8fc4212d5cba660af59bdb0f6372c93faaa13e6e679" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/25/e7ea0b417db02bb796182a5316398a75792cd9a22528783d868755e1f669/wrapt-2.1.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1370e516598854e5b4366e09ce81e08bfe94d42b0fd569b88ec46cc56d9164a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ec/0f/fa539e2f6a770249907757eaeb9a5ff4deb41c026f8466c1c6d799088a9b/wrapt-2.1.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6de1a3851c27e0bd6a04ca993ea6f80fc53e6c742ee1601f486c08e9f9b900a9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/53/37/02af1867f5b1441aaeda9c82deed061b7cd1372572ddcd717f6df90b5e93/wrapt-2.1.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:de9f1a2bbc5ac7f6012ec24525bdd444765a2ff64b5985ac6e0692144838542e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c3/b7/0138a6238c8ba7476c77cf786a807f871672b37f37a422970342308276e7/wrapt-2.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:970d57ed83fa040d8b20c52fe74a6ae7e3775ae8cff5efd6a81e06b19078484c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/ad/819ae558036d6a15b7ed290d5b14e209ca795dd4da9c58e50c067d5927b0/wrapt-2.1.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3969c56e4563c375861c8df14fa55146e81ac11c8db49ea6fb7f2ba58bc1ff9a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/2d/afc18dc57a4600a6e594f77a9ae09db54f55ba455440a54886694a84c71b/wrapt-2.1.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:57d7c0c980abdc5f1d98b11a2aa3bb159790add80258c717fa49a99921456d90" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/5b/5ec189b22205697bc56eb3b62aed87a1e0423e9c8285d0781c7a83170d15/wrapt-2.1.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:776867878e83130c7a04237010463372e877c1c994d449ca6aaafeab6aab2586" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f7/2d/f84939a7c9b5e6cdd8a8d0f6a26cabf36a0f7e468b967720e8b0cd2bdf69/wrapt-2.1.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:fab036efe5464ec3291411fabb80a7a39e2dd80bae9bcbeeca5087fdfa891e19" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0b/fe/ccd22a1263159c4ac811ab9374c061bcb4a702773f6e06e38de5f81a1bdc/wrapt-2.1.2-cp314-cp314-win32.whl", hash = "sha256:e6ed62c82ddf58d001096ae84ce7f833db97ae2263bff31c9b336ba8cfe3f508" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/65/0a/6bd83be7bff2e7efaac7b4ac9748da9d75a34634bbbbc8ad077d527146df/wrapt-2.1.2-cp314-cp314-win_amd64.whl", hash = "sha256:467e7c76315390331c67073073d00662015bb730c566820c9ca9b54e4d67fd04" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6c/c0/0b3056397fe02ff80e5a5d72d627c11eb885d1ca78e71b1a5c1e8c7d45de/wrapt-2.1.2-cp314-cp314-win_arm64.whl", hash = "sha256:da1f00a557c66225d53b095a97eace0fc5349e3bfda28fa34ffae238978ee575" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/71/ed/5d89c798741993b2371396eb9d4634f009ff1ad8a6c78d366fe2883ea7a6/wrapt-2.1.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:62503ffbc2d3a69891cf29beeaccdb4d5e0a126e2b6a851688d4777e01428dbb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/8c/05d277d182bf36b0a13d6bd393ed1dec3468a25b59d01fba2dd70fe4d6ae/wrapt-2.1.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c7e6cd120ef837d5b6f860a6ea3745f8763805c418bb2f12eeb1fa6e25f22d22" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f4/27/6c51ec1eff4413c57e72d6106bb8dec6f0c7cdba6503d78f0fa98767bcc9/wrapt-2.1.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3769a77df8e756d65fbc050333f423c01ae012b4f6731aaf70cf2bef61b34596" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/db/4c/d7dd662d6963fc7335bfe29d512b02b71cdfa23eeca7ab3ac74a67505deb/wrapt-2.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a76d61a2e851996150ba0f80582dd92a870643fa481f3b3846f229de88caf044" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b4/4d/1e5eea1a78d539d346765727422976676615814029522c76b87a95f6bcdd/wrapt-2.1.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6f97edc9842cf215312b75fe737ee7c8adda75a89979f8e11558dfff6343cc4b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/89/bc/62cabea7695cd12a288023251eeefdcb8465056ddaab6227cb78a2de005b/wrapt-2.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4006c351de6d5007aa33a551f600404ba44228a89e833d2fadc5caa5de8edfbf" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e9/99/6f2888cd68588f24df3a76572c69c2de28287acb9e1972bf0c83ce97dbc1/wrapt-2.1.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a9372fc3639a878c8e7d87e1556fa209091b0a66e912c611e3f833e2c4202be2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/40/51/1dfc783a6c57971614c48e361a82ca3b6da9055879952587bc99fe1a7171/wrapt-2.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3144b027ff30cbd2fca07c0a87e67011adb717eb5f5bd8496325c17e454257a3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6c/38/cbb8b933a0201076c1f64fc42883b0023002bdc14a4964219154e6ff3350/wrapt-2.1.2-cp314-cp314t-win32.whl", hash = "sha256:3b8d15e52e195813efe5db8cec156eebe339aaf84222f4f4f051a6c01f237ed7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/82/dd/e5176e4b241c9f528402cebb238a36785a628179d7d8b71091154b3e4c9e/wrapt-2.1.2-cp314-cp314t-win_amd64.whl", hash = "sha256:08ffa54146a7559f5b8df4b289b46d963a8e74ed16ba3687f99896101a3990c5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5c/99/79f17046cf67e4a95b9987ea129632ba8bcec0bc81f3fb3d19bdb0bd60cd/wrapt-2.1.2-cp314-cp314t-win_arm64.whl", hash = "sha256:72aaa9d0d8e4ed0e2e98019cea47a21f823c9dd4b43c7b77bba6679ffcca6a00" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1a/c7/8528ac2dfa2c1e6708f647df7ae144ead13f0a31146f43c7264b4942bf12/wrapt-2.1.2-py3-none-any.whl", hash = "sha256:b8fd6fa2b2c4e7621808f8c62e8317f4aae56e59721ad933bac5239d913cf0e8" }, ] [[package]] name = "yarl" version = "1.23.0" -source = { registry = "https://pypi.org/simple" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } dependencies = [ { name = "idna" }, { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz", hash = "sha256:53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5", size = 194676, upload-time = "2026-03-01T22:07:53.373Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/0d/9cc638702f6fc3c7a3685bcc8cf2a9ed7d6206e932a49f5242658047ef51/yarl-1.23.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cff6d44cb13d39db2663a22b22305d10855efa0fa8015ddeacc40bc59b9d8107", size = 123764, upload-time = "2026-03-01T22:04:09.7Z" }, - { url = "https://files.pythonhosted.org/packages/7a/35/5a553687c5793df5429cd1db45909d4f3af7eee90014888c208d086a44f0/yarl-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c53f8347cd4200f0d70a48ad059cabaf24f5adc6ba08622a23423bc7efa10d", size = 86282, upload-time = "2026-03-01T22:04:11.892Z" }, - { url = "https://files.pythonhosted.org/packages/68/2e/c5a2234238f8ce37a8312b52801ee74117f576b1539eec8404a480434acc/yarl-1.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a6940a074fb3c48356ed0158a3ca5699c955ee4185b4d7d619be3c327143e05", size = 86053, upload-time = "2026-03-01T22:04:13.292Z" }, - { url = "https://files.pythonhosted.org/packages/74/3f/bbd8ff36fb038622797ffbaf7db314918bb4d76f1cc8a4f9ca7a55fe5195/yarl-1.23.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ed5f69ce7be7902e5c70ea19eb72d20abf7d725ab5d49777d696e32d4fc1811d", size = 99395, upload-time = "2026-03-01T22:04:15.133Z" }, - { url = "https://files.pythonhosted.org/packages/77/04/9516bc4e269d2a3ec9c6779fcdeac51ce5b3a9b0156f06ac7152e5bba864/yarl-1.23.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:389871e65468400d6283c0308e791a640b5ab5c83bcee02a2f51295f95e09748", size = 92143, upload-time = "2026-03-01T22:04:16.829Z" }, - { url = "https://files.pythonhosted.org/packages/c7/63/88802d1f6b1cb1fc67d67a58cd0cf8a1790de4ce7946e434240f1d60ab4a/yarl-1.23.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dda608c88cf709b1d406bdfcd84d8d63cff7c9e577a403c6108ce8ce9dcc8764", size = 107643, upload-time = "2026-03-01T22:04:18.519Z" }, - { url = "https://files.pythonhosted.org/packages/8e/db/4f9b838f4d8bdd6f0f385aed8bbf21c71ed11a0b9983305c302cbd557815/yarl-1.23.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c4fe09e0780c6c3bf2b7d4af02ee2394439d11a523bbcf095cf4747c2932007", size = 108700, upload-time = "2026-03-01T22:04:20.373Z" }, - { url = "https://files.pythonhosted.org/packages/50/12/95a1d33f04a79c402664070d43b8b9f72dc18914e135b345b611b0b1f8cc/yarl-1.23.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:31c9921eb8bd12633b41ad27686bbb0b1a2a9b8452bfdf221e34f311e9942ed4", size = 102769, upload-time = "2026-03-01T22:04:23.055Z" }, - { url = "https://files.pythonhosted.org/packages/86/65/91a0285f51321369fd1a8308aa19207520c5f0587772cfc2e03fc2467e90/yarl-1.23.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5f10fd85e4b75967468af655228fbfd212bdf66db1c0d135065ce288982eda26", size = 101114, upload-time = "2026-03-01T22:04:25.031Z" }, - { url = "https://files.pythonhosted.org/packages/58/80/c7c8244fc3e5bc483dc71a09560f43b619fab29301a0f0a8f936e42865c7/yarl-1.23.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dbf507e9ef5688bada447a24d68b4b58dd389ba93b7afc065a2ba892bea54769", size = 98883, upload-time = "2026-03-01T22:04:27.281Z" }, - { url = "https://files.pythonhosted.org/packages/86/e7/71ca9cc9ca79c0b7d491216177d1aed559d632947b8ffb0ee60f7d8b23e3/yarl-1.23.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:85e9beda1f591bc73e77ea1c51965c68e98dafd0fec72cdd745f77d727466716", size = 94172, upload-time = "2026-03-01T22:04:28.554Z" }, - { url = "https://files.pythonhosted.org/packages/6a/3f/6c6c8a0fe29c26fb2db2e8d32195bb84ec1bfb8f1d32e7f73b787fcf349b/yarl-1.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1fdaa14ef51366d7757b45bde294e95f6c8c049194e793eedb8387c86d5993", size = 107010, upload-time = "2026-03-01T22:04:30.385Z" }, - { url = "https://files.pythonhosted.org/packages/56/38/12730c05e5ad40a76374d440ed8b0899729a96c250516d91c620a6e38fc2/yarl-1.23.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:75e3026ab649bf48f9a10c0134512638725b521340293f202a69b567518d94e0", size = 100285, upload-time = "2026-03-01T22:04:31.752Z" }, - { url = "https://files.pythonhosted.org/packages/34/92/6a7be9239f2347234e027284e7a5f74b1140cc86575e7b469d13fba1ebfe/yarl-1.23.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:80e6d33a3d42a7549b409f199857b4fb54e2103fc44fb87605b6663b7a7ff750", size = 108230, upload-time = "2026-03-01T22:04:33.844Z" }, - { url = "https://files.pythonhosted.org/packages/5e/81/4aebccfa9376bd98b9d8bfad20621a57d3e8cfc5b8631c1fa5f62cdd03f4/yarl-1.23.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ec2f42d41ccbd5df0270d7df31618a8ee267bfa50997f5d720ddba86c4a83a6", size = 103008, upload-time = "2026-03-01T22:04:35.856Z" }, - { url = "https://files.pythonhosted.org/packages/38/0f/0b4e3edcec794a86b853b0c6396c0a888d72dfce19b2d88c02ac289fb6c1/yarl-1.23.0-cp310-cp310-win32.whl", hash = "sha256:debe9c4f41c32990771be5c22b56f810659f9ddf3d63f67abfdcaa2c6c9c5c1d", size = 83073, upload-time = "2026-03-01T22:04:38.268Z" }, - { url = "https://files.pythonhosted.org/packages/a0/71/ad95c33da18897e4c636528bbc24a1dd23fe16797de8bc4ec667b8db0ba4/yarl-1.23.0-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f043cb8a2d71c981c09c510da013bc79fd661f5c60139f00dd3c3cc4f2ffb", size = 87328, upload-time = "2026-03-01T22:04:39.558Z" }, - { url = "https://files.pythonhosted.org/packages/e2/14/dfa369523c79bccf9c9c746b0a63eb31f65db9418ac01275f7950962e504/yarl-1.23.0-cp310-cp310-win_arm64.whl", hash = "sha256:263cd4f47159c09b8b685890af949195b51d1aa82ba451c5847ca9bc6413c220", size = 82463, upload-time = "2026-03-01T22:04:41.454Z" }, - { url = "https://files.pythonhosted.org/packages/a2/aa/60da938b8f0997ba3a911263c40d82b6f645a67902a490b46f3355e10fae/yarl-1.23.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b35d13d549077713e4414f927cdc388d62e543987c572baee613bf82f11a4b99", size = 123641, upload-time = "2026-03-01T22:04:42.841Z" }, - { url = "https://files.pythonhosted.org/packages/24/84/e237607faf4e099dbb8a4f511cfd5efcb5f75918baad200ff7380635631b/yarl-1.23.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbb0fef01f0c6b38cb0f39b1f78fc90b807e0e3c86a7ff3ce74ad77ce5c7880c", size = 86248, upload-time = "2026-03-01T22:04:44.757Z" }, - { url = "https://files.pythonhosted.org/packages/b2/0d/71ceabc14c146ba8ee3804ca7b3d42b1664c8440439de5214d366fec7d3a/yarl-1.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc52310451fc7c629e13c4e061cbe2dd01684d91f2f8ee2821b083c58bd72432", size = 85988, upload-time = "2026-03-01T22:04:46.365Z" }, - { url = "https://files.pythonhosted.org/packages/8c/6c/4a90d59c572e46b270ca132aca66954f1175abd691f74c1ef4c6711828e2/yarl-1.23.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2c6b50c7b0464165472b56b42d4c76a7b864597007d9c085e8b63e185cf4a7a", size = 100566, upload-time = "2026-03-01T22:04:47.639Z" }, - { url = "https://files.pythonhosted.org/packages/49/fb/c438fb5108047e629f6282a371e6e91cf3f97ee087c4fb748a1f32ceef55/yarl-1.23.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:aafe5dcfda86c8af00386d7781d4c2181b5011b7be3f2add5e99899ea925df05", size = 92079, upload-time = "2026-03-01T22:04:48.925Z" }, - { url = "https://files.pythonhosted.org/packages/d9/13/d269aa1aed3e4f50a5a103f96327210cc5fa5dd2d50882778f13c7a14606/yarl-1.23.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ee33b875f0b390564c1fb7bc528abf18c8ee6073b201c6ae8524aca778e2d83", size = 108741, upload-time = "2026-03-01T22:04:50.838Z" }, - { url = "https://files.pythonhosted.org/packages/85/fb/115b16f22c37ea4437d323e472945bea97301c8ec6089868fa560abab590/yarl-1.23.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4c41e021bc6d7affb3364dc1e1e5fa9582b470f283748784bd6ea0558f87f42c", size = 108099, upload-time = "2026-03-01T22:04:52.499Z" }, - { url = "https://files.pythonhosted.org/packages/9a/64/c53487d9f4968045b8afa51aed7ca44f58b2589e772f32745f3744476c82/yarl-1.23.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:99c8a9ed30f4164bc4c14b37a90208836cbf50d4ce2a57c71d0f52c7fb4f7598", size = 102678, upload-time = "2026-03-01T22:04:55.176Z" }, - { url = "https://files.pythonhosted.org/packages/85/59/cd98e556fbb2bf8fab29c1a722f67ad45c5f3447cac798ab85620d1e70af/yarl-1.23.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2af5c81a1f124609d5f33507082fc3f739959d4719b56877ab1ee7e7b3d602b", size = 100803, upload-time = "2026-03-01T22:04:56.588Z" }, - { url = "https://files.pythonhosted.org/packages/9e/c0/b39770b56d4a9f0bb5f77e2f1763cd2d75cc2f6c0131e3b4c360348fcd65/yarl-1.23.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6b41389c19b07c760c7e427a3462e8ab83c4bb087d127f0e854c706ce1b9215c", size = 100163, upload-time = "2026-03-01T22:04:58.492Z" }, - { url = "https://files.pythonhosted.org/packages/e7/64/6980f99ab00e1f0ff67cb84766c93d595b067eed07439cfccfc8fb28c1a6/yarl-1.23.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1dc702e42d0684f42d6519c8d581e49c96cefaaab16691f03566d30658ee8788", size = 93859, upload-time = "2026-03-01T22:05:00.268Z" }, - { url = "https://files.pythonhosted.org/packages/38/69/912e6c5e146793e5d4b5fe39ff5b00f4d22463dfd5a162bec565ac757673/yarl-1.23.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0e40111274f340d32ebcc0a5668d54d2b552a6cca84c9475859d364b380e3222", size = 108202, upload-time = "2026-03-01T22:05:02.273Z" }, - { url = "https://files.pythonhosted.org/packages/59/97/35ca6767524687ad64e5f5c31ad54bc76d585585a9fcb40f649e7e82ffed/yarl-1.23.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:4764a6a7588561a9aef92f65bda2c4fb58fe7c675c0883862e6df97559de0bfb", size = 99866, upload-time = "2026-03-01T22:05:03.597Z" }, - { url = "https://files.pythonhosted.org/packages/d3/1c/1a3387ee6d73589f6f2a220ae06f2984f6c20b40c734989b0a44f5987308/yarl-1.23.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:03214408cfa590df47728b84c679ae4ef00be2428e11630277be0727eba2d7cc", size = 107852, upload-time = "2026-03-01T22:05:04.986Z" }, - { url = "https://files.pythonhosted.org/packages/a4/b8/35c0750fcd5a3f781058bfd954515dd4b1eab45e218cbb85cf11132215f1/yarl-1.23.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:170e26584b060879e29fac213e4228ef063f39128723807a312e5c7fec28eff2", size = 102919, upload-time = "2026-03-01T22:05:06.397Z" }, - { url = "https://files.pythonhosted.org/packages/e5/1c/9a1979aec4a81896d597bcb2177827f2dbee3f5b7cc48b2d0dadb644b41d/yarl-1.23.0-cp311-cp311-win32.whl", hash = "sha256:51430653db848d258336cfa0244427b17d12db63d42603a55f0d4546f50f25b5", size = 82602, upload-time = "2026-03-01T22:05:08.444Z" }, - { url = "https://files.pythonhosted.org/packages/93/22/b85eca6fa2ad9491af48c973e4c8cf6b103a73dbb271fe3346949449fca0/yarl-1.23.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf49a3ae946a87083ef3a34c8f677ae4243f5b824bfc4c69672e72b3d6719d46", size = 87461, upload-time = "2026-03-01T22:05:10.145Z" }, - { url = "https://files.pythonhosted.org/packages/93/95/07e3553fe6f113e6864a20bdc53a78113cda3b9ced8784ee52a52c9f80d8/yarl-1.23.0-cp311-cp311-win_arm64.whl", hash = "sha256:b39cb32a6582750b6cc77bfb3c49c0f8760dc18dc96ec9fb55fbb0f04e08b928", size = 82336, upload-time = "2026-03-01T22:05:11.554Z" }, - { url = "https://files.pythonhosted.org/packages/88/8a/94615bc31022f711add374097ad4144d569e95ff3c38d39215d07ac153a0/yarl-1.23.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1932b6b8bba8d0160a9d1078aae5838a66039e8832d41d2992daa9a3a08f7860", size = 124737, upload-time = "2026-03-01T22:05:12.897Z" }, - { url = "https://files.pythonhosted.org/packages/e3/6f/c6554045d59d64052698add01226bc867b52fe4a12373415d7991fdca95d/yarl-1.23.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:411225bae281f114067578891bc75534cfb3d92a3b4dfef7a6ca78ba354e6069", size = 87029, upload-time = "2026-03-01T22:05:14.376Z" }, - { url = "https://files.pythonhosted.org/packages/19/2a/725ecc166d53438bc88f76822ed4b1e3b10756e790bafd7b523fe97c322d/yarl-1.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13a563739ae600a631c36ce096615fe307f131344588b0bc0daec108cdb47b25", size = 86310, upload-time = "2026-03-01T22:05:15.71Z" }, - { url = "https://files.pythonhosted.org/packages/99/30/58260ed98e6ff7f90ba84442c1ddd758c9170d70327394a6227b310cd60f/yarl-1.23.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cbf44c5cb4a7633d078788e1b56387e3d3cf2b8139a3be38040b22d6c3221c8", size = 97587, upload-time = "2026-03-01T22:05:17.384Z" }, - { url = "https://files.pythonhosted.org/packages/76/0a/8b08aac08b50682e65759f7f8dde98ae8168f72487e7357a5d684c581ef9/yarl-1.23.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53ad387048f6f09a8969631e4de3f1bf70c50e93545d64af4f751b2498755072", size = 92528, upload-time = "2026-03-01T22:05:18.804Z" }, - { url = "https://files.pythonhosted.org/packages/52/07/0b7179101fe5f8385ec6c6bb5d0cb9f76bd9fb4a769591ab6fb5cdbfc69a/yarl-1.23.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a59ba56f340334766f3a4442e0efd0af895fae9e2b204741ef885c446b3a1a8", size = 105339, upload-time = "2026-03-01T22:05:20.235Z" }, - { url = "https://files.pythonhosted.org/packages/d3/8a/36d82869ab5ec829ca8574dfcb92b51286fcfb1e9c7a73659616362dc880/yarl-1.23.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:803a3c3ce4acc62eaf01eaca1208dcf0783025ef27572c3336502b9c232005e7", size = 105061, upload-time = "2026-03-01T22:05:22.268Z" }, - { url = "https://files.pythonhosted.org/packages/66/3e/868e5c3364b6cee19ff3e1a122194fa4ce51def02c61023970442162859e/yarl-1.23.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3d2bff8f37f8d0f96c7ec554d16945050d54462d6e95414babaa18bfafc7f51", size = 100132, upload-time = "2026-03-01T22:05:23.638Z" }, - { url = "https://files.pythonhosted.org/packages/cf/26/9c89acf82f08a52cb52d6d39454f8d18af15f9d386a23795389d1d423823/yarl-1.23.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c75eb09e8d55bceb4367e83496ff8ef2bc7ea6960efb38e978e8073ea59ecb67", size = 99289, upload-time = "2026-03-01T22:05:25.749Z" }, - { url = "https://files.pythonhosted.org/packages/6f/54/5b0db00d2cb056922356104468019c0a132e89c8d3ab67d8ede9f4483d2a/yarl-1.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877b0738624280e34c55680d6054a307aa94f7d52fa0e3034a9cc6e790871da7", size = 96950, upload-time = "2026-03-01T22:05:27.318Z" }, - { url = "https://files.pythonhosted.org/packages/f6/40/10fa93811fd439341fad7e0718a86aca0de9548023bbb403668d6555acab/yarl-1.23.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b5405bb8f0e783a988172993cfc627e4d9d00432d6bbac65a923041edacf997d", size = 93960, upload-time = "2026-03-01T22:05:28.738Z" }, - { url = "https://files.pythonhosted.org/packages/bc/d2/8ae2e6cd77d0805f4526e30ec43b6f9a3dfc542d401ac4990d178e4bf0cf/yarl-1.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c3a3598a832590c5a3ce56ab5576361b5688c12cb1d39429cf5dba30b510760", size = 104703, upload-time = "2026-03-01T22:05:30.438Z" }, - { url = "https://files.pythonhosted.org/packages/2f/0c/b3ceacf82c3fe21183ce35fa2acf5320af003d52bc1fcf5915077681142e/yarl-1.23.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8419ebd326430d1cbb7efb5292330a2cf39114e82df5cc3d83c9a0d5ebeaf2f2", size = 98325, upload-time = "2026-03-01T22:05:31.835Z" }, - { url = "https://files.pythonhosted.org/packages/9d/e0/12900edd28bdab91a69bd2554b85ad7b151f64e8b521fe16f9ad2f56477a/yarl-1.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:be61f6fff406ca40e3b1d84716fde398fc08bc63dd96d15f3a14230a0973ed86", size = 105067, upload-time = "2026-03-01T22:05:33.358Z" }, - { url = "https://files.pythonhosted.org/packages/15/61/74bb1182cf79c9bbe4eb6b1f14a57a22d7a0be5e9cedf8e2d5c2086474c3/yarl-1.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ceb13c5c858d01321b5d9bb65e4cf37a92169ea470b70fec6f236b2c9dd7e34", size = 100285, upload-time = "2026-03-01T22:05:35.4Z" }, - { url = "https://files.pythonhosted.org/packages/69/7f/cd5ef733f2550de6241bd8bd8c3febc78158b9d75f197d9c7baa113436af/yarl-1.23.0-cp312-cp312-win32.whl", hash = "sha256:fffc45637bcd6538de8b85f51e3df3223e4ad89bccbfca0481c08c7fc8b7ed7d", size = 82359, upload-time = "2026-03-01T22:05:36.811Z" }, - { url = "https://files.pythonhosted.org/packages/f5/be/25216a49daeeb7af2bec0db22d5e7df08ed1d7c9f65d78b14f3b74fd72fc/yarl-1.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:f69f57305656a4852f2a7203efc661d8c042e6cc67f7acd97d8667fb448a426e", size = 87674, upload-time = "2026-03-01T22:05:38.171Z" }, - { url = "https://files.pythonhosted.org/packages/d2/35/aeab955d6c425b227d5b7247eafb24f2653fedc32f95373a001af5dfeb9e/yarl-1.23.0-cp312-cp312-win_arm64.whl", hash = "sha256:6e87a6e8735b44816e7db0b2fbc9686932df473c826b0d9743148432e10bb9b9", size = 81879, upload-time = "2026-03-01T22:05:40.006Z" }, - { url = "https://files.pythonhosted.org/packages/9a/4b/a0a6e5d0ee8a2f3a373ddef8a4097d74ac901ac363eea1440464ccbe0898/yarl-1.23.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:16c6994ac35c3e74fb0ae93323bf8b9c2a9088d55946109489667c510a7d010e", size = 123796, upload-time = "2026-03-01T22:05:41.412Z" }, - { url = "https://files.pythonhosted.org/packages/67/b6/8925d68af039b835ae876db5838e82e76ec87b9782ecc97e192b809c4831/yarl-1.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a42e651629dafb64fd5b0286a3580613702b5809ad3f24934ea87595804f2c5", size = 86547, upload-time = "2026-03-01T22:05:42.841Z" }, - { url = "https://files.pythonhosted.org/packages/ae/50/06d511cc4b8e0360d3c94af051a768e84b755c5eb031b12adaaab6dec6e5/yarl-1.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c6b9461a2a8b47c65eef63bb1c76a4f1c119618ffa99ea79bc5bb1e46c5821b", size = 85854, upload-time = "2026-03-01T22:05:44.85Z" }, - { url = "https://files.pythonhosted.org/packages/c4/f4/4e30b250927ffdab4db70da08b9b8d2194d7c7b400167b8fbeca1e4701ca/yarl-1.23.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2569b67d616eab450d262ca7cb9f9e19d2f718c70a8b88712859359d0ab17035", size = 98351, upload-time = "2026-03-01T22:05:46.836Z" }, - { url = "https://files.pythonhosted.org/packages/86/fc/4118c5671ea948208bdb1492d8b76bdf1453d3e73df051f939f563e7dcc5/yarl-1.23.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e9d9a4d06d3481eab79803beb4d9bd6f6a8e781ec078ac70d7ef2dcc29d1bea5", size = 92711, upload-time = "2026-03-01T22:05:48.316Z" }, - { url = "https://files.pythonhosted.org/packages/56/11/1ed91d42bd9e73c13dc9e7eb0dd92298d75e7ac4dd7f046ad0c472e231cd/yarl-1.23.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f514f6474e04179d3d33175ed3f3e31434d3130d42ec153540d5b157deefd735", size = 106014, upload-time = "2026-03-01T22:05:50.028Z" }, - { url = "https://files.pythonhosted.org/packages/ce/c9/74e44e056a23fbc33aca71779ef450ca648a5bc472bdad7a82339918f818/yarl-1.23.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fda207c815b253e34f7e1909840fd14299567b1c0eb4908f8c2ce01a41265401", size = 105557, upload-time = "2026-03-01T22:05:51.416Z" }, - { url = "https://files.pythonhosted.org/packages/66/fe/b1e10b08d287f518994f1e2ff9b6d26f0adeecd8dd7d533b01bab29a3eda/yarl-1.23.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34b6cf500e61c90f305094911f9acc9c86da1a05a7a3f5be9f68817043f486e4", size = 101559, upload-time = "2026-03-01T22:05:52.872Z" }, - { url = "https://files.pythonhosted.org/packages/72/59/c5b8d94b14e3d3c2a9c20cb100119fd534ab5a14b93673ab4cc4a4141ea5/yarl-1.23.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d7504f2b476d21653e4d143f44a175f7f751cd41233525312696c76aa3dbb23f", size = 100502, upload-time = "2026-03-01T22:05:54.954Z" }, - { url = "https://files.pythonhosted.org/packages/77/4f/96976cb54cbfc5c9fd73ed4c51804f92f209481d1fb190981c0f8a07a1d7/yarl-1.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:578110dd426f0d209d1509244e6d4a3f1a3e9077655d98c5f22583d63252a08a", size = 98027, upload-time = "2026-03-01T22:05:56.409Z" }, - { url = "https://files.pythonhosted.org/packages/63/6e/904c4f476471afdbad6b7e5b70362fb5810e35cd7466529a97322b6f5556/yarl-1.23.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:609d3614d78d74ebe35f54953c5bbd2ac647a7ddb9c30a5d877580f5e86b22f2", size = 95369, upload-time = "2026-03-01T22:05:58.141Z" }, - { url = "https://files.pythonhosted.org/packages/9d/40/acfcdb3b5f9d68ef499e39e04d25e141fe90661f9d54114556cf83be8353/yarl-1.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4966242ec68afc74c122f8459abd597afd7d8a60dc93d695c1334c5fd25f762f", size = 105565, upload-time = "2026-03-01T22:06:00.286Z" }, - { url = "https://files.pythonhosted.org/packages/5e/c6/31e28f3a6ba2869c43d124f37ea5260cac9c9281df803c354b31f4dd1f3c/yarl-1.23.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e0fd068364a6759bc794459f0a735ab151d11304346332489c7972bacbe9e72b", size = 99813, upload-time = "2026-03-01T22:06:01.712Z" }, - { url = "https://files.pythonhosted.org/packages/08/1f/6f65f59e72d54aa467119b63fc0b0b1762eff0232db1f4720cd89e2f4a17/yarl-1.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:39004f0ad156da43e86aa71f44e033de68a44e5a31fc53507b36dd253970054a", size = 105632, upload-time = "2026-03-01T22:06:03.188Z" }, - { url = "https://files.pythonhosted.org/packages/a3/c4/18b178a69935f9e7a338127d5b77d868fdc0f0e49becd286d51b3a18c61d/yarl-1.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5723c01a56c5028c807c701aa66722916d2747ad737a046853f6c46f4875543", size = 101895, upload-time = "2026-03-01T22:06:04.651Z" }, - { url = "https://files.pythonhosted.org/packages/8f/54/f5b870b5505663911dba950a8e4776a0dbd51c9c54c0ae88e823e4b874a0/yarl-1.23.0-cp313-cp313-win32.whl", hash = "sha256:1b6b572edd95b4fa8df75de10b04bc81acc87c1c7d16bcdd2035b09d30acc957", size = 82356, upload-time = "2026-03-01T22:06:06.04Z" }, - { url = "https://files.pythonhosted.org/packages/7a/84/266e8da36879c6edcd37b02b547e2d9ecdfea776be49598e75696e3316e1/yarl-1.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:baaf55442359053c7d62f6f8413a62adba3205119bcb6f49594894d8be47e5e3", size = 87515, upload-time = "2026-03-01T22:06:08.107Z" }, - { url = "https://files.pythonhosted.org/packages/00/fd/7e1c66efad35e1649114fa13f17485f62881ad58edeeb7f49f8c5e748bf9/yarl-1.23.0-cp313-cp313-win_arm64.whl", hash = "sha256:fb4948814a2a98e3912505f09c9e7493b1506226afb1f881825368d6fb776ee3", size = 81785, upload-time = "2026-03-01T22:06:10.181Z" }, - { url = "https://files.pythonhosted.org/packages/9c/fc/119dd07004f17ea43bb91e3ece6587759edd7519d6b086d16bfbd3319982/yarl-1.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:aecfed0b41aa72b7881712c65cf764e39ce2ec352324f5e0837c7048d9e6daaa", size = 130719, upload-time = "2026-03-01T22:06:11.708Z" }, - { url = "https://files.pythonhosted.org/packages/e6/0d/9f2348502fbb3af409e8f47730282cd6bc80dec6630c1e06374d882d6eb2/yarl-1.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a41bcf68efd19073376eb8cf948b8d9be0af26256403e512bb18f3966f1f9120", size = 89690, upload-time = "2026-03-01T22:06:13.429Z" }, - { url = "https://files.pythonhosted.org/packages/50/93/e88f3c80971b42cfc83f50a51b9d165a1dbf154b97005f2994a79f212a07/yarl-1.23.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cde9a2ecd91668bcb7f077c4966d8ceddb60af01b52e6e3e2680e4cf00ad1a59", size = 89851, upload-time = "2026-03-01T22:06:15.53Z" }, - { url = "https://files.pythonhosted.org/packages/1c/07/61c9dd8ba8f86473263b4036f70fb594c09e99c0d9737a799dfd8bc85651/yarl-1.23.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5023346c4ee7992febc0068e7593de5fa2bf611848c08404b35ebbb76b1b0512", size = 95874, upload-time = "2026-03-01T22:06:17.553Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e9/f9ff8ceefba599eac6abddcfb0b3bee9b9e636e96dbf54342a8577252379/yarl-1.23.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1009abedb49ae95b136a8904a3f71b342f849ffeced2d3747bf29caeda218c4", size = 88710, upload-time = "2026-03-01T22:06:19.004Z" }, - { url = "https://files.pythonhosted.org/packages/eb/78/0231bfcc5d4c8eec220bc2f9ef82cb4566192ea867a7c5b4148f44f6cbcd/yarl-1.23.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a8d00f29b42f534cc8aa3931cfe773b13b23e561e10d2b26f27a8d309b0e82a1", size = 101033, upload-time = "2026-03-01T22:06:21.203Z" }, - { url = "https://files.pythonhosted.org/packages/cd/9b/30ea5239a61786f18fd25797151a17fbb3be176977187a48d541b5447dd4/yarl-1.23.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:95451e6ce06c3e104556d73b559f5da6c34a069b6b62946d3ad66afcd51642ea", size = 100817, upload-time = "2026-03-01T22:06:22.738Z" }, - { url = "https://files.pythonhosted.org/packages/62/e2/a4980481071791bc83bce2b7a1a1f7adcabfa366007518b4b845e92eeee3/yarl-1.23.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:531ef597132086b6cf96faa7c6c1dcd0361dd5f1694e5cc30375907b9b7d3ea9", size = 97482, upload-time = "2026-03-01T22:06:24.21Z" }, - { url = "https://files.pythonhosted.org/packages/e5/1e/304a00cf5f6100414c4b5a01fc7ff9ee724b62158a08df2f8170dfc72a2d/yarl-1.23.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88f9fb0116fbfcefcab70f85cf4b74a2b6ce5d199c41345296f49d974ddb4123", size = 95949, upload-time = "2026-03-01T22:06:25.697Z" }, - { url = "https://files.pythonhosted.org/packages/68/03/093f4055ed4cae649ac53bca3d180bd37102e9e11d048588e9ab0c0108d0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e7b0460976dc75cb87ad9cc1f9899a4b97751e7d4e77ab840fc9b6d377b8fd24", size = 95839, upload-time = "2026-03-01T22:06:27.309Z" }, - { url = "https://files.pythonhosted.org/packages/b9/28/4c75ebb108f322aa8f917ae10a8ffa4f07cae10a8a627b64e578617df6a0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:115136c4a426f9da976187d238e84139ff6b51a20839aa6e3720cd1026d768de", size = 90696, upload-time = "2026-03-01T22:06:29.048Z" }, - { url = "https://files.pythonhosted.org/packages/23/9c/42c2e2dd91c1a570402f51bdf066bfdb1241c2240ba001967bad778e77b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ead11956716a940c1abc816b7df3fa2b84d06eaed8832ca32f5c5e058c65506b", size = 100865, upload-time = "2026-03-01T22:06:30.525Z" }, - { url = "https://files.pythonhosted.org/packages/74/05/1bcd60a8a0a914d462c305137246b6f9d167628d73568505fce3f1cb2e65/yarl-1.23.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:fe8f8f5e70e6dbdfca9882cd9deaac058729bcf323cf7a58660901e55c9c94f6", size = 96234, upload-time = "2026-03-01T22:06:32.692Z" }, - { url = "https://files.pythonhosted.org/packages/90/b2/f52381aac396d6778ce516b7bc149c79e65bfc068b5de2857ab69eeea3b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:a0e317df055958a0c1e79e5d2aa5a5eaa4a6d05a20d4b0c9c3f48918139c9fc6", size = 100295, upload-time = "2026-03-01T22:06:34.268Z" }, - { url = "https://files.pythonhosted.org/packages/e5/e8/638bae5bbf1113a659b2435d8895474598afe38b4a837103764f603aba56/yarl-1.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f0fd84de0c957b2d280143522c4f91a73aada1923caee763e24a2b3fda9f8a5", size = 97784, upload-time = "2026-03-01T22:06:35.864Z" }, - { url = "https://files.pythonhosted.org/packages/80/25/a3892b46182c586c202629fc2159aa13975d3741d52ebd7347fd501d48d5/yarl-1.23.0-cp313-cp313t-win32.whl", hash = "sha256:93a784271881035ab4406a172edb0faecb6e7d00f4b53dc2f55919d6c9688595", size = 88313, upload-time = "2026-03-01T22:06:37.39Z" }, - { url = "https://files.pythonhosted.org/packages/43/68/8c5b36aa5178900b37387937bc2c2fe0e9505537f713495472dcf6f6fccc/yarl-1.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dd00607bffbf30250fe108065f07453ec124dbf223420f57f5e749b04295e090", size = 94932, upload-time = "2026-03-01T22:06:39.579Z" }, - { url = "https://files.pythonhosted.org/packages/c6/cc/d79ba8292f51f81f4dc533a8ccfb9fc6992cabf0998ed3245de7589dc07c/yarl-1.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ac09d42f48f80c9ee1635b2fcaa819496a44502737660d3c0f2ade7526d29144", size = 84786, upload-time = "2026-03-01T22:06:41.988Z" }, - { url = "https://files.pythonhosted.org/packages/90/98/b85a038d65d1b92c3903ab89444f48d3cee490a883477b716d7a24b1a78c/yarl-1.23.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:21d1b7305a71a15b4794b5ff22e8eef96ff4a6d7f9657155e5aa419444b28912", size = 124455, upload-time = "2026-03-01T22:06:43.615Z" }, - { url = "https://files.pythonhosted.org/packages/39/54/bc2b45559f86543d163b6e294417a107bb87557609007c007ad889afec18/yarl-1.23.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85610b4f27f69984932a7abbe52703688de3724d9f72bceb1cca667deff27474", size = 86752, upload-time = "2026-03-01T22:06:45.425Z" }, - { url = "https://files.pythonhosted.org/packages/24/f9/e8242b68362bffe6fb536c8db5076861466fc780f0f1b479fc4ffbebb128/yarl-1.23.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23f371bd662cf44a7630d4d113101eafc0cfa7518a2760d20760b26021454719", size = 86291, upload-time = "2026-03-01T22:06:46.974Z" }, - { url = "https://files.pythonhosted.org/packages/ea/d8/d1cb2378c81dd729e98c716582b1ccb08357e8488e4c24714658cc6630e8/yarl-1.23.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a80f77dc1acaaa61f0934176fccca7096d9b1ff08c8ba9cddf5ae034a24319", size = 99026, upload-time = "2026-03-01T22:06:48.459Z" }, - { url = "https://files.pythonhosted.org/packages/0a/ff/7196790538f31debe3341283b5b0707e7feb947620fc5e8236ef28d44f72/yarl-1.23.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd654fad46d8d9e823afbb4f87c79160b5a374ed1ff5bde24e542e6ba8f41434", size = 92355, upload-time = "2026-03-01T22:06:50.306Z" }, - { url = "https://files.pythonhosted.org/packages/c1/56/25d58c3eddde825890a5fe6aa1866228377354a3c39262235234ab5f616b/yarl-1.23.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:682bae25f0a0dd23a056739f23a134db9f52a63e2afd6bfb37ddc76292bbd723", size = 106417, upload-time = "2026-03-01T22:06:52.1Z" }, - { url = "https://files.pythonhosted.org/packages/51/8a/882c0e7bc8277eb895b31bce0138f51a1ba551fc2e1ec6753ffc1e7c1377/yarl-1.23.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a82836cab5f197a0514235aaf7ffccdc886ccdaa2324bc0aafdd4ae898103039", size = 106422, upload-time = "2026-03-01T22:06:54.424Z" }, - { url = "https://files.pythonhosted.org/packages/42/2b/fef67d616931055bf3d6764885990a3ac647d68734a2d6a9e1d13de437a2/yarl-1.23.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c57676bdedc94cd3bc37724cf6f8cd2779f02f6aba48de45feca073e714fe52", size = 101915, upload-time = "2026-03-01T22:06:55.895Z" }, - { url = "https://files.pythonhosted.org/packages/18/6a/530e16aebce27c5937920f3431c628a29a4b6b430fab3fd1c117b26ff3f6/yarl-1.23.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c7f8dc16c498ff06497c015642333219871effba93e4a2e8604a06264aca5c5c", size = 100690, upload-time = "2026-03-01T22:06:58.21Z" }, - { url = "https://files.pythonhosted.org/packages/88/08/93749219179a45e27b036e03260fda05190b911de8e18225c294ac95bbc9/yarl-1.23.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5ee586fb17ff8f90c91cf73c6108a434b02d69925f44f5f8e0d7f2f260607eae", size = 98750, upload-time = "2026-03-01T22:06:59.794Z" }, - { url = "https://files.pythonhosted.org/packages/d9/cf/ea424a004969f5d81a362110a6ac1496d79efdc6d50c2c4b2e3ea0fc2519/yarl-1.23.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:17235362f580149742739cc3828b80e24029d08cbb9c4bda0242c7b5bc610a8e", size = 94685, upload-time = "2026-03-01T22:07:01.375Z" }, - { url = "https://files.pythonhosted.org/packages/e2/b7/14341481fe568e2b0408bcf1484c652accafe06a0ade9387b5d3fd9df446/yarl-1.23.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:0793e2bd0cf14234983bbb371591e6bea9e876ddf6896cdcc93450996b0b5c85", size = 106009, upload-time = "2026-03-01T22:07:03.151Z" }, - { url = "https://files.pythonhosted.org/packages/0a/e6/5c744a9b54f4e8007ad35bce96fbc9218338e84812d36f3390cea616881a/yarl-1.23.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3650dc2480f94f7116c364096bc84b1d602f44224ef7d5c7208425915c0475dd", size = 100033, upload-time = "2026-03-01T22:07:04.701Z" }, - { url = "https://files.pythonhosted.org/packages/0c/23/e3bfc188d0b400f025bc49d99793d02c9abe15752138dcc27e4eaf0c4a9e/yarl-1.23.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f40e782d49630ad384db66d4d8b73ff4f1b8955dc12e26b09a3e3af064b3b9d6", size = 106483, upload-time = "2026-03-01T22:07:06.231Z" }, - { url = "https://files.pythonhosted.org/packages/72/42/f0505f949a90b3f8b7a363d6cbdf398f6e6c58946d85c6d3a3bc70595b26/yarl-1.23.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94f8575fbdf81749008d980c17796097e645574a3b8c28ee313931068dad14fe", size = 102175, upload-time = "2026-03-01T22:07:08.4Z" }, - { url = "https://files.pythonhosted.org/packages/aa/65/b39290f1d892a9dd671d1c722014ca062a9c35d60885d57e5375db0404b5/yarl-1.23.0-cp314-cp314-win32.whl", hash = "sha256:c8aa34a5c864db1087d911a0b902d60d203ea3607d91f615acd3f3108ac32169", size = 83871, upload-time = "2026-03-01T22:07:09.968Z" }, - { url = "https://files.pythonhosted.org/packages/a9/5b/9b92f54c784c26e2a422e55a8d2607ab15b7ea3349e28359282f84f01d43/yarl-1.23.0-cp314-cp314-win_amd64.whl", hash = "sha256:63e92247f383c85ab00dd0091e8c3fa331a96e865459f5ee80353c70a4a42d70", size = 89093, upload-time = "2026-03-01T22:07:11.501Z" }, - { url = "https://files.pythonhosted.org/packages/e0/7d/8a84dc9381fd4412d5e7ff04926f9865f6372b4c2fd91e10092e65d29eb8/yarl-1.23.0-cp314-cp314-win_arm64.whl", hash = "sha256:70efd20be968c76ece7baa8dafe04c5be06abc57f754d6f36f3741f7aa7a208e", size = 83384, upload-time = "2026-03-01T22:07:13.069Z" }, - { url = "https://files.pythonhosted.org/packages/dd/8d/d2fad34b1c08aa161b74394183daa7d800141aaaee207317e82c790b418d/yarl-1.23.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9a18d6f9359e45722c064c97464ec883eb0e0366d33eda61cb19a244bf222679", size = 131019, upload-time = "2026-03-01T22:07:14.903Z" }, - { url = "https://files.pythonhosted.org/packages/19/ff/33009a39d3ccf4b94d7d7880dfe17fb5816c5a4fe0096d9b56abceea9ac7/yarl-1.23.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2803ed8b21ca47a43da80a6fd1ed3019d30061f7061daa35ac54f63933409412", size = 89894, upload-time = "2026-03-01T22:07:17.372Z" }, - { url = "https://files.pythonhosted.org/packages/0c/f1/dab7ac5e7306fb79c0190766a3c00b4cb8d09a1f390ded68c85a5934faf5/yarl-1.23.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:394906945aa8b19fc14a61cf69743a868bb8c465efe85eee687109cc540b98f4", size = 89979, upload-time = "2026-03-01T22:07:19.361Z" }, - { url = "https://files.pythonhosted.org/packages/aa/b1/08e95f3caee1fad6e65017b9f26c1d79877b502622d60e517de01e72f95d/yarl-1.23.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71d006bee8397a4a89f469b8deb22469fe7508132d3c17fa6ed871e79832691c", size = 95943, upload-time = "2026-03-01T22:07:21.266Z" }, - { url = "https://files.pythonhosted.org/packages/c0/cc/6409f9018864a6aa186c61175b977131f373f1988e198e031236916e87e4/yarl-1.23.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:62694e275c93d54f7ccedcfef57d42761b2aad5234b6be1f3e3026cae4001cd4", size = 88786, upload-time = "2026-03-01T22:07:23.129Z" }, - { url = "https://files.pythonhosted.org/packages/76/40/cc22d1d7714b717fde2006fad2ced5efe5580606cb059ae42117542122f3/yarl-1.23.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31de1613658308efdb21ada98cbc86a97c181aa050ba22a808120bb5be3ab94", size = 101307, upload-time = "2026-03-01T22:07:24.689Z" }, - { url = "https://files.pythonhosted.org/packages/8f/0d/476c38e85ddb4c6ec6b20b815bdd779aa386a013f3d8b85516feee55c8dc/yarl-1.23.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb1e8b8d66c278b21d13b0a7ca22c41dd757a7c209c6b12c313e445c31dd3b28", size = 100904, upload-time = "2026-03-01T22:07:26.287Z" }, - { url = "https://files.pythonhosted.org/packages/72/32/0abe4a76d59adf2081dcb0397168553ece4616ada1c54d1c49d8936c74f8/yarl-1.23.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50f9d8d531dfb767c565f348f33dd5139a6c43f5cbdf3f67da40d54241df93f6", size = 97728, upload-time = "2026-03-01T22:07:27.906Z" }, - { url = "https://files.pythonhosted.org/packages/b7/35/7b30f4810fba112f60f5a43237545867504e15b1c7647a785fbaf588fac2/yarl-1.23.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:575aa4405a656e61a540f4a80eaa5260f2a38fff7bfdc4b5f611840d76e9e277", size = 95964, upload-time = "2026-03-01T22:07:30.198Z" }, - { url = "https://files.pythonhosted.org/packages/2d/86/ed7a73ab85ef00e8bb70b0cb5421d8a2a625b81a333941a469a6f4022828/yarl-1.23.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:041b1a4cefacf65840b4e295c6985f334ba83c30607441ae3cf206a0eed1a2e4", size = 95882, upload-time = "2026-03-01T22:07:32.132Z" }, - { url = "https://files.pythonhosted.org/packages/19/90/d56967f61a29d8498efb7afb651e0b2b422a1e9b47b0ab5f4e40a19b699b/yarl-1.23.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:d38c1e8231722c4ce40d7593f28d92b5fc72f3e9774fe73d7e800ec32299f63a", size = 90797, upload-time = "2026-03-01T22:07:34.404Z" }, - { url = "https://files.pythonhosted.org/packages/72/00/8b8f76909259f56647adb1011d7ed8b321bcf97e464515c65016a47ecdf0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d53834e23c015ee83a99377db6e5e37d8484f333edb03bd15b4bc312cc7254fb", size = 101023, upload-time = "2026-03-01T22:07:35.953Z" }, - { url = "https://files.pythonhosted.org/packages/ac/e2/cab11b126fb7d440281b7df8e9ddbe4851e70a4dde47a202b6642586b8d9/yarl-1.23.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2e27c8841126e017dd2a054a95771569e6070b9ee1b133366d8b31beb5018a41", size = 96227, upload-time = "2026-03-01T22:07:37.594Z" }, - { url = "https://files.pythonhosted.org/packages/c2/9b/2c893e16bfc50e6b2edf76c1a9eb6cb0c744346197e74c65e99ad8d634d0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:76855800ac56f878847a09ce6dba727c93ca2d89c9e9d63002d26b916810b0a2", size = 100302, upload-time = "2026-03-01T22:07:39.334Z" }, - { url = "https://files.pythonhosted.org/packages/28/ec/5498c4e3a6d5f1003beb23405671c2eb9cdbf3067d1c80f15eeafe301010/yarl-1.23.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e09fd068c2e169a7070d83d3bde728a4d48de0549f975290be3c108c02e499b4", size = 98202, upload-time = "2026-03-01T22:07:41.717Z" }, - { url = "https://files.pythonhosted.org/packages/fe/c3/cd737e2d45e70717907f83e146f6949f20cc23cd4bf7b2688727763aa458/yarl-1.23.0-cp314-cp314t-win32.whl", hash = "sha256:73309162a6a571d4cbd3b6a1dcc703c7311843ae0d1578df6f09be4e98df38d4", size = 90558, upload-time = "2026-03-01T22:07:43.433Z" }, - { url = "https://files.pythonhosted.org/packages/e1/19/3774d162f6732d1cfb0b47b4140a942a35ca82bb19b6db1f80e9e7bdc8f8/yarl-1.23.0-cp314-cp314t-win_amd64.whl", hash = "sha256:4503053d296bc6e4cbd1fad61cf3b6e33b939886c4f249ba7c78b602214fabe2", size = 97610, upload-time = "2026-03-01T22:07:45.773Z" }, - { url = "https://files.pythonhosted.org/packages/51/47/3fa2286c3cb162c71cdb34c4224d5745a1ceceb391b2bd9b19b668a8d724/yarl-1.23.0-cp314-cp314t-win_arm64.whl", hash = "sha256:44bb7bef4ea409384e3f8bc36c063d77ea1b8d4a5b2706956c0d6695f07dcc25", size = 86041, upload-time = "2026-03-01T22:07:49.026Z" }, - { url = "https://files.pythonhosted.org/packages/69/68/c8739671f5699c7dc470580a4f821ef37c32c4cb0b047ce223a7f115757f/yarl-1.23.0-py3-none-any.whl", hash = "sha256:a2df6afe50dea8ae15fa34c9f824a3ee958d785fd5d089063d960bae1daa0a3f", size = 48288, upload-time = "2026-03-01T22:07:51.388Z" }, +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz", hash = "sha256:53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" } +wheels = [ + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8b/0d/9cc638702f6fc3c7a3685bcc8cf2a9ed7d6206e932a49f5242658047ef51/yarl-1.23.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cff6d44cb13d39db2663a22b22305d10855efa0fa8015ddeacc40bc59b9d8107" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/35/5a553687c5793df5429cd1db45909d4f3af7eee90014888c208d086a44f0/yarl-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c53f8347cd4200f0d70a48ad059cabaf24f5adc6ba08622a23423bc7efa10d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/2e/c5a2234238f8ce37a8312b52801ee74117f576b1539eec8404a480434acc/yarl-1.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a6940a074fb3c48356ed0158a3ca5699c955ee4185b4d7d619be3c327143e05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/3f/bbd8ff36fb038622797ffbaf7db314918bb4d76f1cc8a4f9ca7a55fe5195/yarl-1.23.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ed5f69ce7be7902e5c70ea19eb72d20abf7d725ab5d49777d696e32d4fc1811d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/04/9516bc4e269d2a3ec9c6779fcdeac51ce5b3a9b0156f06ac7152e5bba864/yarl-1.23.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:389871e65468400d6283c0308e791a640b5ab5c83bcee02a2f51295f95e09748" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c7/63/88802d1f6b1cb1fc67d67a58cd0cf8a1790de4ce7946e434240f1d60ab4a/yarl-1.23.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dda608c88cf709b1d406bdfcd84d8d63cff7c9e577a403c6108ce8ce9dcc8764" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8e/db/4f9b838f4d8bdd6f0f385aed8bbf21c71ed11a0b9983305c302cbd557815/yarl-1.23.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c4fe09e0780c6c3bf2b7d4af02ee2394439d11a523bbcf095cf4747c2932007" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/12/95a1d33f04a79c402664070d43b8b9f72dc18914e135b345b611b0b1f8cc/yarl-1.23.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:31c9921eb8bd12633b41ad27686bbb0b1a2a9b8452bfdf221e34f311e9942ed4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/65/91a0285f51321369fd1a8308aa19207520c5f0587772cfc2e03fc2467e90/yarl-1.23.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5f10fd85e4b75967468af655228fbfd212bdf66db1c0d135065ce288982eda26" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/58/80/c7c8244fc3e5bc483dc71a09560f43b619fab29301a0f0a8f936e42865c7/yarl-1.23.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dbf507e9ef5688bada447a24d68b4b58dd389ba93b7afc065a2ba892bea54769" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/e7/71ca9cc9ca79c0b7d491216177d1aed559d632947b8ffb0ee60f7d8b23e3/yarl-1.23.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:85e9beda1f591bc73e77ea1c51965c68e98dafd0fec72cdd745f77d727466716" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6a/3f/6c6c8a0fe29c26fb2db2e8d32195bb84ec1bfb8f1d32e7f73b787fcf349b/yarl-1.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1fdaa14ef51366d7757b45bde294e95f6c8c049194e793eedb8387c86d5993" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/38/12730c05e5ad40a76374d440ed8b0899729a96c250516d91c620a6e38fc2/yarl-1.23.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:75e3026ab649bf48f9a10c0134512638725b521340293f202a69b567518d94e0" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/34/92/6a7be9239f2347234e027284e7a5f74b1140cc86575e7b469d13fba1ebfe/yarl-1.23.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:80e6d33a3d42a7549b409f199857b4fb54e2103fc44fb87605b6663b7a7ff750" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/81/4aebccfa9376bd98b9d8bfad20621a57d3e8cfc5b8631c1fa5f62cdd03f4/yarl-1.23.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ec2f42d41ccbd5df0270d7df31618a8ee267bfa50997f5d720ddba86c4a83a6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/0f/0b4e3edcec794a86b853b0c6396c0a888d72dfce19b2d88c02ac289fb6c1/yarl-1.23.0-cp310-cp310-win32.whl", hash = "sha256:debe9c4f41c32990771be5c22b56f810659f9ddf3d63f67abfdcaa2c6c9c5c1d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a0/71/ad95c33da18897e4c636528bbc24a1dd23fe16797de8bc4ec667b8db0ba4/yarl-1.23.0-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f043cb8a2d71c981c09c510da013bc79fd661f5c60139f00dd3c3cc4f2ffb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/14/dfa369523c79bccf9c9c746b0a63eb31f65db9418ac01275f7950962e504/yarl-1.23.0-cp310-cp310-win_arm64.whl", hash = "sha256:263cd4f47159c09b8b685890af949195b51d1aa82ba451c5847ca9bc6413c220" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a2/aa/60da938b8f0997ba3a911263c40d82b6f645a67902a490b46f3355e10fae/yarl-1.23.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b35d13d549077713e4414f927cdc388d62e543987c572baee613bf82f11a4b99" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/84/e237607faf4e099dbb8a4f511cfd5efcb5f75918baad200ff7380635631b/yarl-1.23.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbb0fef01f0c6b38cb0f39b1f78fc90b807e0e3c86a7ff3ce74ad77ce5c7880c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b2/0d/71ceabc14c146ba8ee3804ca7b3d42b1664c8440439de5214d366fec7d3a/yarl-1.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc52310451fc7c629e13c4e061cbe2dd01684d91f2f8ee2821b083c58bd72432" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8c/6c/4a90d59c572e46b270ca132aca66954f1175abd691f74c1ef4c6711828e2/yarl-1.23.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2c6b50c7b0464165472b56b42d4c76a7b864597007d9c085e8b63e185cf4a7a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/49/fb/c438fb5108047e629f6282a371e6e91cf3f97ee087c4fb748a1f32ceef55/yarl-1.23.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:aafe5dcfda86c8af00386d7781d4c2181b5011b7be3f2add5e99899ea925df05" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/13/d269aa1aed3e4f50a5a103f96327210cc5fa5dd2d50882778f13c7a14606/yarl-1.23.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ee33b875f0b390564c1fb7bc528abf18c8ee6073b201c6ae8524aca778e2d83" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/fb/115b16f22c37ea4437d323e472945bea97301c8ec6089868fa560abab590/yarl-1.23.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4c41e021bc6d7affb3364dc1e1e5fa9582b470f283748784bd6ea0558f87f42c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/64/c53487d9f4968045b8afa51aed7ca44f58b2589e772f32745f3744476c82/yarl-1.23.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:99c8a9ed30f4164bc4c14b37a90208836cbf50d4ce2a57c71d0f52c7fb4f7598" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/85/59/cd98e556fbb2bf8fab29c1a722f67ad45c5f3447cac798ab85620d1e70af/yarl-1.23.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2af5c81a1f124609d5f33507082fc3f739959d4719b56877ab1ee7e7b3d602b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/c0/b39770b56d4a9f0bb5f77e2f1763cd2d75cc2f6c0131e3b4c360348fcd65/yarl-1.23.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6b41389c19b07c760c7e427a3462e8ab83c4bb087d127f0e854c706ce1b9215c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e7/64/6980f99ab00e1f0ff67cb84766c93d595b067eed07439cfccfc8fb28c1a6/yarl-1.23.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1dc702e42d0684f42d6519c8d581e49c96cefaaab16691f03566d30658ee8788" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/38/69/912e6c5e146793e5d4b5fe39ff5b00f4d22463dfd5a162bec565ac757673/yarl-1.23.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0e40111274f340d32ebcc0a5668d54d2b552a6cca84c9475859d364b380e3222" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/59/97/35ca6767524687ad64e5f5c31ad54bc76d585585a9fcb40f649e7e82ffed/yarl-1.23.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:4764a6a7588561a9aef92f65bda2c4fb58fe7c675c0883862e6df97559de0bfb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/1c/1a3387ee6d73589f6f2a220ae06f2984f6c20b40c734989b0a44f5987308/yarl-1.23.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:03214408cfa590df47728b84c679ae4ef00be2428e11630277be0727eba2d7cc" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a4/b8/35c0750fcd5a3f781058bfd954515dd4b1eab45e218cbb85cf11132215f1/yarl-1.23.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:170e26584b060879e29fac213e4228ef063f39128723807a312e5c7fec28eff2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/1c/9a1979aec4a81896d597bcb2177827f2dbee3f5b7cc48b2d0dadb644b41d/yarl-1.23.0-cp311-cp311-win32.whl", hash = "sha256:51430653db848d258336cfa0244427b17d12db63d42603a55f0d4546f50f25b5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/22/b85eca6fa2ad9491af48c973e4c8cf6b103a73dbb271fe3346949449fca0/yarl-1.23.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf49a3ae946a87083ef3a34c8f677ae4243f5b824bfc4c69672e72b3d6719d46" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/93/95/07e3553fe6f113e6864a20bdc53a78113cda3b9ced8784ee52a52c9f80d8/yarl-1.23.0-cp311-cp311-win_arm64.whl", hash = "sha256:b39cb32a6582750b6cc77bfb3c49c0f8760dc18dc96ec9fb55fbb0f04e08b928" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/8a/94615bc31022f711add374097ad4144d569e95ff3c38d39215d07ac153a0/yarl-1.23.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1932b6b8bba8d0160a9d1078aae5838a66039e8832d41d2992daa9a3a08f7860" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e3/6f/c6554045d59d64052698add01226bc867b52fe4a12373415d7991fdca95d/yarl-1.23.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:411225bae281f114067578891bc75534cfb3d92a3b4dfef7a6ca78ba354e6069" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/2a/725ecc166d53438bc88f76822ed4b1e3b10756e790bafd7b523fe97c322d/yarl-1.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13a563739ae600a631c36ce096615fe307f131344588b0bc0daec108cdb47b25" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/99/30/58260ed98e6ff7f90ba84442c1ddd758c9170d70327394a6227b310cd60f/yarl-1.23.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cbf44c5cb4a7633d078788e1b56387e3d3cf2b8139a3be38040b22d6c3221c8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/0a/8b08aac08b50682e65759f7f8dde98ae8168f72487e7357a5d684c581ef9/yarl-1.23.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53ad387048f6f09a8969631e4de3f1bf70c50e93545d64af4f751b2498755072" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/52/07/0b7179101fe5f8385ec6c6bb5d0cb9f76bd9fb4a769591ab6fb5cdbfc69a/yarl-1.23.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a59ba56f340334766f3a4442e0efd0af895fae9e2b204741ef885c446b3a1a8" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d3/8a/36d82869ab5ec829ca8574dfcb92b51286fcfb1e9c7a73659616362dc880/yarl-1.23.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:803a3c3ce4acc62eaf01eaca1208dcf0783025ef27572c3336502b9c232005e7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/3e/868e5c3364b6cee19ff3e1a122194fa4ce51def02c61023970442162859e/yarl-1.23.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3d2bff8f37f8d0f96c7ec554d16945050d54462d6e95414babaa18bfafc7f51" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cf/26/9c89acf82f08a52cb52d6d39454f8d18af15f9d386a23795389d1d423823/yarl-1.23.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c75eb09e8d55bceb4367e83496ff8ef2bc7ea6960efb38e978e8073ea59ecb67" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/6f/54/5b0db00d2cb056922356104468019c0a132e89c8d3ab67d8ede9f4483d2a/yarl-1.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877b0738624280e34c55680d6054a307aa94f7d52fa0e3034a9cc6e790871da7" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f6/40/10fa93811fd439341fad7e0718a86aca0de9548023bbb403668d6555acab/yarl-1.23.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b5405bb8f0e783a988172993cfc627e4d9d00432d6bbac65a923041edacf997d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/bc/d2/8ae2e6cd77d0805f4526e30ec43b6f9a3dfc542d401ac4990d178e4bf0cf/yarl-1.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c3a3598a832590c5a3ce56ab5576361b5688c12cb1d39429cf5dba30b510760" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2f/0c/b3ceacf82c3fe21183ce35fa2acf5320af003d52bc1fcf5915077681142e/yarl-1.23.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8419ebd326430d1cbb7efb5292330a2cf39114e82df5cc3d83c9a0d5ebeaf2f2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/e0/12900edd28bdab91a69bd2554b85ad7b151f64e8b521fe16f9ad2f56477a/yarl-1.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:be61f6fff406ca40e3b1d84716fde398fc08bc63dd96d15f3a14230a0973ed86" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/15/61/74bb1182cf79c9bbe4eb6b1f14a57a22d7a0be5e9cedf8e2d5c2086474c3/yarl-1.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ceb13c5c858d01321b5d9bb65e4cf37a92169ea470b70fec6f236b2c9dd7e34" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/7f/cd5ef733f2550de6241bd8bd8c3febc78158b9d75f197d9c7baa113436af/yarl-1.23.0-cp312-cp312-win32.whl", hash = "sha256:fffc45637bcd6538de8b85f51e3df3223e4ad89bccbfca0481c08c7fc8b7ed7d" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/f5/be/25216a49daeeb7af2bec0db22d5e7df08ed1d7c9f65d78b14f3b74fd72fc/yarl-1.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:f69f57305656a4852f2a7203efc661d8c042e6cc67f7acd97d8667fb448a426e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d2/35/aeab955d6c425b227d5b7247eafb24f2653fedc32f95373a001af5dfeb9e/yarl-1.23.0-cp312-cp312-win_arm64.whl", hash = "sha256:6e87a6e8735b44816e7db0b2fbc9686932df473c826b0d9743148432e10bb9b9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9a/4b/a0a6e5d0ee8a2f3a373ddef8a4097d74ac901ac363eea1440464ccbe0898/yarl-1.23.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:16c6994ac35c3e74fb0ae93323bf8b9c2a9088d55946109489667c510a7d010e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/67/b6/8925d68af039b835ae876db5838e82e76ec87b9782ecc97e192b809c4831/yarl-1.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a42e651629dafb64fd5b0286a3580613702b5809ad3f24934ea87595804f2c5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ae/50/06d511cc4b8e0360d3c94af051a768e84b755c5eb031b12adaaab6dec6e5/yarl-1.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c6b9461a2a8b47c65eef63bb1c76a4f1c119618ffa99ea79bc5bb1e46c5821b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c4/f4/4e30b250927ffdab4db70da08b9b8d2194d7c7b400167b8fbeca1e4701ca/yarl-1.23.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2569b67d616eab450d262ca7cb9f9e19d2f718c70a8b88712859359d0ab17035" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/86/fc/4118c5671ea948208bdb1492d8b76bdf1453d3e73df051f939f563e7dcc5/yarl-1.23.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e9d9a4d06d3481eab79803beb4d9bd6f6a8e781ec078ac70d7ef2dcc29d1bea5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/56/11/1ed91d42bd9e73c13dc9e7eb0dd92298d75e7ac4dd7f046ad0c472e231cd/yarl-1.23.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f514f6474e04179d3d33175ed3f3e31434d3130d42ec153540d5b157deefd735" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ce/c9/74e44e056a23fbc33aca71779ef450ca648a5bc472bdad7a82339918f818/yarl-1.23.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fda207c815b253e34f7e1909840fd14299567b1c0eb4908f8c2ce01a41265401" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/66/fe/b1e10b08d287f518994f1e2ff9b6d26f0adeecd8dd7d533b01bab29a3eda/yarl-1.23.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34b6cf500e61c90f305094911f9acc9c86da1a05a7a3f5be9f68817043f486e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/59/c5b8d94b14e3d3c2a9c20cb100119fd534ab5a14b93673ab4cc4a4141ea5/yarl-1.23.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d7504f2b476d21653e4d143f44a175f7f751cd41233525312696c76aa3dbb23f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/77/4f/96976cb54cbfc5c9fd73ed4c51804f92f209481d1fb190981c0f8a07a1d7/yarl-1.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:578110dd426f0d209d1509244e6d4a3f1a3e9077655d98c5f22583d63252a08a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/63/6e/904c4f476471afdbad6b7e5b70362fb5810e35cd7466529a97322b6f5556/yarl-1.23.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:609d3614d78d74ebe35f54953c5bbd2ac647a7ddb9c30a5d877580f5e86b22f2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9d/40/acfcdb3b5f9d68ef499e39e04d25e141fe90661f9d54114556cf83be8353/yarl-1.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4966242ec68afc74c122f8459abd597afd7d8a60dc93d695c1334c5fd25f762f" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/5e/c6/31e28f3a6ba2869c43d124f37ea5260cac9c9281df803c354b31f4dd1f3c/yarl-1.23.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e0fd068364a6759bc794459f0a735ab151d11304346332489c7972bacbe9e72b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/08/1f/6f65f59e72d54aa467119b63fc0b0b1762eff0232db1f4720cd89e2f4a17/yarl-1.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:39004f0ad156da43e86aa71f44e033de68a44e5a31fc53507b36dd253970054a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a3/c4/18b178a69935f9e7a338127d5b77d868fdc0f0e49becd286d51b3a18c61d/yarl-1.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5723c01a56c5028c807c701aa66722916d2747ad737a046853f6c46f4875543" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/54/f5b870b5505663911dba950a8e4776a0dbd51c9c54c0ae88e823e4b874a0/yarl-1.23.0-cp313-cp313-win32.whl", hash = "sha256:1b6b572edd95b4fa8df75de10b04bc81acc87c1c7d16bcdd2035b09d30acc957" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/7a/84/266e8da36879c6edcd37b02b547e2d9ecdfea776be49598e75696e3316e1/yarl-1.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:baaf55442359053c7d62f6f8413a62adba3205119bcb6f49594894d8be47e5e3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/00/fd/7e1c66efad35e1649114fa13f17485f62881ad58edeeb7f49f8c5e748bf9/yarl-1.23.0-cp313-cp313-win_arm64.whl", hash = "sha256:fb4948814a2a98e3912505f09c9e7493b1506226afb1f881825368d6fb776ee3" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9c/fc/119dd07004f17ea43bb91e3ece6587759edd7519d6b086d16bfbd3319982/yarl-1.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:aecfed0b41aa72b7881712c65cf764e39ce2ec352324f5e0837c7048d9e6daaa" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e6/0d/9f2348502fbb3af409e8f47730282cd6bc80dec6630c1e06374d882d6eb2/yarl-1.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a41bcf68efd19073376eb8cf948b8d9be0af26256403e512bb18f3966f1f9120" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/50/93/e88f3c80971b42cfc83f50a51b9d165a1dbf154b97005f2994a79f212a07/yarl-1.23.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cde9a2ecd91668bcb7f077c4966d8ceddb60af01b52e6e3e2680e4cf00ad1a59" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/1c/07/61c9dd8ba8f86473263b4036f70fb594c09e99c0d9737a799dfd8bc85651/yarl-1.23.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5023346c4ee7992febc0068e7593de5fa2bf611848c08404b35ebbb76b1b0512" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/9e/e9/f9ff8ceefba599eac6abddcfb0b3bee9b9e636e96dbf54342a8577252379/yarl-1.23.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1009abedb49ae95b136a8904a3f71b342f849ffeced2d3747bf29caeda218c4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/eb/78/0231bfcc5d4c8eec220bc2f9ef82cb4566192ea867a7c5b4148f44f6cbcd/yarl-1.23.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a8d00f29b42f534cc8aa3931cfe773b13b23e561e10d2b26f27a8d309b0e82a1" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/cd/9b/30ea5239a61786f18fd25797151a17fbb3be176977187a48d541b5447dd4/yarl-1.23.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:95451e6ce06c3e104556d73b559f5da6c34a069b6b62946d3ad66afcd51642ea" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/62/e2/a4980481071791bc83bce2b7a1a1f7adcabfa366007518b4b845e92eeee3/yarl-1.23.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:531ef597132086b6cf96faa7c6c1dcd0361dd5f1694e5cc30375907b9b7d3ea9" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/1e/304a00cf5f6100414c4b5a01fc7ff9ee724b62158a08df2f8170dfc72a2d/yarl-1.23.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88f9fb0116fbfcefcab70f85cf4b74a2b6ce5d199c41345296f49d974ddb4123" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/68/03/093f4055ed4cae649ac53bca3d180bd37102e9e11d048588e9ab0c0108d0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e7b0460976dc75cb87ad9cc1f9899a4b97751e7d4e77ab840fc9b6d377b8fd24" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b9/28/4c75ebb108f322aa8f917ae10a8ffa4f07cae10a8a627b64e578617df6a0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:115136c4a426f9da976187d238e84139ff6b51a20839aa6e3720cd1026d768de" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/23/9c/42c2e2dd91c1a570402f51bdf066bfdb1241c2240ba001967bad778e77b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ead11956716a940c1abc816b7df3fa2b84d06eaed8832ca32f5c5e058c65506b" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/74/05/1bcd60a8a0a914d462c305137246b6f9d167628d73568505fce3f1cb2e65/yarl-1.23.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:fe8f8f5e70e6dbdfca9882cd9deaac058729bcf323cf7a58660901e55c9c94f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/b2/f52381aac396d6778ce516b7bc149c79e65bfc068b5de2857ab69eeea3b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:a0e317df055958a0c1e79e5d2aa5a5eaa4a6d05a20d4b0c9c3f48918139c9fc6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e5/e8/638bae5bbf1113a659b2435d8895474598afe38b4a837103764f603aba56/yarl-1.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f0fd84de0c957b2d280143522c4f91a73aada1923caee763e24a2b3fda9f8a5" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/80/25/a3892b46182c586c202629fc2159aa13975d3741d52ebd7347fd501d48d5/yarl-1.23.0-cp313-cp313t-win32.whl", hash = "sha256:93a784271881035ab4406a172edb0faecb6e7d00f4b53dc2f55919d6c9688595" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/43/68/8c5b36aa5178900b37387937bc2c2fe0e9505537f713495472dcf6f6fccc/yarl-1.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dd00607bffbf30250fe108065f07453ec124dbf223420f57f5e749b04295e090" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c6/cc/d79ba8292f51f81f4dc533a8ccfb9fc6992cabf0998ed3245de7589dc07c/yarl-1.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ac09d42f48f80c9ee1635b2fcaa819496a44502737660d3c0f2ade7526d29144" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/90/98/b85a038d65d1b92c3903ab89444f48d3cee490a883477b716d7a24b1a78c/yarl-1.23.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:21d1b7305a71a15b4794b5ff22e8eef96ff4a6d7f9657155e5aa419444b28912" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/39/54/bc2b45559f86543d163b6e294417a107bb87557609007c007ad889afec18/yarl-1.23.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85610b4f27f69984932a7abbe52703688de3724d9f72bceb1cca667deff27474" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/24/f9/e8242b68362bffe6fb536c8db5076861466fc780f0f1b479fc4ffbebb128/yarl-1.23.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23f371bd662cf44a7630d4d113101eafc0cfa7518a2760d20760b26021454719" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ea/d8/d1cb2378c81dd729e98c716582b1ccb08357e8488e4c24714658cc6630e8/yarl-1.23.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a80f77dc1acaaa61f0934176fccca7096d9b1ff08c8ba9cddf5ae034a24319" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/ff/7196790538f31debe3341283b5b0707e7feb947620fc5e8236ef28d44f72/yarl-1.23.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd654fad46d8d9e823afbb4f87c79160b5a374ed1ff5bde24e542e6ba8f41434" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c1/56/25d58c3eddde825890a5fe6aa1866228377354a3c39262235234ab5f616b/yarl-1.23.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:682bae25f0a0dd23a056739f23a134db9f52a63e2afd6bfb37ddc76292bbd723" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/51/8a/882c0e7bc8277eb895b31bce0138f51a1ba551fc2e1ec6753ffc1e7c1377/yarl-1.23.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a82836cab5f197a0514235aaf7ffccdc886ccdaa2324bc0aafdd4ae898103039" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/42/2b/fef67d616931055bf3d6764885990a3ac647d68734a2d6a9e1d13de437a2/yarl-1.23.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c57676bdedc94cd3bc37724cf6f8cd2779f02f6aba48de45feca073e714fe52" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/18/6a/530e16aebce27c5937920f3431c628a29a4b6b430fab3fd1c117b26ff3f6/yarl-1.23.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c7f8dc16c498ff06497c015642333219871effba93e4a2e8604a06264aca5c5c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/88/08/93749219179a45e27b036e03260fda05190b911de8e18225c294ac95bbc9/yarl-1.23.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5ee586fb17ff8f90c91cf73c6108a434b02d69925f44f5f8e0d7f2f260607eae" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/d9/cf/ea424a004969f5d81a362110a6ac1496d79efdc6d50c2c4b2e3ea0fc2519/yarl-1.23.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:17235362f580149742739cc3828b80e24029d08cbb9c4bda0242c7b5bc610a8e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e2/b7/14341481fe568e2b0408bcf1484c652accafe06a0ade9387b5d3fd9df446/yarl-1.23.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:0793e2bd0cf14234983bbb371591e6bea9e876ddf6896cdcc93450996b0b5c85" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0a/e6/5c744a9b54f4e8007ad35bce96fbc9218338e84812d36f3390cea616881a/yarl-1.23.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3650dc2480f94f7116c364096bc84b1d602f44224ef7d5c7208425915c0475dd" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/23/e3bfc188d0b400f025bc49d99793d02c9abe15752138dcc27e4eaf0c4a9e/yarl-1.23.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f40e782d49630ad384db66d4d8b73ff4f1b8955dc12e26b09a3e3af064b3b9d6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/42/f0505f949a90b3f8b7a363d6cbdf398f6e6c58946d85c6d3a3bc70595b26/yarl-1.23.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94f8575fbdf81749008d980c17796097e645574a3b8c28ee313931068dad14fe" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/65/b39290f1d892a9dd671d1c722014ca062a9c35d60885d57e5375db0404b5/yarl-1.23.0-cp314-cp314-win32.whl", hash = "sha256:c8aa34a5c864db1087d911a0b902d60d203ea3607d91f615acd3f3108ac32169" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/a9/5b/9b92f54c784c26e2a422e55a8d2607ab15b7ea3349e28359282f84f01d43/yarl-1.23.0-cp314-cp314-win_amd64.whl", hash = "sha256:63e92247f383c85ab00dd0091e8c3fa331a96e865459f5ee80353c70a4a42d70" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e0/7d/8a84dc9381fd4412d5e7ff04926f9865f6372b4c2fd91e10092e65d29eb8/yarl-1.23.0-cp314-cp314-win_arm64.whl", hash = "sha256:70efd20be968c76ece7baa8dafe04c5be06abc57f754d6f36f3741f7aa7a208e" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/dd/8d/d2fad34b1c08aa161b74394183daa7d800141aaaee207317e82c790b418d/yarl-1.23.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9a18d6f9359e45722c064c97464ec883eb0e0366d33eda61cb19a244bf222679" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/ff/33009a39d3ccf4b94d7d7880dfe17fb5816c5a4fe0096d9b56abceea9ac7/yarl-1.23.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2803ed8b21ca47a43da80a6fd1ed3019d30061f7061daa35ac54f63933409412" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/0c/f1/dab7ac5e7306fb79c0190766a3c00b4cb8d09a1f390ded68c85a5934faf5/yarl-1.23.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:394906945aa8b19fc14a61cf69743a868bb8c465efe85eee687109cc540b98f4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/aa/b1/08e95f3caee1fad6e65017b9f26c1d79877b502622d60e517de01e72f95d/yarl-1.23.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71d006bee8397a4a89f469b8deb22469fe7508132d3c17fa6ed871e79832691c" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c0/cc/6409f9018864a6aa186c61175b977131f373f1988e198e031236916e87e4/yarl-1.23.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:62694e275c93d54f7ccedcfef57d42761b2aad5234b6be1f3e3026cae4001cd4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/76/40/cc22d1d7714b717fde2006fad2ced5efe5580606cb059ae42117542122f3/yarl-1.23.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31de1613658308efdb21ada98cbc86a97c181aa050ba22a808120bb5be3ab94" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/8f/0d/476c38e85ddb4c6ec6b20b815bdd779aa386a013f3d8b85516feee55c8dc/yarl-1.23.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb1e8b8d66c278b21d13b0a7ca22c41dd757a7c209c6b12c313e445c31dd3b28" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/32/0abe4a76d59adf2081dcb0397168553ece4616ada1c54d1c49d8936c74f8/yarl-1.23.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50f9d8d531dfb767c565f348f33dd5139a6c43f5cbdf3f67da40d54241df93f6" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/b7/35/7b30f4810fba112f60f5a43237545867504e15b1c7647a785fbaf588fac2/yarl-1.23.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:575aa4405a656e61a540f4a80eaa5260f2a38fff7bfdc4b5f611840d76e9e277" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/2d/86/ed7a73ab85ef00e8bb70b0cb5421d8a2a625b81a333941a469a6f4022828/yarl-1.23.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:041b1a4cefacf65840b4e295c6985f334ba83c30607441ae3cf206a0eed1a2e4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/19/90/d56967f61a29d8498efb7afb651e0b2b422a1e9b47b0ab5f4e40a19b699b/yarl-1.23.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:d38c1e8231722c4ce40d7593f28d92b5fc72f3e9774fe73d7e800ec32299f63a" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/72/00/8b8f76909259f56647adb1011d7ed8b321bcf97e464515c65016a47ecdf0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d53834e23c015ee83a99377db6e5e37d8484f333edb03bd15b4bc312cc7254fb" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/ac/e2/cab11b126fb7d440281b7df8e9ddbe4851e70a4dde47a202b6642586b8d9/yarl-1.23.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2e27c8841126e017dd2a054a95771569e6070b9ee1b133366d8b31beb5018a41" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/c2/9b/2c893e16bfc50e6b2edf76c1a9eb6cb0c744346197e74c65e99ad8d634d0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:76855800ac56f878847a09ce6dba727c93ca2d89c9e9d63002d26b916810b0a2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/28/ec/5498c4e3a6d5f1003beb23405671c2eb9cdbf3067d1c80f15eeafe301010/yarl-1.23.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e09fd068c2e169a7070d83d3bde728a4d48de0549f975290be3c108c02e499b4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/fe/c3/cd737e2d45e70717907f83e146f6949f20cc23cd4bf7b2688727763aa458/yarl-1.23.0-cp314-cp314t-win32.whl", hash = "sha256:73309162a6a571d4cbd3b6a1dcc703c7311843ae0d1578df6f09be4e98df38d4" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/e1/19/3774d162f6732d1cfb0b47b4140a942a35ca82bb19b6db1f80e9e7bdc8f8/yarl-1.23.0-cp314-cp314t-win_amd64.whl", hash = "sha256:4503053d296bc6e4cbd1fad61cf3b6e33b939886c4f249ba7c78b602214fabe2" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/51/47/3fa2286c3cb162c71cdb34c4224d5745a1ceceb391b2bd9b19b668a8d724/yarl-1.23.0-cp314-cp314t-win_arm64.whl", hash = "sha256:44bb7bef4ea409384e3f8bc36c063d77ea1b8d4a5b2706956c0d6695f07dcc25" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/69/68/c8739671f5699c7dc470580a4f821ef37c32c4cb0b047ce223a7f115757f/yarl-1.23.0-py3-none-any.whl", hash = "sha256:a2df6afe50dea8ae15fa34c9f824a3ee958d785fd5d089063d960bae1daa0a3f" }, ] [[package]] name = "zipp" version = "3.23.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/21/093488dfc7cc8964ded15ab726fad40f25fd3d788fd741cc1c5a17d78ee8/zipp-3.23.1.tar.gz", hash = "sha256:32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110", size = 25965, upload-time = "2026-04-13T23:21:46.6Z" } +source = { registry = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple" } +sdist = { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/30/21/093488dfc7cc8964ded15ab726fad40f25fd3d788fd741cc1c5a17d78ee8/zipp-3.23.1.tar.gz", hash = "sha256:32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110" } wheels = [ - { url = "https://files.pythonhosted.org/packages/08/8a/0861bec20485572fbddf3dfba2910e38fe249796cb73ecdeb74e07eeb8d3/zipp-3.23.1-py3-none-any.whl", hash = "sha256:0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc", size = 10378, upload-time = "2026-04-13T23:21:45.386Z" }, + { url = "https://quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/packages/packages/08/8a/0861bec20485572fbddf3dfba2910e38fe249796cb73ecdeb74e07eeb8d3/zipp-3.23.1-py3-none-any.whl", hash = "sha256:0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc" }, ] From 9fd6ef5dda442e86018d1a235fa1d5d37f3b03ec Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 3 Jun 2026 09:55:38 +0100 Subject: [PATCH 007/159] review(ppvm-lindblad): swap custom CsrMatrix for sprs::CsMatI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Roger asked on PR #98 whether the hand-rolled CSR could be replaced with an existing Rust crate. It can: this commit drops the custom CsrMatrix struct + impl block (~90 LOC) and uses `sprs::CsMatI` for storage, keeping our free-function helpers for the small bits sprs doesn't provide (parallel SpMV with nnz-threshold gating, 1-norm). Type choice: `CsMatI` keeps `u32` column indices to match the previous memory layout (4 bytes per nonzero index). The default `sprs::CsMat` uses `usize` indices (8 bytes), which causes a 17–32% regression at bandwidth-bound matrix sizes (8M+ nonzeros) from the doubled index traffic per SpMV. The wider `usize` indptr stays — it's small (n+1 entries) and accommodates nnz > 2^32. Bench (`benches/spmv_scaling.rs`) on M4, 4 sizes × 4 thread counts — all deltas within ±5% of the previous custom code; 4-thread speedups of ~2.7× preserved across L2-resident, L3-boundary, and DRAM-bandwidth regimes. 100 k × 4 threads: 87.6 µs → 87.0 µs (-1%) 500 k × 4 threads: 415 µs → 418 µs (+1%) 8 M × 4 threads: 7.09 ms → 6.73 ms (-5%) The expm_multiply algorithm itself stays ours — no Rust crate implements Al-Mohy & Higham matrix-free `expm_multiply`. That part of Roger's question was already addressed in the PR-review reply. Net: ~25 LOC removed, one new dep (`sprs` with default-features = false + "multi_thread"), storage type now comes from the standard ecosystem. Co-Authored-By: Claude Opus 4.7 --- Cargo.lock | 31 +++ crates/ppvm-lindblad/Cargo.toml | 1 + crates/ppvm-lindblad/benches/spmv_scaling.rs | 69 +++--- crates/ppvm-lindblad/src/expm.rs | 211 +++++++++---------- crates/ppvm-lindblad/src/lib.rs | 34 ++- 5 files changed, 190 insertions(+), 156 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1291e480..71a69b18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -547,6 +547,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + [[package]] name = "id-arena" version = "2.3.0" @@ -782,6 +788,16 @@ dependencies = [ "autocfg", ] +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + [[package]] name = "numpy" version = "0.27.1" @@ -912,6 +928,7 @@ dependencies = [ "num", "ppvm-runtime", "rayon", + "sprs", ] [[package]] @@ -1402,6 +1419,20 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +[[package]] +name = "sprs" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dca58a33be2188d4edc71534f8bafa826e787cc28ca1c47f31be3423f0d6e55" +dependencies = [ + "ndarray", + "num-complex", + "num-traits", + "num_cpus", + "rayon", + "smallvec", +] + [[package]] name = "stacker" version = "0.1.24" diff --git a/crates/ppvm-lindblad/Cargo.toml b/crates/ppvm-lindblad/Cargo.toml index c1ee3e93..cd4a822e 100644 --- a/crates/ppvm-lindblad/Cargo.toml +++ b/crates/ppvm-lindblad/Cargo.toml @@ -10,6 +10,7 @@ fxhash = "0.2.1" num = "0.4.3" ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } rayon = "1.11" +sprs = { version = "0.11", default-features = false, features = ["multi_thread"] } [dev-dependencies] approx = "0.5.1" diff --git a/crates/ppvm-lindblad/benches/spmv_scaling.rs b/crates/ppvm-lindblad/benches/spmv_scaling.rs index 0ddd202d..f7fdc838 100644 --- a/crates/ppvm-lindblad/benches/spmv_scaling.rs +++ b/crates/ppvm-lindblad/benches/spmv_scaling.rs @@ -1,14 +1,16 @@ // SPDX-FileCopyrightText: 2026 The PPVM Authors // SPDX-License-Identifier: Apache-2.0 -//! Parallel SpMV scaling on a tridiagonal CSR matrix. One bench per thread -//! count, with each invocation running inside a freshly-built rayon pool of -//! that size to isolate the SpMV path from outer-loop work. +//! Parallel SpMV scaling on a tridiagonal CSR matrix. Sweeps both matrix +//! size and thread count, so we can see where parallelism actually pays +//! off (compute-bound, L3-fitting) vs where DRAM bandwidth ceilings out +//! the speedup (large matrices). Each invocation runs inside a freshly +//! built rayon pool of the requested size. use criterion::{BenchmarkId, Criterion, Throughput, criterion_group, criterion_main}; -use ppvm_lindblad::CsrMatrix; +use ppvm_lindblad::{Csr, csr_from_triplets, spmv_parallel}; -fn build_tridiagonal(n: usize) -> CsrMatrix { +fn build_tridiagonal(n: usize) -> Csr { let mut trips = Vec::with_capacity(3 * n); for i in 0..n { trips.push((i, i, -2.0)); @@ -19,32 +21,45 @@ fn build_tridiagonal(n: usize) -> CsrMatrix { trips.push((i, i + 1, 1.0)); } } - CsrMatrix::from_triplets(n, &trips) + csr_from_triplets(n, &trips) } fn bench_spmv_scaling(c: &mut Criterion) { - let n: usize = 100_000; - let m = build_tridiagonal(n); - let x: Vec = (0..n).map(|i| (i as f64).sin()).collect(); - - let mut group = c.benchmark_group("spmv_parallel"); - group.throughput(Throughput::Elements(m.nnz() as u64)); - - for &threads in &[1usize, 2, 3, 4, 6, 8, 10] { - let pool = rayon::ThreadPoolBuilder::new() - .num_threads(threads) - .build() - .unwrap(); - group.bench_with_input(BenchmarkId::from_parameter(threads), &threads, |b, _| { - b.iter_batched_ref( - || vec![0f64; n], - |y| pool.install(|| m.spmv_parallel(&x, y)), - criterion::BatchSize::SmallInput, - ); - }); - } + // (n, label) pairs: nnz ≈ 3n. ~16 bytes per nonzero (usize indices + f64) + // + 8 bytes per row. + // + // n = 100_000 → nnz ≈ 300_000 → ~5 MB (fits L2/L3, compute-bound) + // n = 500_000 → nnz ≈ 1_500_000 → ~24 MB (L3 boundary on M-series) + // n = 2_000_000 → nnz ≈ 6_000_000 → ~96 MB (busts L3, bandwidth-bound) + // n = 8_000_000 → nnz ≈ 24_000_000 → ~384 MB (well into DRAM) + let sizes = [100_000usize, 500_000, 2_000_000, 8_000_000]; + + for &n in &sizes { + let m = build_tridiagonal(n); + let x: Vec = (0..n).map(|i| (i as f64).sin()).collect(); + + let mut group = c.benchmark_group(format!("spmv_parallel/n={}", n)); + group.throughput(Throughput::Elements(m.nnz() as u64)); + group.sample_size(30); + group.measurement_time(std::time::Duration::from_secs(3)); + group.warm_up_time(std::time::Duration::from_secs(1)); - group.finish(); + for &threads in &[1usize, 2, 4, 8] { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(threads) + .build() + .unwrap(); + group.bench_with_input(BenchmarkId::from_parameter(threads), &threads, |b, _| { + b.iter_batched_ref( + || vec![0f64; n], + |y| pool.install(|| spmv_parallel(&m, &x, y)), + criterion::BatchSize::SmallInput, + ); + }); + } + + group.finish(); + } } criterion_group!(benches, bench_spmv_scaling); diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index d84edb26..0138fd4e 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -8,14 +8,21 @@ //! with `(m, s)` chosen from a precomputed table that minimises total SpMV //! count subject to a double-precision truncation bound. //! -//! The hot path is repeated sparse-matrix × dense-vector products. SpMV is -//! parallelised over rows with `rayon` when the matrix has more than -//! [`ExpmOpts::parallel_threshold`] nonzeros; below that, the task-spawn -//! overhead beats the cache-friendliness of the serial loop, so we stay -//! single-threaded. Both branches share the same CSR storage and produce -//! bit-identical output. +//! Storage is `Csr`. The hot path is repeated sparse-matrix × +//! dense-vector products; SpMV is parallelised over rows with `rayon` when +//! the matrix has more than [`ExpmOpts::parallel_threshold`] nonzeros (below +//! that the task-spawn overhead beats the cache-friendly serial loop). +//! Both branches produce bit-identical output. use rayon::prelude::*; +use sprs::CsMatI; + +/// Sparse CSR matrix with `u32` column indices and `usize` indptr. +/// +/// `u32` keeps memory traffic in SpMV minimal (4 bytes per nonzero for the +/// column index instead of 8) — important for bandwidth-bound regimes. +/// `usize` indptr accommodates `nnz > 2^32` even when individual indices fit. +pub type Csr = CsMatI; /// `θ_m` table from Al-Mohy & Higham (2011), Table A.3, for double /// precision (unit roundoff `u = 2^{-53}`). @@ -56,101 +63,89 @@ const THETA: &[(u32, f64)] = &[ (30, 3.54), ]; -/// Compressed Sparse Row matrix (square, `n × n`). -#[derive(Clone, Debug)] -pub struct CsrMatrix { - pub n: usize, - /// Length `n+1`; row `i` spans `[row_ptr[i], row_ptr[i+1])` in - /// `col_idx` and `values`. - pub row_ptr: Vec, - pub col_idx: Vec, - pub values: Vec, +/// Build a `Csr` (square, `n × n`) from `(row, col, value)` +/// triplets. Duplicate triplets at the same `(row, col)` are summed. +pub fn csr_from_triplets(n: usize, triplets: &[(usize, usize, f64)]) -> Csr { + let mut counts = vec![0usize; n]; + for &(r, _, _) in triplets { + debug_assert!(r < n, "row index {r} out of range"); + counts[r] += 1; + } + let mut indptr = vec![0usize; n + 1]; + for i in 0..n { + indptr[i + 1] = indptr[i] + counts[i]; + } + let nnz = indptr[n]; + let mut indices = vec![0u32; nnz]; + let mut data = vec![0f64; nnz]; + let mut offset = vec![0usize; n]; + for &(r, c, v) in triplets { + debug_assert!(c < n, "col index {c} out of range"); + let pos = indptr[r] + offset[r]; + indices[pos] = c as u32; + data[pos] = v; + offset[r] += 1; + } + Csr::new_from_unsorted((n, n), indptr, indices, data) + .map_err(|(_, _, _, e)| e) + .expect("invalid CSR structure") } -impl CsrMatrix { - /// Number of structural nonzeros. - pub fn nnz(&self) -> usize { - self.values.len() +/// Matrix 1-norm: `max_j Σ_i |A_{ij}|` (max column sum of absolute values). +/// Used to pick the Taylor parameters `(m, s)`. +pub fn csr_one_norm(m: &Csr) -> f64 { + if m.cols() == 0 { + return 0.0; } - - /// Build CSR from a list of `(row, col, value)` triplets. Duplicate - /// triplets at the same `(row, col)` are summed. - pub fn from_triplets(n: usize, triplets: &[(usize, usize, f64)]) -> Self { - let mut counts = vec![0usize; n]; - for &(r, _, _) in triplets { - debug_assert!(r < n, "row index {r} out of range"); - counts[r] += 1; - } - let mut row_ptr = vec![0usize; n + 1]; - for i in 0..n { - row_ptr[i + 1] = row_ptr[i] + counts[i]; - } - let mut col_idx = vec![0u32; triplets.len()]; - let mut values = vec![0f64; triplets.len()]; - let mut offset = vec![0usize; n]; - for &(r, c, v) in triplets { - debug_assert!(c < n, "col index {c} out of range"); - let pos = row_ptr[r] + offset[r]; - col_idx[pos] = c as u32; - values[pos] = v; - offset[r] += 1; - } - Self { - n, - row_ptr, - col_idx, - values, - } + let mut col_sums = vec![0f64; m.cols()]; + for (k, &col) in m.indices().iter().enumerate() { + col_sums[col as usize] += m.data()[k].abs(); } + col_sums.into_iter().fold(0f64, f64::max) +} - /// Matrix 1-norm: `max_j Σ_i |A_{ij}|` (max column sum of absolute - /// values). Used to pick the Taylor parameters `(m, s)`. - pub fn one_norm(&self) -> f64 { - if self.n == 0 { - return 0.0; - } - let mut col_sums = vec![0f64; self.n]; - for k in 0..self.values.len() { - col_sums[self.col_idx[k] as usize] += self.values[k].abs(); +/// `y ← A · x` (serial). +pub fn spmv_serial(m: &Csr, x: &[f64], y: &mut [f64]) { + debug_assert_eq!(x.len(), m.cols()); + debug_assert_eq!(y.len(), m.rows()); + let indptr_raw = m.indptr(); + let indptr = indptr_raw.raw_storage(); + let indices = m.indices(); + let data = m.data(); + for (i, yi) in y.iter_mut().enumerate() { + let mut sum = 0.0; + for k in indptr[i]..indptr[i + 1] { + sum += data[k] * x[indices[k] as usize]; } - col_sums.into_iter().fold(0f64, f64::max) + *yi = sum; } +} - /// `y ← A · x` (serial). - pub fn spmv_serial(&self, x: &[f64], y: &mut [f64]) { - debug_assert_eq!(x.len(), self.n); - debug_assert_eq!(y.len(), self.n); - for (i, yi) in y.iter_mut().enumerate() { - let mut sum = 0.0; - for k in self.row_ptr[i]..self.row_ptr[i + 1] { - sum += self.values[k] * x[self.col_idx[k] as usize]; - } - *yi = sum; +/// `y ← A · x` (rayon-parallel over rows). +pub fn spmv_parallel(m: &Csr, x: &[f64], y: &mut [f64]) { + debug_assert_eq!(x.len(), m.cols()); + debug_assert_eq!(y.len(), m.rows()); + let indptr_raw = m.indptr(); + let indptr = indptr_raw.raw_storage(); + let indices = m.indices(); + let data = m.data(); + y.par_iter_mut().enumerate().for_each(|(i, yi)| { + let mut sum = 0.0; + for k in indptr[i]..indptr[i + 1] { + sum += data[k] * x[indices[k] as usize]; } - } - - /// `y ← A · x` (rayon-parallel over rows). - pub fn spmv_parallel(&self, x: &[f64], y: &mut [f64]) { - debug_assert_eq!(x.len(), self.n); - debug_assert_eq!(y.len(), self.n); - y.par_iter_mut().enumerate().for_each(|(i, yi)| { - let mut sum = 0.0; - for k in self.row_ptr[i]..self.row_ptr[i + 1] { - sum += self.values[k] * x[self.col_idx[k] as usize]; - } - *yi = sum; - }); - } + *yi = sum; + }); +} - /// Dispatches to [`Self::spmv_parallel`] when `nnz ≥ parallel_threshold`, - /// else [`Self::spmv_serial`]. - #[inline] - pub fn spmv(&self, x: &[f64], y: &mut [f64], parallel_threshold: usize) { - if self.nnz() >= parallel_threshold { - self.spmv_parallel(x, y); - } else { - self.spmv_serial(x, y); - } +/// Dispatches to [`spmv_parallel`] when `nnz ≥ parallel_threshold`, +/// else [`spmv_serial`]. +#[inline] +pub fn spmv(m: &Csr, x: &[f64], y: &mut [f64], parallel_threshold: usize) { + if m.nnz() >= parallel_threshold { + spmv_parallel(m, x, y); + } else { + spmv_serial(m, x, y); } } @@ -202,28 +197,28 @@ fn inf_norm(v: &[f64]) -> f64 { v.iter().fold(0f64, |acc, &x| acc.max(x.abs())) } -/// Compute `exp(t · A) · b` for a real square sparse matrix `A` in CSR -/// form. Allocates a fresh `Vec` of length `A.n`. +/// Compute `exp(t · A) · b` for a real square sparse matrix `A`. Allocates +/// a fresh `Vec` of length `A.rows()`. /// /// The algorithm is Al-Mohy & Higham (2011) Algorithm 3.2: pick /// `(m, s)` from the precomputed `θ_m` table to minimise SpMV count, /// then iteratively apply a degree-`m` Horner-form Taylor polynomial /// `s` times. Inside each Horner sweep we terminate early once two /// successive Taylor terms have norm below `opts.tol · ‖F‖`. -pub fn expm_multiply(a: &CsrMatrix, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { +pub fn expm_multiply(a: &Csr, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { assert_eq!( - a.n, + a.rows(), b.len(), "matrix size {} mismatches vector length {}", - a.n, + a.rows(), b.len() ); - let n = a.n; + let n = a.rows(); if n == 0 { return Vec::new(); } - let t_a_one_norm = t.abs() * a.one_norm(); + let t_a_one_norm = t.abs() * csr_one_norm(a); let (m_star, s) = select_ms(t_a_one_norm); let scale = t / s as f64; @@ -235,7 +230,7 @@ pub fn expm_multiply(a: &CsrMatrix, t: f64, b: &[f64], opts: ExpmOpts) -> Vec CsrMatrix { + fn diag(vals: &[f64]) -> Csr { let trips: Vec<_> = vals.iter().enumerate().map(|(i, &v)| (i, i, v)).collect(); - CsrMatrix::from_triplets(vals.len(), &trips) + csr_from_triplets(vals.len(), &trips) } #[test] @@ -274,7 +269,7 @@ mod tests { // [[1, 0, 2], // [0, 3, 0], // [4, 0, 5]] - let m = CsrMatrix::from_triplets( + let m = csr_from_triplets( 3, &[ (0, 0, 1.0), @@ -286,17 +281,17 @@ mod tests { ); let x = vec![1.0, 1.0, 1.0]; let mut y = vec![0.0; 3]; - m.spmv_serial(&x, &mut y); + spmv_serial(&m, &x, &mut y); assert_eq!(y, vec![3.0, 3.0, 9.0]); let mut y_par = vec![0.0; 3]; - m.spmv_parallel(&x, &mut y_par); + spmv_parallel(&m, &x, &mut y_par); assert_eq!(y_par, vec![3.0, 3.0, 9.0]); } #[test] fn one_norm() { // 1-norm = max column abs-sum. Above: col0=5, col1=3, col2=7 → 7. - let m = CsrMatrix::from_triplets( + let m = csr_from_triplets( 3, &[ (0, 0, 1.0), @@ -306,7 +301,7 @@ mod tests { (2, 2, 5.0), ], ); - assert_abs_diff_eq!(m.one_norm(), 7.0); + assert_abs_diff_eq!(csr_one_norm(&m), 7.0); } #[test] @@ -335,7 +330,7 @@ mod tests { fn expm_skew_rotation() { // A = [[0, 1], [-1, 0]]: exp(tA) is rotation by t. // exp(t·A)·(1, 0)^T = (cos t, -sin t)^T. - let m = CsrMatrix::from_triplets(2, &[(0, 1, 1.0), (1, 0, -1.0)]); + let m = csr_from_triplets(2, &[(0, 1, 1.0), (1, 0, -1.0)]); let b = vec![1.0, 0.0]; let t = 0.7; let r = expm_multiply(&m, t, &b, ExpmOpts::default()); @@ -362,7 +357,7 @@ mod tests { .flatten() }) .collect(); - let m = CsrMatrix::from_triplets(50, &trips); + let m = csr_from_triplets(50, &trips); let b: Vec = (0..50).map(|i| 1.0 / (i + 1) as f64).collect(); let r_serial = expm_multiply( &m, diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 1da78b0e..df8769c0 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -42,7 +42,7 @@ use std::fmt; use std::time::Instant; pub mod expm; -pub use expm::{CsrMatrix, ExpmOpts, expm_multiply}; +pub use expm::{Csr, ExpmOpts, csr_from_triplets, csr_one_norm, expm_multiply, spmv_parallel}; /// Words pack up to 128 qubits. const W_U64: usize = 2; @@ -693,15 +693,10 @@ impl LindbladSpec { /// `Vec>` → `Vec<...>` flatten *and* the sequential /// `from_triplets` count-and-scatter that dominated the original /// `generator_csr` (~40% of PC-step wall time). - pub fn generator_csr(&self, basis: &[Word]) -> CsrMatrix { + pub fn generator_csr(&self, basis: &[Word]) -> Csr { let n = basis.len(); if n == 0 { - return CsrMatrix { - n: 0, - row_ptr: vec![0], - col_idx: Vec::new(), - values: Vec::new(), - }; + return Csr::new((0, 0), vec![0], Vec::new(), Vec::new()); } let index = build_basis_index(basis); @@ -773,15 +768,15 @@ impl LindbladSpec { for c in row_counts.iter() { c.store(0, Ordering::Relaxed); } - // We need parallel writes into shared `col_idx` and `values`. + // We need parallel writes into shared `indices` and `data`. // Safety: each `(row, slot)` pair is unique by construction (every // (row, col) appears at most once per column, and atomic increment // gives a unique slot per (row, write) event). We use raw-pointer // writes inside `unsafe` to express this without RwLock overhead. - let mut col_idx = vec![0u32; nnz]; - let mut values = vec![0f64; nnz]; - let col_idx_ptr = SendPtr(col_idx.as_mut_ptr()); - let values_ptr = SendPtr(values.as_mut_ptr()); + let mut indices = vec![0u32; nnz]; + let mut data = vec![0f64; nnz]; + let indices_ptr = SendPtr(indices.as_mut_ptr()); + let data_ptr = SendPtr(data.as_mut_ptr()); let row_ptr_ref: &[usize] = &row_ptr; let row_counts_ref: &[AtomicU32] = &row_counts; // `move` on the closure forces whole-struct capture of `SendPtr` @@ -798,18 +793,15 @@ impl LindbladSpec { // per (row, write event)) and `pos < nnz` (counter bounded // by precomputed row count). unsafe { - col_idx_ptr.write(pos, col as u32); - values_ptr.write(pos, v); + indices_ptr.write(pos, col as u32); + data_ptr.write(pos, v); } } }); - CsrMatrix { - n, - row_ptr, - col_idx, - values, - } + Csr::new_from_unsorted((n, n), row_ptr, indices, data) + .map_err(|(_, _, _, e)| e) + .expect("invalid CSR structure") } /// Predictor-corrector adaptive step. From e043ae17184b674ef2e8bb831ae276d8b06ec4df Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 3 Jun 2026 17:19:13 +0100 Subject: [PATCH 008/159] feat(ppvm-lindblad): add `drop_tol` to pc_step for in-Rust basis pruning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `pc_step` now takes an optional `drop_tol` parameter. At the end of the predictor-corrector step (after the corrector expm_multiply), any basis entry whose absolute coefficient is below `drop_tol` is removed from the basis, unless the corresponding Pauli word appears in `protected`. Implemented as a small in-place compaction (FxHashSet lookup on `protected`, single pass swap-and-truncate over basis+coeffs). No-op when `drop_tol ≤ 0`, preserving the existing add-only growth behaviour. Motivation: at γ = 0 (pure unitary Hamiltonian dynamics) there is no physical damping of small-coefficient strings, so the basis grows monotonically with only `tau_add` as a brake. `drop_tol > 0` lets the caller actively prune entries whose coefficient has decayed, keeping the basis bounded and making γ-extrapolation experiments feasible. Plumbed through `ppvm_lindblad::Lindbladian::pc_step{,_timed}`, the PyO3 binding (new optional kwarg, defaults to 0.0), and the Python shim `ppvm.lindblad.Lindbladian.pc_step{,_arr}`. Verified: - All 10 Rust lib tests still pass. - All 122 Python tests still pass. - Smoke test: at L=6, NN XY, γ=0, seed = Z_2: no drop_tol → basis saturates at 36 strings drop_tol = 0.05 → basis stays at 9 drop_tol = 0.5 → basis stays at 1 (only protected Z_2) drop_tol = 1.5 → basis stays at 1 (protected never dropped) Protected words are never removed regardless of magnitude. Co-Authored-By: Claude Opus 4.7 --- crates/ppvm-lindblad/src/lib.rs | 41 ++++++++++++++++++++--- crates/ppvm-python-native/src/lindblad.rs | 6 ++++ ppvm-python/src/ppvm/lindblad.py | 12 ++++++- 3 files changed, 53 insertions(+), 6 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index df8769c0..1181dcd3 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -33,7 +33,7 @@ //! operate directly on raw `u64` chunks for speed. use dashmap::DashMap; -use fxhash::{FxBuildHasher, FxHashMap}; +use fxhash::{FxBuildHasher, FxHashMap, FxHashSet}; use num::Complex; use ppvm_runtime::traits::PauliWordTrait; use ppvm_runtime::word::PauliWord; @@ -836,6 +836,7 @@ impl LindbladSpec { coeffs: &mut Vec, dt: f64, tau_add: f64, + drop_tol: f64, protected: &[Word], opts: ExpmOpts, num_threads: Option, @@ -845,9 +846,9 @@ impl LindbladSpec { .num_threads(n) .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; - pool.install(|| self.pc_step_inner(basis, coeffs, dt, tau_add, protected, opts)) + pool.install(|| self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts)) } else { - self.pc_step_inner(basis, coeffs, dt, tau_add, protected, opts) + self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts) } } @@ -862,6 +863,7 @@ impl LindbladSpec { coeffs: &mut Vec, dt: f64, tau_add: f64, + drop_tol: f64, protected: &[Word], opts: ExpmOpts, num_threads: Option, @@ -871,9 +873,9 @@ impl LindbladSpec { .num_threads(n) .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; - pool.install(|| self.pc_step_inner_timed(basis, coeffs, dt, tau_add, protected, opts)) + pool.install(|| self.pc_step_inner_timed(basis, coeffs, dt, tau_add, drop_tol, protected, opts)) } else { - self.pc_step_inner_timed(basis, coeffs, dt, tau_add, protected, opts) + self.pc_step_inner_timed(basis, coeffs, dt, tau_add, drop_tol, protected, opts) } } @@ -883,6 +885,7 @@ impl LindbladSpec { coeffs: &mut Vec, dt: f64, tau_add: f64, + drop_tol: f64, protected: &[Word], opts: ExpmOpts, ) -> Result { @@ -933,6 +936,8 @@ impl LindbladSpec { *coeffs = expm_multiply(&csr, dt, &coeffs_pre_padded, opts); t.expm2_us = t0.elapsed().as_micros() as u64; + prune_basis(basis, coeffs, drop_tol, protected); + Ok(t) } @@ -942,6 +947,7 @@ impl LindbladSpec { coeffs: &mut Vec, dt: f64, tau_add: f64, + drop_tol: f64, protected: &[Word], opts: ExpmOpts, ) -> Result<(), Error> { @@ -969,6 +975,8 @@ impl LindbladSpec { // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. let csr = self.generator_csr(basis); *coeffs = expm_multiply(&csr, dt, &coeffs_pre_padded, opts); + // 5. Prune basis entries below `drop_tol` (protected words never dropped). + prune_basis(basis, coeffs, drop_tol, protected); Ok(()) } @@ -1095,6 +1103,29 @@ fn word_hash(w: &Word) -> u64 { h.finish() } +/// Compact `basis` / `coeffs` in place: drop entries whose absolute +/// coefficient is below `drop_tol` unless the word appears in `protected`. +/// No-op when `drop_tol ≤ 0`. +fn prune_basis(basis: &mut Vec, coeffs: &mut Vec, drop_tol: f64, protected: &[Word]) { + if drop_tol <= 0.0 { + return; + } + debug_assert_eq!(basis.len(), coeffs.len()); + let protected_set: FxHashSet<&Word> = protected.iter().collect(); + let mut write = 0; + for read in 0..basis.len() { + if coeffs[read].abs() >= drop_tol || protected_set.contains(&basis[read]) { + if write != read { + basis.swap(write, read); + coeffs.swap(write, read); + } + write += 1; + } + } + basis.truncate(write); + coeffs.truncate(write); +} + /// Build a `word → row` map for a basis assumed to contain unique Pauli /// words; debug-asserts the uniqueness invariant. fn build_basis_index(basis: &[Word]) -> FxHashMap { diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index 7de0b90e..a2ece361 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -214,6 +214,7 @@ impl LindbladSpec { /// Returns `(new_basis, new_coeffs)`. #[pyo3(signature = ( basis, coeffs, dt, tau_add, + drop_tol = 0.0, protected = None, expm_tol = 1e-12, parallel_threshold = 50_000, @@ -227,6 +228,7 @@ impl LindbladSpec { coeffs: PyReadonlyArray1<'py, f64>, dt: f64, tau_add: f64, + drop_tol: f64, protected: Option>, expm_tol: f64, parallel_threshold: usize, @@ -259,6 +261,7 @@ impl LindbladSpec { &mut coeffs_vec, dt, tau_add, + drop_tol, &protected_words, opts, num_threads, @@ -274,6 +277,7 @@ impl LindbladSpec { /// name → microseconds spent in that phase, for profiling. #[pyo3(signature = ( basis, coeffs, dt, tau_add, + drop_tol = 0.0, protected = None, expm_tol = 1e-12, parallel_threshold = 50_000, @@ -287,6 +291,7 @@ impl LindbladSpec { coeffs: PyReadonlyArray1<'py, f64>, dt: f64, tau_add: f64, + drop_tol: f64, protected: Option>, expm_tol: f64, parallel_threshold: usize, @@ -320,6 +325,7 @@ impl LindbladSpec { &mut coeffs_vec, dt, tau_add, + drop_tol, &protected_words, opts, num_threads, diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 6ba2dd4a..4d6b29bf 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -237,6 +237,7 @@ def pc_step_arr( coeffs: np.ndarray, dt: float, tau_add: float, + drop_tol: float = 0.0, protected_arr: np.ndarray | None = None, expm_tol: float = 1e-12, parallel_threshold: int = 50_000, @@ -250,10 +251,16 @@ def pc_step_arr( with rayon-parallel SpMV when the restricted generator has more than ``parallel_threshold`` nonzeros. + When ``drop_tol > 0``, basis entries whose absolute coefficient is + below ``drop_tol`` after the corrector are pruned from the returned + basis (unless the word is in ``protected_arr``). Useful at γ = 0, + where there is no physical damping of small-coefficient strings. + ``num_threads``, when set, pins this call to a freshly-built rayon pool of that size — useful for benchmarking parallel scaling. - Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown. + Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown + (or shrunk, if ``drop_tol`` pruned entries). """ n = self.n_qubits if protected_arr is None: @@ -263,6 +270,7 @@ def pc_step_arr( np.ascontiguousarray(coeffs, dtype=np.float64), float(dt), float(tau_add), + float(drop_tol), np.ascontiguousarray(protected_arr, dtype=np.uint8), float(expm_tol), int(parallel_threshold), @@ -275,6 +283,7 @@ def pc_step( coeffs: np.ndarray, dt: float, tau_add: float, + drop_tol: float = 0.0, protected: Sequence[str] | None = None, expm_tol: float = 1e-12, parallel_threshold: int = 50_000, @@ -291,6 +300,7 @@ def pc_step( coeffs, dt, tau_add, + drop_tol, protected_arr, expm_tol, parallel_threshold, From 5ad4e83e46bce6b644506ab6908d8b581581d3f9 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 4 Jun 2026 07:10:14 +0100 Subject: [PATCH 009/159] Remove action_cache from LindbladSpec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Empirical benchmarks (xy-experiments/bench_cache_*.py, see PR thread) showed that the per-Pauli `L*(p)` memoisation cache: - HURTS wall time for sparse-local Hamiltonians (e.g. XX ladder): hash- map lookup latency at million-entry scale matches the cost of just recomputing the few-bond commutator. cache_ON 195s vs cache_OFF 149s at L=20 ladder, |basis|=3.7M (-24%). - Helps modestly for dense long-range Hamiltonians (LR-XY, α=1): ~25% speedup, BUT at ~5 KB per cached entry. At basis sizes that matter (10⁶+), this consumes tens of GB and pushes runs into OOM well before the basis itself does. In both regimes — and especially for the L=41 sweeps that just OOM'd on Perlmutter at γ=0 / tight add_tol — the cache is a net loss. Pauli propagation is intrinsically memory-limited (basis + transient action lists), so any per-Pauli auxiliary storage just shrinks the reachable problem size. Strips: - `action_cache: DashMap` field + `cache_enabled: AtomicBool` flag - `clear_cache()`, `cache_size()`, `set_cache_enabled()` on LindbladSpec - corresponding PyO3 bindings and Python wrapper methods - `dashmap` Cargo dep (no other code in the crate uses it) - `L_op.clear_cache()` calls in demos and tests (now no-ops anyway) All 10 Rust lib tests + 122 Python tests still pass. End-to-end behaviour unchanged; just lower memory + (often) faster. Co-Authored-By: Claude Opus 4.7 --- Cargo.lock | 1 - crates/ppvm-lindblad/Cargo.toml | 1 - crates/ppvm-lindblad/src/lib.rs | 101 ++++-------------- crates/ppvm-python-native/src/lindblad.rs | 9 -- ppvm-python/demo/lindblad_adaptive.py | 1 - ppvm-python/demo/lindblad_pc_scaling.py | 2 - ppvm-python/src/ppvm/lindblad.py | 7 -- ppvm-python/test/lindblad/test_adaptive_pc.py | 3 - .../test/lindblad/test_pc_step_rust.py | 3 - 9 files changed, 23 insertions(+), 105 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 71a69b18..6fa7c0fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -923,7 +923,6 @@ version = "0.1.0" dependencies = [ "approx", "criterion", - "dashmap", "fxhash", "num", "ppvm-runtime", diff --git a/crates/ppvm-lindblad/Cargo.toml b/crates/ppvm-lindblad/Cargo.toml index cd4a822e..eec8cd1a 100644 --- a/crates/ppvm-lindblad/Cargo.toml +++ b/crates/ppvm-lindblad/Cargo.toml @@ -5,7 +5,6 @@ edition = "2024" description = "Direct Heisenberg-picture Lindbladian evolution on an adaptive Pauli-string basis." [dependencies] -dashmap = "6.1.0" fxhash = "0.2.1" num = "0.4.3" ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 1181dcd3..4483c536 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -32,7 +32,6 @@ //! hot-path commutator/product loops bypass the higher-level word API and //! operate directly on raw `u64` chunks for speed. -use dashmap::DashMap; use fxhash::{FxBuildHasher, FxHashMap, FxHashSet}; use num::Complex; use ppvm_runtime::traits::PauliWordTrait; @@ -398,10 +397,11 @@ fn precompute_ldagger_l(terms: &[PauliTerm]) -> Vec { /// Precompiled Lindbladian. Constructed once from string-form Hamiltonian /// terms + jump operators; reused across many calls to [`Self::action`], -/// [`Self::leakage`], [`Self::generator`]. -/// -/// `action_cache` memoises the per-input contribution list — without it, -/// every call re-derives the same `L*(p)` from scratch for the same input. +/// [`Self::leakage`], [`Self::generator`]. `L*(p)` is recomputed fresh on +/// every call — empirical benchmarks showed that the previous global +/// `action_cache` hurt wall time for sparse-local Hamiltonians (hash-map +/// lookup ≳ recompute) and consumed several KB per cached Pauli word, which +/// blocked us from reaching the basis sizes needed for L=41 sweeps. pub struct LindbladSpec { n_qubits: usize, h_terms: Vec, @@ -410,7 +410,6 @@ pub struct LindbladSpec { h_support: Vec>, /// `j_support[q]` = indices of jumps whose support contains qubit `q`. j_support: Vec>, - action_cache: DashMap, FxBuildHasher>, } /// User-facing description of one jump operator: a complex Pauli linear @@ -504,19 +503,9 @@ impl LindbladSpec { j_kinds, h_support: h_support_idx, j_support: j_support_idx, - action_cache: DashMap::with_hasher(FxBuildHasher::default()), }) } - /// Drop all memoised `L*(p)` entries. - pub fn clear_cache(&self) { - self.action_cache.clear(); - } - - pub fn cache_size(&self) -> usize { - self.action_cache.len() - } - pub fn n_qubits(&self) -> usize { self.n_qubits } @@ -587,28 +576,15 @@ impl LindbladSpec { ) }, |(s1, s2, lm), (p, &c)| { - if let Some(r) = self.action_cache.get(p) { - let terms = r.value(); - let mut out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - let h = word_hash(w); - if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { - out.push((w.clone(), c * *v)); - } - } - out - } else { - let terms = self.compute_action_terms(p, s1, s2, lm); - let mut out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - let h = word_hash(w); - if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { - out.push((w.clone(), c * *v)); - } + let terms = self.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + let h = word_hash(w); + if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { + out.push((w.clone(), c * *v)); } - self.action_cache.insert(p.clone(), terms); - out } + out }, ) .collect(); @@ -649,24 +625,12 @@ impl LindbladSpec { ) }, |(s1, s2, lm), (col, p)| { - let mut out: Vec<(usize, usize, f64)>; - if let Some(r) = self.action_cache.get(p) { - let terms = r.value(); - out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - if let Some(&row) = index.get(w) { - out.push((row as usize, col, *v)); - } - } - } else { - let terms = self.compute_action_terms(p, s1, s2, lm); - out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - if let Some(&row) = index.get(w) { - out.push((row as usize, col, *v)); - } + let terms = self.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row as usize, col, *v)); } - self.action_cache.insert(p.clone(), terms); } out }, @@ -717,24 +681,12 @@ impl LindbladSpec { ) }, |(s1, s2, lm), p| { - let mut out: Vec<(u32, f64)>; - if let Some(r) = self.action_cache.get(p) { - let terms = r.value(); - out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - if let Some(&row) = index.get(w) { - out.push((row, *v)); - } - } - } else { - let terms = self.compute_action_terms(p, s1, s2, lm); - out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - if let Some(&row) = index.get(w) { - out.push((row, *v)); - } + let terms = self.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row, *v)); } - self.action_cache.insert(p.clone(), terms); } out }, @@ -1059,7 +1011,7 @@ impl LindbladSpec { .collect() } - /// Accumulate `scale · L*(p)` into `out`, hitting the cache when warm. + /// Accumulate `scale · L*(p)` into `out`. fn accumulate_action( &self, p: &Word, @@ -1068,19 +1020,12 @@ impl LindbladSpec { scratch_support: &mut Vec, scratch_cands: &mut Vec, ) { - if let Some(r) = self.action_cache.get(p) { - for (w, c) in r.value().iter() { - *out.entry(w.clone()).or_insert(0.0) += scale * c; - } - return; - } let mut scratch_local = FxHashMap::default(); let terms = self.compute_action_terms(p, scratch_support, scratch_cands, &mut scratch_local); for (w, c) in terms.iter() { *out.entry(w.clone()).or_insert(0.0) += scale * c; } - self.action_cache.insert(p.clone(), terms); } } diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index a2ece361..bc1a6bd8 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -134,15 +134,6 @@ impl LindbladSpec { Ok(Self { inner }) } - fn clear_cache(&self) { - self.inner.clear_cache(); - } - - #[getter] - fn cache_size(&self) -> usize { - self.inner.cache_size() - } - #[getter] fn n_qubits(&self) -> usize { self.inner.n_qubits() diff --git a/ppvm-python/demo/lindblad_adaptive.py b/ppvm-python/demo/lindblad_adaptive.py index 227f5d90..e6ee9dc1 100644 --- a/ppvm-python/demo/lindblad_adaptive.py +++ b/ppvm-python/demo/lindblad_adaptive.py @@ -231,7 +231,6 @@ def run_mode(kk): max_w_t = np.empty(steps + 1, dtype=np.int64) discarded_cum = np.zeros(steps + 1) - L_op.clear_cache() for nt in range(steps + 1): # Overlap with the (fixed) initial target. c_t = sum(coeff[index[trow.tobytes()]] * tc diff --git a/ppvm-python/demo/lindblad_pc_scaling.py b/ppvm-python/demo/lindblad_pc_scaling.py index 0756ebb6..80d00b5c 100644 --- a/ppvm-python/demo/lindblad_pc_scaling.py +++ b/ppvm-python/demo/lindblad_pc_scaling.py @@ -141,7 +141,6 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): site0 = L // 2 for n in range(1, max_cores + 1): run_pc_steps(L_op, L, site0, dt, warmup_steps, tau_add, n) -L_op.clear_cache() # %% [markdown] @@ -150,7 +149,6 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): # %% results = [] for n in range(1, max_cores + 1): - L_op.clear_cache() times, basis_size = run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, n) first = times[0] * 1000.0 steady = median(times[1:]) * 1000.0 diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 4d6b29bf..5794eb36 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -190,13 +190,6 @@ def num_h_terms(self) -> int: def num_jump_terms(self) -> int: return self._spec.num_jump_terms - @property - def cache_size(self) -> int: - return self._spec.cache_size - - def clear_cache(self) -> None: - self._spec.clear_cache() - # ── Pure-ndarray hot path ── def action_arr(self, p: np.ndarray) -> tuple[np.ndarray, np.ndarray]: diff --git a/ppvm-python/test/lindblad/test_adaptive_pc.py b/ppvm-python/test/lindblad/test_adaptive_pc.py index 762c8f57..83578d97 100644 --- a/ppvm-python/test/lindblad/test_adaptive_pc.py +++ b/ppvm-python/test/lindblad/test_adaptive_pc.py @@ -47,7 +47,6 @@ def test_adaptive_converges_to_nn_xy_z_dephasing_bilinear(): n_steps = round(T / dt) times = np.arange(n_steps + 1) * dt exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - L_op.clear_cache() shim = adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) # Endpoint comparison only — independent of which step counts we use. errors.append(float(np.max(np.abs(shim[-1] - exact[-1])))) @@ -86,9 +85,7 @@ def test_predictor_corrector_lifts_dt_scaling_to_cubic(): n_steps = round(T / dt) times = np.arange(n_steps + 1) * dt exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - L_op.clear_cache() single = adaptive_z_correlator(L_op, L, site0, dt, n_steps, tau_add) - L_op.clear_cache() pc = adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) err_single.append(float(np.max(np.abs(single[-1] - exact[-1])))) err_pc.append(float(np.max(np.abs(pc[-1] - exact[-1])))) diff --git a/ppvm-python/test/lindblad/test_pc_step_rust.py b/ppvm-python/test/lindblad/test_pc_step_rust.py index 24ce4529..6332f195 100644 --- a/ppvm-python/test/lindblad/test_pc_step_rust.py +++ b/ppvm-python/test/lindblad/test_pc_step_rust.py @@ -62,9 +62,7 @@ def test_pc_step_rust_matches_python_pc(): h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) L_op = Lindbladian(L, h_terms, jump_terms) - L_op.clear_cache() rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) - L_op.clear_cache() py_ref = adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) diff = float(np.max(np.abs(rust - py_ref))) @@ -90,7 +88,6 @@ def test_pc_step_rust_dt_scaling_is_cubic(): n_steps = round(T / dt) times = np.arange(n_steps + 1) * dt exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - L_op.clear_cache() rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) err.append(float(np.max(np.abs(rust[-1] - exact[-1])))) From 53f7ff295846111702ee8b391286f75c583bc09a Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 4 Jun 2026 10:18:15 +0100 Subject: [PATCH 010/159] =?UTF-8?q?perf(ppvm-lindblad):=20mimalloc=20alloc?= =?UTF-8?q?ator=20+=20chunked=20leakage=20=E2=86=92=20~50%=20peak=20RSS=20?= =?UTF-8?q?cut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two memory optimisations on top of the adaptive-Pauli evolution paths: 1. **Switch ppvm-python-native to the mimalloc global allocator.** The system allocator (macOS / glibc malloc) holds onto freed pages in arena freelists, so the OS-reported RSS stays high even after Rust has freed allocations. mimalloc returns pages to the kernel much more aggressively. Drop-in, ~5 lines. 2. **Chunk `leakage_inner`'s parallel pass into batches of 4096 basis rows.** Previously `basis.par_iter().map_init(...).collect()` materialised the full `Vec>` (~N × A × 24 B) in memory simultaneously before merging — ~430 MB at L=51 LR-XY, N=14 K, A≈1275. Now each chunk's `Vec` is merged into the global `FxHashMap` and dropped before the next chunk starts; peak in-flight is bounded to `CHUNK_SIZE · A · 24 B`. Chunk of 4096 still gives ~400 items per rayon worker so parallelism stays healthy. Benchmark on macOS at two configs (separate process per measurement so ru_maxrss is clean): ``` config wall(s) peak RSS (MB) before after before after LR-XY L=51 γ=1 add_tol=2e-4 18.51 16.51 3160 1759 (-44%) LR-XY L=12 γ=0.1 add_tol=2e-4 13.10 11.56 4583 1797 (-61%) ``` Memory ~halved; wall ~10-15 % faster (mimalloc is itself faster than the system allocator). All 10 Rust lib tests + 122 Python tests pass. This lets the L=41 / γ=0 / tight-tol sweeps that were OOM-ing at 80 GB on Perlmutter shared nodes likely fit, and roughly doubles the largest basis we can reach on a fixed memory budget. Co-Authored-By: Claude Opus 4.7 --- Cargo.lock | 19 +++++++ crates/ppvm-lindblad/src/lib.rs | 78 +++++++++++++++------------- crates/ppvm-python-native/Cargo.toml | 1 + crates/ppvm-python-native/src/lib.rs | 7 +++ 4 files changed, 69 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6fa7c0fe..0ff0ccf0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -653,6 +653,15 @@ version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +[[package]] +name = "libmimalloc-sys" +version = "0.1.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a45a52f43e1c16f667ccfe4dd8c85b7f7c204fd5e3bf46c5b0db9a5c3c0b8e9" +dependencies = [ + "cc", +] + [[package]] name = "linux-raw-sys" version = "0.11.0" @@ -700,6 +709,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "mimalloc" +version = "0.1.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862" +dependencies = [ + "libmimalloc-sys", +] + [[package]] name = "ndarray" version = "0.17.2" @@ -937,6 +955,7 @@ dependencies = [ "bnum", "dashmap", "fxhash", + "mimalloc", "num", "numpy", "paste", diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 4483c536..56bed1b6 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -556,43 +556,49 @@ impl LindbladSpec { let protected_set: FxHashMap = protected.iter().map(|w| (word_hash(w), ())).collect(); - // `map_init` gives each rayon worker a thread-local scratch tuple - // that lives for the duration of the par_iter. We reuse the - // hashmap + scratch vectors across all basis elements processed - // by the same thread — the previous per-task allocations were a - // real cost at large basis sizes. - let local: Vec> = basis - .par_iter() - .zip(coeffs.par_iter()) - .map_init( - || { - ( - Vec::::with_capacity(self.n_qubits), - Vec::::with_capacity(128), - FxHashMap::>::with_capacity_and_hasher( - 128, - FxBuildHasher::default(), - ), - ) - }, - |(s1, s2, lm), (p, &c)| { - let terms = self.compute_action_terms(p, s1, s2, lm); - let mut out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - let h = word_hash(w); - if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { - out.push((w.clone(), c * *v)); - } - } - out - }, - ) - .collect(); - + // Chunked parallel pass. Materialising the full `Vec>` + // at once held N · A · 24 B bytes simultaneously (~430 MB at L=51 + // LR-XY, N=14 K, A≈1275). Processing in chunks of `CHUNK_SIZE` + // basis rows bounds the in-flight per-Pauli output Vecs to one + // chunk's worth, and merging immediately into `merged` returns + // those bytes to the allocator before the next chunk starts. + const CHUNK_SIZE: usize = 4096; let mut merged: FxHashMap = FxHashMap::default(); - for v in local { - for (k, val) in v { - *merged.entry(k).or_insert(0.0) += val; + for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { + let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); + let chunk_basis = &basis[chunk_start..chunk_end]; + let chunk_coeffs = &coeffs[chunk_start..chunk_end]; + let local: Vec> = chunk_basis + .par_iter() + .zip(chunk_coeffs.par_iter()) + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (p, &c)| { + let terms = self.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + let h = word_hash(w); + if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { + out.push((w.clone(), c * *v)); + } + } + out + }, + ) + .collect(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(0.0) += val; + } } } Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) diff --git a/crates/ppvm-python-native/Cargo.toml b/crates/ppvm-python-native/Cargo.toml index 01987b18..4ae41a5a 100644 --- a/crates/ppvm-python-native/Cargo.toml +++ b/crates/ppvm-python-native/Cargo.toml @@ -10,6 +10,7 @@ crate-type = ["cdylib"] [dependencies] bnum = "0.13.0" +mimalloc = { version = "0.1", default-features = false } dashmap = "6.1.0" fxhash = "0.2.1" num = "0.4.3" diff --git a/crates/ppvm-python-native/src/lib.rs b/crates/ppvm-python-native/src/lib.rs index 9fd26899..6d868196 100644 --- a/crates/ppvm-python-native/src/lib.rs +++ b/crates/ppvm-python-native/src/lib.rs @@ -1,6 +1,13 @@ // SPDX-FileCopyrightText: 2026 The PPVM Authors // SPDX-License-Identifier: Apache-2.0 +// mimalloc returns freed pages to the kernel more aggressively than the +// default system allocator. This materially reduces peak RSS for the +// allocation-heavy adaptive-Pauli paths (leakage + generator each +// allocate hundreds of MB of transient Vec data per pc_step). +#[global_allocator] +static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; + use pyo3::prelude::*; pub mod interface; From d763aa8a2990b3557630ba1befd0c87647bbf925 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 4 Jun 2026 17:15:02 +0100 Subject: [PATCH 011/159] feat(lindblad): K parameter for pc_step; default K=5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tie the leakage-rate add threshold to the post-step drop threshold via tau_add = K * drop_tol / dt with K=5 as the default — Pareto-optimal in the L=51 LR-XY γ=1 study (K=5, drop=4e-6 matches the K=1, drop=2e-5 accuracy floor at 3× lower RSS+wall, and dominates K=10 at high accuracy). Callers can still pass tau_add explicitly; the new policy only kicks in when tau_add is omitted and drop_tol > 0. Co-Authored-By: Claude Opus 4.7 --- ppvm-python/src/ppvm/lindblad.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 5794eb36..6bff73e6 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -229,8 +229,9 @@ def pc_step_arr( basis_arr: np.ndarray, coeffs: np.ndarray, dt: float, - tau_add: float, + tau_add: float | None = None, drop_tol: float = 0.0, + K: float = 5.0, protected_arr: np.ndarray | None = None, expm_tol: float = 1e-12, parallel_threshold: int = 50_000, @@ -244,10 +245,14 @@ def pc_step_arr( with rayon-parallel SpMV when the restricted generator has more than ``parallel_threshold`` nonzeros. - When ``drop_tol > 0``, basis entries whose absolute coefficient is - below ``drop_tol`` after the corrector are pruned from the returned - basis (unless the word is in ``protected_arr``). Useful at γ = 0, - where there is no physical damping of small-coefficient strings. + Tolerances. ``drop_tol`` prunes basis entries whose absolute + coefficient is below this threshold after the corrector (unless + the word is ``protected``). ``tau_add`` is the leakage-rate + threshold for adding new strings. The default policy ties them via + ``tau_add = K * drop_tol / dt`` (with ``K = 5``): the LR-XY + γ=1, L=51 Pareto study showed K≈5 lies on the front, with + ``drop_tol`` the natural accuracy knob. Pass ``tau_add`` explicitly + to override. ``num_threads``, when set, pins this call to a freshly-built rayon pool of that size — useful for benchmarking parallel scaling. @@ -255,6 +260,13 @@ def pc_step_arr( Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown (or shrunk, if ``drop_tol`` pruned entries). """ + if tau_add is None: + if drop_tol <= 0.0: + raise ValueError( + "must provide tau_add explicitly, or drop_tol > 0 " + "(tau_add defaults to K * drop_tol / dt)" + ) + tau_add = K * drop_tol / dt n = self.n_qubits if protected_arr is None: protected_arr = np.zeros((0, n), dtype=np.uint8) @@ -275,8 +287,9 @@ def pc_step( basis: Sequence[str], coeffs: np.ndarray, dt: float, - tau_add: float, + tau_add: float | None = None, drop_tol: float = 0.0, + K: float = 5.0, protected: Sequence[str] | None = None, expm_tol: float = 1e-12, parallel_threshold: int = 50_000, @@ -294,6 +307,7 @@ def pc_step( dt, tau_add, drop_tol, + K, protected_arr, expm_tol, parallel_threshold, From a591310c113db3357e9935301fd0a185555fff23 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Tue, 9 Jun 2026 21:14:13 +0100 Subject: [PATCH 012/159] feat(ppvm-lindblad): matrix-free pc_step, rk4_step, and memory opts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds three new code paths plus three memory optimizations on the existing pc_step: - matrix_free flag on pc_step: skip CSR build, do each Krylov-Taylor SpMV by recomputing L*(p) on the fly. New spmv_matrix_free, one_norm_matrix_free, expm_multiply_mf. Trades wall (4× at L=6) for memory (modest at L=6, expected to dominate at L≥10). - rk4_step: classical 4th-order Runge-Kutta on the adjoint Lindbladian, matrix-free, with leakage-driven natural basis growth and post-step drop_tol prune. New compute_action_sum helper. Doc flags the dt < 2.78/||L*|| stability boundary with explicit warning about silent norm-conserving / observable-diverging failure mode. - leakage_with_prune: streaming Cauchy-Schwarz remaining-budget prune. Exact (drops only candidates whose true sum cannot exceed tau_add). Uses new max_action_coef per-operator bound. - pc_step_inner: collapse coeffs_pre + coeffs_pre_padded clones into a single in-place coeffs buffer, saving 2 × n × 8B per step. - ExpmOpts.max_krylov_m: cap on Krylov-Taylor degree m_star. Trades more outer scaling-and-squaring iterations for less Krylov scratch. All four exposed through Python pc_step_arr and rk4_step_arr. Correctness: CSR (new opts) and matrix-free pc_step trajectories are bit-identical (4e-16 max delta over 50 steps at drop=1e-6, L=6). --- crates/ppvm-lindblad/src/expm.rs | 93 +++- crates/ppvm-lindblad/src/lib.rs | 552 ++++++++++++++++++++-- crates/ppvm-python-native/src/lindblad.rs | 63 +++ ppvm-python/src/ppvm/lindblad.py | 58 +++ 4 files changed, 709 insertions(+), 57 deletions(-) diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index 0138fd4e..c2eda85a 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -159,6 +159,14 @@ pub struct ExpmOpts { /// this rayon's task overhead beats cache-friendly serial. Default /// `50_000`. pub parallel_threshold: usize, + /// Maximum Krylov-Taylor degree `m_star` considered by `select_ms`. + /// `None` (default) uses the full table up to `m=30`. Capping at a + /// smaller value (e.g. `Some(10)`) trades wall (more outer + /// scaling-and-squaring `s` steps, so more total matvecs) for + /// instantaneous memory (no `m`-sized stack of vectors held in the + /// matrix-free SpMV's per-thread accumulators). Useful when `n` is + /// large enough that `m × n × 8 B` of Krylov scratch dominates RSS. + pub max_krylov_m: Option, } impl Default for ExpmOpts { @@ -166,13 +174,15 @@ impl Default for ExpmOpts { Self { tol: 1e-12, parallel_threshold: 50_000, + max_krylov_m: None, } } } /// Pick `(m, s)` minimising `s·m` subject to `s ≥ ⌈t_norm / θ_m⌉, s ≥ 1`. /// Restricted to `m ≤ 30`; for larger norms `s` simply grows linearly. -fn select_ms(t_norm: f64) -> (u32, u32) { +/// When `max_m` is set, only entries with `m ≤ max_m` are considered. +fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { if t_norm <= 0.0 { return (1, 1); } @@ -180,6 +190,11 @@ fn select_ms(t_norm: f64) -> (u32, u32) { let mut best_s = 1u32; let mut best_cost = u64::MAX; for &(m, theta) in THETA { + if let Some(cap) = max_m { + if m > cap { + continue; + } + } let s_f = (t_norm / theta).ceil(); let s = if s_f >= 1.0 { s_f as u32 } else { 1 }; let cost = (m as u64) * (s as u64); @@ -219,7 +234,7 @@ pub fn expm_multiply(a: &Csr, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { } let t_a_one_norm = t.abs() * csr_one_norm(a); - let (m_star, s) = select_ms(t_a_one_norm); + let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); let scale = t / s as f64; let mut f = b.to_vec(); @@ -254,6 +269,74 @@ pub fn expm_multiply(a: &Csr, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { f } +/// Matrix-free variant of [`expm_multiply`]. Same Al-Mohy & Higham +/// algorithm, but takes the matrix 1-norm and SpMV operation as +/// arguments instead of a [`Csr`]. +/// +/// `spmv_fn(x, y)` must compute `y ← M · x` where `M` is the linear +/// operator being exponentiated. `one_norm` must be the 1-norm of `M` +/// (`max_j Σ_i |M_{ij}|`); the caller computes it once before the call. +/// +/// Use this when materialising `M` as a [`Csr`] would dominate memory. +/// Trade: every SpMV recomputes the action instead of streaming through +/// pre-stored values, costing more compute per matvec. Wall time is +/// (per-eval cost × `s × m_star`), vs CSR's (build cost + `s × m_star × +/// matvec cost`), so matrix-free is wall-competitive only when CSR +/// matvec is memory-bandwidth-bound (i.e. at large `n`). +pub fn expm_multiply_mf( + n: usize, + one_norm: f64, + spmv_fn: F, + t: f64, + b: &[f64], + opts: ExpmOpts, +) -> Vec +where + F: Fn(&[f64], &mut [f64]), +{ + assert_eq!( + n, + b.len(), + "matrix dimension {} mismatches vector length {}", + n, + b.len() + ); + if n == 0 { + return Vec::new(); + } + + let t_a_one_norm = t.abs() * one_norm; + let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); + let scale = t / s as f64; + + let mut f = b.to_vec(); + let mut bk = b.to_vec(); + let mut work = vec![0f64; n]; + + for _ in 0..s { + let mut c1 = inf_norm(&bk); + for i in 1..=m_star { + spmv_fn(&bk, &mut work); + let factor = scale / i as f64; + for j in 0..n { + bk[j] = factor * work[j]; + } + for j in 0..n { + f[j] += bk[j]; + } + let c2 = inf_norm(&bk); + let f_norm = inf_norm(&f).max(f64::MIN_POSITIVE); + if c1 + c2 <= opts.tol * f_norm { + break; + } + c1 = c2; + } + bk.copy_from_slice(&f); + } + + f +} + #[cfg(test)] mod tests { use super::*; @@ -385,16 +468,16 @@ mod tests { #[test] fn ms_selection_sane() { // tiny norm → small m, s = 1 - let (m, s) = select_ms(1e-9); + let (m, s) = select_ms(1e-9, None); assert!(m <= 5, "expected small m for tiny norm, got m={m}"); assert_eq!(s, 1); // moderate norm → m·s should be ~10-50 - let (m, s) = select_ms(1.0); + let (m, s) = select_ms(1.0, None); assert!((m * s) <= 50, "moderate norm cost too high: m={m} s={s}"); // large norm → s grows - let (_m, s) = select_ms(100.0); + let (_m, s) = select_ms(100.0, None); assert!(s >= 20, "large norm should require many steps, got s={s}"); } } diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 56bed1b6..8aa1a4d3 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -518,6 +518,44 @@ impl LindbladSpec { self.j_kinds.len() } + /// Conservative upper bound on `max_{p, w} |⟨w| L*(p) |p⟩|`, the + /// largest coefficient any single input Pauli can produce in any + /// single output Pauli through one action of `L*`. Used by + /// [`Self::leakage`] to safely prune candidates whose accumulated + /// partial sum + remaining-contribution budget cannot reach the + /// `tau_add` keep threshold (Cauchy-Schwarz style streaming bound). + /// + /// The bound is `2 · max |h_i|` (commutator factor) plus a per-jump + /// term. For the common case of Hermitian-Pauli H and Hermitian-Pauli + /// jumps this collapses to `2 · max(|h_i|, γ_k)`. + pub fn max_action_coef(&self) -> f64 { + let mut m = 0.0_f64; + for h in &self.h_terms { + // `i [H_i, p]` has coefficient `±2 i · h_i · eps`; magnitude ≤ 2|h_i|. + m = m.max(2.0 * h.coeff.abs()); + } + for jk in &self.j_kinds { + match jk { + JumpKind::HermitianPauli { rate, .. } => { + // sandwich + anticommutator → max |2γ| on anticommuting p + m = m.max(2.0 * rate.abs()); + } + JumpKind::General { + terms, + rate, + dagger_dagger, + } => { + let lam_sum: f64 = terms.iter().map(|t| t.coeff.norm()).sum(); + let dd_sum: f64 = dagger_dagger.iter().map(|t| t.coeff.norm()).sum(); + // Sandwich `γ Σ_{a,b} λ_a* λ_b P_a p P_b`: per-output ≤ γ · (Σ|λ|)² + // L†L anticommutator: per-output ≤ γ · Σ|c_dd| + m = m.max(rate * (lam_sum * lam_sum + dd_sum)); + } + } + } + m + } + /// Apply `L*` to a single Pauli string `p`. Returns the output Pauli /// strings and their real coefficients (zero entries omitted). pub fn action(&self, p: &Word) -> Vec<(Word, f64)> { @@ -535,6 +573,29 @@ impl LindbladSpec { basis: &[Word], coeffs: &[f64], protected: &[Word], + ) -> Result, Error> { + self.leakage_with_prune(basis, coeffs, protected, None) + } + + /// Like [`Self::leakage`], but when `tau_add` is `Some(τ)` runs the + /// streaming Cauchy-Schwarz prune: after each chunk the remaining + /// possible contribution to any not-yet-final candidate is bounded + /// by `max_action_coef × Σ_{i not yet processed} |c_i|`. Entries + /// whose `|partial_sum| + remaining_bound < τ` are dropped. The + /// final keep filter `|sum| ≥ τ` is still applied by the caller. + /// + /// Processing the largest-`|c|` basis indices first shrinks the + /// remaining budget fastest, so the prune kicks in earlier. + /// Memory savings depend on how skewed the `coeffs` distribution + /// is — power-law distributions win the most. Worst case (uniform + /// `|c|`): the bound stays above `τ` until late in the basis, + /// pruning kicks in only near the end, savings approach zero. + pub fn leakage_with_prune( + &self, + basis: &[Word], + coeffs: &[f64], + protected: &[Word], + tau_add: Option, ) -> Result, Error> { if basis.len() != coeffs.len() { return Err(Error::LengthMismatch { @@ -546,31 +607,37 @@ impl LindbladSpec { // Hash-only membership tables: storing 8-byte `u64` keys instead // of 48-byte Words shrinks the in-basis structure ~6×, keeping it // in L3 (and often L2) at basis sizes where the full-Word version - // would spill to DRAM. Each query then costs ~30 ns instead of - // ~500 ns. False-positive risk from a 64-bit hash collision is - // ≈ N/2⁶⁴ per lookup (e.g. ≈ 3·10⁻¹⁴ at N = 5·10⁵); the worst-case - // cost is occasionally dropping a single leakage entry that should - // have been kept, which is negligible against `tau_add` and other - // approximations. + // would spill to DRAM. let in_basis: FxHashMap = basis.iter().map(|w| (word_hash(w), ())).collect(); let protected_set: FxHashMap = protected.iter().map(|w| (word_hash(w), ())).collect(); - // Chunked parallel pass. Materialising the full `Vec>` - // at once held N · A · 24 B bytes simultaneously (~430 MB at L=51 - // LR-XY, N=14 K, A≈1275). Processing in chunks of `CHUNK_SIZE` - // basis rows bounds the in-flight per-Pauli output Vecs to one - // chunk's worth, and merging immediately into `merged` returns - // those bytes to the allocator before the next chunk starts. + // Streaming-prune setup. If `tau_add` is None, fall through to the + // un-pruned path (process basis in original order, no prune). + let (order, mut remaining_budget): (Vec, f64) = if tau_add.is_some() { + let mut idx: Vec = (0..basis.len()).collect(); + // Descending sort by |c|: process largest-magnitude contributors + // first so the Cauchy-Schwarz remaining bound shrinks fast. + idx.sort_by(|&a, &b| { + coeffs[b] + .abs() + .partial_cmp(&coeffs[a].abs()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + let max_coef = self.max_action_coef(); + let total: f64 = coeffs.iter().map(|c| c.abs()).sum(); + (idx, max_coef * total) + } else { + ((0..basis.len()).collect(), f64::INFINITY) + }; + let max_coef = self.max_action_coef(); + let tau = tau_add.unwrap_or(0.0); + const CHUNK_SIZE: usize = 4096; let mut merged: FxHashMap = FxHashMap::default(); - for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { - let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); - let chunk_basis = &basis[chunk_start..chunk_end]; - let chunk_coeffs = &coeffs[chunk_start..chunk_end]; - let local: Vec> = chunk_basis + for chunk_indices in order.chunks(CHUNK_SIZE) { + let local: Vec> = chunk_indices .par_iter() - .zip(chunk_coeffs.par_iter()) .map_init( || { ( @@ -582,7 +649,9 @@ impl LindbladSpec { ), ) }, - |(s1, s2, lm), (p, &c)| { + |(s1, s2, lm), &i| { + let p = &basis[i]; + let c = coeffs[i]; let terms = self.compute_action_terms(p, s1, s2, lm); let mut out = Vec::with_capacity(terms.len()); for (w, v) in terms.iter() { @@ -600,6 +669,19 @@ impl LindbladSpec { *merged.entry(k).or_insert(0.0) += val; } } + + if tau_add.is_some() { + // Decrement the remaining-contribution budget by what this + // chunk has now processed. Once `remaining_budget < τ`, + // every entry has `|true_sum| ≤ |partial_sum| + remaining`, + // so we can drop entries with `|partial_sum| < τ − remaining`. + let chunk_abs_sum: f64 = chunk_indices.iter().map(|&i| coeffs[i].abs()).sum(); + remaining_budget = (remaining_budget - max_coef * chunk_abs_sum).max(0.0); + if remaining_budget < tau { + let threshold = tau - remaining_budget; + merged.retain(|_, &mut v| v.abs() >= threshold); + } + } } Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) } @@ -762,6 +844,320 @@ impl LindbladSpec { .expect("invalid CSR structure") } + /// Matrix-free SpMV: `y ← M · x` where `M` is the in-basis-restricted + /// generator (same matrix that [`Self::generator_csr`] would build, but + /// never materialised). For each basis column `j` with `x[j] != 0`, + /// compute `L*(basis[j])`, look up each output Pauli in `basis_index`, + /// and accumulate `v · x[j]` into `y` at the matching row. + /// + /// `basis_index` must be the `Word → row` map for `basis` (use + /// [`build_basis_index`]). It is the caller's responsibility to build + /// it once and reuse across all SpMVs within an expm call. + /// + /// Threading uses `rayon::current_num_threads()` per-task dense + /// accumulators, reduced into `y` at the end. Peak transient memory is + /// roughly `T × n × 8 B` where `T` = thread count, `n` = basis size. + pub fn spmv_matrix_free( + &self, + basis: &[Word], + basis_index: &FxHashMap, + x: &[f64], + y: &mut [f64], + ) { + debug_assert_eq!(basis.len(), x.len()); + debug_assert_eq!(basis.len(), y.len()); + let n = basis.len(); + if n == 0 { + return; + } + let num_threads = rayon::current_num_threads().max(1); + let chunk_size = n.div_ceil(num_threads); + + let partial_ys: Vec> = basis + .par_chunks(chunk_size) + .enumerate() + .map(|(chunk_idx, chunk)| { + let c_offset = chunk_idx * chunk_size; + let mut y_local = vec![0.0; n]; + let mut s1 = Vec::::with_capacity(self.n_qubits); + let mut s2 = Vec::::with_capacity(128); + let mut lm = FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ); + for (c_local, p) in chunk.iter().enumerate() { + let c = c_offset + c_local; + let xc = x[c]; + if xc == 0.0 { + continue; + } + let terms = self.compute_action_terms(p, &mut s1, &mut s2, &mut lm); + for (w, v) in terms.iter() { + if let Some(&row) = basis_index.get(w) { + y_local[row as usize] += *v * xc; + } + } + } + y_local + }) + .collect(); + + // Sequential reduce. T × n adds; at T=8, n=10⁶ this is ~8M adds + // (~10 ms), trivial vs the action evaluations above. + y.fill(0.0); + for partial in &partial_ys { + for (yi, &pi) in y.iter_mut().zip(partial.iter()) { + *yi += pi; + } + } + } + + /// Matrix 1-norm `max_j Σ_i |M_{ij}|` of the in-basis-restricted + /// generator, computed matrix-free. Used by [`expm::expm_multiply_mf`] + /// to pick the Taylor `(m, s)` parameters. + pub fn one_norm_matrix_free( + &self, + basis: &[Word], + basis_index: &FxHashMap, + ) -> f64 { + if basis.is_empty() { + return 0.0; + } + basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), p| { + let terms = self.compute_action_terms(p, s1, s2, lm); + terms + .iter() + .filter(|(w, _)| basis_index.contains_key(w)) + .map(|(_, v)| v.abs()) + .sum::() + }, + ) + .reduce(|| 0.0, f64::max) + } + + /// Apply `L*` to the Pauli sum `Σ_j coeffs[j] · basis[j]` and return + /// the result as a (Word → real coefficient) map. The basis of the + /// returned operator is determined by the action — entries appear + /// for every Pauli that `L*` reaches with nonzero coefficient. + /// + /// Same parallel structure and chunked merge as [`Self::leakage`], + /// without the in-basis / protected filter: this returns the full + /// `L*(O)`, not just its off-basis component. + pub fn compute_action_sum( + &self, + basis: &[Word], + coeffs: &[f64], + ) -> Result, Error> { + if basis.len() != coeffs.len() { + return Err(Error::LengthMismatch { + what: "basis and coeffs", + a: basis.len(), + b: coeffs.len(), + }); + } + const CHUNK_SIZE: usize = 4096; + let mut merged: FxHashMap = FxHashMap::default(); + for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { + let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); + let chunk_basis = &basis[chunk_start..chunk_end]; + let chunk_coeffs = &coeffs[chunk_start..chunk_end]; + let local: Vec> = chunk_basis + .par_iter() + .zip(chunk_coeffs.par_iter()) + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (p, &c)| { + let terms = self.compute_action_terms(p, s1, s2, lm); + terms.into_iter().map(|(w, v)| (w, c * v)).collect() + }, + ) + .collect(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(0.0) += val; + } + } + } + Ok(merged) + } + + /// One classical RK4 step on `O ← O + dt · L*(O)`, expanding the basis + /// naturally as the action explores new strings. After the step, drops + /// any string whose absolute coefficient is below `drop_tol` (protected + /// words always kept). No predictor-corrector enrichment, no Krylov + /// machinery, no CSR build — just four matrix-free action evaluations + /// followed by a magnitude prune. + /// + /// Per-step local truncation error is `O(dt^5)` from the integrator. + /// **Stability** requires `dt ≤ 2.78 / ‖L*‖` (RK4 absolute-stability + /// boundary). For an n-qubit lattice Hamiltonian with bounded local + /// terms this typically means `dt ≲ O(1) / n`; the dissipator further + /// shrinks the bound at large `γ`. Violating the bound is **not + /// signalled** — the trajectory will norm-conserve but individual Pauli + /// coefficients diverge to oscillating ±large values that cancel; the + /// observable looks fine, the basis still grows, but local quantities + /// like MSD blow up. Always verify against a small in-band + /// truncation case (e.g. against ED, or against [`Self::pc_step`] + /// which is unconditionally stable) before trusting tight-`drop_tol` + /// results at large `dt`. + /// + /// For stiff problems where the stability bound is restrictive, prefer + /// [`Self::pc_step`], which integrates `exp(dt·L*)` via Krylov scaling- + /// and-squaring and is unconditionally stable in `dt`. + /// + /// `num_threads`, when set, runs the entire step inside a freshly built + /// rayon thread pool of that size. + pub fn rk4_step( + &self, + basis: &mut Vec, + coeffs: &mut Vec, + dt: f64, + drop_tol: f64, + protected: &[Word], + num_threads: Option, + ) -> Result<(), Error> { + if let Some(n) = num_threads { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(n) + .build() + .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; + pool.install(|| self.rk4_step_inner(basis, coeffs, dt, drop_tol, protected)) + } else { + self.rk4_step_inner(basis, coeffs, dt, drop_tol, protected) + } + } + + fn rk4_step_inner( + &self, + basis: &mut Vec, + coeffs: &mut Vec, + dt: f64, + drop_tol: f64, + protected: &[Word], + ) -> Result<(), Error> { + // Helper: convert HashMap form back to (Vec, Vec) so we + // can hand it to compute_action_sum, which expects slices. + fn map_to_vecs(m: FxHashMap) -> (Vec, Vec) { + let n = m.len(); + let mut b = Vec::with_capacity(n); + let mut c = Vec::with_capacity(n); + for (w, v) in m { + b.push(w); + c.push(v); + } + (b, c) + } + + // Helper: returns a fresh map representing O + α · K, where O is + // (basis, coeffs) and K is a HashMap. We seed `out` with K (which + // is typically smaller / has different support than O) so the + // .entry() merges are fewer. + fn scale_add( + basis: &[Word], + coeffs: &[f64], + k: &FxHashMap, + alpha: f64, + ) -> FxHashMap { + let mut out: FxHashMap = + FxHashMap::with_capacity_and_hasher(basis.len() + k.len(), FxBuildHasher::default()); + for (p, &c) in basis.iter().zip(coeffs.iter()) { + out.insert(p.clone(), c); + } + for (w, v) in k { + *out.entry(w.clone()).or_insert(0.0) += alpha * v; + } + out + } + + // k1 = L*(O) + let k1 = self.compute_action_sum(basis, coeffs)?; + + // k2 = L*(O + dt/2 · k1) + let (b1, c1) = map_to_vecs(scale_add(basis, coeffs, &k1, dt / 2.0)); + let k2 = self.compute_action_sum(&b1, &c1)?; + drop(b1); + drop(c1); + + // k3 = L*(O + dt/2 · k2) + let (b2, c2) = map_to_vecs(scale_add(basis, coeffs, &k2, dt / 2.0)); + let k3 = self.compute_action_sum(&b2, &c2)?; + drop(b2); + drop(c2); + + // k4 = L*(O + dt · k3) + let (b3, c3) = map_to_vecs(scale_add(basis, coeffs, &k3, dt)); + let k4 = self.compute_action_sum(&b3, &c3)?; + drop(b3); + drop(c3); + + // O_new = O + dt/6 · (k1 + 2 k2 + 2 k3 + k4) + let dt6 = dt / 6.0; + let est_cap = basis.len() + k1.len() + k2.len() + k3.len() + k4.len(); + let mut out_map: FxHashMap = + FxHashMap::with_capacity_and_hasher(est_cap, FxBuildHasher::default()); + for (p, &c) in basis.iter().zip(coeffs.iter()) { + out_map.insert(p.clone(), c); + } + for (w, v) in &k1 { + *out_map.entry(w.clone()).or_insert(0.0) += dt6 * v; + } + for (w, v) in &k2 { + *out_map.entry(w.clone()).or_insert(0.0) += dt6 * 2.0 * v; + } + for (w, v) in &k3 { + *out_map.entry(w.clone()).or_insert(0.0) += dt6 * 2.0 * v; + } + for (w, v) in &k4 { + *out_map.entry(w.clone()).or_insert(0.0) += dt6 * v; + } + drop(k1); + drop(k2); + drop(k3); + drop(k4); + + // Prune below drop_tol; never drop a protected word, even if its + // coefficient happens to land below threshold. + let protected_hashes: FxHashSet = protected.iter().map(word_hash).collect(); + if drop_tol > 0.0 { + out_map.retain(|w, &mut v| { + v.abs() >= drop_tol || protected_hashes.contains(&word_hash(w)) + }); + } + + // Repack into the caller's Vec storage. + basis.clear(); + coeffs.clear(); + basis.reserve(out_map.len()); + coeffs.reserve(out_map.len()); + for (w, v) in out_map { + basis.push(w); + coeffs.push(v); + } + Ok(()) + } + /// Predictor-corrector adaptive step. /// /// Mutates `basis` (may grow) and `coeffs` in place to reflect the @@ -787,6 +1183,13 @@ impl LindbladSpec { /// `num_threads`, when set, runs the entire step inside a freshly built /// rayon thread pool of that size — useful for benchmarking parallel /// scaling. When `None`, the global rayon pool is used. + /// + /// `matrix_free`, when `true`, computes `exp(dt·M)·b` without + /// materialising the in-basis CSR generator: each Krylov-Taylor SpMV + /// re-evaluates `L*(p)` per basis column. Trades wall (more compute + /// per matvec) for memory (no CSR storage). Default `false` keeps the + /// pre-existing CSR path. Useful when the basis is large enough that + /// CSR storage dominates peak RSS — typically at `n_basis ≳ 10⁵`. #[allow(clippy::too_many_arguments)] pub fn pc_step( &self, @@ -798,15 +1201,18 @@ impl LindbladSpec { protected: &[Word], opts: ExpmOpts, num_threads: Option, + matrix_free: bool, ) -> Result<(), Error> { if let Some(n) = num_threads { let pool = rayon::ThreadPoolBuilder::new() .num_threads(n) .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; - pool.install(|| self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts)) + pool.install(|| { + self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free) + }) } else { - self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts) + self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free) } } @@ -825,15 +1231,22 @@ impl LindbladSpec { protected: &[Word], opts: ExpmOpts, num_threads: Option, + matrix_free: bool, ) -> Result { if let Some(n) = num_threads { let pool = rayon::ThreadPoolBuilder::new() .num_threads(n) .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; - pool.install(|| self.pc_step_inner_timed(basis, coeffs, dt, tau_add, drop_tol, protected, opts)) + pool.install(|| { + self.pc_step_inner_timed( + basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free, + ) + }) } else { - self.pc_step_inner_timed(basis, coeffs, dt, tau_add, drop_tol, protected, opts) + self.pc_step_inner_timed( + basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free, + ) } } @@ -846,11 +1259,12 @@ impl LindbladSpec { drop_tol: f64, protected: &[Word], opts: ExpmOpts, + matrix_free: bool, ) -> Result { let mut t = PcStepTimings::default(); let t0 = Instant::now(); - let leak = self.leakage(basis, coeffs, protected)?; + let leak = self.leakage_with_prune(basis, coeffs, protected, Some(tau_add))?; t.leakage1_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); @@ -862,37 +1276,37 @@ impl LindbladSpec { } t.expand1_us = t0.elapsed().as_micros() as u64; - let coeffs_pre = coeffs.clone(); - - let t0 = Instant::now(); - let csr = self.generator_csr(basis); - t.gencsr1_us = t0.elapsed().as_micros() as u64; - + // Predictor: gencsr1 (or one_norm build for mf) + expm1. + // For matrix-free, the "gencsr" timer captures the one-norm pass. + // `coeffs` is read-only here, so we don't clone it — it serves as + // the pre-step input for the corrector below as well. let t0 = Instant::now(); - let coeffs_predict = expm_multiply(&csr, dt, coeffs, opts); + let coeffs_predict = self.expm_step(basis, dt, coeffs, opts, matrix_free); t.expm1_us = t0.elapsed().as_micros() as u64; + if !matrix_free { + t.gencsr1_us = 0; + } let t0 = Instant::now(); - let leak2 = self.leakage(basis, &coeffs_predict, protected)?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, Some(tau_add))?; t.leakage2_us = t0.elapsed().as_micros() as u64; + drop(coeffs_predict); let t0 = Instant::now(); - let mut coeffs_pre_padded = coeffs_pre; for (w, v) in leak2 { if v.abs() > tau_add { basis.push(w); - coeffs_pre_padded.push(0.0); + coeffs.push(0.0); } } t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - let csr = self.generator_csr(basis); - t.gencsr2_us = t0.elapsed().as_micros() as u64; - - let t0 = Instant::now(); - *coeffs = expm_multiply(&csr, dt, &coeffs_pre_padded, opts); + *coeffs = self.expm_step(basis, dt, coeffs, opts, matrix_free); t.expm2_us = t0.elapsed().as_micros() as u64; + if !matrix_free { + t.gencsr2_us = 0; + } prune_basis(basis, coeffs, drop_tol, protected); @@ -908,36 +1322,70 @@ impl LindbladSpec { drop_tol: f64, protected: &[Word], opts: ExpmOpts, + matrix_free: bool, ) -> Result<(), Error> { - // 1. First-hop expansion. - let leak = self.leakage(basis, coeffs, protected)?; + // 1. First-hop expansion. After this, `coeffs` contains the pre-step + // coefficients followed by zeros for the newly-added leakage strings. + // We rely on `coeffs` itself as the pre-step buffer for the corrector + // — no `.clone()` is needed because `expm_step` only borrows it. + let leak = self.leakage_with_prune(basis, coeffs, protected, Some(tau_add))?; for (w, v) in leak { if v.abs() > tau_add { basis.push(w); coeffs.push(0.0); } } - // 2. Predictor. - let coeffs_pre = coeffs.clone(); - let csr = self.generator_csr(basis); - let coeffs_predict = expm_multiply(&csr, dt, coeffs, opts); - // 3. Second-hop expansion from the predicted state. - let leak2 = self.leakage(basis, &coeffs_predict, protected)?; - let mut coeffs_pre_padded = coeffs_pre; + // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a + // new owned vector with the predicted state. + let coeffs_predict = self.expm_step(basis, dt, coeffs, opts, matrix_free); + // 3. Second-hop expansion from the predicted state. After leakage2 + // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for + // any newly-added second-hop strings so it remains a valid input + // (pre-step state) for the corrector. + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, Some(tau_add))?; + drop(coeffs_predict); for (w, v) in leak2 { if v.abs() > tau_add { basis.push(w); - coeffs_pre_padded.push(0.0); + coeffs.push(0.0); } } // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. - let csr = self.generator_csr(basis); - *coeffs = expm_multiply(&csr, dt, &coeffs_pre_padded, opts); + *coeffs = self.expm_step(basis, dt, coeffs, opts, matrix_free); // 5. Prune basis entries below `drop_tol` (protected words never dropped). prune_basis(basis, coeffs, drop_tol, protected); Ok(()) } + /// Compute `exp(dt · M) · b` for the in-basis-restricted generator + /// `M`, either by building a CSR (`matrix_free == false`, default) or + /// matrix-free (`matrix_free == true`). Both paths use the same + /// Al-Mohy & Higham scaling-and-squaring algorithm. + fn expm_step( + &self, + basis: &[Word], + dt: f64, + b: &[f64], + opts: ExpmOpts, + matrix_free: bool, + ) -> Vec { + if matrix_free { + let basis_index = build_basis_index(basis); + let one_norm = self.one_norm_matrix_free(basis, &basis_index); + expm::expm_multiply_mf( + basis.len(), + one_norm, + |x, y| self.spmv_matrix_free(basis, &basis_index, x, y), + dt, + b, + opts, + ) + } else { + let csr = self.generator_csr(basis); + expm_multiply(&csr, dt, b, opts) + } + } + /// Compute the unscaled list of `(output, coefficient)` pairs that /// `L*(p)` contributes (without the input coefficient). fn compute_action_terms( @@ -1079,7 +1527,7 @@ fn prune_basis(basis: &mut Vec, coeffs: &mut Vec, drop_tol: f64, prot /// Build a `word → row` map for a basis assumed to contain unique Pauli /// words; debug-asserts the uniqueness invariant. -fn build_basis_index(basis: &[Word]) -> FxHashMap { +pub fn build_basis_index(basis: &[Word]) -> FxHashMap { let mut index: FxHashMap = FxHashMap::default(); for (i, w) in basis.iter().enumerate() { let prev = index.insert(w.clone(), i as u32); diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index bc1a6bd8..3eb286af 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -210,6 +210,8 @@ impl LindbladSpec { expm_tol = 1e-12, parallel_threshold = 50_000, num_threads = None, + matrix_free = false, + max_krylov_m = None, ))] #[allow(clippy::too_many_arguments)] fn pc_step<'py>( @@ -224,6 +226,8 @@ impl LindbladSpec { expm_tol: f64, parallel_threshold: usize, num_threads: Option, + matrix_free: bool, + max_krylov_m: Option, ) -> PyResult> { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); @@ -245,6 +249,7 @@ impl LindbladSpec { let opts = ExpmOpts { tol: expm_tol, parallel_threshold, + max_krylov_m, }; self.inner .pc_step( @@ -256,6 +261,7 @@ impl LindbladSpec { &protected_words, opts, num_threads, + matrix_free, ) .map_err(map_err)?; @@ -273,6 +279,8 @@ impl LindbladSpec { expm_tol = 1e-12, parallel_threshold = 50_000, num_threads = None, + matrix_free = false, + max_krylov_m = None, ))] #[allow(clippy::too_many_arguments)] fn pc_step_timed<'py>( @@ -287,6 +295,8 @@ impl LindbladSpec { expm_tol: f64, parallel_threshold: usize, num_threads: Option, + matrix_free: bool, + max_krylov_m: Option, ) -> PyResult<(PyPauliMap<'py>, Bound<'py, pyo3::types::PyDict>)> { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); @@ -308,6 +318,7 @@ impl LindbladSpec { let opts = ExpmOpts { tol: expm_tol, parallel_threshold, + max_krylov_m, }; let timings = self .inner @@ -320,6 +331,7 @@ impl LindbladSpec { &protected_words, opts, num_threads, + matrix_free, ) .map_err(map_err)?; @@ -337,6 +349,57 @@ impl LindbladSpec { Ok((map, d)) } + /// One classical RK4 step on the adjoint Lindbladian. Matrix-free: no + /// CSR, no Krylov, no predictor-corrector enrichment. Four action + /// evaluations per step, basis grows naturally, magnitude-prune at end. + #[pyo3(signature = ( + basis, coeffs, dt, + drop_tol = 0.0, + protected = None, + num_threads = None, + ))] + #[allow(clippy::too_many_arguments)] + fn rk4_step<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, f64>, + dt: f64, + drop_tol: f64, + protected: Option>, + num_threads: Option, + ) -> PyResult> { + let n_q = self.inner.n_qubits(); + let basis_view = basis.as_array(); + let mut basis_words = decode_basis(&basis_view, n_q)?; + assert_basis_unique(&basis_words)?; + let mut coeffs_vec = coeffs.as_slice()?.to_vec(); + if coeffs_vec.len() != basis_words.len() { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {} rows", + coeffs_vec.len(), + basis_words.len() + ))); + } + let protected_words: Vec = if let Some(ref p) = protected { + decode_basis(&p.as_array(), n_q)? + } else { + Vec::new() + }; + self.inner + .rk4_step( + &mut basis_words, + &mut coeffs_vec, + dt, + drop_tol, + &protected_words, + num_threads, + ) + .map_err(map_err)?; + let pairs: Vec<(Word, f64)> = basis_words.into_iter().zip(coeffs_vec).collect(); + pack_pauli_map(py, pairs, n_q) + } + /// Sparse generator matrix in COO form: `(rows, cols, vals)`. fn generator<'py>( &self, diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 6bff73e6..ffdd94cf 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -236,6 +236,8 @@ def pc_step_arr( expm_tol: float = 1e-12, parallel_threshold: int = 50_000, num_threads: int | None = None, + matrix_free: bool = False, + max_krylov_m: int | None = None, ) -> tuple[np.ndarray, np.ndarray]: """One predictor-corrector adaptive step. @@ -257,6 +259,20 @@ def pc_step_arr( ``num_threads``, when set, pins this call to a freshly-built rayon pool of that size — useful for benchmarking parallel scaling. + ``matrix_free``, when ``True``, skips the per-step CSR build and + does each Krylov-Taylor SpMV by recomputing ``L*`` on the fly. + Saves ~CSR storage worth of RSS (significant once + ``n_basis ≳ 10⁵``); costs more compute per matvec, so wall is + higher except in the bandwidth-bound regime. Default ``False`` + keeps the CSR path. + + ``max_krylov_m``, when set, caps the Krylov-Taylor degree + ``m_star`` considered by the inner ``select_ms``. ``None`` + (default) uses the full table up to ``m=30``; smaller values + trade more outer scaling-and-squaring iterations (more matvecs) + for less Krylov scratch memory. Mostly relevant at large ``n`` + when ``m × n × 8 B`` of Krylov vectors dominates RSS. + Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown (or shrunk, if ``drop_tol`` pruned entries). """ @@ -280,6 +296,48 @@ def pc_step_arr( float(expm_tol), int(parallel_threshold), None if num_threads is None else int(num_threads), + bool(matrix_free), + None if max_krylov_m is None else int(max_krylov_m), + ) + + def rk4_step_arr( + self, + basis_arr: np.ndarray, + coeffs: np.ndarray, + dt: float, + drop_tol: float = 0.0, + protected_arr: np.ndarray | None = None, + num_threads: int | None = None, + ) -> tuple[np.ndarray, np.ndarray]: + """One classical fourth-order Runge-Kutta step on ``L*``. + + Matrix-free: no CSR build, no Krylov subspace, no predictor- + corrector basis enrichment. Four action evaluations per step; + the basis grows naturally as new strings emerge from each + commutator. After the step, drops any string with + ``|coeff| < drop_tol`` unless it appears in ``protected_arr``. + + Per-step local truncation error is ``O(dt^5)``. + **Stability** requires ``dt ≤ 2.78 / ‖L*‖``. Violating the bound + is silent — the trajectory still norm-conserves, but individual + Pauli coefficients diverge to oscillating ±large values; local + observables (e.g. MSD) blow up. Verify against a stable reference + before trusting tight-``drop_tol`` results at large ``dt``. + + For stiff problems where that bound is restrictive, prefer + :meth:`pc_step_arr`, which integrates ``exp(dt·L*)`` via Krylov + and is unconditionally stable. + """ + n = self.n_qubits + if protected_arr is None: + protected_arr = np.zeros((0, n), dtype=np.uint8) + return self._spec.rk4_step( + np.ascontiguousarray(basis_arr, dtype=np.uint8), + np.ascontiguousarray(coeffs, dtype=np.float64), + float(dt), + float(drop_tol), + np.ascontiguousarray(protected_arr, dtype=np.uint8), + None if num_threads is None else int(num_threads), ) def pc_step( From b012332d3d99c67cac8042ff61cc0e8940b9021c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 10 Jun 2026 10:01:57 +0100 Subject: [PATCH 013/159] feat(symmetry): TranslationGroup primitive + pc_step / PauliSum merging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a general-purpose lattice translation-symmetry framework for operator-space Pauli evolution, following Teng/Chang/Rudolph/Holmes arXiv:2512.12094 (plain k=0 merging — phase-aware k!=0 extension to come later). ppvm-runtime/symmetry.rs: - TranslationGroup: finite abelian group of qubit permutations, specified by generator perms + cyclic orders. - Constructors: chain_1d, torus_2d, torus_3d, ladder, from_generators. - canonicalize(w): lex-min orbit representative; O(|G|*n_qubits). - orbit(w): iterator over the |G| group-acted versions of w. - canonicalize_pauli_sum(basis, coeffs, group): drop-in merge for the (Vec, Vec) representation used by ppvm-lindblad's pc_step / rk4_step. - symmetry_merge_pauli_sum(psum, group): same idea for the Trotter PauliSum representation, via map_add. Tests (8 in ppvm-runtime/lib + 1 in ppvm-lindblad/lib, all passing): - cyclic-shift canonicalization, lex-min property, orbit-size correctness, 2D torus, ladder. - canonicalize_pauli_sum merges/keeps-distinct correctly. - pc_step_matches_symmetry_merged_on_small_chain: n=4 XY chain PBC, no truncation, 10 pc_step iterations, with-merging matches without-merging-then-canonicalize to 1e-9. - pauli_sum_symmetry_merge_matches_plain_trotter: same setup, Trotter at dt=1e-5 (small so first-order Trotter's translation-non- equivariant commutator error stays below FP noise), 1e-7. ppvm-python-native/symmetry.rs: - TranslationGroup PyO3 class with the same constructors. - canonicalize_basis_arr free function on numpy arrays (matches LindbladSpec.pc_step_arr / rk4_step_arr signature). PauliSum symmetry_merge for Trotter Python bindings deferred — would require modifying the create_interface! macro to inject the method on all 32 generated PauliSum classes; out of scope for this commit. Bit-rotation fast paths for 1D/2D/3D torus also deferred; current canonicalize uses the generic per-qubit permutation walk. Sufficient for L<=20; revisit if profiling shows it as a bottleneck. --- crates/ppvm-lindblad/src/expm.rs | 2 + crates/ppvm-lindblad/src/lib.rs | 120 +++++ crates/ppvm-python-native/src/lib.rs | 7 + crates/ppvm-python-native/src/symmetry.rs | 215 ++++++++ crates/ppvm-runtime/src/lib.rs | 3 + crates/ppvm-runtime/src/symmetry.rs | 592 ++++++++++++++++++++++ 6 files changed, 939 insertions(+) create mode 100644 crates/ppvm-python-native/src/symmetry.rs create mode 100644 crates/ppvm-runtime/src/symmetry.rs diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index c2eda85a..24ed32e8 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -449,6 +449,7 @@ mod tests { ExpmOpts { tol: 1e-14, parallel_threshold: usize::MAX, + max_krylov_m: None, }, ); let r_parallel = expm_multiply( @@ -458,6 +459,7 @@ mod tests { ExpmOpts { tol: 1e-14, parallel_threshold: 0, + max_krylov_m: None, }, ); for (a, b) in r_serial.iter().zip(r_parallel.iter()) { diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 8aa1a4d3..660bf9ad 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -1614,4 +1614,124 @@ mod tests { codes_from_word(&w, &mut out); assert_eq!(out.as_slice(), &codes); } + + /// Small-system end-to-end check that orbit-rep merging gives the + /// same physics as standard evolution, when no truncation is applied. + /// + /// Setup: n=4 qubit chain, PBC, translation-invariant XY Hamiltonian + /// `H = Σ_j (X_j X_{j+1} + Y_j Y_{j+1})`, no dissipation. Initial + /// operator `O(0) = Σ_j Z_j` is translation-invariant (k=0 sector). + /// + /// Run 10 pc_step iterations with `drop_tol = 0` (no truncation): + /// once without merging, once applying `canonicalize_pauli_sum` + /// after each step. Canonicalize the un-merged final state once at + /// the end. The two orbit-rep representations should be + /// bit-identical up to FP noise. + #[test] + fn pc_step_matches_symmetry_merged_on_small_chain() { + use ppvm_runtime::symmetry::{TranslationGroup, canonicalize_pauli_sum}; + + let n = 4usize; + let dt = 0.05f64; + let n_steps = 10usize; + + // Build XY-chain Hamiltonian with PBC. 8 terms (4 bonds × {XX, YY}). + let mut h_terms: Vec<(String, f64)> = Vec::new(); + for j in 0..n { + let nxt = (j + 1) % n; + for op in ["X", "Y"] { + let mut s = vec!['I'; n]; + s[j] = op.chars().next().unwrap(); + s[nxt] = op.chars().next().unwrap(); + h_terms.push((s.into_iter().collect(), 1.0)); + } + } + // No dissipation. + let spec = LindbladSpec::new(n, &h_terms, &[]).unwrap(); + let group = TranslationGroup::chain_1d(n); + + // Initial: O(0) = Σ_j Z_j (translation-invariant). + let mut basis_u: Vec = (0..n) + .map(|j| { + let mut s = vec!['I'; n]; + s[j] = 'Z'; + let st: String = s.into_iter().collect(); + let (w, _) = parse_pauli_string(&st, n).unwrap(); + w + }) + .collect(); + let mut coeffs_u: Vec = vec![1.0; n]; + + // Mirror state for the "with merging" run. + let mut basis_m = basis_u.clone(); + let mut coeffs_m = coeffs_u.clone(); + + let opts = ExpmOpts::default(); + let protected: Vec = Vec::new(); + for _ in 0..n_steps { + // tau_add chosen large enough that pc_step doesn't add any + // new strings beyond what the Krylov-expm naturally reaches + // through the basis already present — i.e. we want NO + // leakage enrichment, only the expm step (closest analog of + // standard PP). Set tau_add = +infinity → leakage threshold + // never met → expand step is a no-op. + let tau_add = f64::INFINITY; + spec.pc_step( + &mut basis_u, + &mut coeffs_u, + dt, + tau_add, + 0.0, // drop_tol = 0 → no truncation + &protected, + opts, + None, + false, + ) + .unwrap(); + + spec.pc_step( + &mut basis_m, + &mut coeffs_m, + dt, + tau_add, + 0.0, + &protected, + opts, + None, + false, + ) + .unwrap(); + // Apply symmetry merging on the "with merging" run only. + canonicalize_pauli_sum(&mut basis_m, &mut coeffs_m, &group); + } + + // Canonicalize the un-merged final state once. + canonicalize_pauli_sum(&mut basis_u, &mut coeffs_u, &group); + + // Both representations should now be in orbit-rep form; compare + // as (word → coeff) maps with FP tolerance. + let map_u: FxHashMap = basis_u.into_iter().zip(coeffs_u).collect(); + let map_m: FxHashMap = basis_m.into_iter().zip(coeffs_m).collect(); + assert_eq!( + map_u.len(), + map_m.len(), + "merged basis size {} != post-merged-unmerged basis size {}", + map_m.len(), + map_u.len() + ); + let mut max_diff = 0.0f64; + for (w, c_u) in &map_u { + let c_m = map_m.get(w).copied().unwrap_or_else(|| { + panic!( + "rep {:?} present in un-merged-then-canonicalized but not in merged", + w + ); + }); + max_diff = max_diff.max((c_u - c_m).abs()); + } + assert!( + max_diff < 1e-9, + "with-merging vs without-merging diverged: max |Δc| = {max_diff:e}" + ); + } } diff --git a/crates/ppvm-python-native/src/lib.rs b/crates/ppvm-python-native/src/lib.rs index 6d868196..3078c760 100644 --- a/crates/ppvm-python-native/src/lib.rs +++ b/crates/ppvm-python-native/src/lib.rs @@ -14,6 +14,7 @@ pub mod interface; pub mod interface_tableau; pub mod lindblad; pub mod stim_program; +pub mod symmetry; #[pymodule] pub mod ppvm_python_native { @@ -160,4 +161,10 @@ pub mod ppvm_python_native { // Lindbladian time evolution shim #[pymodule_export] pub use crate::lindblad::LindbladSpec; + + // Symmetry merging + #[pymodule_export] + pub use crate::symmetry::TranslationGroup; + #[pymodule_export] + pub use crate::symmetry::canonicalize_basis_arr; } diff --git a/crates/ppvm-python-native/src/symmetry.rs b/crates/ppvm-python-native/src/symmetry.rs new file mode 100644 index 00000000..0e810bbe --- /dev/null +++ b/crates/ppvm-python-native/src/symmetry.rs @@ -0,0 +1,215 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Python bindings for the symmetry-merging primitive. +//! +//! Exposes: +//! - [`TranslationGroup`] PyO3 class with constructors for 1D, 2D, 3D +//! tori and multi-leg ladders, plus a generic generator-list path. +//! - [`canonicalize_basis_arr`] free function that takes the numpy +//! `(basis_arr, coeffs)` representation used by `Lindbladian.pc_step_arr` +//! / `rk4_step_arr` and merges in place. + +use numpy::{IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, PyReadonlyArray2}; +use ppvm_lindblad::{Word, word_from_codes, codes_from_word}; +use ppvm_runtime::symmetry as core_sym; +use pyo3::{exceptions::PyValueError, prelude::*}; + +type PyPauliMap<'py> = (Bound<'py, PyArray2>, Bound<'py, PyArray1>); + +/// A finite abelian symmetry group acting on qubit positions by +/// permutations. Use this to merge translation-equivalent Pauli strings +/// in either the `Lindbladian.pc_step_arr` basis or the `PauliSum` +/// dictionary, reducing per-step memory by up to `|G|×`. +/// +/// Build via the static methods: +/// - `TranslationGroup.chain_1d(n)` — 1D chain of `n` sites with PBC. +/// - `TranslationGroup.torus_2d(lx, ly)` — 2D torus; qubit `(i, j)` at +/// index `j*lx + i`. +/// - `TranslationGroup.torus_3d(lx, ly, lz)` — 3D torus; qubit +/// `(i, j, k)` at index `k*lx*ly + j*lx + i`. +/// - `TranslationGroup.ladder(l, n_legs)` — `n_legs`-leg ladder of `l` +/// sites, translation only along chain direction; qubit `(leg, j)` at +/// index `leg*l + j`. +/// - `TranslationGroup.from_generators(n_qubits, perms, orders)` — +/// arbitrary list of generator permutations + cyclic orders. +#[pyclass(frozen)] +pub struct TranslationGroup { + inner: core_sym::TranslationGroup, +} + +#[pymethods] +impl TranslationGroup { + #[staticmethod] + pub fn chain_1d(n: usize) -> Self { + Self { + inner: core_sym::TranslationGroup::chain_1d(n), + } + } + + #[staticmethod] + pub fn torus_2d(lx: usize, ly: usize) -> Self { + Self { + inner: core_sym::TranslationGroup::torus_2d(lx, ly), + } + } + + #[staticmethod] + pub fn torus_3d(lx: usize, ly: usize, lz: usize) -> Self { + Self { + inner: core_sym::TranslationGroup::torus_3d(lx, ly, lz), + } + } + + #[staticmethod] + pub fn ladder(l: usize, n_legs: usize) -> Self { + Self { + inner: core_sym::TranslationGroup::ladder(l, n_legs), + } + } + + #[staticmethod] + pub fn from_generators( + n_qubits: usize, + perms: Vec>, + orders: Vec, + ) -> PyResult { + if perms.len() != orders.len() { + return Err(PyValueError::new_err(format!( + "perms ({} generators) and orders ({}) must have the same length", + perms.len(), + orders.len() + ))); + } + for (g, perm) in perms.iter().enumerate() { + if perm.len() != n_qubits { + return Err(PyValueError::new_err(format!( + "generator {g}: permutation length {} != n_qubits {n_qubits}", + perm.len() + ))); + } + let mut seen = vec![false; n_qubits]; + for &p in perm { + let p = p as usize; + if p >= n_qubits { + return Err(PyValueError::new_err(format!( + "generator {g}: target {p} out of range [0, {n_qubits})" + ))); + } + if seen[p] { + return Err(PyValueError::new_err(format!( + "generator {g}: not a permutation (duplicate target {p})" + ))); + } + seen[p] = true; + } + } + Ok(Self { + inner: core_sym::TranslationGroup::from_generators(n_qubits, perms, orders), + }) + } + + /// Number of qubits this group acts on. + #[getter] + pub fn n_qubits(&self) -> usize { + self.inner.n_qubits() + } + + /// Number of generators (rank as an abelian product group). + #[getter] + pub fn n_generators(&self) -> usize { + self.inner.n_generators() + } + + /// Total group order: product of generator orders. + #[getter] + pub fn order(&self) -> usize { + self.inner.order() + } + + /// Return the canonical (lex-min) orbit representative of `pauli`. + /// `pauli` is a length-`n_qubits` uint8 array with the encoding + /// `I=0, X=1, Y=2, Z=3`. Result is the same shape. + pub fn canonicalize<'py>( + &self, + py: Python<'py>, + pauli: PyReadonlyArray1<'py, u8>, + ) -> PyResult>> { + let codes = pauli.as_slice()?; + if codes.len() != self.inner.n_qubits() { + return Err(PyValueError::new_err(format!( + "pauli has length {} but group expects {} qubits", + codes.len(), + self.inner.n_qubits() + ))); + } + let w = word_from_codes(codes).map_err(|e| PyValueError::new_err(e.to_string()))?; + let canon = self.inner.canonicalize(&w); + let mut out = vec![0u8; codes.len()]; + codes_from_word(&canon, &mut out); + Ok(out.into_pyarray(py)) + } +} + +/// Merge a `(basis_arr, coeffs)` Pauli sum (the representation used by +/// `Lindbladian.pc_step_arr` / `rk4_step_arr`) into orbit-representative +/// form. Each row of `basis_arr` is replaced by its canonical +/// representative; coefficients of rows collapsing to the same rep are +/// summed. +/// +/// Returns `(merged_basis_arr, merged_coeffs)`. Output length ≤ input +/// length. +/// +/// For dynamics that commute with `group` and initial states that are +/// `group`-invariant, this preserves all `group`-invariant expectation +/// values (Theorem 1 of Teng et al., arXiv:2512.12094). +#[pyfunction] +pub fn canonicalize_basis_arr<'py>( + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, f64>, + group: &TranslationGroup, +) -> PyResult> { + let basis_view = basis.as_array(); + let n_q = group.inner.n_qubits(); + if basis_view.shape().get(1).copied() != Some(n_q) { + return Err(PyValueError::new_err(format!( + "basis has {} qubits per row but group acts on {n_q}", + basis_view.shape().get(1).copied().unwrap_or(0) + ))); + } + let n = basis_view.shape()[0]; + let coeffs_slice = coeffs.as_slice()?; + if coeffs_slice.len() != n { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {} rows", + coeffs_slice.len(), + n + ))); + } + + // Decode into Vec, run the merge, re-encode. + let mut basis_words: Vec = Vec::with_capacity(n); + for i in 0..n { + let row = basis_view.row(i); + let row_slice = row.as_slice().ok_or_else(|| { + PyValueError::new_err("basis array rows are not contiguous; pass a C-order array") + })?; + basis_words.push(word_from_codes(row_slice).map_err(|e| PyValueError::new_err(e.to_string()))?); + } + let mut coeffs_vec = coeffs_slice.to_vec(); + + core_sym::canonicalize_pauli_sum(&mut basis_words, &mut coeffs_vec, &group.inner); + + // Re-encode. + let m = basis_words.len(); + let mut out_basis = vec![0u8; m * n_q]; + for (i, w) in basis_words.iter().enumerate() { + codes_from_word(w, &mut out_basis[i * n_q..(i + 1) * n_q]); + } + let basis_arr = out_basis + .into_pyarray(py) + .reshape([m, n_q]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, coeffs_vec.into_pyarray(py))) +} diff --git a/crates/ppvm-runtime/src/lib.rs b/crates/ppvm-runtime/src/lib.rs index ce26b587..2541008d 100644 --- a/crates/ppvm-runtime/src/lib.rs +++ b/crates/ppvm-runtime/src/lib.rs @@ -52,6 +52,9 @@ pub mod phase; /// Truncation strategies that decide when low-weight or low-magnitude /// terms are dropped from a [`PauliSum`](sum::PauliSum). pub mod strategy; +/// Lattice translation-symmetry groups and the orbit-representative +/// merging primitive used by operator-space evolution methods. +pub mod symmetry; /// The [`PauliSum`](sum::PauliSum) type and its builder. pub mod sum; /// Gate, measurement, and noise-channel traits shared across backends. diff --git a/crates/ppvm-runtime/src/symmetry.rs b/crates/ppvm-runtime/src/symmetry.rs new file mode 100644 index 00000000..a391d129 --- /dev/null +++ b/crates/ppvm-runtime/src/symmetry.rs @@ -0,0 +1,592 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Lattice translation symmetry groups for operator-space Pauli evolution. +//! +//! A [`TranslationGroup`] represents a finite abelian group `G` acting on +//! qubit positions by permutations. Given such a group, every Pauli word +//! belongs to a translation orbit, and operator dynamics that commute +//! with `G` can be tracked using **one canonical representative per +//! orbit** instead of all `|G|` orbit members — reducing per-step memory +//! and compute by a factor up to `|G|`. +//! +//! Following Teng, Chang, Rudolph, and Holmes (arXiv:2512.12094), this +//! module implements the **plain (real-coefficient) merging** of Pauli +//! sums into orbit-representative form. It is sufficient for evolution +//! of observables that lie in the trivial (`k=0`) symmetry sector, e.g. +//! sums of single-Z operators over the lattice. For non-trivial momentum +//! sectors (`k ≠ 0`) the merge step needs an additional phase factor — +//! that extension is left for a follow-up. +//! +//! ## Data model +//! +//! A `TranslationGroup` is specified by a list of generator permutations +//! and their cyclic orders. The group order is the product of the orders. +//! For instance, a 2D `L × L` torus has two generators (translation in +//! x and y) each of order `L`. +//! +//! ## Canonicalization +//! +//! [`TranslationGroup::canonicalize`] returns the **lex-minimum** Pauli +//! word reachable from the input via group action. The ordering is the +//! standard `Ord` impl on `PauliWord` (compare `xbits`, then `zbits`). +//! All orbit members canonicalize to the same representative; orbits are +//! disjoint by construction, so the rep uniquely identifies the orbit. +//! +//! ## Merging +//! +//! [`canonicalize_pauli_sum`] takes parallel `Vec` / `Vec` +//! buffers (the representation used by ppvm-lindblad's adaptive +//! evolution) and replaces each Pauli by its canonical rep, summing +//! coefficients for collisions. The output is an orbit-rep basis with +//! coefficients equal to the sum of the input coefficients over each +//! orbit's members. For dynamics that commute with `G` and initial +//! states that are also `G`-invariant, this preserves the expectation +//! value of any `G`-invariant observable (paper's Theorem 1). +//! +//! See the dedicated tests for correctness against full-basis evolution +//! on small systems with no truncation. + +use crate::config::Config; +use crate::sum::PauliSum; +use crate::traits::{PauliStorage, PauliWordTrait}; +use crate::word::PauliWord; +use fxhash::FxHashMap; +use std::hash::BuildHasher; + +/// A finite abelian symmetry group acting on qubit positions by +/// permutations. +/// +/// Build via the convenience constructors [`Self::chain_1d`], +/// [`Self::torus_2d`], [`Self::torus_3d`], [`Self::ladder`], or +/// [`Self::from_generators`] for an arbitrary list of generator +/// permutations. +/// +/// `perms[g]` is the permutation that **generator `g`** applies to qubit +/// indices: a qubit at position `q` moves to position `perms[g][q]` +/// under one application of generator `g`. `orders[g]` is the cyclic +/// order of generator `g` (i.e. applying it `orders[g]` times returns +/// the identity). The full group is the direct product of the cyclic +/// subgroups, with size `Π orders[g]`. +/// +/// Only the **generators** are stored; the algorithm in +/// [`Self::canonicalize`] walks the group via mixed-radix increments. +#[derive(Debug, Clone)] +pub struct TranslationGroup { + /// Number of qubits the group acts on. + n_qubits: usize, + /// One permutation per generator. `perms[g][q]` is the position + /// that qubit `q` maps to under one application of generator `g`. + perms: Vec>, + /// Cyclic order of each generator. + orders: Vec, +} + +impl TranslationGroup { + /// Construct from explicit generator permutations and orders. + /// + /// Each `perm` must be a permutation of `0..n_qubits`. Each `order` + /// must satisfy `perm^order == identity`. + pub fn from_generators( + n_qubits: usize, + perms: Vec>, + orders: Vec, + ) -> Self { + assert_eq!(perms.len(), orders.len(), "perms and orders must match"); + for (g, perm) in perms.iter().enumerate() { + assert_eq!( + perm.len(), + n_qubits, + "generator {g} permutation has length {} != n_qubits {n_qubits}", + perm.len() + ); + let mut seen = vec![false; n_qubits]; + for &p in perm { + assert!( + (p as usize) < n_qubits, + "generator {g} maps to out-of-range position {p}" + ); + assert!( + !seen[p as usize], + "generator {g} is not a permutation (duplicate target {p})" + ); + seen[p as usize] = true; + } + } + Self { + n_qubits, + perms, + orders, + } + } + + /// 1D chain of `n` sites with periodic boundary conditions. + /// Single generator: cyclic shift by one site. + pub fn chain_1d(n: usize) -> Self { + let perm: Vec = (0..n).map(|q| ((q + 1) % n) as u32).collect(); + Self::from_generators(n, vec![perm], vec![n as u32]) + } + + /// 2D `lx × ly` torus, qubit at `(i, j)` indexed as `j*lx + i`. + /// Two generators: x-shift (i → i+1 mod lx) and y-shift (j → j+1 mod ly). + pub fn torus_2d(lx: usize, ly: usize) -> Self { + let n = lx * ly; + let perm_x: Vec = (0..n) + .map(|q| { + let (i, j) = (q % lx, q / lx); + (j * lx + (i + 1) % lx) as u32 + }) + .collect(); + let perm_y: Vec = (0..n) + .map(|q| { + let (i, j) = (q % lx, q / lx); + (((j + 1) % ly) * lx + i) as u32 + }) + .collect(); + Self::from_generators(n, vec![perm_x, perm_y], vec![lx as u32, ly as u32]) + } + + /// 3D `lx × ly × lz` torus, qubit at `(i, j, k)` indexed as + /// `k*lx*ly + j*lx + i`. + pub fn torus_3d(lx: usize, ly: usize, lz: usize) -> Self { + let n = lx * ly * lz; + let perm_x: Vec = (0..n) + .map(|q| { + let i = q % lx; + let j = (q / lx) % ly; + let k = q / (lx * ly); + (k * lx * ly + j * lx + (i + 1) % lx) as u32 + }) + .collect(); + let perm_y: Vec = (0..n) + .map(|q| { + let i = q % lx; + let j = (q / lx) % ly; + let k = q / (lx * ly); + (k * lx * ly + ((j + 1) % ly) * lx + i) as u32 + }) + .collect(); + let perm_z: Vec = (0..n) + .map(|q| { + let i = q % lx; + let j = (q / lx) % ly; + let k = q / (lx * ly); + (((k + 1) % lz) * lx * ly + j * lx + i) as u32 + }) + .collect(); + Self::from_generators( + n, + vec![perm_x, perm_y, perm_z], + vec![lx as u32, ly as u32, lz as u32], + ) + } + + /// Multi-leg ladder: `l` sites along the chain × `n_legs` legs. + /// Single generator: cyclic shift along the chain direction (all + /// legs simultaneously). Qubit at `(leg, j)` indexed as + /// `leg * l + j`. No translation along the leg axis (legs are + /// distinguished). + pub fn ladder(l: usize, n_legs: usize) -> Self { + let n = l * n_legs; + let perm: Vec = (0..n) + .map(|q| { + let leg = q / l; + let j = q % l; + (leg * l + (j + 1) % l) as u32 + }) + .collect(); + Self::from_generators(n, vec![perm], vec![l as u32]) + } + + /// Number of qubits the group acts on. + pub fn n_qubits(&self) -> usize { + self.n_qubits + } + + /// Number of generators (rank of the group as an abelian product). + pub fn n_generators(&self) -> usize { + self.perms.len() + } + + /// Total group order: `Π orders[g]`. + pub fn order(&self) -> usize { + self.orders.iter().map(|&o| o as usize).product() + } + + /// Permutation associated with the `g`-th generator (one application). + pub fn generator_perm(&self, g: usize) -> &[u32] { + &self.perms[g] + } + + /// Cyclic order of the `g`-th generator. + pub fn generator_order(&self, g: usize) -> u32 { + self.orders[g] + } + + /// Apply a single generator's permutation to a Pauli word, returning + /// the resulting word. + /// + /// For each qubit `q` of the input, the corresponding `(xbit, zbit)` + /// pair is placed at position `perm[q]` of the output. + fn apply_generator( + &self, + w: &PauliWord, + g: usize, + ) -> PauliWord + where + A: PauliStorage, + S: BuildHasher + Clone + Default, + { + let perm = &self.perms[g]; + let mut out: PauliWord = PauliWord::new(self.n_qubits); + for q in 0..self.n_qubits { + let xb = w.get_xbit(q); + let zb = w.get_zbit(q); + if xb { + out.set_xbit(perm[q] as usize, true); + } + if zb { + out.set_zbit(perm[q] as usize, true); + } + } + out.rehash(); + out + } + + /// Lex-min canonical representative of `w`'s translation orbit + /// under this group. Walks the full group via mixed-radix counters, + /// keeping the smallest word seen. + /// + /// Total cost: `O(|G| × n_qubits)` per call. + pub fn canonicalize( + &self, + w: &PauliWord, + ) -> PauliWord + where + A: PauliStorage, + S: BuildHasher + Clone + Default, + { + debug_assert_eq!( + w.n_qubits(), + self.n_qubits, + "word and group must agree on n_qubits" + ); + if self.perms.is_empty() { + return w.clone(); + } + // Mixed-radix counter `(c[0], c[1], …)` ranges over + // `0..orders[0] × 0..orders[1] × …`. We track the "current" + // word obtained by applying generator `g` once each time + // `c[g]` increments; rolling over `c[g]` means we apply + // generator `g` exactly `orders[g]` times (= identity), so + // `cur` returns to the orbit member that had `c[g..]` as its + // tail and `0` in slots 0..g. + // + // The simplest correct implementation just enumerates: for each + // group element index, build the corresponding word from scratch + // by applying the right number of each generator. + let mut best = w.clone(); + let order = self.order(); + let mut idx = 0usize; + while idx < order { + // Decode `idx` to mixed-radix counter `c` + let mut rem = idx; + let mut counters: Vec = Vec::with_capacity(self.perms.len()); + for &o in &self.orders { + counters.push((rem as u32) % o); + rem /= o as usize; + } + // Construct the group element's permutation by composing + // `generator g` applied `c[g]` times, for each g. + // We do this lazily by iterating over qubits. + let mut cur = w.clone(); + for (g, &c) in counters.iter().enumerate() { + for _ in 0..c { + cur = self.apply_generator(&cur, g); + } + } + if cur < best { + best = cur; + } + idx += 1; + } + best + } + + /// Iterate over all group elements applied to `w`. Yields `|G|` + /// Pauli words (including `w` itself for the identity element). + pub fn orbit<'a, A, S, const R: bool>( + &'a self, + w: &'a PauliWord, + ) -> impl Iterator> + 'a + where + A: PauliStorage + 'a, + S: BuildHasher + Clone + Default + 'a, + { + let order = self.order(); + (0..order).map(move |idx| { + let mut rem = idx; + let mut cur = w.clone(); + for (g, &o) in self.orders.iter().enumerate() { + let c = (rem as u32) % o; + rem /= o as usize; + for _ in 0..c { + cur = self.apply_generator(&cur, g); + } + } + cur + }) + } +} + +/// Replace `(basis, coeffs)` in-place with the orbit-representative +/// form: each Pauli word becomes its canonical rep, and coefficients +/// of words that collapse to the same rep are summed. +/// +/// Output length ≤ input length. Entries whose summed coefficient +/// equals zero exactly are *not* removed — caller should run a final +/// `drop_tol` prune if desired. +/// +/// For dynamics that commute with `group` and initial states that are +/// `group`-invariant (i.e. in the trivial momentum sector), this +/// preserves all `G`-invariant expectation values. +pub fn canonicalize_pauli_sum( + basis: &mut Vec>, + coeffs: &mut Vec, + group: &TranslationGroup, +) where + A: PauliStorage, + S: BuildHasher + Clone + Default, +{ + assert_eq!(basis.len(), coeffs.len(), "basis and coeffs length mismatch"); + let mut merged: FxHashMap, f64> = + FxHashMap::with_capacity_and_hasher(basis.len(), Default::default()); + for (w, &c) in basis.iter().zip(coeffs.iter()) { + let rep = group.canonicalize(w); + *merged.entry(rep).or_insert(0.0) += c; + } + basis.clear(); + coeffs.clear(); + basis.reserve(merged.len()); + coeffs.reserve(merged.len()); + for (w, c) in merged { + basis.push(w); + coeffs.push(c); + } +} + +/// Symmetry-merge a [`PauliSum`] in place: each Pauli word becomes its +/// canonical orbit representative, and entries collapsing to the same +/// rep accumulate coefficients. +/// +/// This is the Trotter-mode counterpart to [`canonicalize_pauli_sum`] +/// (which operates on the `Vec, Vec` representation used by +/// `ppvm-lindblad`'s adaptive evolution). Same semantics: preserves all +/// `G`-invariant expectation values when the dynamics commutes with +/// `group` and the initial state is `group`-invariant. +/// +/// Generic over the [`Config`] but constrained to PauliWord-backed +/// representations (i.e. not the loss-aware variant) since +/// canonicalization needs raw `(xbit, zbit)` access. +pub fn symmetry_merge_pauli_sum( + psum: &mut PauliSum, + group: &TranslationGroup, +) where + T: Config>, + A: PauliStorage, + S: BuildHasher + Clone + Default, +{ + psum.map_add(|word, coeff| (group.canonicalize(word), coeff.clone())); +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::char::Pauli; + use crate::traits::PauliWordTrait; + + type W = PauliWord<[u8; 1], fxhash::FxBuildHasher, true>; + + fn word(s: &str) -> W { + W::from(s) + } + + #[test] + fn chain_1d_canonicalizes_via_cyclic_shift() { + let g = TranslationGroup::chain_1d(4); + // All cyclic shifts of "IIXY" should canonicalize to the same rep. + let candidates = ["IIXY", "IXYI", "XYII", "YIIX"]; + let canon: Vec = candidates.iter().map(|s| g.canonicalize(&word(s))).collect(); + for c in &canon[1..] { + assert_eq!(*c, canon[0], "all cyclic shifts must canonicalize to same rep"); + } + } + + #[test] + fn chain_1d_canonicalize_is_lex_min() { + let g = TranslationGroup::chain_1d(4); + let canon = g.canonicalize(&word("YIIX")); + let orbit: Vec = g.orbit(&word("YIIX")).collect(); + let min = orbit.iter().min().unwrap(); + assert_eq!(canon, *min); + } + + #[test] + fn orbit_has_correct_size_for_chain() { + let g = TranslationGroup::chain_1d(4); + // "XIII" has orbit of size 4 (full chain). + let orbit: Vec = g.orbit(&word("XIII")).collect(); + assert_eq!(orbit.len(), 4); + // "XIXI" has orbit of size 2 (period-2 invariant); 4 elements + // total in the orbit iterator, but only 2 unique. + let orbit: Vec = g.orbit(&word("XIXI")).collect(); + assert_eq!(orbit.len(), 4); // iterator yields |G|, including duplicates + let unique: std::collections::HashSet = orbit.into_iter().collect(); + assert_eq!(unique.len(), 2); + } + + #[test] + fn torus_2d_canonicalize() { + // 3x2 torus, 6 qubits. + let g = TranslationGroup::torus_2d(3, 2); + assert_eq!(g.n_qubits(), 6); + assert_eq!(g.order(), 6); + // X at (0,0) — orbit is all 6 single-X positions. + let w = word("XIIIII"); + let orbit: Vec = g.orbit(&w).collect(); + let unique: std::collections::HashSet = orbit.into_iter().collect(); + assert_eq!(unique.len(), 6); + // All canonicalize to the same rep. + let canon = g.canonicalize(&w); + for u in &unique { + assert_eq!(g.canonicalize(u), canon); + } + } + + #[test] + fn ladder_canonicalize() { + // 2-leg ladder, L=3 → 6 qubits, group order 3 (no swap of legs). + let g = TranslationGroup::ladder(3, 2); + assert_eq!(g.n_qubits(), 6); + assert_eq!(g.order(), 3); + // X on leg 0 site 0: orbit = {(0,0), (0,1), (0,2)}, NOT including leg 1 sites. + let w = word("XIIIII"); // qubit 0 = X + let orbit: Vec = g.orbit(&w).collect(); + assert_eq!(orbit.len(), 3); + let unique: std::collections::HashSet = orbit.into_iter().collect(); + assert_eq!(unique.len(), 3); + // The orbit should be {qubit 0=X, qubit 1=X, qubit 2=X} — all leg 0. + let expected: std::collections::HashSet = + ["XIIIII", "IXIIII", "IIXIII"].iter().map(|s| word(s)).collect(); + assert_eq!(unique, expected); + } + + #[test] + fn canonicalize_pauli_sum_merges_orbit_members() { + let g = TranslationGroup::chain_1d(4); + let mut basis: Vec = vec![word("XIII"), word("IXII"), word("IIXI"), word("IIIX")]; + let mut coeffs: Vec = vec![1.0, 2.0, 3.0, 4.0]; + canonicalize_pauli_sum(&mut basis, &mut coeffs, &g); + // All four collapse to one rep with coeff 1+2+3+4 = 10. + assert_eq!(basis.len(), 1); + assert!((coeffs[0] - 10.0).abs() < 1e-12); + } + + #[test] + fn canonicalize_pauli_sum_keeps_distinct_orbits() { + let g = TranslationGroup::chain_1d(4); + // Two distinct orbits: {XIII, ...} (size 4) and {ZIII, ...} (size 4). + let mut basis: Vec = vec![word("XIII"), word("IXII"), word("ZIII"), word("IZII")]; + let mut coeffs: Vec = vec![1.0, 1.0, 2.0, 2.0]; + canonicalize_pauli_sum(&mut basis, &mut coeffs, &g); + assert_eq!(basis.len(), 2); + // Coefficients should be {2.0, 4.0} in some order. + let mut cs = coeffs.clone(); + cs.sort_by(|a, b| a.partial_cmp(b).unwrap()); + assert!((cs[0] - 2.0).abs() < 1e-12); + assert!((cs[1] - 4.0).abs() < 1e-12); + } + + /// Trotter-mode end-to-end check that `PauliSum::symmetry_merge` + /// matches plain Trotter evolution post-canonicalized. + /// + /// Setup: n=4 qubit chain, PBC, XY rotations on each bond. Initial + /// operator `O(0) = Σ_j Z_j` is translation-invariant. + /// + /// **dt must be tiny.** First-order Trotter on a chain with PBC is + /// only translation-equivariant up to `O(dt^2)` (gate-order + /// commutator errors are NOT themselves T-symmetric). The + /// "merge-after-each-step" trajectory and the "merge-at-end" + /// trajectory therefore diverge by an amount proportional to that + /// Trotter error. We test in the dt → 0 limit where the divergence + /// is below FP noise. + #[test] + fn pauli_sum_symmetry_merge_matches_plain_trotter() { + use crate::config::indexmap::ByteFxHashF64; + use crate::prelude::*; + + type Cfg = ByteFxHashF64<1>; + + let n: usize = 4; + // Tiny dt — Trotter per-step error scales as dt^2 and shows up + // as a translation-non-equivariant correction; we want it below + // FP noise at the tolerance we assert below (1e-7). + let dt = 1e-5_f64; + let n_steps = 2usize; + let group = TranslationGroup::chain_1d(n); + + // Total-Z initial: O(0) = Σ_j Z_j (translation-invariant). + let mut o_u: PauliSum = PauliSum::builder().n_qubits(n).build(); + let mut o_m: PauliSum = PauliSum::builder().n_qubits(n).build(); + for j in 0..n { + let mut s: Vec = vec!['I'; n]; + s[j] = 'Z'; + let st: String = s.into_iter().collect(); + o_u += (st.as_str(), 1.0); + o_m += (st.as_str(), 1.0); + } + assert_eq!(o_u.len(), n); + assert_eq!(o_m.len(), n); + + // Apply XY Trotter steps to both copies. With merging, call + // symmetry_merge_pauli_sum after each step. + for _ in 0..n_steps { + for j in 0..n { + let nxt = (j + 1) % n; + o_u.rxx(j, nxt, dt); + o_u.ryy(j, nxt, dt); + o_m.rxx(j, nxt, dt); + o_m.ryy(j, nxt, dt); + } + symmetry_merge_pauli_sum(&mut o_m, &group); + } + + // Canonicalize the un-merged result once at the end. + symmetry_merge_pauli_sum(&mut o_u, &group); + + // Compare as (word → coeff) maps, FP tolerance. + let u: FxHashMap<_, f64> = o_u.iter().map(|(w, c)| (w.clone(), *c)).collect(); + let m: FxHashMap<_, f64> = o_m.iter().map(|(w, c)| (w.clone(), *c)).collect(); + assert_eq!( + u.len(), + m.len(), + "post-merge basis sizes differ: u={} vs m={}", + u.len(), + m.len() + ); + let mut max_diff = 0.0_f64; + for (w, &cu) in &u { + let cm = *m.get(w).unwrap_or_else(|| { + panic!("rep present in u but not in m: {:?}", w); + }); + max_diff = max_diff.max((cu - cm).abs()); + } + // At dt = 1e-5 over 2 steps, accumulated Trotter + // commutator-induced T-eq error is ~2·dt^2·|H|^2 ≈ 1e-9; we + // assert 1e-7 to leave safety margin. + assert!( + max_diff < 1e-7, + "Trotter with-merging diverged from without-merging: max |Δc| = {max_diff:e}" + ); + } +} From 9e8551b28619d9b996cdbb02e2f357b0f02c6e19 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 11 Jun 2026 08:22:47 +0100 Subject: [PATCH 014/159] feat(symmetry): phase-aware extension for momentum-sector evolution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Complex-coefficient pipeline supporting evolution of a single momentum sector with optional orbit-rep projection at snapshot points. Following Teng/Chang/Rudolph/Holmes arXiv:2512.12094 §III for the phase-aware extension. ppvm-runtime/symmetry.rs: - canonicalize_with_shift(w): lex-min rep + mixed-radix counter of the group element g such that g.r = w. Used for phase factor in momentum-aware merge. - character(k_modes, counter): exp(2πi · Σ k·c / orders). - canonicalize_pauli_sum_complex(basis, complex_coeffs, group, k): project to orbit-rep form at momentum sector k. For input already in sector k, output is the orbit-rep coefficients unchanged (modulo 1/|G| convention). - check_momentum_sector(basis, complex_coeffs, group, k, tol): validates input is a k-eigenstate; returns SectorCheckError with diagnostic info on fail. ppvm-lindblad: - expm.rs: spmv_complex + expm_multiply_complex (real CSR matrix, complex vector — two real SpMVs internally). - LindbladSpec::compute_action_sum_complex, leakage_complex, pc_step_complex (full-basis complex pc_step with optional pre-step sector check). - prune_basis_complex: drop on |c| norm. Tests (10 in ppvm-runtime/lib + 3 in ppvm-lindblad, all passing): - canonicalize_with_shift round-trip - character properties (trivial, unit-modulus) - momentum-zero complex merge matches real merge - momentum-eigenstate sector check passes / fails appropriately - pc_step_complex matches real pc_step at k=0 - pc_step_complex sector preserved through evolution - pc_step_complex rejects wrong-sector input Python bindings (ppvm-python-native + ppvm-python): - TranslationGroup unchanged (constructors / canonicalize already work for both paths). - canonicalize_basis_arr_complex, check_momentum_sector_arr free functions on numpy uint8/complex128 arrays. - Lindbladian.pc_step_complex method (delegates to _spec.pc_step_complex). End-to-end Python sanity test (test_phase_aware_pyend.py): n=4 XY chain k=1 eigenstate evolves preserving Hilbert-Schmidt norm and sector membership; projection collapses 12 entries → 3 orbit reps. DESIGN LIMITATION: per-step orbit-rep evolution is NOT supported by this commit. Merging is "at snapshot points" only — the user evolves in full-basis representation, projects when reading observables. Per-step memory reduction would require phase-aware action with complex CSR matrix elements (matrix elements become complex in orbit-rep form due to phase factors), which is the next follow-up. --- crates/ppvm-lindblad/src/expm.rs | 80 ++++ crates/ppvm-lindblad/src/lib.rs | 503 +++++++++++++++++++++ crates/ppvm-python-native/src/interface.rs | 39 ++ crates/ppvm-python-native/src/lib.rs | 4 + crates/ppvm-python-native/src/lindblad.rs | 115 ++++- crates/ppvm-python-native/src/symmetry.rs | 140 +++++- crates/ppvm-runtime/src/symmetry.rs | 352 ++++++++++++++ ppvm-python/src/ppvm/lindblad.py | 53 +++ ppvm-python/src/ppvm/paulisum.py | 21 + 9 files changed, 1303 insertions(+), 4 deletions(-) diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index 24ed32e8..f83cd835 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -14,6 +14,7 @@ //! that the task-spawn overhead beats the cache-friendly serial loop). //! Both branches produce bit-identical output. +use num::Complex; use rayon::prelude::*; use sprs::CsMatI; @@ -269,6 +270,85 @@ pub fn expm_multiply(a: &Csr, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { f } +/// Complex-coefficient SpMV: `y ← A · x` where `A` is real-valued (CSR +/// of `f64`) and `x`, `y` are complex. +/// +/// Implemented as two real SpMVs on the real and imaginary parts, then +/// combined. Identical numerics to a single complex SpMV by linearity. +pub fn spmv_complex(m: &Csr, x: &[Complex], y: &mut [Complex], parallel_threshold: usize) { + debug_assert_eq!(x.len(), m.cols()); + debug_assert_eq!(y.len(), m.rows()); + let n = m.cols(); + let mut x_re: Vec = x.iter().map(|c| c.re).collect(); + let mut x_im: Vec = x.iter().map(|c| c.im).collect(); + let mut y_re = vec![0.0_f64; n]; + let mut y_im = vec![0.0_f64; n]; + spmv(m, &x_re, &mut y_re, parallel_threshold); + spmv(m, &x_im, &mut y_im, parallel_threshold); + for (yi, (re, im)) in y.iter_mut().zip(y_re.iter().zip(y_im.iter())) { + *yi = Complex::new(*re, *im); + } + // Silence unused-mut warnings on Vec intermediates if they were + // ever needed for further reuse. + let _ = (&mut x_re, &mut x_im); +} + +/// Compute `exp(t · A) · b` where `A` is a real CSR and `b` is a complex +/// vector. Result is a fresh `Vec>` of length `A.rows()`. +/// +/// Algorithm: same Al-Mohy & Higham scaling-and-squaring as the real +/// [`expm_multiply`], with the inner SpMV replaced by [`spmv_complex`]. +/// Vector arithmetic is in `Complex` throughout. +pub fn expm_multiply_complex(a: &Csr, t: f64, b: &[Complex], opts: ExpmOpts) -> Vec> { + assert_eq!( + a.rows(), + b.len(), + "matrix size {} mismatches vector length {}", + a.rows(), + b.len() + ); + let n = a.rows(); + if n == 0 { + return Vec::new(); + } + + let t_a_one_norm = t.abs() * csr_one_norm(a); + let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); + let scale = t / s as f64; + + let mut f = b.to_vec(); + let mut bk = b.to_vec(); + let mut work = vec![Complex::new(0.0, 0.0); n]; + + for _ in 0..s { + let mut c1 = inf_norm_c(&bk); + for i in 1..=m_star { + spmv_complex(a, &bk, &mut work, opts.parallel_threshold); + let factor = scale / i as f64; + for j in 0..n { + bk[j] = work[j] * factor; + } + for j in 0..n { + f[j] += bk[j]; + } + let c2 = inf_norm_c(&bk); + let f_norm = inf_norm_c(&f).max(f64::MIN_POSITIVE); + if c1 + c2 <= opts.tol * f_norm { + break; + } + c1 = c2; + } + bk.copy_from_slice(&f); + } + + f +} + +#[inline] +fn inf_norm_c(v: &[Complex]) -> f64 { + v.iter().fold(0f64, |acc, c| acc.max(c.norm())) +} + /// Matrix-free variant of [`expm_multiply`]. Same Al-Mohy & Higham /// algorithm, but takes the matrix 1-norm and SpMV operation as /// arguments instead of a [`Csr`]. diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 660bf9ad..62dcaf63 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -34,6 +34,7 @@ use fxhash::{FxBuildHasher, FxHashMap, FxHashSet}; use num::Complex; +use ppvm_runtime::symmetry::TranslationGroup; use ppvm_runtime::traits::PauliWordTrait; use ppvm_runtime::word::PauliWord; use rayon::prelude::*; @@ -1003,6 +1004,255 @@ impl LindbladSpec { Ok(merged) } + /// Complex-coefficient variant of [`Self::compute_action_sum`]: + /// `L*( Σ_j coeffs[j] · basis[j] )` with complex coefficients. + /// Matrix elements of `L*` are real (Hermiticity-preserving), so + /// each complex coefficient just multiplies into the real action + /// outputs. + pub fn compute_action_sum_complex( + &self, + basis: &[Word], + coeffs: &[Complex], + ) -> Result>, Error> { + if basis.len() != coeffs.len() { + return Err(Error::LengthMismatch { + what: "basis and coeffs", + a: basis.len(), + b: coeffs.len(), + }); + } + const CHUNK_SIZE: usize = 4096; + let mut merged: FxHashMap> = FxHashMap::default(); + for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { + let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); + let chunk_basis = &basis[chunk_start..chunk_end]; + let chunk_coeffs = &coeffs[chunk_start..chunk_end]; + let local: Vec)>> = chunk_basis + .par_iter() + .zip(chunk_coeffs.par_iter()) + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (p, &c)| { + let terms = self.compute_action_terms(p, s1, s2, lm); + terms + .into_iter() + .map(|(w, v)| (w, c * v)) + .collect() + }, + ) + .collect(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(Complex::new(0.0, 0.0)) += val; + } + } + } + Ok(merged) + } + + /// Complex-coefficient variant of [`Self::leakage`]: off-basis + /// component of `L*( Σ_j coeffs[j] · basis[j] )` with complex `coeffs`. + pub fn leakage_complex( + &self, + basis: &[Word], + coeffs: &[Complex], + protected: &[Word], + ) -> Result)>, Error> { + if basis.len() != coeffs.len() { + return Err(Error::LengthMismatch { + what: "basis and coeffs", + a: basis.len(), + b: coeffs.len(), + }); + } + let in_basis: FxHashMap = + basis.iter().map(|w| (word_hash(w), ())).collect(); + let protected_set: FxHashMap = + protected.iter().map(|w| (word_hash(w), ())).collect(); + + const CHUNK_SIZE: usize = 4096; + let mut merged: FxHashMap> = FxHashMap::default(); + for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { + let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); + let chunk_basis = &basis[chunk_start..chunk_end]; + let chunk_coeffs = &coeffs[chunk_start..chunk_end]; + let local: Vec)>> = chunk_basis + .par_iter() + .zip(chunk_coeffs.par_iter()) + .map_init( + || { + ( + Vec::::with_capacity(self.n_qubits), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (p, &c)| { + let terms = self.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, v) in terms.iter() { + let h = word_hash(w); + if !in_basis.contains_key(&h) && !protected_set.contains_key(&h) { + out.push((w.clone(), c * *v)); + } + } + out + }, + ) + .collect(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(Complex::new(0.0, 0.0)) += val; + } + } + } + Ok(merged.into_iter().filter(|(_, c)| c.norm() > 0.0).collect()) + } + + /// Complex-coefficient predictor-corrector step. + /// + /// Same algorithm as [`Self::pc_step`]: first-hop leakage expansion, + /// predictor `exp(dt·M)`, second-hop expansion from predicted state, + /// corrector `exp(dt·M)` from saved pre-step state, then `drop_tol` + /// prune. Coefficients are complex throughout; `L*` matrix elements + /// are real, so the underlying CSR matrix is shared with the real + /// path and only the vector arithmetic is complexified + /// ([`expm::expm_multiply_complex`]). + /// + /// `drop_tol` is compared against `|c|` (complex magnitude). The + /// `protected` set is honoured exactly as in the real path. + /// + /// When `sym_group` and `momentum` are both `Some`, the input + /// `(basis, coeffs)` is checked against the momentum sector using + /// [`ppvm_runtime::symmetry::check_momentum_sector`] before any + /// evolution. If the input is not in sector `momentum`, an error + /// is returned and no evolution is performed. This is purely + /// validation — pc_step itself evolves in the standard full-basis + /// representation, and translation symmetry of `L*` keeps the + /// state inside the input's momentum sector throughout. + /// + /// **For memory reduction**: this function does NOT merge into + /// orbit-rep form during evolution. The correct workflow is to + /// evolve as many steps as desired in full-basis form, then + /// call [`ppvm_runtime::symmetry::canonicalize_pauli_sum_complex`] + /// at observable-readout / snapshot points. Per-step orbit-rep + /// evolution would require phase-aware action / CSR (complex matrix + /// elements, not just complex vectors) — a separate code path to + /// be added later. + #[allow(clippy::too_many_arguments)] + pub fn pc_step_complex( + &self, + basis: &mut Vec, + coeffs: &mut Vec>, + dt: f64, + tau_add: f64, + drop_tol: f64, + protected: &[Word], + opts: ExpmOpts, + num_threads: Option, + sym_group: Option<&TranslationGroup>, + momentum: Option<&[i32]>, + ) -> Result<(), Error> { + if let Some(n) = num_threads { + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(n) + .build() + .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; + pool.install(|| { + self.pc_step_complex_inner( + basis, coeffs, dt, tau_add, drop_tol, protected, opts, sym_group, momentum, + ) + }) + } else { + self.pc_step_complex_inner( + basis, coeffs, dt, tau_add, drop_tol, protected, opts, sym_group, momentum, + ) + } + } + + #[allow(clippy::too_many_arguments)] + fn pc_step_complex_inner( + &self, + basis: &mut Vec, + coeffs: &mut Vec>, + dt: f64, + tau_add: f64, + drop_tol: f64, + protected: &[Word], + opts: ExpmOpts, + sym_group: Option<&TranslationGroup>, + momentum: Option<&[i32]>, + ) -> Result<(), Error> { + // 0. Optional sector check on the input state. + if let (Some(g), Some(k)) = (sym_group, momentum) { + ppvm_runtime::symmetry::check_momentum_sector(basis, coeffs, g, k, 1e-8) + .map_err(|e| Error::Internal(format!( + "pc_step_complex: input is not in momentum sector {:?}: {}", + k, e + )))?; + } + + // 1. First-hop expansion (complex leakage). + let leak = self.leakage_complex(basis, coeffs, protected)?; + for (w, v) in leak { + if v.norm() > tau_add { + basis.push(w); + coeffs.push(Complex::new(0.0, 0.0)); + } + } + // 2. Predictor. + let coeffs_predict = self.expm_step_complex(basis, dt, coeffs, opts); + // 3. Second-hop expansion from the predicted state. + let leak2 = self.leakage_complex(basis, &coeffs_predict, protected)?; + drop(coeffs_predict); + for (w, v) in leak2 { + if v.norm() > tau_add { + basis.push(w); + coeffs.push(Complex::new(0.0, 0.0)); + } + } + // 4. Corrector. + *coeffs = self.expm_step_complex(basis, dt, coeffs, opts); + // 5. Prune below drop_tol (complex magnitude). + prune_basis_complex(basis, coeffs, drop_tol, protected); + // NOTE: NO automatic symmetry-merge here. The orbit-rep + // representation cannot be self-consistently evolved by the + // standard L* action — applying L* to a single orbit-rep + // would treat it as one Pauli string, not as the implicit + // sum of orbit members with momentum-phases. Per-step + // orbit-rep evolution requires phase-aware action with + // complex CSR (to be added). The user is expected to call + // `canonicalize_pauli_sum_complex` at observable-readout / + // snapshot points instead. + Ok(()) + } + + /// Complex SpMV-by-CSR variant of [`Self::expm_step`]. The matrix + /// is real; only the vector is complex. Always uses the CSR path + /// (matrix-free for complex deferred). + fn expm_step_complex( + &self, + basis: &[Word], + dt: f64, + b: &[Complex], + opts: ExpmOpts, + ) -> Vec> { + let csr = self.generator_csr(basis); + expm::expm_multiply_complex(&csr, dt, b, opts) + } + /// One classical RK4 step on `O ← O + dt · L*(O)`, expanding the basis /// naturally as the action explores new strings. After the step, drops /// any string whose absolute coefficient is below `drop_tol` (protected @@ -1502,6 +1752,34 @@ fn word_hash(w: &Word) -> u64 { h.finish() } +/// Complex-coefficient counterpart of [`prune_basis`]: drops entries +/// whose `|c|` (complex magnitude) is below `drop_tol`, never dropping +/// `protected` words. +fn prune_basis_complex( + basis: &mut Vec, + coeffs: &mut Vec>, + drop_tol: f64, + protected: &[Word], +) { + if drop_tol <= 0.0 { + return; + } + debug_assert_eq!(basis.len(), coeffs.len()); + let protected_set: FxHashSet<&Word> = protected.iter().collect(); + let mut write = 0; + for read in 0..basis.len() { + if coeffs[read].norm() >= drop_tol || protected_set.contains(&basis[read]) { + if write != read { + basis.swap(write, read); + coeffs.swap(write, read); + } + write += 1; + } + } + basis.truncate(write); + coeffs.truncate(write); +} + /// Compact `basis` / `coeffs` in place: drop entries whose absolute /// coefficient is below `drop_tol` unless the word appears in `protected`. /// No-op when `drop_tol ≤ 0`. @@ -1615,6 +1893,231 @@ mod tests { assert_eq!(out.as_slice(), &codes); } + /// `pc_step_complex` correctly preserves the momentum sector of an + /// initial k-eigenstate: evolve in full-basis form, project at the + /// end, get a consistent orbit-rep representation. + /// + /// Also exercises the sector check on the input. + #[test] + fn pc_step_complex_preserves_momentum_sector() { + use std::f64::consts::PI; + let n = 4usize; + let dt = 0.01f64; + let n_steps = 3usize; + let mut h_terms: Vec<(String, f64)> = Vec::new(); + for j in 0..n { + let nxt = (j + 1) % n; + for op in ["X", "Y"] { + let mut s = vec!['I'; n]; + s[j] = op.chars().next().unwrap(); + s[nxt] = op.chars().next().unwrap(); + h_terms.push((s.into_iter().collect(), 1.0)); + } + } + let spec = LindbladSpec::new(n, &h_terms, &[]).unwrap(); + let group = ppvm_runtime::symmetry::TranslationGroup::chain_1d(n); + let k_mode: i32 = 1; + let k = vec![k_mode]; + + // Momentum-k eigenstate. + let mut basis: Vec = (0..n) + .map(|j| { + let mut s = vec!['I'; n]; + s[j] = 'Z'; + let (w, _) = + parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); + w + }) + .collect(); + let mut coeffs: Vec> = (0..n as i32) + .map(|a| Complex::from_polar(1.0, -2.0 * PI * (k_mode as f64) * (a as f64) / (n as f64))) + .collect(); + + let opts = ExpmOpts::default(); + let protected: Vec = Vec::new(); + + // First step: pass sym_group + k to exercise the sector check. + spec.pc_step_complex( + &mut basis, + &mut coeffs, + dt, + 1.0, + 0.0, + &protected, + opts, + None, + Some(&group), + Some(&k), + ) + .expect("sector check on k-eigenstate input should pass"); + // Subsequent steps without re-checking (would also pass). + for _ in 1..n_steps { + spec.pc_step_complex( + &mut basis, + &mut coeffs, + dt, + 1.0, + 0.0, + &protected, + opts, + None, + None, + None, + ) + .unwrap(); + } + // After evolution, the state should STILL be in sector k. + ppvm_runtime::symmetry::check_momentum_sector(&basis, &coeffs, &group, &k, 1e-8) + .expect("evolved state should remain in k-sector by translation-symmetry of L*"); + + // Projecting to orbit-rep form should give a non-empty basis + // with finite coefficients. + let mut basis_proj = basis.clone(); + let mut coeffs_proj = coeffs.clone(); + ppvm_runtime::symmetry::canonicalize_pauli_sum_complex( + &mut basis_proj, + &mut coeffs_proj, + &group, + &k, + ); + assert!(basis_proj.len() > 0, "projected basis empty"); + assert!(basis_proj.len() <= basis.len(), "projection should shrink basis"); + assert!( + coeffs_proj.iter().any(|c| c.norm() > 1e-10), + "projected basis has only ~zero coefficients" + ); + } + + /// Sector check rejects an input that mixes momentum components. + #[test] + fn pc_step_complex_rejects_wrong_sector() { + let n = 4usize; + let spec = LindbladSpec::new(n, &[("XIII".to_string(), 1.0)], &[]).unwrap(); + let group = ppvm_runtime::symmetry::TranslationGroup::chain_1d(n); + + // A k=1 eigenstate (Z-sum with twist). + let mut basis: Vec = (0..n) + .map(|j| { + let mut s = vec!['I'; n]; + s[j] = 'Z'; + let (w, _) = + parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); + w + }) + .collect(); + use std::f64::consts::PI; + let mut coeffs: Vec> = (0..n as i32) + .map(|a| Complex::from_polar(1.0, -2.0 * PI * 1.0 * (a as f64) / (n as f64))) + .collect(); + // Now try to evolve this k=1 state under the WRONG momentum (k=2). + let wrong_k = vec![2_i32]; + let protected: Vec = Vec::new(); + let res = spec.pc_step_complex( + &mut basis, + &mut coeffs, + 0.01, + 1.0, + 0.0, + &protected, + ExpmOpts::default(), + None, + Some(&group), + Some(&wrong_k), + ); + assert!(res.is_err(), "wrong-sector input should be rejected"); + } + + /// Complex pc_step at momentum k=0 (and no symmetry merging) must + /// reproduce the real pc_step on the same trajectory exactly. + #[test] + fn pc_step_complex_matches_real_at_kzero_no_merge() { + let n = 4usize; + let dt = 0.01f64; + let n_steps = 5usize; + let mut h_terms: Vec<(String, f64)> = Vec::new(); + for j in 0..n { + let nxt = (j + 1) % n; + for op in ["X", "Y"] { + let mut s = vec!['I'; n]; + s[j] = op.chars().next().unwrap(); + s[nxt] = op.chars().next().unwrap(); + h_terms.push((s.into_iter().collect(), 1.0)); + } + } + let spec = LindbladSpec::new(n, &h_terms, &[]).unwrap(); + + let mut basis_r: Vec = (0..n) + .map(|j| { + let mut s = vec!['I'; n]; + s[j] = 'Z'; + let st: String = s.into_iter().collect(); + let (w, _) = parse_pauli_string(&st, n).unwrap(); + w + }) + .collect(); + let mut coeffs_r: Vec = vec![1.0; n]; + + let mut basis_c = basis_r.clone(); + let mut coeffs_c: Vec> = + coeffs_r.iter().map(|&v| Complex::new(v, 0.0)).collect(); + + let opts = ExpmOpts::default(); + let protected: Vec = Vec::new(); + for _ in 0..n_steps { + let tau_add = 1.0; // very loose — no leakage adds + spec.pc_step( + &mut basis_r, + &mut coeffs_r, + dt, + tau_add, + 0.0, + &protected, + opts, + None, + false, + ) + .unwrap(); + spec.pc_step_complex( + &mut basis_c, + &mut coeffs_c, + dt, + tau_add, + 0.0, + &protected, + opts, + None, + None, // no symmetry merging + None, + ) + .unwrap(); + } + // Match as (word → coeff) maps. + let map_r: FxHashMap = + basis_r.into_iter().zip(coeffs_r).collect(); + let map_c: FxHashMap> = + basis_c.into_iter().zip(coeffs_c).collect(); + assert_eq!( + map_r.len(), + map_c.len(), + "real and complex pc_step produced different basis sizes ({} vs {})", + map_r.len(), + map_c.len() + ); + let mut max_diff = 0.0_f64; + for (w, cr) in &map_r { + let cc = map_c + .get(w) + .copied() + .unwrap_or_else(|| panic!("word {:?} in real but not complex", w)); + assert!(cc.im.abs() < 1e-10, "expected zero imag at k=0, got {cc:?}"); + max_diff = max_diff.max((cr - cc.re).abs()); + } + assert!( + max_diff < 1e-10, + "real vs complex pc_step diverged: max |Δc| = {max_diff:e}" + ); + } + /// Small-system end-to-end check that orbit-rep merging gives the /// same physics as standard evolution, when no truncation is applied. /// diff --git a/crates/ppvm-python-native/src/interface.rs b/crates/ppvm-python-native/src/interface.rs index 2b3a15a4..3b7ea1f5 100644 --- a/crates/ppvm-python-native/src/interface.rs +++ b/crates/ppvm-python-native/src/interface.rs @@ -48,6 +48,39 @@ macro_rules! create_interface_loss_methods { }; } +macro_rules! create_interface_symmetry_methods { + // Skip loss variants: LossyPauliWord canonicalization would need + // simultaneous permutation of the loss bitmap, which we don't + // implement here. + ($name: ident, $type: ident, true) => {}; + ($name: ident, $type: ident, false) => { + #[pymethods] + impl $name { + /// Symmetry-merge this PauliSum in place: replace every + /// Pauli word by its canonical orbit representative under + /// `group`, accumulating coefficients on collision. Reduces + /// entry count by up to `|group|×` for translation-invariant + /// operators. + /// + /// See `ppvm.symmetry.TranslationGroup` for constructors + /// (`chain_1d`, `torus_2d`, `torus_3d`, `ladder`). + /// + /// Plain real-coefficient merge (the `k=0` symmetry sector). + /// Phase-aware merging for non-trivial momentum sectors is + /// not yet implemented. + pub fn symmetry_merge( + &mut self, + group: &crate::symmetry::TranslationGroup, + ) { + ppvm_runtime::symmetry::symmetry_merge_pauli_sum( + &mut self.inner, + group.core(), + ); + } + } + }; +} + macro_rules! create_strategy { (false, $min_abs_coeff:ident, $max_pauli_weight:ident, $_max_loss_weight:ident) => { CombinedStrategy( @@ -338,6 +371,12 @@ macro_rules! create_interface { } } + // `symmetry_merge` only makes sense on non-loss variants — the + // canonicalization permutes qubit positions and the loss + // bitmap would need a parallel permutation that we don't + // attempt here. + create_interface_symmetry_methods!($name, $type, $loss); + create_interface_loss_methods!($name, $type, $loss); }; } diff --git a/crates/ppvm-python-native/src/lib.rs b/crates/ppvm-python-native/src/lib.rs index 3078c760..4cfb297f 100644 --- a/crates/ppvm-python-native/src/lib.rs +++ b/crates/ppvm-python-native/src/lib.rs @@ -167,4 +167,8 @@ pub mod ppvm_python_native { pub use crate::symmetry::TranslationGroup; #[pymodule_export] pub use crate::symmetry::canonicalize_basis_arr; + #[pymodule_export] + pub use crate::symmetry::canonicalize_basis_arr_complex; + #[pymodule_export] + pub use crate::symmetry::check_momentum_sector_arr; } diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index 3eb286af..debd5060 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -13,7 +13,10 @@ use std::collections::HashMap; use num::Complex; -use numpy::{IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, PyReadonlyArray2}; +use numpy::{ + Complex64, IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, + PyReadonlyArray2, +}; use ppvm_lindblad::{ ExpmOpts, JumpInput, LindbladSpec as CoreSpec, Word, codes_from_word, word_from_codes, }; @@ -349,6 +352,116 @@ impl LindbladSpec { Ok((map, d)) } + /// Complex-coefficient predictor-corrector step. + /// + /// Same algorithm as `pc_step` but with complex `coeffs`. Use when + /// tracking a momentum-projected operator (single sector of the + /// translation group). + /// + /// `momentum`, when provided alongside `group`, triggers a + /// pre-step sector check: the input `(basis, coeffs)` must already + /// be a momentum-`momentum` eigenstate under `group`, otherwise an + /// error is raised and no evolution is performed. `momentum` is a + /// length-`group.n_generators` array of integer mode indices. + /// + /// Symmetry merging is NOT applied automatically here — call + /// `canonicalize_basis_arr_complex(basis, coeffs, group, momentum)` + /// at snapshot points to project to orbit-rep form. + #[pyo3(signature = ( + basis, coeffs, dt, tau_add, + drop_tol = 0.0, + protected = None, + expm_tol = 1e-12, + parallel_threshold = 50_000, + num_threads = None, + max_krylov_m = None, + group = None, + momentum = None, + ))] + #[allow(clippy::too_many_arguments)] + fn pc_step_complex<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, Complex64>, + dt: f64, + tau_add: f64, + drop_tol: f64, + protected: Option>, + expm_tol: f64, + parallel_threshold: usize, + num_threads: Option, + max_krylov_m: Option, + group: Option<&crate::symmetry::TranslationGroup>, + momentum: Option>, + ) -> PyResult<(Bound<'py, PyArray2>, Bound<'py, PyArray1>)> { + use num::Complex; + let n_q = self.inner.n_qubits(); + let basis_view = basis.as_array(); + let mut basis_words = decode_basis(&basis_view, n_q)?; + assert_basis_unique(&basis_words)?; + let coeffs_slice = coeffs.as_slice()?; + if coeffs_slice.len() != basis_words.len() { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {} rows", + coeffs_slice.len(), + basis_words.len() + ))); + } + let mut coeffs_vec: Vec> = coeffs_slice + .iter() + .map(|c| Complex::new(c.re, c.im)) + .collect(); + let protected_words: Vec = if let Some(ref p) = protected { + decode_basis(&p.as_array(), n_q)? + } else { + Vec::new() + }; + let opts = ExpmOpts { + tol: expm_tol, + parallel_threshold, + max_krylov_m, + }; + let momentum_vec = momentum.as_ref().map(|m| m.as_slice().map(|s| s.to_vec())); + let momentum_owned = match momentum_vec { + Some(Ok(v)) => Some(v), + Some(Err(e)) => return Err(PyErr::from(e)), + None => None, + }; + let sym_core = group.map(|g| g.core()); + + self.inner + .pc_step_complex( + &mut basis_words, + &mut coeffs_vec, + dt, + tau_add, + drop_tol, + &protected_words, + opts, + num_threads, + sym_core, + momentum_owned.as_deref(), + ) + .map_err(map_err)?; + + // Pack output. + let m = basis_words.len(); + let mut out_basis = vec![0u8; m * n_q]; + for (i, w) in basis_words.iter().enumerate() { + codes_from_word(w, &mut out_basis[i * n_q..(i + 1) * n_q]); + } + let out_coeffs: Vec = coeffs_vec + .iter() + .map(|c| Complex64::new(c.re, c.im)) + .collect(); + let basis_arr = out_basis + .into_pyarray(py) + .reshape([m, n_q]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, out_coeffs.into_pyarray(py))) + } + /// One classical RK4 step on the adjoint Lindbladian. Matrix-free: no /// CSR, no Krylov, no predictor-corrector enrichment. Four action /// evaluations per step, basis grows naturally, magnitude-prune at end. diff --git a/crates/ppvm-python-native/src/symmetry.rs b/crates/ppvm-python-native/src/symmetry.rs index 0e810bbe..b63ccd16 100644 --- a/crates/ppvm-python-native/src/symmetry.rs +++ b/crates/ppvm-python-native/src/symmetry.rs @@ -10,12 +10,30 @@ //! `(basis_arr, coeffs)` representation used by `Lindbladian.pc_step_arr` //! / `rk4_step_arr` and merges in place. -use numpy::{IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, PyReadonlyArray2}; -use ppvm_lindblad::{Word, word_from_codes, codes_from_word}; +use num::Complex; +use numpy::{ + Complex64, IntoPyArray, PyArray1, PyArray2, PyArrayMethods, PyReadonlyArray1, + PyReadonlyArray2, +}; +use ppvm_lindblad::{Word, codes_from_word, word_from_codes}; use ppvm_runtime::symmetry as core_sym; use pyo3::{exceptions::PyValueError, prelude::*}; type PyPauliMap<'py> = (Bound<'py, PyArray2>, Bound<'py, PyArray1>); +type PyPauliMapComplex<'py> = (Bound<'py, PyArray2>, Bound<'py, PyArray1>); + +fn decode_basis_words(view: &numpy::ndarray::ArrayView2, n_q: usize) -> PyResult> { + let n = view.shape()[0]; + let mut out = Vec::with_capacity(n); + for i in 0..n { + let row = view.row(i); + let row_slice = row.as_slice().ok_or_else(|| { + PyValueError::new_err("basis rows are not contiguous; pass a C-order array") + })?; + out.push(word_from_codes(row_slice).map_err(|e| PyValueError::new_err(e.to_string()))?); + } + Ok(out) +} /// A finite abelian symmetry group acting on qubit positions by /// permutations. Use this to merge translation-equivalent Pauli strings @@ -35,7 +53,16 @@ type PyPauliMap<'py> = (Bound<'py, PyArray2>, Bound<'py, PyArray1>); /// arbitrary list of generator permutations + cyclic orders. #[pyclass(frozen)] pub struct TranslationGroup { - inner: core_sym::TranslationGroup, + pub(crate) inner: core_sym::TranslationGroup, +} + +impl TranslationGroup { + /// Accessor for the underlying [`ppvm_runtime::symmetry::TranslationGroup`]. + /// Used by other crate-internal modules (e.g. the PauliSum interface + /// macro) to call into the core merging API. + pub fn core(&self) -> &core_sym::TranslationGroup { + &self.inner + } } #[pymethods] @@ -151,6 +178,113 @@ impl TranslationGroup { } } +/// Phase-aware merge of a complex-coefficient `(basis_arr, coeffs)` +/// Pauli sum into orbit-rep form, projected onto momentum sector +/// `momentum`. +/// +/// `momentum` is a length-`group.n_generators` integer array of mode +/// indices; the wavenumber along generator `g` is +/// `2π · momentum[g] / group.generator_order(g)`. Use `momentum=[0, …]` +/// for the trivial (k=0) sector — equivalent to plain merging modulo +/// the 1/|G| normalization the complex merge applies. +/// +/// If the input is **not** in sector `momentum`, the projection +/// silently throws away the other components. Use +/// [`check_momentum_sector_arr`] beforehand to validate. +#[pyfunction] +pub fn canonicalize_basis_arr_complex<'py>( + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, Complex64>, + group: &TranslationGroup, + momentum: PyReadonlyArray1<'py, i32>, +) -> PyResult> { + let basis_view = basis.as_array(); + let n_q = group.inner.n_qubits(); + if basis_view.shape().get(1).copied() != Some(n_q) { + return Err(PyValueError::new_err(format!( + "basis has {} qubits per row but group acts on {n_q}", + basis_view.shape().get(1).copied().unwrap_or(0) + ))); + } + let n = basis_view.shape()[0]; + let coeffs_slice = coeffs.as_slice()?; + if coeffs_slice.len() != n { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {} rows", + coeffs_slice.len(), + n + ))); + } + let k_slice = momentum.as_slice()?; + if k_slice.len() != group.inner.n_generators() { + return Err(PyValueError::new_err(format!( + "momentum has {} entries but group has {} generators", + k_slice.len(), + group.inner.n_generators() + ))); + } + let mut basis_words = decode_basis_words(&basis_view, n_q)?; + let mut coeffs_vec: Vec> = coeffs_slice + .iter() + .map(|c| Complex::new(c.re, c.im)) + .collect(); + + core_sym::canonicalize_pauli_sum_complex( + &mut basis_words, + &mut coeffs_vec, + &group.inner, + k_slice, + ); + + let m = basis_words.len(); + let mut out_basis = vec![0u8; m * n_q]; + for (i, w) in basis_words.iter().enumerate() { + codes_from_word(w, &mut out_basis[i * n_q..(i + 1) * n_q]); + } + let out_coeffs: Vec = + coeffs_vec.iter().map(|c| Complex64::new(c.re, c.im)).collect(); + let basis_arr = out_basis + .into_pyarray(py) + .reshape([m, n_q]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, out_coeffs.into_pyarray(py))) +} + +/// Verify that a `(basis_arr, complex_coeffs)` Pauli sum lies in the +/// momentum sector `momentum` under `group`. Returns `None` on pass, +/// raises a `ValueError` with diagnostic info on fail. +/// +/// `tol` is the relative tolerance on coefficient comparison; default +/// `1e-8`. +#[pyfunction] +#[pyo3(signature = (basis, coeffs, group, momentum, tol = 1e-8))] +pub fn check_momentum_sector_arr<'py>( + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, Complex64>, + group: &TranslationGroup, + momentum: PyReadonlyArray1<'py, i32>, + tol: f64, +) -> PyResult<()> { + let basis_view = basis.as_array(); + let n_q = group.inner.n_qubits(); + if basis_view.shape().get(1).copied() != Some(n_q) { + return Err(PyValueError::new_err(format!( + "basis has {} qubits per row but group acts on {n_q}", + basis_view.shape().get(1).copied().unwrap_or(0) + ))); + } + let coeffs_slice = coeffs.as_slice()?; + let k_slice = momentum.as_slice()?; + let basis_words = decode_basis_words(&basis_view, n_q)?; + let coeffs_vec: Vec> = coeffs_slice + .iter() + .map(|c| Complex::new(c.re, c.im)) + .collect(); + core_sym::check_momentum_sector(&basis_words, &coeffs_vec, &group.inner, k_slice, tol) + .map_err(|e| PyValueError::new_err(format!("{e}"))) +} + /// Merge a `(basis_arr, coeffs)` Pauli sum (the representation used by /// `Lindbladian.pc_step_arr` / `rk4_step_arr`) into orbit-representative /// form. Each row of `basis_arr` is replaced by its canonical diff --git a/crates/ppvm-runtime/src/symmetry.rs b/crates/ppvm-runtime/src/symmetry.rs index a391d129..6e94c331 100644 --- a/crates/ppvm-runtime/src/symmetry.rs +++ b/crates/ppvm-runtime/src/symmetry.rs @@ -52,6 +52,8 @@ use crate::sum::PauliSum; use crate::traits::{PauliStorage, PauliWordTrait}; use crate::word::PauliWord; use fxhash::FxHashMap; +use num::Complex; +use std::f64::consts::PI; use std::hash::BuildHasher; /// A finite abelian symmetry group acting on qubit positions by @@ -313,6 +315,81 @@ impl TranslationGroup { best } + /// Lex-min canonical representative `r` of `w` together with the + /// **mixed-radix counter** `c = (c_0, c_1, …)` of the group element + /// `g` such that `g·r = w`. + /// + /// In other words: if `r = self.canonicalize(w)`, this returns + /// `(r, c)` where applying generator `i` exactly `c[i]` times in + /// sequence to `r` produces `w`. The counter is used to compute + /// momentum phases by the phase-aware merge routines. + /// + /// Same `O(|G| × n_qubits)` cost as `canonicalize`. + pub fn canonicalize_with_shift( + &self, + w: &PauliWord, + ) -> (PauliWord, Vec) + where + A: PauliStorage, + S: BuildHasher + Clone + Default, + { + debug_assert_eq!(w.n_qubits(), self.n_qubits); + if self.perms.is_empty() { + return (w.clone(), Vec::new()); + } + let mut best = w.clone(); + let mut best_counter: Vec = vec![0; self.perms.len()]; + let order = self.order(); + for idx in 0..order { + // Decode `idx` to mixed-radix counter. + let mut rem = idx; + let mut counter: Vec = Vec::with_capacity(self.perms.len()); + for &o in &self.orders { + counter.push((rem as u32) % o); + rem /= o as usize; + } + // Build the candidate by applying generator `g` exactly + // `counter[g]` times. + let mut cur = w.clone(); + for (g, &c) in counter.iter().enumerate() { + for _ in 0..c { + cur = self.apply_generator(&cur, g); + } + } + if cur < best { + best = cur; + // We need the counter such that g·best = w. The loop + // above computed cur = g·w with counter, so w = g^{-1}·cur. + // For abelian cyclic groups, g^{-1} = g^{order-1}, i.e. + // the counter `(orders[g] - counter[g]) mod orders[g]`. + best_counter = counter + .iter() + .zip(self.orders.iter()) + .map(|(&c, &o)| (o - c) % o) + .collect(); + } + } + (best, best_counter) + } + + /// Momentum-sector character `χ_k(g) = exp(i Σ_g 2π · k[g] · counter[g] / orders[g])` + /// where `k[g] ∈ ℤ` is the integer momentum mode along generator `g` + /// (the corresponding wavenumber is `2π · k[g] / orders[g]`). + /// + /// `k.len()` must equal `self.n_generators()`. The character of the + /// identity element (`counter = [0, …]`) is `1`. For the trivial + /// (`k = [0, …]`) sector all characters are `1` — phase-aware merging + /// reduces to plain merging. + pub fn character(&self, k_modes: &[i32], counter: &[u32]) -> Complex { + debug_assert_eq!(k_modes.len(), self.perms.len()); + debug_assert_eq!(counter.len(), self.perms.len()); + let mut phase = 0.0_f64; + for ((&k, &c), &o) in k_modes.iter().zip(counter.iter()).zip(self.orders.iter()) { + phase += 2.0 * PI * (k as f64) * (c as f64) / (o as f64); + } + Complex::from_polar(1.0, phase) + } + /// Iterate over all group elements applied to `w`. Yields `|G|` /// Pauli words (including `w` itself for the identity element). pub fn orbit<'a, A, S, const R: bool>( @@ -375,6 +452,155 @@ pub fn canonicalize_pauli_sum( } } +/// Replace `(basis, complex_coeffs)` in-place with the orbit-rep form +/// **projected onto momentum sector `k_modes`**. +/// +/// Each Pauli `p` is replaced by its canonical rep `r`; the contribution +/// is `(1/|G|) · χ_k(g) · c_p` where `g` is the group element such that +/// `g · r = p` and `χ_k(g) = exp(2πi · Σ_g k_modes[g] · counter[g] / orders[g])`. +/// +/// If the input was already a momentum-`k_modes` eigenstate (i.e. the +/// coefficients satisfy `c_{g·p} = χ_k(g)⁻¹ · c_p` for every orbit), +/// the output is the orbit-rep coefficients of that state unchanged. +/// Otherwise the merge discards the components in other sectors — +/// use [`check_momentum_sector`] beforehand to validate. +/// +/// For the `k_modes = [0, 0, …]` (trivial) sector this reduces to plain +/// [`canonicalize_pauli_sum`] (real coefficients work, but on complex +/// input the result is complex with vanishing imaginary part). +pub fn canonicalize_pauli_sum_complex( + basis: &mut Vec>, + coeffs: &mut Vec>, + group: &TranslationGroup, + k_modes: &[i32], +) where + A: PauliStorage, + S: BuildHasher + Clone + Default, +{ + assert_eq!(basis.len(), coeffs.len(), "basis and coeffs length mismatch"); + assert_eq!( + k_modes.len(), + group.n_generators(), + "k_modes length {} != number of generators {}", + k_modes.len(), + group.n_generators() + ); + let inv_g: f64 = 1.0 / (group.order() as f64); + let mut merged: FxHashMap, Complex> = + FxHashMap::with_capacity_and_hasher(basis.len(), Default::default()); + for (w, &c) in basis.iter().zip(coeffs.iter()) { + let (rep, cnt) = group.canonicalize_with_shift(w); + let chi = group.character(k_modes, &cnt); + let contrib = inv_g * chi * c; + *merged.entry(rep).or_insert(Complex::new(0.0, 0.0)) += contrib; + } + basis.clear(); + coeffs.clear(); + basis.reserve(merged.len()); + coeffs.reserve(merged.len()); + for (w, c) in merged { + basis.push(w); + coeffs.push(c); + } +} + +/// Verify that a `(basis, complex_coeffs)` Pauli sum lies entirely in +/// the momentum sector `k_modes` under `group`. +/// +/// Concretely: for every orbit represented in the basis, all members +/// must satisfy `c_{g·r} = χ_k(g)⁻¹ · c_r` for some choice of orbit-rep +/// coefficient `c_r`. +/// +/// Returns `Ok(())` on pass; `Err(SectorCheckError)` on fail with the +/// offending orbit-rep, expected coefficient, and actual coefficient. +/// +/// Use this on a user-supplied initial state before feeding it to a +/// phase-aware merging pipeline — silently projecting a wrongly-typed +/// input throws away meaningful physics. +pub fn check_momentum_sector( + basis: &[PauliWord], + coeffs: &[Complex], + group: &TranslationGroup, + k_modes: &[i32], + tol: f64, +) -> Result<(), SectorCheckError> +where + A: PauliStorage, + S: BuildHasher + Clone + Default, +{ + assert_eq!(basis.len(), coeffs.len()); + assert_eq!(k_modes.len(), group.n_generators()); + + // Group entries by orbit rep, picking the first-seen member as + // reference and checking later members against it. + let mut reference: FxHashMap, (Complex, Vec)> = + FxHashMap::default(); + for (p, &c) in basis.iter().zip(coeffs.iter()) { + let (rep, cnt) = group.canonicalize_with_shift(p); + let chi = group.character(k_modes, &cnt); + // expected c_p given the rep coefficient c_r: + // c_p = χ_k(g)⁻¹ · c_r, where p = g·r + // equivalently, c_r = χ_k(g) · c_p (a rearrangement). + let implied_rep_coeff = chi * c; + if let Some((rep_coeff, _ref_cnt)) = reference.get(&rep) { + if (implied_rep_coeff - rep_coeff).norm() > tol * rep_coeff.norm().max(1.0) { + return Err(SectorCheckError { + rep: rep.clone(), + expected: *rep_coeff, + got_implied: implied_rep_coeff, + offending_pauli: p.clone(), + offending_coeff: c, + shift: cnt.clone(), + }); + } + } else { + reference.insert(rep, (implied_rep_coeff, cnt)); + } + } + Ok(()) +} + +/// Detail report for a failed [`check_momentum_sector`]. +pub struct SectorCheckError { + /// Canonical orbit representative for which the check failed. + pub rep: PauliWord, + /// Coefficient that the *first* basis entry implied for `rep`. + pub expected: Complex, + /// Coefficient that `offending_pauli` implies for `rep` under the + /// purported momentum sector. + pub got_implied: Complex, + /// The basis entry whose coefficient is inconsistent with the + /// expected `rep` value. + pub offending_pauli: PauliWord, + /// Original coefficient of `offending_pauli` in the input basis. + pub offending_coeff: Complex, + /// Counter encoding the group element `g` such that + /// `g · rep == offending_pauli`. + pub shift: Vec, +} + +impl std::fmt::Debug for SectorCheckError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "SectorCheckError {{ rep: , expected: {:?}, got_implied: {:?}, \ + offending: , offending_coeff: {:?}, shift: {:?} }}", + self.expected, self.got_implied, self.offending_coeff, self.shift, + ) + } +} + +impl std::fmt::Display for SectorCheckError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "input not in target momentum sector: orbit rep expected c={:?}, but \ + orbit member (shift {:?}, coeff {:?}) implies c={:?}", + self.expected, self.shift, self.offending_coeff, self.got_implied, + ) + } +} + /// Symmetry-merge a [`PauliSum`] in place: each Pauli word becomes its /// canonical orbit representative, and entries collapsing to the same /// rep accumulate coefficients. @@ -507,6 +733,132 @@ mod tests { assert!((cs[1] - 4.0).abs() < 1e-12); } + #[test] + fn canonicalize_with_shift_round_trip() { + // For each cyclic shift of "IIXY" by `a` positions, the shift + // counter returned should reproduce the original word when + // applied to the canonical rep. + let g = TranslationGroup::chain_1d(4); + for src in ["IIXY", "IXYI", "XYII", "YIIX"] { + let w = word(src); + let (rep, cnt) = g.canonicalize_with_shift(&w); + // Apply gen 0 `cnt[0]` times to rep, should equal w. + let mut cur = rep; + for _ in 0..cnt[0] { + cur = g.apply_generator(&cur, 0); + } + assert_eq!(cur, w, "shift {cnt:?} doesn't reproduce {src}"); + } + } + + #[test] + fn character_trivial_sector_is_one() { + let g = TranslationGroup::chain_1d(4); + // k=0 mode → character is always 1. + for cnt in [vec![0u32], vec![1u32], vec![2u32], vec![3u32]] { + let chi = g.character(&[0], &cnt); + assert!((chi - Complex::new(1.0, 0.0)).norm() < 1e-12); + } + } + + #[test] + fn character_obeys_unit_modulus() { + let g = TranslationGroup::chain_1d(4); + for k in 0..4 { + for a in 0..4 { + let chi = g.character(&[k], &[a as u32]); + assert!( + (chi.norm() - 1.0).abs() < 1e-12, + "|χ_{k}(T^{a})| should be 1, got {}", + chi.norm() + ); + } + } + } + + #[test] + fn momentum_zero_complex_merge_matches_real_merge() { + // k=0 sector: complex merge with all-real input should give + // real-valued orbit-rep coefficients equal to the plain + // canonicalize_pauli_sum result. + let g = TranslationGroup::chain_1d(4); + let mut basis: Vec = vec![word("XIII"), word("IXII"), word("IIXI"), word("IIIX")]; + let real_coeffs = vec![1.0, 2.0, 3.0, 4.0]; + + let mut basis_real = basis.clone(); + let mut coeffs_real = real_coeffs.clone(); + canonicalize_pauli_sum(&mut basis_real, &mut coeffs_real, &g); + + let mut basis_c = basis.clone(); + let mut coeffs_c: Vec> = + real_coeffs.iter().map(|&v| Complex::new(v, 0.0)).collect(); + canonicalize_pauli_sum_complex(&mut basis_c, &mut coeffs_c, &g, &[0]); + + // Plain merge sums all coefficients onto the single orbit-rep: + // 1+2+3+4 = 10. Complex merge does the same with a 1/|G| + // prefactor, so we expect 10/4 = 2.5 on the rep. + assert_eq!(basis_real.len(), 1); + assert_eq!(basis_c.len(), 1); + assert!((coeffs_real[0] - 10.0).abs() < 1e-12); + assert!((coeffs_c[0].re - 2.5).abs() < 1e-12); + assert!(coeffs_c[0].im.abs() < 1e-12); + } + + #[test] + fn momentum_eigenstate_check_passes() { + // O = Σ_j e^{ikj} Z_j for k = 2π/4 (mode 1) is a momentum-k + // eigenstate. check_momentum_sector should accept. + let g = TranslationGroup::chain_1d(4); + let basis: Vec = vec![word("ZIII"), word("IZII"), word("IIZI"), word("IIIZ")]; + let k_mode: i32 = 1; + // Sector condition: c_{T^a p} = e^{-2πi k a / N} c_p. + // Picking c_{Z_0} = 1: c_{Z_a} = e^{-2πi · 1 · a / 4} = (-i)^a. + let coeffs: Vec> = (0..4_i32) + .map(|a| Complex::from_polar(1.0, -2.0 * PI * (k_mode as f64) * (a as f64) / 4.0)) + .collect(); + let res = check_momentum_sector(&basis, &coeffs, &g, &[k_mode], 1e-10); + assert!(res.is_ok(), "valid k-eigenstate failed sector check: {res:?}"); + } + + #[test] + fn momentum_eigenstate_check_fails_for_wrong_sector() { + // Same eigenstate as above, but check against the wrong momentum. + let g = TranslationGroup::chain_1d(4); + let basis: Vec = vec![word("ZIII"), word("IZII"), word("IIZI"), word("IIIZ")]; + let coeffs: Vec> = (0..4_i32) + .map(|a| Complex::from_polar(1.0, -2.0 * PI * 1.0 * (a as f64) / 4.0)) + .collect(); + // Check against k=0 (constant) — should fail. + let res = check_momentum_sector(&basis, &coeffs, &g, &[0], 1e-10); + assert!( + res.is_err(), + "k=1 eigenstate wrongly passed as k=0 sector" + ); + } + + #[test] + fn momentum_eigenstate_round_trip_merge_preserves_rep_coeff() { + // Merge a k=1 eigenstate; the orbit-rep coefficient should be + // unchanged (= 1.0 for our chosen normalization, picking + // c_{Z_0} = 1). + let g = TranslationGroup::chain_1d(4); + let mut basis: Vec = vec![word("ZIII"), word("IZII"), word("IIZI"), word("IIIZ")]; + let mut coeffs: Vec> = (0..4_i32) + .map(|a| Complex::from_polar(1.0, -2.0 * PI * 1.0 * (a as f64) / 4.0)) + .collect(); + canonicalize_pauli_sum_complex(&mut basis, &mut coeffs, &g, &[1]); + assert_eq!(basis.len(), 1); + // The canonical rep of single-Z orbit is Z_0 (lex-min of + // {ZIII, IZII, IIZI, IIIZ} is IIIZ since 'I' < 'Z' lex-wise on + // the (xbits, zbits) tuple; let's just check we got a single + // entry with norm 1. + assert!( + (coeffs[0].norm() - 1.0).abs() < 1e-10, + "expected |c_rep|=1, got {}", + coeffs[0].norm() + ); + } + /// Trotter-mode end-to-end check that `PauliSum::symmetry_merge` /// matches plain Trotter evolution post-canonicalized. /// diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index ffdd94cf..81ea8f07 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -300,6 +300,59 @@ def pc_step_arr( None if max_krylov_m is None else int(max_krylov_m), ) + def pc_step_complex( + self, + basis_arr: np.ndarray, + coeffs: np.ndarray, + dt: float, + tau_add: float, + drop_tol: float = 0.0, + protected_arr: np.ndarray | None = None, + expm_tol: float = 1e-12, + parallel_threshold: int = 50_000, + num_threads: int | None = None, + max_krylov_m: int | None = None, + group=None, + momentum: np.ndarray | None = None, + ) -> tuple[np.ndarray, np.ndarray]: + """Complex-coefficient predictor-corrector step. + + Same algorithm as :meth:`pc_step_arr` but with complex + ``coeffs``. Use when tracking a momentum-projected operator + (a single sector of the translation group). Matrix elements of + ``L*`` remain real (Hermiticity-preserving); the SpMV and + scaling-and-squaring all happen on complex vectors. + + When ``group`` and ``momentum`` are both provided, a pre-step + sector check ensures the input ``(basis, coeffs)`` is a + momentum-``momentum`` eigenstate under ``group``. ``momentum`` + is an integer array of length ``group.n_generators``. + + **Symmetry merging is NOT applied automatically inside the + step** — per-step orbit-rep evolution would require phase-aware + action / complex CSR (a follow-up). Use + ``canonicalize_basis_arr_complex(basis, coeffs, group, momentum)`` + from ``ppvm_python_native`` at snapshot points to project to + orbit-rep form. + """ + n = self.n_qubits + if protected_arr is None: + protected_arr = np.zeros((0, n), dtype=np.uint8) + return self._spec.pc_step_complex( + np.ascontiguousarray(basis_arr, dtype=np.uint8), + np.ascontiguousarray(coeffs, dtype=np.complex128), + float(dt), + float(tau_add), + float(drop_tol), + np.ascontiguousarray(protected_arr, dtype=np.uint8), + float(expm_tol), + int(parallel_threshold), + None if num_threads is None else int(num_threads), + None if max_krylov_m is None else int(max_krylov_m), + group, + None if momentum is None else np.ascontiguousarray(momentum, dtype=np.int32), + ) + def rk4_step_arr( self, basis_arr: np.ndarray, diff --git a/ppvm-python/src/ppvm/paulisum.py b/ppvm-python/src/ppvm/paulisum.py index 849d611f..bc289c5d 100644 --- a/ppvm-python/src/ppvm/paulisum.py +++ b/ppvm-python/src/ppvm/paulisum.py @@ -382,6 +382,27 @@ def trace(self, pattern: str) -> float: """ return self._interface.trace(pattern) + def symmetry_merge(self, group) -> None: + """Merge entries into orbit-representative form under a translation group. + + Each Pauli word in the sum is replaced by its canonical (lex-min) + representative under the action of ``group``; coefficients of words + that collapse to the same representative are summed. Entry count + reduces by up to ``|group|×`` for translation-invariant operators. + + For a translation-invariant dynamics that you apply between + merging steps, this preserves all ``group``-invariant expectation + values (Theorem 1 of Teng et al., arXiv:2512.12094). Plain + real-coefficient merge — handles the trivial (``k=0``) momentum + sector only. + + Args: + group: A :class:`ppvm_python_native.TranslationGroup` + (use ``TranslationGroup.chain_1d(n)``, ``.torus_2d``, + ``.torus_3d``, ``.ladder``, or ``.from_generators``). + """ + self._interface.symmetry_merge(group) + def amplitude_damping(self, addr0: int, gamma: float, *, truncate: bool = True): """Apply an amplitude-damping channel. From 8c1bc1beec34326d309f59eb9ddf4cd16bb87b07 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 11 Jun 2026 08:39:00 +0100 Subject: [PATCH 015/159] feat(symmetry): per-step orbit-rep evolution with complex CSR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit State lives entirely in orbit-representative form throughout pc_step. Phase-aware action: each output Pauli q of L*(r) canonicalizes to its orbit rep r_q with shift counter cnt_q, contributing χ_k(g_{cnt_q}) * v to the orbit-rep matrix element [M]_{r_q, r}. The CSR becomes complex (matrix elements carry the χ_k(g) phase). Adds: - expm.rs: CsrCx (complex CSR), csr_cx_one_norm, spmv_cx_{serial,parallel}, spmv_cx, expm_multiply_cx (Al-Mohy & Higham on complex matrix + complex vector). - new orbit_rep.rs module: - canonicalize_basis_to_rep: rewrite each basis word to its canonical orbit rep (enforces the orbit-rep invariant). - generator_csr_orbit_rep: build complex CSR with phase-aware matrix elements; deduplicates and sorts per row. - leakage_orbit_rep: phase-aware leakage producing orbit reps with momentum-character weighted complex contributions. - pc_step_orbit_rep: full predictor-corrector with phase-aware action + complex CSR throughout. drop_tol applied on |c|. Python bindings: - LindbladSpec.pc_step_orbit_rep (with `canonicalize_first` kwarg). - Forwarded through Lindbladian.pc_step_orbit_rep in ppvm-python. Tests: - pc_step_orbit_rep_matches_full_basis_projection: n=4 XY chain k=1, 3 steps. Orbit-rep matches full-basis-projected to 1e-9. End-to-end Python demo (test_orbit_rep_pyend.py): n=8 1D XY chain k=2 eigenstate, 5 pc steps. - Full-basis: peak basis 72 entries. - Orbit-rep: peak basis 9 entries (8× reduction = n). - Final state agreement: max |Δc| = 2.22e-16 (FP noise). This delivers the full memory benefit the symmetry-merging paper promises: per-step basis size reduced by |G|×, throughout every step, with the trajectory bit-identical to the reference projection. --- crates/ppvm-lindblad/src/expm.rs | 108 ++++++++ crates/ppvm-lindblad/src/lib.rs | 99 ++++++- crates/ppvm-lindblad/src/orbit_rep.rs | 313 ++++++++++++++++++++++ crates/ppvm-python-native/src/lindblad.rs | 111 ++++++++ ppvm-python/src/ppvm/lindblad.py | 45 ++++ 5 files changed, 674 insertions(+), 2 deletions(-) create mode 100644 crates/ppvm-lindblad/src/orbit_rep.rs diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index f83cd835..fe50688e 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -25,6 +25,11 @@ use sprs::CsMatI; /// `usize` indptr accommodates `nnz > 2^32` even when individual indices fit. pub type Csr = CsMatI; +/// Complex-coefficient CSR matrix. Used by the orbit-rep evolution +/// path, where matrix elements pick up `χ_k(g)` phases from the +/// translation generator and become complex. +pub type CsrCx = CsMatI, u32, usize>; + /// `θ_m` table from Al-Mohy & Higham (2011), Table A.3, for double /// precision (unit roundoff `u = 2^{-53}`). /// @@ -270,6 +275,109 @@ pub fn expm_multiply(a: &Csr, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { f } +/// Matrix 1-norm `max_j Σ_i |A_{ij}|` for a complex CSR. +pub fn csr_cx_one_norm(m: &CsrCx) -> f64 { + if m.cols() == 0 { + return 0.0; + } + let mut col_sums = vec![0f64; m.cols()]; + for (k, &col) in m.indices().iter().enumerate() { + col_sums[col as usize] += m.data()[k].norm(); + } + col_sums.into_iter().fold(0f64, f64::max) +} + +/// `y ← A · x` for a complex CSR + complex vector. Serial. +pub fn spmv_cx_serial(m: &CsrCx, x: &[Complex], y: &mut [Complex]) { + debug_assert_eq!(x.len(), m.cols()); + debug_assert_eq!(y.len(), m.rows()); + let indptr_raw = m.indptr(); + let indptr = indptr_raw.raw_storage(); + let indices = m.indices(); + let data = m.data(); + for (i, yi) in y.iter_mut().enumerate() { + let mut sum = Complex::new(0.0, 0.0); + for k in indptr[i]..indptr[i + 1] { + sum += data[k] * x[indices[k] as usize]; + } + *yi = sum; + } +} + +/// `y ← A · x` for a complex CSR + complex vector. Rayon-parallel over rows. +pub fn spmv_cx_parallel(m: &CsrCx, x: &[Complex], y: &mut [Complex]) { + debug_assert_eq!(x.len(), m.cols()); + debug_assert_eq!(y.len(), m.rows()); + let indptr_raw = m.indptr(); + let indptr = indptr_raw.raw_storage(); + let indices = m.indices(); + let data = m.data(); + y.par_iter_mut().enumerate().for_each(|(i, yi)| { + let mut sum = Complex::new(0.0, 0.0); + for k in indptr[i]..indptr[i + 1] { + sum += data[k] * x[indices[k] as usize]; + } + *yi = sum; + }); +} + +#[inline] +pub fn spmv_cx(m: &CsrCx, x: &[Complex], y: &mut [Complex], parallel_threshold: usize) { + if m.nnz() >= parallel_threshold { + spmv_cx_parallel(m, x, y); + } else { + spmv_cx_serial(m, x, y); + } +} + +/// Compute `exp(t · A) · b` for a **complex** CSR matrix `A` and +/// complex vector `b`. Same Al-Mohy & Higham scaling-and-squaring as +/// [`expm_multiply`]. +pub fn expm_multiply_cx(a: &CsrCx, t: f64, b: &[Complex], opts: ExpmOpts) -> Vec> { + assert_eq!( + a.rows(), + b.len(), + "matrix size {} mismatches vector length {}", + a.rows(), + b.len() + ); + let n = a.rows(); + if n == 0 { + return Vec::new(); + } + + let t_a_one_norm = t.abs() * csr_cx_one_norm(a); + let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); + let scale = t / s as f64; + + let mut f = b.to_vec(); + let mut bk = b.to_vec(); + let mut work = vec![Complex::new(0.0, 0.0); n]; + + for _ in 0..s { + let mut c1 = inf_norm_c(&bk); + for i in 1..=m_star { + spmv_cx(a, &bk, &mut work, opts.parallel_threshold); + let factor = scale / i as f64; + for j in 0..n { + bk[j] = work[j] * factor; + } + for j in 0..n { + f[j] += bk[j]; + } + let c2 = inf_norm_c(&bk); + let f_norm = inf_norm_c(&f).max(f64::MIN_POSITIVE); + if c1 + c2 <= opts.tol * f_norm { + break; + } + c1 = c2; + } + bk.copy_from_slice(&f); + } + + f +} + /// Complex-coefficient SpMV: `y ← A · x` where `A` is real-valued (CSR /// of `f64`) and `x`, `y` are complex. /// diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 62dcaf63..5ab7b907 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -42,7 +42,11 @@ use std::fmt; use std::time::Instant; pub mod expm; -pub use expm::{Csr, ExpmOpts, csr_from_triplets, csr_one_norm, expm_multiply, spmv_parallel}; +pub use expm::{Csr, CsrCx, ExpmOpts, csr_from_triplets, csr_one_norm, expm_multiply, spmv_parallel}; + +/// Per-step orbit-rep evolution under translation symmetry — phase-aware +/// action + complex CSR throughout. See module docs. +pub mod orbit_rep; /// Words pack up to 128 qubits. const W_U64: usize = 2; @@ -1638,7 +1642,7 @@ impl LindbladSpec { /// Compute the unscaled list of `(output, coefficient)` pairs that /// `L*(p)` contributes (without the input coefficient). - fn compute_action_terms( + pub(crate) fn compute_action_terms( &self, p: &Word, scratch_support: &mut Vec, @@ -1893,6 +1897,97 @@ mod tests { assert_eq!(out.as_slice(), &codes); } + /// Per-step orbit-rep evolution gives the SAME final orbit-rep + /// state as full-basis complex evolution followed by a single + /// projection at the end. Validates that the phase-aware action + /// + complex CSR machinery is consistent with the full-basis + /// reference. + #[test] + fn pc_step_orbit_rep_matches_full_basis_projection() { + use std::f64::consts::PI; + use ppvm_runtime::symmetry::canonicalize_pauli_sum_complex; + let n = 4usize; + let dt = 0.01f64; + let n_steps = 3usize; + let mut h_terms: Vec<(String, f64)> = Vec::new(); + for j in 0..n { + let nxt = (j + 1) % n; + for op in ["X", "Y"] { + let mut s = vec!['I'; n]; + s[j] = op.chars().next().unwrap(); + s[nxt] = op.chars().next().unwrap(); + h_terms.push((s.into_iter().collect(), 1.0)); + } + } + let spec = LindbladSpec::new(n, &h_terms, &[]).unwrap(); + let group = ppvm_runtime::symmetry::TranslationGroup::chain_1d(n); + let k_mode: i32 = 1; + let k = vec![k_mode]; + + // Build the k=1 eigenstate in FULL basis form. + let basis_full: Vec = (0..n) + .map(|j| { + let mut s = vec!['I'; n]; + s[j] = 'Z'; + let (w, _) = parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); + w + }) + .collect(); + let coeffs_full: Vec> = (0..n as i32) + .map(|a| Complex::from_polar(1.0, -2.0 * PI * (k_mode as f64) * (a as f64) / (n as f64))) + .collect(); + + // ----- Full-basis path ----- + let mut bf = basis_full.clone(); + let mut cf = coeffs_full.clone(); + let opts = ExpmOpts::default(); + let protected: Vec = Vec::new(); + for _ in 0..n_steps { + spec.pc_step_complex( + &mut bf, &mut cf, dt, 1.0, 0.0, &protected, opts, None, None, None, + ) + .unwrap(); + } + // Project at the end. + canonicalize_pauli_sum_complex(&mut bf, &mut cf, &group, &k); + + // ----- Orbit-rep path ----- + // Initial orbit-rep form: project the full-basis input. + let mut br = basis_full.clone(); + let mut cr = coeffs_full.clone(); + canonicalize_pauli_sum_complex(&mut br, &mut cr, &group, &k); + // Evolve in orbit-rep form. + for _ in 0..n_steps { + orbit_rep::pc_step_orbit_rep( + &spec, &mut br, &mut cr, dt, 1.0, 0.0, &protected, opts, &group, &k, + ) + .unwrap(); + } + + // Compare. + let mf: FxHashMap> = bf.into_iter().zip(cf).collect(); + let mr: FxHashMap> = br.into_iter().zip(cr).collect(); + assert_eq!( + mf.len(), + mr.len(), + "orbit-rep ({}) and full-basis-projected ({}) basis sizes differ", + mr.len(), + mf.len() + ); + let mut max_diff = 0.0_f64; + for (w, cm) in &mr { + let cf_val = mf + .get(w) + .copied() + .unwrap_or_else(|| panic!("rep {:?} in orbit-rep but not in full-basis", w)); + max_diff = max_diff.max((cm - cf_val).norm()); + } + assert!( + max_diff < 1e-9, + "orbit-rep diverged from full-basis: max |Δc| = {max_diff:e}" + ); + } + /// `pc_step_complex` correctly preserves the momentum sector of an /// initial k-eigenstate: evolve in full-basis form, project at the /// end, get a consistent orbit-rep representation. diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs new file mode 100644 index 00000000..77fd67c9 --- /dev/null +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -0,0 +1,313 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Per-step orbit-representative evolution under translation symmetry. +//! +//! The state lives entirely in **orbit-rep form** throughout: `basis` +//! contains only canonical translation-orbit representatives, and +//! `coeffs` are complex (one per rep). The dynamics `L*` is computed +//! with **phase-aware action** — for each output Pauli `q`, we +//! canonicalize `q` to its orbit rep `r_q` with shift counter `cnt_q`, +//! and accumulate `χ_k(g_{cnt_q}) · v · c_r` (where `v` is the matrix +//! element of `L*` between input rep `r` and output `q`). +//! +//! This gives the user the per-step memory reduction promised by the +//! symmetry-merging paper: basis is ~|G|× smaller than the full-basis +//! representation, throughout the entire evolution. +//! +//! The CSR matrix that the Krylov-expm machinery operates on has +//! **complex entries** (because of the `χ_k(g)` phase factors), so +//! `expm_multiply_cx` is used instead of the real `expm_multiply`. +//! +//! ## Limitations +//! +//! - Caller is responsible for ensuring the input basis is in orbit-rep +//! form (i.e. each entry is the canonical representative of its +//! translation orbit). Use [`canonicalize_basis_to_rep`] if needed. +//! - The momentum sector `k_modes` is fixed for the duration of one +//! pc_step call. To compute a full site-resolved profile, call +//! `pc_step_orbit_rep` once per momentum mode and inverse-Fourier +//! the results. + +use crate::expm::{CsrCx, ExpmOpts, expm_multiply_cx}; +use crate::{Error, LindbladSpec}; +use fxhash::{FxBuildHasher, FxHashMap}; +use num::Complex; +use ppvm_runtime::symmetry::TranslationGroup; +use rayon::prelude::*; +use sprs::CsMatI; + +// Word type re-exported from lib.rs. +use crate::Word; + +/// Replace each entry of `basis` with its canonical orbit +/// representative under `group`. Pure rewrite; coefficients are +/// untouched. Useful to enforce the orbit-rep invariant before calling +/// [`pc_step_orbit_rep`]. +/// +/// Does NOT deduplicate — if multiple input entries collapse to the +/// same rep, both are kept (caller should run a merge afterwards). +pub fn canonicalize_basis_to_rep(basis: &mut [Word], group: &TranslationGroup) { + for w in basis.iter_mut() { + let canon = group.canonicalize(w); + *w = canon; + } +} + +/// Build the in-basis-restricted complex CSR of the L* generator, +/// **in orbit-rep form** at momentum sector `k_modes`. +/// +/// For each input rep `r` (column index) and each output Pauli `q` of +/// `L*(r) = Σ_q v_q · q`: +/// 1. Canonicalize `q` → `(r_q, cnt_q)`. +/// 2. If `r_q` is in `basis` at row index `i`, add `χ_k(g_{cnt_q}) · v_q` +/// to `M[i, col_r]`. +/// 3. Outputs not in `basis` are silently dropped (they would be +/// handled by [`leakage_orbit_rep`] in the surrounding pc_step). +/// +/// Returns a `(basis.len() × basis.len())` complex CSR. +pub fn generator_csr_orbit_rep( + spec: &LindbladSpec, + basis: &[Word], + group: &TranslationGroup, + k_modes: &[i32], +) -> CsrCx { + let n = basis.len(); + if n == 0 { + return CsMatI::new_from_unsorted((0, 0), vec![0], Vec::new(), Vec::new()) + .map_err(|(_, _, _, e)| e) + .expect("empty CSR"); + } + + // Build a Word → row index map. + let index = build_basis_index(basis); + + // Per-column accumulation: for each rep r, list of (row, phase × v). + let cols: Vec)>> = basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), r| { + let terms = spec.compute_action_terms(r, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (q, v) in terms.iter() { + let (r_q, cnt_q) = group.canonicalize_with_shift(q); + if let Some(&row) = index.get(&r_q) { + let phase = group.character(k_modes, &cnt_q); + out.push((row, phase * (*v as f64))); + } + } + out + }, + ) + .collect(); + + // Build per-row (col, value) lists. Multiple (col, row) entries + // for the same (row, col) cell get summed (sprs's `new_from_unsorted` + // doesn't dedup, and would also choke on unsorted within-row + // indices); we do both up front. + let mut row_data: Vec)>> = vec![Vec::new(); n]; + for (col, col_data) in cols.iter().enumerate() { + for &(row, v) in col_data.iter() { + row_data[row as usize].push((col as u32, v)); + } + } + let mut row_ptr = vec![0usize; n + 1]; + let mut indices: Vec = Vec::new(); + let mut data: Vec> = Vec::new(); + for (i, mut rd) in row_data.into_iter().enumerate() { + // sort by col, then sum duplicates. + rd.sort_by_key(|&(c, _)| c); + let mut last_col: Option = None; + for (c, v) in rd { + if last_col == Some(c) { + let n_so_far = data.len(); + data[n_so_far - 1] += v; + } else { + indices.push(c); + data.push(v); + last_col = Some(c); + } + } + row_ptr[i + 1] = indices.len(); + } + + CsMatI::new((n, n), row_ptr, indices, data) +} + +/// Phase-aware leakage: out-of-basis component of `L*(O_k)` where `O_k` +/// is the operator represented by `basis` (orbit reps) and `coeffs` +/// (complex coefficients in momentum sector `k_modes`). +/// +/// For each input rep `r` with coefficient `c_r`, and each output `q` +/// of `L*(r) = Σ_q v_q · q`: +/// 1. Canonicalize `q` → `(r_q, cnt_q)`. +/// 2. If `r_q` NOT in `basis` and NOT in `protected`: +/// `merged[r_q] += χ_k(g_{cnt_q}) · v_q · c_r`. +/// +/// Returns `(r_q, sum)` pairs for all candidates with nonzero sum. +pub fn leakage_orbit_rep( + spec: &LindbladSpec, + basis: &[Word], + coeffs: &[Complex], + protected: &[Word], + group: &TranslationGroup, + k_modes: &[i32], +) -> Result)>, Error> { + if basis.len() != coeffs.len() { + return Err(Error::LengthMismatch { + what: "basis and coeffs", + a: basis.len(), + b: coeffs.len(), + }); + } + let in_basis: FxHashMap<&Word, ()> = basis.iter().map(|w| (w, ())).collect(); + let protected_set: FxHashMap<&Word, ()> = protected.iter().map(|w| (w, ())).collect(); + + const CHUNK_SIZE: usize = 4096; + let mut merged: FxHashMap> = FxHashMap::default(); + for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { + let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); + let chunk_basis = &basis[chunk_start..chunk_end]; + let chunk_coeffs = &coeffs[chunk_start..chunk_end]; + let local: Vec)>> = chunk_basis + .par_iter() + .zip(chunk_coeffs.par_iter()) + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (r, &c_r)| { + let terms = spec.compute_action_terms(r, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (q, v) in terms.iter() { + let (r_q, cnt_q) = group.canonicalize_with_shift(q); + if !in_basis.contains_key(&r_q) && !protected_set.contains_key(&r_q) { + let phase = group.character(k_modes, &cnt_q); + out.push((r_q, phase * (*v as f64) * c_r)); + } + } + out + }, + ) + .collect(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(Complex::new(0.0, 0.0)) += val; + } + } + } + Ok(merged.into_iter().filter(|(_, c)| c.norm() > 0.0).collect()) +} + +/// Per-step orbit-rep predictor-corrector evolution. +/// +/// All state lives in orbit-rep form throughout. Each pc step does: +/// 1. Phase-aware leakage from `(basis, coeffs)`; append leakage reps +/// with `|c| > tau_add`. +/// 2. Predictor: build complex orbit-rep CSR, run `expm_multiply_cx`. +/// 3. Phase-aware leakage from predicted state; append further reps. +/// 4. Corrector: rebuild CSR (basis grew), `expm_multiply_cx` from +/// pre-step coefficients (with the same trick as `pc_step_inner`). +/// 5. Prune `|c| < drop_tol`, protected reps never dropped. +/// +/// `basis` is assumed to contain only canonical orbit representatives. +/// If not, [`canonicalize_basis_to_rep`] should be called first. +#[allow(clippy::too_many_arguments)] +pub fn pc_step_orbit_rep( + spec: &LindbladSpec, + basis: &mut Vec, + coeffs: &mut Vec>, + dt: f64, + tau_add: f64, + drop_tol: f64, + protected: &[Word], + opts: ExpmOpts, + group: &TranslationGroup, + k_modes: &[i32], +) -> Result<(), Error> { + // 1. First-hop phase-aware leakage. + let leak = leakage_orbit_rep(spec, basis, coeffs, protected, group, k_modes)?; + for (w, v) in leak { + if v.norm() > tau_add { + basis.push(w); + coeffs.push(Complex::new(0.0, 0.0)); + } + } + // 2. Predictor: build CSR + expm. + let csr = generator_csr_orbit_rep(spec, basis, group, k_modes); + let coeffs_predict = expm_multiply_cx(&csr, dt, coeffs, opts); + drop(csr); + // 3. Second-hop leakage from predicted state. + let leak2 = leakage_orbit_rep(spec, basis, &coeffs_predict, protected, group, k_modes)?; + drop(coeffs_predict); + for (w, v) in leak2 { + if v.norm() > tau_add { + basis.push(w); + coeffs.push(Complex::new(0.0, 0.0)); + } + } + // 4. Corrector: rebuild + expm from pre-step state. + let csr = generator_csr_orbit_rep(spec, basis, group, k_modes); + *coeffs = expm_multiply_cx(&csr, dt, coeffs, opts); + drop(csr); + // 5. Prune. + if drop_tol > 0.0 { + prune_basis_complex_local(basis, coeffs, drop_tol, protected); + } + Ok(()) +} + +fn prune_basis_complex_local( + basis: &mut Vec, + coeffs: &mut Vec>, + drop_tol: f64, + protected: &[Word], +) { + if drop_tol <= 0.0 { + return; + } + let protected_set: fxhash::FxHashSet<&Word> = protected.iter().collect(); + let mut write = 0; + for read in 0..basis.len() { + if coeffs[read].norm() >= drop_tol || protected_set.contains(&basis[read]) { + if write != read { + basis.swap(write, read); + coeffs.swap(write, read); + } + write += 1; + } + } + basis.truncate(write); + coeffs.truncate(write); +} + +fn build_basis_index(basis: &[Word]) -> FxHashMap { + let mut index: FxHashMap = FxHashMap::default(); + for (i, w) in basis.iter().enumerate() { + let prev = index.insert(w.clone(), i as u32); + debug_assert!( + prev.is_none(), + "orbit-rep basis contains duplicate at positions {} and {}", + prev.unwrap(), + i, + ); + } + index +} diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index debd5060..5e683ddc 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -462,6 +462,117 @@ impl LindbladSpec { Ok((basis_arr, out_coeffs.into_pyarray(py))) } + /// Per-step orbit-rep predictor-corrector evolution under + /// translation symmetry. State lives entirely in **orbit-rep form**: + /// basis contains only canonical orbit representatives, coefficients + /// are complex. Action is phase-aware (output Paulis canonicalize + /// with momentum-character weight), CSR is complex throughout. + /// + /// Per-step memory benefit: basis is ~|group|× smaller than the + /// full-basis representation, and the reduction persists through + /// every step. + /// + /// **Pre-condition**: every row of `basis` must be the canonical + /// orbit representative of its translation orbit under `group`. + /// Pass `canonicalize_first=True` to enforce this on entry (rewrites + /// each basis row to its canonical rep; coefficients unchanged). + /// Default `False` — the caller is trusted. + #[pyo3(signature = ( + basis, coeffs, dt, tau_add, + group, momentum, + drop_tol = 0.0, + protected = None, + expm_tol = 1e-12, + parallel_threshold = 50_000, + max_krylov_m = None, + canonicalize_first = false, + ))] + #[allow(clippy::too_many_arguments)] + fn pc_step_orbit_rep<'py>( + &self, + py: Python<'py>, + basis: PyReadonlyArray2<'py, u8>, + coeffs: PyReadonlyArray1<'py, Complex64>, + dt: f64, + tau_add: f64, + group: &crate::symmetry::TranslationGroup, + momentum: PyReadonlyArray1<'py, i32>, + drop_tol: f64, + protected: Option>, + expm_tol: f64, + parallel_threshold: usize, + max_krylov_m: Option, + canonicalize_first: bool, + ) -> PyResult<(Bound<'py, PyArray2>, Bound<'py, PyArray1>)> { + use num::Complex; + use ppvm_lindblad::orbit_rep; + + let n_q = self.inner.n_qubits(); + let basis_view = basis.as_array(); + let mut basis_words = decode_basis(&basis_view, n_q)?; + let coeffs_slice = coeffs.as_slice()?; + if coeffs_slice.len() != basis_words.len() { + return Err(PyValueError::new_err(format!( + "coeffs has length {} but basis has {} rows", + coeffs_slice.len(), + basis_words.len() + ))); + } + let mut coeffs_vec: Vec> = coeffs_slice + .iter() + .map(|c| Complex::new(c.re, c.im)) + .collect(); + let protected_words: Vec = if let Some(ref p) = protected { + decode_basis(&p.as_array(), n_q)? + } else { + Vec::new() + }; + let k_slice = momentum.as_slice()?; + if k_slice.len() != group.core().n_generators() { + return Err(PyValueError::new_err(format!( + "momentum has {} entries but group has {} generators", + k_slice.len(), + group.core().n_generators() + ))); + } + if canonicalize_first { + orbit_rep::canonicalize_basis_to_rep(&mut basis_words, group.core()); + } + let opts = ExpmOpts { + tol: expm_tol, + parallel_threshold, + max_krylov_m, + }; + orbit_rep::pc_step_orbit_rep( + &self.inner, + &mut basis_words, + &mut coeffs_vec, + dt, + tau_add, + drop_tol, + &protected_words, + opts, + group.core(), + k_slice, + ) + .map_err(map_err)?; + + let m = basis_words.len(); + let mut out_basis = vec![0u8; m * n_q]; + for (i, w) in basis_words.iter().enumerate() { + codes_from_word(w, &mut out_basis[i * n_q..(i + 1) * n_q]); + } + let out_coeffs: Vec = coeffs_vec + .iter() + .map(|c| Complex64::new(c.re, c.im)) + .collect(); + let basis_arr = out_basis + .into_pyarray(py) + .reshape([m, n_q]) + .map_err(|e| PyValueError::new_err(format!("reshape failed: {e}")))?; + Ok((basis_arr, out_coeffs.into_pyarray(py))) + } + /// One classical RK4 step on the adjoint Lindbladian. Matrix-free: no /// CSR, no Krylov, no predictor-corrector enrichment. Four action /// evaluations per step, basis grows naturally, magnitude-prune at end. diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 81ea8f07..4b3fb7ae 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -353,6 +353,51 @@ def pc_step_complex( None if momentum is None else np.ascontiguousarray(momentum, dtype=np.int32), ) + def pc_step_orbit_rep( + self, + basis_arr: np.ndarray, + coeffs: np.ndarray, + dt: float, + tau_add: float, + group, + momentum: np.ndarray, + drop_tol: float = 0.0, + protected_arr: np.ndarray | None = None, + expm_tol: float = 1e-12, + parallel_threshold: int = 50_000, + max_krylov_m: int | None = None, + canonicalize_first: bool = False, + ) -> tuple[np.ndarray, np.ndarray]: + """Per-step orbit-representative pc evolution. + + State lives entirely in orbit-rep form throughout: ``basis_arr`` + contains only canonical translation-orbit representatives, + ``coeffs`` are complex. Phase-aware action + complex CSR. Basis + is ~``|group|×`` smaller than the equivalent full-basis complex + evolution, and the reduction persists across every step. + + ``basis_arr`` is assumed to contain canonical reps only. Pass + ``canonicalize_first=True`` to rewrite each row to its canonical + rep on entry (coefficients unchanged). + """ + n = self.n_qubits + if protected_arr is None: + protected_arr = np.zeros((0, n), dtype=np.uint8) + return self._spec.pc_step_orbit_rep( + np.ascontiguousarray(basis_arr, dtype=np.uint8), + np.ascontiguousarray(coeffs, dtype=np.complex128), + float(dt), + float(tau_add), + group, + np.ascontiguousarray(momentum, dtype=np.int32), + float(drop_tol), + np.ascontiguousarray(protected_arr, dtype=np.uint8), + float(expm_tol), + int(parallel_threshold), + None if max_krylov_m is None else int(max_krylov_m), + bool(canonicalize_first), + ) + def rk4_step_arr( self, basis_arr: np.ndarray, From edb77fdc7a14dbd74022b8563e3d5eac47579fb9 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 15 Jun 2026 05:45:51 +0100 Subject: [PATCH 016/159] feat(symmetry): momentum-sector (k!=0) merge for real PauliSum pairs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add `PauliSum.momentum_merge(other, group, momentum)`: a phase-aware orbit-rep merge for a complex operator carried as a real pair (`self` = real part, `other` = imaginary part of O = self + i·other). Both sums are folded onto orbit representatives in momentum sector `momentum` and overwritten in place, generalizing `symmetry_merge` (k=0 only) to non-trivial sectors while keeping real coefficients on the Python side. Implementation reuses the tested `canonicalize_pauli_sum_complex` for the character-weighted fold, then rescales by |G| so the merge is a *summing* projector (idempotent on already-merged input, like `symmetry_merge`) — stable when applied after every Trotter step (the 1/|G| prefactor would otherwise shrink coefficients each call). Enables L×-compressed, k-resolved gate-based Trotter evolution with flat memory (no CSR / leakage buffers). Verified against the exact adaptive `pc_step_orbit_rep` path: k=0 exact, k!=0 converges as O(dt²). Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-python-native/src/interface.rs | 73 ++++++++++++++++++++++ ppvm-python/src/ppvm/paulisum.py | 23 +++++++ 2 files changed, 96 insertions(+) diff --git a/crates/ppvm-python-native/src/interface.rs b/crates/ppvm-python-native/src/interface.rs index 3b7ea1f5..8295c4e2 100644 --- a/crates/ppvm-python-native/src/interface.rs +++ b/crates/ppvm-python-native/src/interface.rs @@ -77,6 +77,79 @@ macro_rules! create_interface_symmetry_methods { group.core(), ); } + + /// Phase-aware (momentum-sector) merge for a complex operator + /// carried as a *real pair*: `self` is the real part, `other` + /// the imaginary part of `O = self + i·other`. Both are + /// overwritten in place with the orbit-representative form + /// projected onto momentum sector `momentum` (one integer mode + /// per group generator; `[0,…]` is the trivial sector and + /// reduces to `symmetry_merge`). This generalizes + /// `symmetry_merge` to k != 0 while keeping real coefficients on + /// the Python side — the only place complex arithmetic appears + /// is the internal character-weighted fold, reusing the tested + /// `canonicalize_pauli_sum_complex`. + /// + /// `self` and `other` must be distinct objects with identical + /// qubit count. After a translation-covariant gate layer this + /// is exact; under a generic Trotter step it carries the same + /// O(dt^{p+1}) equivariance error as the k=0 merge. + #[pyo3(signature = (other, group, momentum))] + pub fn momentum_merge( + &mut self, + mut other: pyo3::PyRefMut<'_, Self>, + group: &crate::symmetry::TranslationGroup, + momentum: Vec, + ) { + // Gather both real components into word -> (re + i·im). + let mut combined: std::collections::HashMap< + <$type as Config>::PauliWordType, + num::Complex, + > = std::collections::HashMap::new(); + for (w, v) in self.inner.data().iter() { + combined + .entry(w.clone()) + .or_insert(num::Complex::new(0.0, 0.0)) + .re += *v; + } + for (w, v) in other.inner.data().iter() { + combined + .entry(w.clone()) + .or_insert(num::Complex::new(0.0, 0.0)) + .im += *v; + } + let mut basis = Vec::with_capacity(combined.len()); + let mut coeffs = Vec::with_capacity(combined.len()); + for (w, c) in combined { + basis.push(w); + coeffs.push(c); + } + // Character-weighted fold onto orbit reps (tested routine). + // `canonicalize_pauli_sum_complex` carries a 1/|G| prefactor; + // we rescale by |G| so the merge is the *summing* projector + // (like `symmetry_merge`): idempotent on already-merged input, + // hence stable under merging after every Trotter step. + ppvm_runtime::symmetry::canonicalize_pauli_sum_complex( + &mut basis, + &mut coeffs, + group.core(), + &momentum, + ); + let scale = group.core().order() as f64; + // Write the real/imag parts back into the two sums. + self.inner.data_mut().clear(); + other.inner.data_mut().clear(); + for (w, c) in basis.into_iter().zip(coeffs.into_iter()) { + let re = c.re * scale; + let im = c.im * scale; + if re != 0.0 { + self.inner += (w.clone(), re); + } + if im != 0.0 { + other.inner += (w, im); + } + } + } } }; } diff --git a/ppvm-python/src/ppvm/paulisum.py b/ppvm-python/src/ppvm/paulisum.py index bc289c5d..770e524b 100644 --- a/ppvm-python/src/ppvm/paulisum.py +++ b/ppvm-python/src/ppvm/paulisum.py @@ -403,6 +403,29 @@ def symmetry_merge(self, group) -> None: """ self._interface.symmetry_merge(group) + def momentum_merge(self, other: "PauliSum", group, momentum) -> None: + """Phase-aware (momentum-sector) merge for a complex operator stored + as a *real pair*: ``self`` is the real part and ``other`` the + imaginary part of ``O = self + i·other``. Both are overwritten in + place with the orbit-representative form projected onto momentum + sector ``momentum``. + + Generalizes :meth:`symmetry_merge` to non-trivial momentum sectors + (``k != 0``) while keeping real coefficients on both PauliSums — the + only complex arithmetic is the internal character-weighted fold. + ``self`` and ``other`` must be distinct objects with the same qubit + count. Exact after a translation-covariant gate layer; under a + generic Trotter step it carries the same ``O(dt^{p+1})`` equivariance + error as the ``k=0`` merge. + + Args: + other: the PauliSum holding the imaginary component (modified in place). + group: a :class:`ppvm_python_native.TranslationGroup`. + momentum: sequence of integer modes, one per group generator + (e.g. ``[k]`` for a 1D chain; ``[0, ...]`` is the trivial sector). + """ + self._interface.momentum_merge(other._interface, group, list(momentum)) + def amplitude_damping(self, addr0: int, gamma: float, *, truncate: bool = True): """Apply an amplitude-damping channel. From 68f9451426aa1591fc46bcb27947a3a2880b7984 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 15 Jun 2026 06:06:02 +0100 Subject: [PATCH 017/159] docs(symmetry): document k!=0 merging; test momentum_merge vs exact diagonalization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update the symmetry module doc: the k!=0 extension is no longer "a follow-up" — point to canonicalize_pauli_sum_complex and the real-pair PauliSum.momentum_merge path. - Add test_momentum_merge.py validating against EXACT references (not any other propagation scheme): * momentum_merge is an idempotent sector projector and annihilates operators from other momentum sectors; * k-resolved symmetry-compressed Trotter reproduces the operator autocorrelator C_k(t) from exact dense diagonalization (k=0 exact; k!=0 converges to exact as dt->0); * compressed (merge-each-step) matches the unmerged evolution up to the O(dt^2) equivariance error. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-runtime/src/symmetry.rs | 19 ++- ppvm-python/test/test_momentum_merge.py | 199 ++++++++++++++++++++++++ 2 files changed, 212 insertions(+), 6 deletions(-) create mode 100644 ppvm-python/test/test_momentum_merge.py diff --git a/crates/ppvm-runtime/src/symmetry.rs b/crates/ppvm-runtime/src/symmetry.rs index 6e94c331..462fa55f 100644 --- a/crates/ppvm-runtime/src/symmetry.rs +++ b/crates/ppvm-runtime/src/symmetry.rs @@ -11,12 +11,19 @@ //! and compute by a factor up to `|G|`. //! //! Following Teng, Chang, Rudolph, and Holmes (arXiv:2512.12094), this -//! module implements the **plain (real-coefficient) merging** of Pauli -//! sums into orbit-representative form. It is sufficient for evolution -//! of observables that lie in the trivial (`k=0`) symmetry sector, e.g. -//! sums of single-Z operators over the lattice. For non-trivial momentum -//! sectors (`k ≠ 0`) the merge step needs an additional phase factor — -//! that extension is left for a follow-up. +//! module implements **plain (real-coefficient) merging** of Pauli sums +//! into orbit-representative form — see [`canonicalize_pauli_sum`] and +//! [`symmetry_merge_pauli_sum`]. This handles observables in the trivial +//! (`k=0`) symmetry sector, e.g. sums of single-Z operators over the +//! lattice. +//! +//! **Non-trivial momentum sectors (`k ≠ 0`)** are handled by +//! [`canonicalize_pauli_sum_complex`], which folds with the character +//! phase `χ_k(g)` of each translation. On the Python side, an operator in +//! sector `k` is carried as a *real pair* (real + imaginary components, two +//! real `PauliSum`s) and merged via `PauliSum.momentum_merge`, which reuses +//! this routine — letting gate-based Trotter evolution stay symmetry- +//! compressed in any momentum sector with real coefficients throughout. //! //! ## Data model //! diff --git a/ppvm-python/test/test_momentum_merge.py b/ppvm-python/test/test_momentum_merge.py new file mode 100644 index 00000000..3aca7cc1 --- /dev/null +++ b/ppvm-python/test/test_momentum_merge.py @@ -0,0 +1,199 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 + +"""Tests for momentum-sector (k != 0) symmetry merging of real PauliSum pairs. + +A complex operator O = O_re + i·O_im is carried as a pair of real PauliSums. +``PauliSum.momentum_merge`` folds the pair onto translation-orbit +representatives in momentum sector k, generalizing ``symmetry_merge`` (k=0). + +These checks compare against *exact* references — the projector definition, +idempotency, and exact diagonalization of the dynamics — NOT against any +other propagation scheme. +""" +import cmath +import math + +import numpy as np +import pytest + +from ppvm import PauliSum +from ppvm_python_native import TranslationGroup + +# ── dense Pauli helpers (exact references) ─────────────────────────────────── +_I = np.eye(2, dtype=complex) +_X = np.array([[0, 1], [1, 0]], dtype=complex) +_Y = np.array([[0, -1j], [1j, 0]], dtype=complex) +_Z = np.array([[1, 0], [0, -1]], dtype=complex) +_P = {"I": _I, "X": _X, "Y": _Y, "Z": _Z} + + +def dense(pauli_str): + m = np.array([[1]], dtype=complex) + for ch in pauli_str: + m = np.kron(m, _P[ch]) + return m + + +def zstr(n, q): + return "".join("Z" if i == q else "I" for i in range(n)) + + +def chain_bonds(n): + return [(i, (i + 1) % n, 1.0) for i in range(n)] + + +# ── helpers shared with the k-resolved Trotter driver ──────────────────────── +def _seed_pair(n, k): + a = np.arange(n) + re = np.cos(2 * np.pi * k * a / n) + im = -np.sin(2 * np.pi * k * a / n) # e^{-2πi k a/n} = cos - i sin + Z = [zstr(n, q) for q in range(n)] + PA = PauliSum.new(n, [(Z[q], float(re[q])) for q in range(n)], + min_abs_coeff=0.0, max_pauli_weight=n) + PB = PauliSum.new(n, [(Z[q], float(im[q])) for q in range(n)], + min_abs_coeff=0.0, max_pauli_weight=n) + return PA, PB + + +def _to_complex_dict(PA, PB): + d = {} + for s, c in PA.terms: + d[s] = d.get(s, 0j) + c + for s, c in PB.terms: + d[s] = d.get(s, 0j) + 1j * c + return {s: v for s, v in d.items() if v != 0j} + + +def _ovl(sA, sB, oA, oB): + re = sA.overlap(oA) + sB.overlap(oB) + im = sA.overlap(oB) - sB.overlap(oA) + return complex(re, im) + + +# ============================================================================= +# 1. The merge is an exact sector projector: idempotent, and it leaves a +# genuine momentum-k eigenoperator unchanged. +# ============================================================================= +@pytest.mark.parametrize("k", [0, 1, 2, 3]) +def test_momentum_merge_idempotent(k): + n = 4 + g = TranslationGroup.chain_1d(n) + PA, PB = _seed_pair(n, k) # S^z_k is exactly in sector k + PA.momentum_merge(PB, g, [k]) + once = _to_complex_dict(PA, PB) + PA.momentum_merge(PB, g, [k]) # merging again must be a no-op + twice = _to_complex_dict(PA, PB) + keys = set(once) | set(twice) + assert max(abs(once.get(x, 0j) - twice.get(x, 0j)) for x in keys) < 1e-12 + + +def test_momentum_merge_projects_out_other_sectors(): + """Merging a pure sector-k operator in sector k' != k gives ~zero.""" + n = 4 + g = TranslationGroup.chain_1d(n) + PA, PB = _seed_pair(n, 1) # operator lives in k=1 + PA.momentum_merge(PB, g, [2]) # project onto k=2 + d = _to_complex_dict(PA, PB) + assert all(abs(v) < 1e-12 for v in d.values()), d + + +# ============================================================================= +# 2. End-to-end: k-resolved, symmetry-compressed Trotter reproduces the +# EXACT (dense-diagonalization) operator autocorrelator as dt -> 0. +# ============================================================================= +def _ed_autocorr(n, bonds, k, ts): + """C_k(t) = Tr[O0^dagger O(t)] / Tr[O0^dagger O0], O0 = S^z_k, exact.""" + H = np.zeros((2 ** n, 2 ** n), dtype=complex) + for (i, j, J) in bonds: + for q in "XY": + s = ["I"] * n + s[i] = q + s[j] = q + H += J * dense("".join(s)) + O0 = np.zeros((2 ** n, 2 ** n), dtype=complex) + for a in range(n): + O0 += cmath.exp(-2j * math.pi * k * a / n) * dense(zstr(n, a)) + E, V = np.linalg.eigh(H) + out = [] + with np.errstate(all="ignore"): # silence spurious macOS-Accelerate matmul warnings + norm = np.trace(O0.conj().T @ O0).real + for t in ts: + U = (V * np.exp(-1j * E * t)) @ V.conj().T + Ot = U.conj().T @ O0 @ U + out.append(np.trace(O0.conj().T @ Ot) / norm) + return np.array(out) + + +def _ctrotter_autocorr(n, bonds, k, dt, steps): + g = TranslationGroup.chain_1d(n) + PA, PB = _seed_pair(n, k) + PA.momentum_merge(PB, g, [k]) + refA, refB = PA.copy(), PB.copy() + C0 = _ovl(refA, refB, PA, PB) + out = [1.0 + 0j] + for _ in range(steps): + for (i, j, J) in bonds: # Strang: forward then reversed + PA.rxx(i, j, J * dt, truncate=False); PA.ryy(i, j, J * dt, truncate=False) + PB.rxx(i, j, J * dt, truncate=False); PB.ryy(i, j, J * dt, truncate=False) + for (i, j, J) in reversed(bonds): + PA.rxx(i, j, J * dt, truncate=False); PA.ryy(i, j, J * dt, truncate=False) + PB.rxx(i, j, J * dt, truncate=False); PB.ryy(i, j, J * dt, truncate=False) + PA.momentum_merge(PB, g, [k]) + out.append(_ovl(refA, refB, PA, PB) / C0) + return np.array(out) + + +@pytest.mark.parametrize("k", [0, 1, 2, 3]) +def test_k_resolved_trotter_converges_to_exact(k): + n, T = 4, 0.3 + bonds = chain_bonds(n) + # exact reference at the matching times for two step sizes + err = {} + for dt in (0.04, 0.02): + steps = round(T / dt) + ts = np.arange(steps + 1) * dt + c = _ctrotter_autocorr(n, bonds, k, dt, steps) + ed = _ed_autocorr(n, bonds, k, ts) + err[dt] = np.max(np.abs(c - ed)) + + assert abs(_ctrotter_autocorr(n, bonds, k, 0.02, 1)[0] - 1.0) < 1e-12 # C_k(0)=1 + if k == 0: + # total Z is conserved -> exact in every sector-0 step + assert err[0.02] < 1e-10 + else: + assert err[0.02] < 5e-3 # close to exact at dt=0.02 + assert err[0.02] < err[0.04] # converges toward exact as dt->0 + + +def test_compressed_matches_uncompressed_evolution(): + """Merging must not change observables beyond the O(dt^2) equivariance + error: compressed (merge each step) vs the same gates with no merge.""" + n, k, dt, steps = 4, 2, 0.02, 10 + bonds = chain_bonds(n) + g = TranslationGroup.chain_1d(n) + + # uncompressed: evolve the full real pair, project only at readout + PA, PB = _seed_pair(n, k) + rA, rB = _seed_pair(n, k) + rA.momentum_merge(rB, g, [k]) + C0 = _ovl(rA, rB, *_merged_copy(PA, PB, g, k)) + comp = _ctrotter_autocorr(n, bonds, k, dt, steps) + unc = [] + for _ in range(steps): + for (i, j, J) in bonds: + PA.rxx(i, j, J * dt, truncate=False); PA.ryy(i, j, J * dt, truncate=False) + PB.rxx(i, j, J * dt, truncate=False); PB.ryy(i, j, J * dt, truncate=False) + for (i, j, J) in reversed(bonds): + PA.rxx(i, j, J * dt, truncate=False); PA.ryy(i, j, J * dt, truncate=False) + PB.rxx(i, j, J * dt, truncate=False); PB.ryy(i, j, J * dt, truncate=False) + mA, mB = _merged_copy(PA, PB, g, k) + unc.append(_ovl(rA, rB, mA, mB) / C0) + unc = np.array([1.0 + 0j] + unc) + assert np.max(np.abs(comp - unc)) < 5e-3 # only O(dt^2) equivariance + + +def _merged_copy(PA, PB, g, k): + a, b = PA.copy(), PB.copy() + a.momentum_merge(b, g, [k]) + return a, b From a8e4dcc453e8f6982dce51c191ec389dc3b0da10 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Wed, 17 Jun 2026 10:24:31 +0200 Subject: [PATCH 018/159] Update Julia version and make sure benchmarks are consistent --- crates/ppvm-runtime/benches/trotter.rs | 2 +- julia-benchmarks/Manifest.toml | 499 ++++++++++++-------- julia-benchmarks/benches/gates.jl | 12 +- julia-benchmarks/benches/random-circuit.jl | 10 +- julia-benchmarks/benches/trotter.jl | 4 +- julia-benchmarks/julia-gates-benchmarks.svg | 82 ++++ julia-benchmarks/xy_ladder_msd.jl | 99 ++++ ppvm-python/demo/trotter_ladder.py | 73 +++ ppvm-python/pyproject.toml | 6 + ppvm-python/test/benchmarks/test_trotter.py | 68 +++ ppvm-python/uv.lock | 24 + 11 files changed, 669 insertions(+), 210 deletions(-) create mode 100644 julia-benchmarks/julia-gates-benchmarks.svg create mode 100644 julia-benchmarks/xy_ladder_msd.jl create mode 100644 ppvm-python/demo/trotter_ladder.py create mode 100644 ppvm-python/test/benchmarks/test_trotter.py diff --git a/crates/ppvm-runtime/benches/trotter.rs b/crates/ppvm-runtime/benches/trotter.rs index 50d75af0..1386a110 100644 --- a/crates/ppvm-runtime/benches/trotter.rs +++ b/crates/ppvm-runtime/benches/trotter.rs @@ -91,7 +91,7 @@ pub fn benchmark_suite_trotter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/julia-benchmarks/xy_ladder_msd.jl b/julia-benchmarks/xy_ladder_msd.jl new file mode 100644 index 00000000..87fd0042 --- /dev/null +++ b/julia-benchmarks/xy_ladder_msd.jl @@ -0,0 +1,99 @@ +#!/usr/bin/env julia +# Goal (1): PauliPropagation.jl benchmark — MSD of the 2-leg XY ladder under +# real-space 2nd-order (Strang) Trotter, NO symmetry merging. Mirrors the ppvm +# run in main_realspace_ladder.py (same bonds, Strang structure, localized Z +# seed, |coeff| truncation) so the MSD curves overlay and the runtime/memory +# can be compared head-to-head. +# +# Usage: julia -t 10 xy_ladder_msd.jl [L] [dt] [nsteps] [min_abs_coeff] [max_weight] [out.csv] +# defaults: L=41 dt=0.02 nsteps=100 min_abs_coeff=1e-6 max_weight=0(=off) out=data/g1_pp.csv +# +# Output: CSV with columns t,msd (one row per step). Wall time is reported +# by the NERSC `/usr/bin/time -v` wrapper; we also print it. +# +# Verified locally (PauliPropagation.jl, Julia 1.12) against ppvm at L=5, +# dt=0.02: MSD(t) curves agree to ~1e-9. If the NERSC PauliPropagation version +# differs and the API names (PauliSum / PauliString / PauliRotation / +# propagate / getcoeff) or the `theta` angle convention change, re-run the +# small-L cross-check against main_realspace_ladder.py and adjust. +using PauliPropagation +using Printf + +arg(i, d) = length(ARGS) >= i ? ARGS[i] : d +L = parse(Int, arg(1, "41")) +dt = parse(Float64, arg(2, "0.02")) +nsteps = parse(Int, arg(3, "100")) +mincoeff = parse(Float64, arg(4, "1e-6")) +maxweight = parse(Int, arg(5, "0")) # 0 => no weight cap +outfile = arg(6, "data/g1_pp.csv") + +nlegs = 2 +nq = nlegs * L +j0 = div(L, 2) +site(j, a) = j + a * L + 1 # j∈0:L-1, a∈0:1 -> 1-indexed qubit +chain_coord(q) = (q - 1) % L # chain position of qubit q + +# Brick-wall bond layering (matches ppvm): vertex-disjoint layers so adjacent +# gates within a sweep commute. Degree-3 ladder -> up to 4 layers: even leg- +# bonds, odd leg-bonds, the wrap seam (odd ring isn't 2-edge-colourable), rungs. +legbond(j, a) = (site(j, a), site(mod(j + 1, L), a)) +bonds = Tuple{Int,Int}[] +for a in 0:1, j in 0:2:L-2; push!(bonds, legbond(j, a)); end # even leg bonds +for a in 0:1, j in 1:2:L-2; push!(bonds, legbond(j, a)); end # odd leg bonds +for a in 0:1; push!(bonds, legbond(L - 1, a)); end # wrap seam +for j in 0:L-1; push!(bonds, (site(j, 0), site(j, 1))); end # rungs + +# Second-order (O(dt^3)) per-bond Strang: forward sweep over the bonds then a +# reversed sweep, each bond rxx then ryy. rxx and ryy commute on a bond, so the +# reversed bond order makes the step a palindrome -> O(dt^3). Truncation MATCHES +# ppvm: rxx never drops (min_abs_coeff=0; it creates the hopping intermediate), +# ryy drops at |coeff| 0 ? + propagate([PauliRotation([:Y, :Y], [a, b])], ps, [theta]; min_abs_coeff = D, max_weight = maxweight) : + propagate([PauliRotation([:Y, :Y], [a, b])], ps, [theta]; min_abs_coeff = D) + end + return ps +end + +# localized seed observable O(0) = 0.5 Z_{(j0,0)} + 0.5 Z_{(j0,1)} (Σ a_q = 1) +psum = PauliSum(nq) +add!(psum, PauliString(nq, :Z, site(j0, 0), 0.5)) +add!(psum, PauliString(nq, :Z, site(j0, 1), 0.5)) + +# single-Z target strings for the profile readout +ztargets = [PauliString(nq, :Z, q, 1.0) for q in 1:nq] +# min-image chain displacement from j0, per qubit +dj = [let d = mod(chain_coord(q) - j0, L); d > div(L, 2) ? d - L : d end for q in 1:nq] + +function msd(ps) + num = 0.0; den = 0.0 + for q in 1:nq + c = getcoeff(ps, ztargets[q]) # coefficient of Z_q in the sum + num += dj[q]^2 * c + den += c + end + return num / den +end + +ts = Float64[] +ms = Float64[] +push!(ts, 0.0); push!(ms, msd(psum)) +t0 = time() +for s in 1:nsteps + global psum = trotter_step!(psum, mincoeff) + push!(ts, s * dt); push!(ms, msd(psum)) +end +wall = time() - t0 + +mkpath(dirname(outfile)) +open(outfile, "w") do io + println(io, "t,msd") + for (t, m) in zip(ts, ms); @printf(io, "%.10g,%.10g\n", t, m); end +end +@printf("done -> %s (L=%d, nq=%d, %d steps, wall %.1fs, MSD(T)=%.6g, basis=%d)\n", + outfile, L, nq, nsteps, wall, ms[end], length(psum)) diff --git a/ppvm-python/demo/trotter_ladder.py b/ppvm-python/demo/trotter_ladder.py new file mode 100644 index 00000000..46da81ed --- /dev/null +++ b/ppvm-python/demo/trotter_ladder.py @@ -0,0 +1,73 @@ +"""Pedagogical example: Trotter evolution of the XY two-leg ladder with ppvm. + +We track an observable in the Heisenberg picture as a `PauliSum` (a weighted +sum of Pauli strings). Seeding with a localized Z at the centre rung and +applying second-order Trotter steps of the XX+YY ladder Hamiltonian, we read off +the spin profile a_q(t) = each step and reduce it to a +mean-squared displacement (MSD) along the chain — the signature of spin +transport. Truncating tiny coefficients (`min_abs_coeff`) is what keeps the +growing operator tractable. + + python trotter_ladder.py +""" +import numpy as np +from ppvm import PauliSum + +# ── parameters ─────────────────────────────────────────────────────────── +L = 10 # rungs; N = 2L qubits (two legs) +dt = 0.05 # Trotter step +steps = 20 +min_abs_coeff = 1e-4 # drop Pauli terms smaller than this (accuracy knob) + +import sys # optional override for benchmarking: python trotter_ladder.py L dt steps min_abs_coeff +if len(sys.argv) == 5: + L, dt, steps, min_abs_coeff = int(sys.argv[1]), float(sys.argv[2]), int(sys.argv[3]), float(sys.argv[4]) + +N = 2 * L +j0 = L // 2 # seed at the centre rung +site = lambda j, a: j + a * L # qubit index of rung j on leg a (0 or 1) + +# Brick-wall bond layering: group bonds into vertex-disjoint layers so adjacent +# gates within a sweep commute (no within-sweep propagation). The ladder is +# degree-3, so it takes up to 4 layers -- even leg-bonds, odd leg-bonds, the +# wrap-around seam (an odd ring is not 2-edge-colourable), and the rungs. +leg = lambda j, a: (site(j, a), site((j + 1) % L, a)) +bonds = ([leg(j, a) for a in (0, 1) for j in range(0, L - 1, 2)] # even leg bonds + + [leg(j, a) for a in (0, 1) for j in range(1, L - 1, 2)] # odd leg bonds + + [leg(L - 1, a) for a in (0, 1)] # wrap seam + + [(site(j, 0), site(j, 1)) for j in range(L)]) # rungs + +# Observable O(0) = (Z_{j0,0} + Z_{j0,1}) / 2. Σ_q a_q = is conserved. +o = PauliSum.new(N, [(f"Z{site(j0, 0)}", 0.5), (f"Z{site(j0, 1)}", 0.5)], + min_abs_coeff=min_abs_coeff, max_pauli_weight=N) +z_targets = [PauliSum.new(N, f"Z{q}") for q in range(N)] # for the profile readout + + +def trotter_step(): + """One second-order Strang step (O(dt^3)): a forward sweep over the bonds + then a reversed sweep, each bond evolved by rxx(dt) then ryy(dt). rxx and ryy + commute on a bond, so the reversed bond order makes the step a palindrome -> + O(dt^3). rxx is applied WITHOUT truncation and ryy WITH it, on purpose: rxx + turns Z_a into cos(.)Z_a + sin(.)Y_aX_b -- the hopping intermediate -- which + the very next ryy on the SAME bond rotates into Z_b. Dropping terms only + after that pair (never the bare intermediate) keeps the Z-hopping flux + intact, so total Z stays conserved even under aggressive truncation.""" + for a, b in bonds: + o.rxx(a, b, dt, truncate=False); o.ryy(a, b, dt) + for a, b in reversed(bonds): + o.rxx(a, b, dt, truncate=False); o.ryy(a, b, dt) + + +def msd(): + """MSD along the chain: Σ_q (Δj_q)^2 a_q / Σ_q a_q, with a_q = , + Δj the min-image chain displacement from j0 (both legs summed via q % L).""" + a = np.array([o.overlap(z) for z in z_targets]) + dj = ((np.arange(N) % L) - j0 + L // 2) % L - L // 2 + return float((dj**2 * a).sum() / a.sum()) + + +print(" t MSD n_terms") +for n in range(steps + 1): + print(f"{n*dt:5.2f} {msd():8.4f} {len(o):7d}") + if n < steps: + trotter_step() diff --git a/ppvm-python/pyproject.toml b/ppvm-python/pyproject.toml index ee6a9636..228c8aef 100644 --- a/ppvm-python/pyproject.toml +++ b/ppvm-python/pyproject.toml @@ -44,10 +44,16 @@ extra-paths = ["../crates/ppvm-python-native"] [tool.ty.src] exclude = ["docs/"] +[tool.pytest.ini_options] +# Benchmarks (test/benchmarks/) only time when explicitly enabled via +# --benchmark-enable; otherwise they run once as smoke tests. +addopts = "--benchmark-disable" + [dependency-groups] dev = [ "numpy>=2.2.6", "pytest>=9.0.2", + "pytest-benchmark>=5.2.3", ] doc = [ "griffe-inherited-docstrings>=1.1.1", diff --git a/ppvm-python/test/benchmarks/test_trotter.py b/ppvm-python/test/benchmarks/test_trotter.py new file mode 100644 index 00000000..9034a7db --- /dev/null +++ b/ppvm-python/test/benchmarks/test_trotter.py @@ -0,0 +1,68 @@ +"""pytest-benchmark mirror of crates/ppvm-runtime/benches/trotter.rs. + +Same circuit, parameters, truncation and initial observable as the Rust +trotter benchmark, run through the Python ``PauliSum``. Python hard-picks the +IndexMap + FxHash storage variant, so this corresponds to exactly the +``ByteF64FxIndexMap`` Rust config -- a single backend, by design. + +Run the timed benchmark with: + + uv run pytest test/benchmarks/test_trotter.py --benchmark-enable + +Without ``--benchmark-enable`` it runs once as a smoke test (see ``addopts`` in +pyproject.toml). +""" + +import copy + +import pytest + +from ppvm import PauliSum + +# parameters (match trotter.rs) +N_QUBITS = 12 +H = 1.0 +DT = 0.1 / H +TIME = 1.0 / H +J = 1.0 / 8.0 * H +MIN_ABS_COEFF = 1e-6 +# pauli_error([p/4]*3) damps each X/Y/Z coeff by (1-p): the depolarizing +# channel for p = 1e-4, matching DepolarizingNoise(1e-4) in PP.jl. +NOISE = [1e-4 / 4.0] * 3 + +ROUNDS = 200 + + +def build_state(): + # initial observable: sum_i Z_i + terms = [f"Z{i}" for i in range(N_QUBITS)] + return PauliSum.new(N_QUBITS, terms, min_abs_coeff=MIN_ABS_COEFF) + + +def trotter(state): + steps = int(TIME / DT) + theta_zz = DT * J + theta_x = DT * H + # gates default to truncate=True, i.e. truncate after every gate + # application, to stay consistent with the Rust benchmark / PP.jl. + for _ in range(steps): + for i in range(N_QUBITS): + state.rx(i, theta_x) + state.pauli_error(i, NOISE) + for i in range(N_QUBITS - 1): + state.rzz(i, i + 1, theta_zz) + state.pauli_error(i, NOISE) + state.pauli_error(i + 1, NOISE) + + +@pytest.mark.benchmark(group="trotter") +def test_trotter(benchmark): + state = build_state() + # clone a fresh state each round (not timed), mirroring Rust's + # iter_batched_ref(|| state.clone(), ...). + benchmark.pedantic( + trotter, + setup=lambda: ((copy.copy(state),), {}), + iterations=1, + rounds=ROUNDS, + ) diff --git a/ppvm-python/uv.lock b/ppvm-python/uv.lock index 7fd0de56..70e14881 100644 --- a/ppvm-python/uv.lock +++ b/ppvm-python/uv.lock @@ -3069,6 +3069,7 @@ dependencies = [ dev = [ { name = "numpy" }, { name = "pytest" }, + { name = "pytest-benchmark" }, ] doc = [ { name = "griffe-inherited-docstrings" }, @@ -3093,6 +3094,7 @@ requires-dist = [ dev = [ { name = "numpy", specifier = ">=2.2.6" }, { name = "pytest", specifier = ">=9.0.2" }, + { name = "pytest-benchmark", specifier = ">=5.2.3" }, ] doc = [ { name = "griffe-inherited-docstrings", specifier = ">=1.1.1" }, @@ -3385,6 +3387,15 @@ 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 = "py-cpuinfo" +version = "9.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716, upload-time = "2022-10-25T20:38:06.303Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335, upload-time = "2022-10-25T20:38:27.636Z" }, +] + [[package]] name = "pyasn1" version = "0.6.3" @@ -3682,6 +3693,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, ] +[[package]] +name = "pytest-benchmark" +version = "5.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "py-cpuinfo" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/24/34/9f732b76456d64faffbef6232f1f9dbec7a7c4999ff46282fa418bd1af66/pytest_benchmark-5.2.3.tar.gz", hash = "sha256:deb7317998a23c650fd4ff76e1230066a76cb45dcece0aca5607143c619e7779", size = 341340, upload-time = "2025-11-09T18:48:43.215Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/29/e756e715a48959f1c0045342088d7ca9762a2f509b945f362a316e9412b7/pytest_benchmark-5.2.3-py3-none-any.whl", hash = "sha256:bc839726ad20e99aaa0d11a127445457b4219bdb9e80a1afc4b51da7f96b0803", size = 45255, upload-time = "2025-11-09T18:48:39.765Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" From 13aaad4166c31fbfccb7c060bf9705b63818d643 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Wed, 17 Jun 2026 11:51:24 +0200 Subject: [PATCH 019/159] More efficient weight calculation --- crates/ppvm-runtime/Cargo.toml | 4 + crates/ppvm-runtime/benches/trotter.rs | 55 +++--- .../ppvm-runtime/benches/truncation-weight.rs | 169 ++++++++++++++++++ crates/ppvm-runtime/src/loss/data.rs | 8 +- crates/ppvm-runtime/src/word/data.rs | 5 +- crates/ppvm-runtime/src/word/mod.rs | 50 ++++++ julia-benchmarks/benches/truncation-weight.jl | 122 +++++++++++++ 7 files changed, 382 insertions(+), 31 deletions(-) create mode 100644 crates/ppvm-runtime/benches/truncation-weight.rs create mode 100644 julia-benchmarks/benches/truncation-weight.jl diff --git a/crates/ppvm-runtime/Cargo.toml b/crates/ppvm-runtime/Cargo.toml index 5a407254..3e1cf9cd 100644 --- a/crates/ppvm-runtime/Cargo.toml +++ b/crates/ppvm-runtime/Cargo.toml @@ -53,3 +53,7 @@ harness = false [[bench]] name = "micro" harness = false + +[[bench]] +name = "truncation-weight" +harness = false diff --git a/crates/ppvm-runtime/benches/trotter.rs b/crates/ppvm-runtime/benches/trotter.rs index 1386a110..2fbd84be 100644 --- a/crates/ppvm-runtime/benches/trotter.rs +++ b/crates/ppvm-runtime/benches/trotter.rs @@ -3,10 +3,12 @@ use criterion::{Criterion, criterion_group, criterion_main}; use ppvm_runtime::prelude::*; -use ppvm_runtime::strategy::CoefficientThreshold; +use ppvm_runtime::strategy::{CoefficientThreshold, CombinedStrategy, MaxPauliWeight}; use rayon::current_num_threads; -fn trotter_func>( +fn trotter_func< + T: Config>, +>( state: &mut PauliSum, n: usize, total_time: &f64, @@ -43,7 +45,9 @@ fn trotter_func>( } } -pub fn benchmark_suite_trotter>( +pub fn benchmark_suite_trotter< + T: Config>, +>( c: &mut Criterion, name: impl AsRef, ) { @@ -56,7 +60,8 @@ pub fn benchmark_suite_trotter = PauliSum::builder() .n_qubits(n_qubits) .strategy(strat) @@ -95,30 +100,24 @@ pub fn trotter_benchmarks(c: &mut Criterion) { .build_global() .unwrap(); println!("Using {} threads", current_num_threads()); - benchmark_suite_trotter::>( - c, - "ByteF64GxHashMap<2, CoefficientThreshold>", - ); - benchmark_suite_trotter::>( - c, - "ByteF64FxHashMap<2, CoefficientThreshold>", - ); - benchmark_suite_trotter::>( - c, - "ByteF64FxDashMap<2, CoefficientThreshold>", - ); - benchmark_suite_trotter::>( - c, - "ByteF64GxDashMap<2, CoefficientThreshold>", - ); - benchmark_suite_trotter::>( - c, - "ByteF64FxIndexMap<2, CoefficientThreshold>", - ); - benchmark_suite_trotter::>( - c, - "ByteF64GxIndexMap<2, CoefficientThreshold>", - ); + benchmark_suite_trotter::< + config::gxhash::ByteF64<2, CombinedStrategy>, + >(c, "ByteF64GxHashMap<2, CoefficientThreshold>"); + benchmark_suite_trotter::< + config::fxhash::ByteF64<2, CombinedStrategy>, + >(c, "ByteF64FxHashMap<2, CoefficientThreshold>"); + benchmark_suite_trotter::< + config::dashmap::ByteFxHashF64<2, CombinedStrategy>, + >(c, "ByteF64FxDashMap<2, CoefficientThreshold>"); + benchmark_suite_trotter::< + config::dashmap::ByteGxHashF64<2, CombinedStrategy>, + >(c, "ByteF64GxDashMap<2, CoefficientThreshold>"); + benchmark_suite_trotter::< + config::indexmap::ByteFxHashF64<2, CombinedStrategy>, + >(c, "ByteF64FxIndexMap<2, CoefficientThreshold>"); + benchmark_suite_trotter::< + config::indexmap::ByteGxHashF64<2, CombinedStrategy>, + >(c, "ByteF64GxIndexMap<2, CoefficientThreshold>"); } criterion_group!(benches, trotter_benchmarks); diff --git a/crates/ppvm-runtime/benches/truncation-weight.rs b/crates/ppvm-runtime/benches/truncation-weight.rs new file mode 100644 index 00000000..b93e074b --- /dev/null +++ b/crates/ppvm-runtime/benches/truncation-weight.rs @@ -0,0 +1,169 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Micro-benchmark for the cost of `MaxPauliWeight` truncation on a +//! pre-built `PauliSum`. Compares three strategies: +//! - `MaxPauliWeight(w)` alone (single retain pass, weight check only) +//! - `CoefficientThreshold(eps)` alone (single retain pass, coeff check only) +//! - `CombinedStrategy(threshold, weight)` (two sequential retain passes) +//! +//! Mirrored on the Julia side by +//! `julia-benchmarks/benches/truncation-weight.jl`, which uses +//! PauliPropagation.jl's `truncate!` — a *single* walk with a combined +//! predicate. The point of comparison is the two-passes-vs-one structural +//! difference between Rust's `CombinedStrategy` and PP.jl's `truncate!`. + +use std::time::Duration; + +use criterion::{Criterion, criterion_group, criterion_main}; +use ppvm_runtime::config::fxhash::ByteF64; +use ppvm_runtime::prelude::*; +use ppvm_runtime::strategy::{CoefficientThreshold, CombinedStrategy, MaxPauliWeight}; + +const N_QUBITS: usize = 128; +const N: usize = 16; +const N_TERMS: usize = 1000; +const COEFF_EPS: f64 = 1e-12; + +type Word = as Config>::PauliWordType; + +fn configure() -> Criterion { + Criterion::default() + .warm_up_time(Duration::from_secs(1)) + .measurement_time(Duration::from_secs(3)) + .sample_size(50) +} + +/// Build `N_TERMS` Pauli terms each with exactly `target_weight` +/// non-identity slots (clamped to `N_QUBITS`). Positions are spread by +/// stride to fit `target_weight` distinct slots; Pauli choices depend +/// on `k` so terms are mostly distinct. +fn make_terms(target_weight: usize) -> Vec<(Word, f64)> { + let paulis = [Pauli::X, Pauli::Y, Pauli::Z]; + let weight = target_weight.min(N_QUBITS); + let stride = (N_QUBITS / weight.max(1)).max(1); + let mut terms = Vec::with_capacity(N_TERMS); + for k in 0..N_TERMS { + let mut word = Word::new(N_QUBITS); + for w in 0..weight { + let pos = (k + w * stride) % N_QUBITS; + word.set(pos, paulis[(k.wrapping_mul(31) + w) % 3]); + } + terms.push((word, 1.0 / (k as f64 + 1.0))); + } + terms +} + +fn build_state(strat: St, terms: &[(Word, f64)]) -> PauliSum> +where + St: Strategy + Copy, +{ + let mut state: PauliSum> = PauliSum::builder() + .n_qubits(N_QUBITS) + .capacity(terms.len() * 2) + .strategy(strat) + .build(); + for (w, c) in terms { + state += (w.clone(), *c); + } + state +} + +const PROFILES: &[(&str, usize)] = &[ + ("w3", 3), + ("w50", 50), + ("w120", 120), +]; + +const CUTOFFS: &[(&str, usize)] = &[ + ("10", 10), + ("100", 100), + ("1000", 1000), + ("max", usize::MAX), +]; + +fn bench_max_weight_alone(c: &mut Criterion) { + let mut group = c.benchmark_group("max-weight-only"); + for &(profile, weight) in PROFILES { + let terms = make_terms(weight); + for &(cutoff_name, cutoff) in CUTOFFS { + let state = build_state(MaxPauliWeight(cutoff), &terms); + println!( + "[max-weight-only/{profile}/cut-{cutoff_name}] state.len()={}", + state.len() + ); + group.bench_function(format!("{profile}/cut-{cutoff_name}"), |b| { + b.iter_batched_ref( + || state.clone(), + |s| s.truncate(), + criterion::BatchSize::SmallInput, + ); + }); + } + } + group.finish(); +} + +fn bench_coeff_threshold_alone(c: &mut Criterion) { + let mut group = c.benchmark_group("coeff-threshold-only"); + for &(profile, weight) in PROFILES { + let terms = make_terms(weight); + let state = build_state(CoefficientThreshold(COEFF_EPS), &terms); + println!( + "[coeff-threshold-only/{profile}] state.len()={}", + state.len() + ); + group.bench_function(profile, |b| { + b.iter_batched_ref( + || state.clone(), + |s| s.truncate(), + criterion::BatchSize::SmallInput, + ); + }); + } + group.finish(); +} + +fn bench_combined(c: &mut Criterion) { + let mut group = c.benchmark_group("combined"); + for &(profile, weight) in PROFILES { + let terms = make_terms(weight); + for &(cutoff_name, cutoff) in CUTOFFS { + let strat = CombinedStrategy(CoefficientThreshold(COEFF_EPS), MaxPauliWeight(cutoff)); + let state = build_state(strat, &terms); + group.bench_function(format!("{profile}/cut-{cutoff_name}"), |b| { + b.iter_batched_ref( + || state.clone(), + |s| s.truncate(), + criterion::BatchSize::SmallInput, + ); + }); + } + } + group.finish(); +} + +/// Clone-only baseline so the user can subtract it from the truncate +/// numbers if desired. `iter_batched_ref` excludes setup time, so this +/// shouldn't be necessary — but worth confirming. +fn bench_clone_baseline(c: &mut Criterion) { + let mut group = c.benchmark_group("clone-baseline"); + for &(profile, weight) in PROFILES { + let terms = make_terms(weight); + let state = build_state(NoStrategy, &terms); + group.bench_function(profile, |b| { + b.iter(|| state.clone()); + }); + } + group.finish(); +} + +criterion_group! { + name = benches; + config = configure(); + targets = bench_max_weight_alone, + bench_coeff_threshold_alone, + bench_combined, + bench_clone_baseline +} +criterion_main!(benches); diff --git a/crates/ppvm-runtime/src/loss/data.rs b/crates/ppvm-runtime/src/loss/data.rs index e1c2615a..8cb09e86 100644 --- a/crates/ppvm-runtime/src/loss/data.rs +++ b/crates/ppvm-runtime/src/loss/data.rs @@ -132,11 +132,15 @@ impl PauliWordTrait for Lossy } fn weight(&self) -> usize { - (self.xbits | self.zbits | self.lbits).count_ones() + crate::word::or_popcount([ + bytemuck::bytes_of(&self.xbits.data), + bytemuck::bytes_of(&self.zbits.data), + bytemuck::bytes_of(&self.lbits.data), + ]) } fn loss_weight(&self) -> usize { - self.lbits.count_ones() + crate::word::or_popcount([bytemuck::bytes_of(&self.lbits.data)]) } fn rehash(&mut self) { diff --git a/crates/ppvm-runtime/src/word/data.rs b/crates/ppvm-runtime/src/word/data.rs index 477ecfe9..73857271 100644 --- a/crates/ppvm-runtime/src/word/data.rs +++ b/crates/ppvm-runtime/src/word/data.rs @@ -145,7 +145,10 @@ impl Paul } fn weight(&self) -> usize { - (self.xbits | self.zbits).count_ones() + super::or_popcount([ + bytemuck::bytes_of(&self.xbits.data), + bytemuck::bytes_of(&self.zbits.data), + ]) } fn rehash(&mut self) { diff --git a/crates/ppvm-runtime/src/word/mod.rs b/crates/ppvm-runtime/src/word/mod.rs index 483bce29..bc887714 100644 --- a/crates/ppvm-runtime/src/word/mod.rs +++ b/crates/ppvm-runtime/src/word/mod.rs @@ -7,3 +7,53 @@ mod mul; mod trace; pub use data::PauliWord; + +/// Bitwise-OR of `K` equal-length byte slices, popcounted as a single +/// total. Used by `PauliWord::weight`, `LossyPauliWord::weight`, and +/// `LossyPauliWord::loss_weight` to bypass `bitvec`'s `Domain` / +/// per-element abstractions, which block LLVM from inlining the native +/// popcount. +/// +/// Slices are processed in u64 / u32 / u16 / u8 chunks; all branches +/// const-fold at each call site once `K` and slice length are known +/// after monomorphisation. +#[inline] +pub(crate) fn or_popcount(parts: [&[u8]; K]) -> usize { + let n = parts[0].len(); + let mut total: u32 = 0; + let mut i = 0usize; + + while i + 8 <= n { + let mut acc: u64 = 0; + for p in parts.iter() { + acc |= u64::from_ne_bytes(p[i..i + 8].try_into().unwrap()); + } + total += acc.count_ones(); + i += 8; + } + if i + 4 <= n { + let mut acc: u32 = 0; + for p in parts.iter() { + acc |= u32::from_ne_bytes(p[i..i + 4].try_into().unwrap()); + } + total += acc.count_ones(); + i += 4; + } + if i + 2 <= n { + let mut acc: u16 = 0; + for p in parts.iter() { + acc |= u16::from_ne_bytes(p[i..i + 2].try_into().unwrap()); + } + total += acc.count_ones(); + i += 2; + } + if i < n { + let mut acc: u8 = 0; + for p in parts.iter() { + acc |= p[i]; + } + total += acc.count_ones(); + } + + total as usize +} diff --git a/julia-benchmarks/benches/truncation-weight.jl b/julia-benchmarks/benches/truncation-weight.jl new file mode 100644 index 00000000..a92f6ff5 --- /dev/null +++ b/julia-benchmarks/benches/truncation-weight.jl @@ -0,0 +1,122 @@ +# SPDX-FileCopyrightText: 2026 The PPVM Authors +# SPDX-License-Identifier: Apache-2.0 +# +# Mirror of crates/ppvm-runtime/benches/truncation-weight.rs. +# Measures PauliPropagation.jl's truncate! over the same parameter grid: +# - 3 term-weight profiles (3, 50, 120) +# - 4 weight cutoffs (10, 100, 1000, Inf) +# - 1000 terms on 128 qubits +# +# PP.jl's truncate! always builds a single closure combining min_abs_coeff +# and max_weight checks, then walks the dictionary once. To approximate the +# Rust "single-strategy" benches we set the other threshold to a sentinel +# value that never trips. + +using PauliPropagation +using BenchmarkTools + +const N_QUBITS = 128 +const N_TERMS = 1_000 +const COEFF_EPS = 1e-12 + +const PROFILES = [ + ("w3", 3), + ("w50", 50), + ("w120", 120), +] + +const CUTOFFS = [ + ("10", 10.0), + ("100", 100.0), + ("1000", 1000.0), + ("inf", Inf), +] + +const PAULI_SYMS = [:X, :Y, :Z] + +# Build N_TERMS PauliStrings each with exactly target_weight non-identity +# slots (clamped to N_QUBITS), spread by stride. Pauli choices depend on k +# so terms are mostly distinct. Matches make_terms() in the Rust mirror. +function make_psum(target_weight) + weight = min(target_weight, N_QUBITS) + stride = max(div(N_QUBITS, max(weight, 1)), 1) + psum = PauliSum(N_QUBITS) + for k in 0:(N_TERMS - 1) + positions = Int[] + symbols = Symbol[] + for w in 0:(weight - 1) + push!(positions, mod(k + w * stride, N_QUBITS) + 1) # 1-indexed + push!(symbols, PAULI_SYMS[mod(k * 31 + w, 3) + 1]) + end + coeff = 1.0 / (k + 1) + add!(psum, PauliString(N_QUBITS, symbols, positions, coeff)) + end + return psum +end + +function bench_max_weight_alone() + println("\n=== max-weight-only (min_abs_coeff = 0, never trips) ===") + results = Dict{String, Any}() + for (profile, weight) in PROFILES + psum = make_psum(weight) + println("[$profile] psum has $(length(psum)) terms") + for (cutoff_name, cutoff) in CUTOFFS + id = "$profile/cut-$cutoff_name" + t = @benchmark PauliPropagation.truncate!(state; + min_abs_coeff = 0.0, max_weight = $cutoff) setup = (state = deepcopy($psum)) samples=200 + results[id] = t + println(" $id: median = $(median(t).time) ns") + end + end + return results +end + +function bench_coeff_threshold_alone() + println("\n=== coeff-threshold-only (max_weight = Inf, never trips) ===") + results = Dict{String, Any}() + for (profile, weight) in PROFILES + psum = make_psum(weight) + id = profile + t = @benchmark PauliPropagation.truncate!(state; + min_abs_coeff = $COEFF_EPS, max_weight = Inf) setup = (state = deepcopy($psum)) samples=200 + results[id] = t + println(" $id: median = $(median(t).time) ns") + end + return results +end + +function bench_combined() + println("\n=== combined (both checks active, matches Rust CombinedStrategy) ===") + results = Dict{String, Any}() + for (profile, weight) in PROFILES + psum = make_psum(weight) + for (cutoff_name, cutoff) in CUTOFFS + id = "$profile/cut-$cutoff_name" + t = @benchmark PauliPropagation.truncate!(state; + min_abs_coeff = $COEFF_EPS, max_weight = $cutoff) setup = (state = deepcopy($psum)) samples=200 + results[id] = t + println(" $id: median = $(median(t).time) ns") + end + end + return results +end + +function bench_clone_baseline() + println("\n=== clone (deepcopy) baseline ===") + results = Dict{String, Any}() + for (profile, weight) in PROFILES + psum = make_psum(weight) + t = @benchmark deepcopy($psum) samples=200 + results[profile] = t + println(" $profile: median = $(median(t).time) ns") + end + return results +end + +println("Using $(Threads.nthreads()) threads") +println("N_QUBITS = $N_QUBITS, N_TERMS = $N_TERMS") + +bench_max_weight_alone() +bench_coeff_threshold_alone() +bench_combined() +bench_clone_baseline() From 1a67b31415ca75f870f17ac3a853bf0ac16266a4 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Wed, 17 Jun 2026 12:17:47 +0200 Subject: [PATCH 020/159] Inline cutoff --- crates/ppvm-runtime/src/traits/coefficient.rs | 2 ++ ppvm-python/demo/{stim.py => stim_demo.py} | 0 2 files changed, 2 insertions(+) rename ppvm-python/demo/{stim.py => stim_demo.py} (100%) diff --git a/crates/ppvm-runtime/src/traits/coefficient.rs b/crates/ppvm-runtime/src/traits/coefficient.rs index f2a836d1..3128f3ed 100644 --- a/crates/ppvm-runtime/src/traits/coefficient.rs +++ b/crates/ppvm-runtime/src/traits/coefficient.rs @@ -56,6 +56,7 @@ impl Coefficient for f64 { Float::sin_cos(*self) } + #[inline] fn cutoff(&self, threshold: f64) -> bool { self.abs() < threshold } @@ -76,6 +77,7 @@ pub trait ComplexCoefficient: Coefficient { } impl Coefficient for num::complex::Complex { + #[inline] fn cutoff(&self, threshold: f64) -> bool { self.norm() < threshold } diff --git a/ppvm-python/demo/stim.py b/ppvm-python/demo/stim_demo.py similarity index 100% rename from ppvm-python/demo/stim.py rename to ppvm-python/demo/stim_demo.py From 1a2b8f80d6838f801fabb7107ef05c292aa9a2c7 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Wed, 17 Jun 2026 12:36:20 +0200 Subject: [PATCH 021/159] Hard-code weight to avoid slicing overhead --- crates/ppvm-runtime/src/loss/data.rs | 68 +++++++++++++++++++++++++--- crates/ppvm-runtime/src/word/data.rs | 36 +++++++++++++-- crates/ppvm-runtime/src/word/mod.rs | 50 -------------------- 3 files changed, 94 insertions(+), 60 deletions(-) diff --git a/crates/ppvm-runtime/src/loss/data.rs b/crates/ppvm-runtime/src/loss/data.rs index 8cb09e86..884f6b01 100644 --- a/crates/ppvm-runtime/src/loss/data.rs +++ b/crates/ppvm-runtime/src/loss/data.rs @@ -131,16 +131,72 @@ impl PauliWordTrait for Lossy self.zbits.set(index, value); } + #[inline] fn weight(&self) -> usize { - crate::word::or_popcount([ - bytemuck::bytes_of(&self.xbits.data), - bytemuck::bytes_of(&self.zbits.data), - bytemuck::bytes_of(&self.lbits.data), - ]) + let xs: &[u8] = bytemuck::bytes_of(&self.xbits.data); + let zs: &[u8] = bytemuck::bytes_of(&self.zbits.data); + let ls: &[u8] = bytemuck::bytes_of(&self.lbits.data); + debug_assert_eq!(xs.len(), zs.len()); + debug_assert_eq!(xs.len(), ls.len()); + + let mut total: u32 = 0; + let (mut i, n) = (0usize, xs.len()); + + while i + 8 <= n { + let x = u64::from_ne_bytes(xs[i..i + 8].try_into().unwrap()); + let z = u64::from_ne_bytes(zs[i..i + 8].try_into().unwrap()); + let l = u64::from_ne_bytes(ls[i..i + 8].try_into().unwrap()); + total += (x | z | l).count_ones(); + i += 8; + } + if i + 4 <= n { + let x = u32::from_ne_bytes(xs[i..i + 4].try_into().unwrap()); + let z = u32::from_ne_bytes(zs[i..i + 4].try_into().unwrap()); + let l = u32::from_ne_bytes(ls[i..i + 4].try_into().unwrap()); + total += (x | z | l).count_ones(); + i += 4; + } + if i + 2 <= n { + let x = u16::from_ne_bytes(xs[i..i + 2].try_into().unwrap()); + let z = u16::from_ne_bytes(zs[i..i + 2].try_into().unwrap()); + let l = u16::from_ne_bytes(ls[i..i + 2].try_into().unwrap()); + total += (x | z | l).count_ones(); + i += 2; + } + if i < n { + total += (xs[i] | zs[i] | ls[i]).count_ones(); + } + + total as usize } + #[inline] fn loss_weight(&self) -> usize { - crate::word::or_popcount([bytemuck::bytes_of(&self.lbits.data)]) + let ls: &[u8] = bytemuck::bytes_of(&self.lbits.data); + + let mut total: u32 = 0; + let (mut i, n) = (0usize, ls.len()); + + while i + 8 <= n { + let l = u64::from_ne_bytes(ls[i..i + 8].try_into().unwrap()); + total += l.count_ones(); + i += 8; + } + if i + 4 <= n { + let l = u32::from_ne_bytes(ls[i..i + 4].try_into().unwrap()); + total += l.count_ones(); + i += 4; + } + if i + 2 <= n { + let l = u16::from_ne_bytes(ls[i..i + 2].try_into().unwrap()); + total += l.count_ones(); + i += 2; + } + if i < n { + total += ls[i].count_ones(); + } + + total as usize } fn rehash(&mut self) { diff --git a/crates/ppvm-runtime/src/word/data.rs b/crates/ppvm-runtime/src/word/data.rs index 73857271..4b529510 100644 --- a/crates/ppvm-runtime/src/word/data.rs +++ b/crates/ppvm-runtime/src/word/data.rs @@ -144,11 +144,39 @@ impl Paul self.zbits.set(index, value); } + #[inline] fn weight(&self) -> usize { - super::or_popcount([ - bytemuck::bytes_of(&self.xbits.data), - bytemuck::bytes_of(&self.zbits.data), - ]) + let xs: &[u8] = bytemuck::bytes_of(&self.xbits.data); + let zs: &[u8] = bytemuck::bytes_of(&self.zbits.data); + debug_assert_eq!(xs.len(), zs.len()); + + let mut total: u32 = 0; + let (mut i, n) = (0usize, xs.len()); + + // u64 chunks — one popcnt per chunk (x86 +popcnt; AArch64 CNT+ADDV). + while i + 8 <= n { + let x = u64::from_ne_bytes(xs[i..i + 8].try_into().unwrap()); + let z = u64::from_ne_bytes(zs[i..i + 8].try_into().unwrap()); + total += (x | z).count_ones(); + i += 8; + } + if i + 4 <= n { + let x = u32::from_ne_bytes(xs[i..i + 4].try_into().unwrap()); + let z = u32::from_ne_bytes(zs[i..i + 4].try_into().unwrap()); + total += (x | z).count_ones(); + i += 4; + } + if i + 2 <= n { + let x = u16::from_ne_bytes(xs[i..i + 2].try_into().unwrap()); + let z = u16::from_ne_bytes(zs[i..i + 2].try_into().unwrap()); + total += (x | z).count_ones(); + i += 2; + } + if i < n { + total += (xs[i] | zs[i]).count_ones(); + } + + total as usize } fn rehash(&mut self) { diff --git a/crates/ppvm-runtime/src/word/mod.rs b/crates/ppvm-runtime/src/word/mod.rs index bc887714..483bce29 100644 --- a/crates/ppvm-runtime/src/word/mod.rs +++ b/crates/ppvm-runtime/src/word/mod.rs @@ -7,53 +7,3 @@ mod mul; mod trace; pub use data::PauliWord; - -/// Bitwise-OR of `K` equal-length byte slices, popcounted as a single -/// total. Used by `PauliWord::weight`, `LossyPauliWord::weight`, and -/// `LossyPauliWord::loss_weight` to bypass `bitvec`'s `Domain` / -/// per-element abstractions, which block LLVM from inlining the native -/// popcount. -/// -/// Slices are processed in u64 / u32 / u16 / u8 chunks; all branches -/// const-fold at each call site once `K` and slice length are known -/// after monomorphisation. -#[inline] -pub(crate) fn or_popcount(parts: [&[u8]; K]) -> usize { - let n = parts[0].len(); - let mut total: u32 = 0; - let mut i = 0usize; - - while i + 8 <= n { - let mut acc: u64 = 0; - for p in parts.iter() { - acc |= u64::from_ne_bytes(p[i..i + 8].try_into().unwrap()); - } - total += acc.count_ones(); - i += 8; - } - if i + 4 <= n { - let mut acc: u32 = 0; - for p in parts.iter() { - acc |= u32::from_ne_bytes(p[i..i + 4].try_into().unwrap()); - } - total += acc.count_ones(); - i += 4; - } - if i + 2 <= n { - let mut acc: u16 = 0; - for p in parts.iter() { - acc |= u16::from_ne_bytes(p[i..i + 2].try_into().unwrap()); - } - total += acc.count_ones(); - i += 2; - } - if i < n { - let mut acc: u8 = 0; - for p in parts.iter() { - acc |= p[i]; - } - total += acc.count_ones(); - } - - total as usize -} From 8ea602f42350a2b7ca3f213ee09d45914fe1daed Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Wed, 17 Jun 2026 12:45:49 +0200 Subject: [PATCH 022/159] Add an early return for max_weight == usize::MAX --- crates/ppvm-runtime/src/strategy.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/ppvm-runtime/src/strategy.rs b/crates/ppvm-runtime/src/strategy.rs index a5804249..087c1a80 100644 --- a/crates/ppvm-runtime/src/strategy.rs +++ b/crates/ppvm-runtime/src/strategy.rs @@ -78,6 +78,14 @@ impl Strategy for MaxPauliWeight { W: PauliWordTrait, M: ACMap, { + // `usize::MAX` is the conventional "disabled" sentinel (matches + // `Default::default()`). Skip the retain pass entirely — saves a + // full bucket walk per `truncate()` call when callers (e.g. the + // Python binding) pass `MaxPauliWeight(usize::MAX)` to opt out + // of weight truncation without changing the strategy type. + if self.0 == usize::MAX { + return; + } map.retain(|k, _| k.weight() <= self.max_weight()); } } @@ -152,6 +160,11 @@ impl Strategy for MaxLossWeight { M: ACMap, W: PauliWordTrait, { + // Skip the retain pass when callers pass `usize::MAX` to opt out + // of loss-weight truncation without changing the strategy type. + if self.0 == usize::MAX { + return; + } map.retain(|k, _| k.loss_weight() <= self.0); } } From 00722560c0a482e731a1e57e1e67b6e9f55c7bf0 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Wed, 17 Jun 2026 13:06:52 +0200 Subject: [PATCH 023/159] Remove svg --- julia-benchmarks/julia-gates-benchmarks.svg | 82 --------------------- 1 file changed, 82 deletions(-) delete mode 100644 julia-benchmarks/julia-gates-benchmarks.svg diff --git a/julia-benchmarks/julia-gates-benchmarks.svg b/julia-benchmarks/julia-gates-benchmarks.svg deleted file mode 100644 index b85d54ea..00000000 --- a/julia-benchmarks/julia-gates-benchmarks.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 2799af81619c2b64b449b1874139cb7f3bbd34c3 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 17 Jun 2026 16:28:51 +0100 Subject: [PATCH 024/159] feat(ppvm-lindblad): drive expm action via quspin-expm (real + complex) Replace the hand-rolled Al-Mohy & Higham scaling-and-squaring engine on all three evolution paths with the external `quspin-expm` crate, via borrowed `LinearOperator`s fed to `ExpmOp::from_parts` (which supplies the shift mu, partition count s, and Taylor order m* directly, so only `dot` runs in the Taylor loop -- no estimator, no dot_transpose): * expm_step (real): matrix-free `MfOp` over the in-basis action (`spmv_matrix_free`); mu and the exact column 1-norm of M - mu*I are gathered in one matrix-free pass via `action()`. No CSR materialised. * expm_step_complex (real matrix, complex vector): two matrix-free real applies on the re/im parts, recombined. No CSR. * orbit-rep (genuinely complex generator): the momentum-character phases have no matrix-free action, so the complex `CsrCx` is still built by `generator_csr_orbit_rep`, then wrapped in a CSR-backed `CsrCxOp` and exponentiated through quspin-expm (zero shift, `csr_cx_one_norm`). (m*, s) reuse the existing `select_ms` table. The old `expm` engine (expm_multiply / _mf / _complex / _cx, spmv*, Csr/CsrCx) is retained but off the evolution paths -- used now only by the parity regression tests. Validated: parity vs the retired engine to <1e-15 (real 2.2e-16; complex orbit-rep 1.1e-16 over n=1,3,7,12); cargo test --workspace --exclude ppvm-python-native (all green); Python lindblad + momentum-merge + preserve suites (30 passed, incl. pc_step_orbit_rep vs full-basis). NOTE: QuSpin-rust currently ships no LICENSE (all-rights-reserved). This pin is a placeholder pending a permissive license being added upstream; the quspin-expm authors are co-authors of the ppvm paper. Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 780 +++++++++++++++++++++++++- crates/ppvm-lindblad/Cargo.toml | 9 + crates/ppvm-lindblad/src/expm.rs | 4 +- crates/ppvm-lindblad/src/lib.rs | 89 ++- crates/ppvm-lindblad/src/mf_expm.rs | 405 +++++++++++++ crates/ppvm-lindblad/src/orbit_rep.rs | 13 +- 6 files changed, 1254 insertions(+), 46 deletions(-) create mode 100644 crates/ppvm-lindblad/src/mf_expm.rs diff --git a/Cargo.lock b/Cargo.lock index 0d25884a..dc14b3b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,6 +30,16 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "alloy-rlp" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc90b1e703d3c03f4ff7f48e82dd0bc1c8211ab7d079cd836a06fcfeb06651cb" +dependencies = [ + "arrayvec", + "bytes", +] + [[package]] name = "anes" version = "0.1.6" @@ -66,6 +76,212 @@ dependencies = [ "object", ] +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.106", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.6", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.6", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.6", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "auto_impl" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "autocfg" version = "1.5.0" @@ -157,7 +373,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn", + "syn 2.0.106", ] [[package]] @@ -166,6 +382,12 @@ version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + [[package]] name = "bytemuck" version = "1.25.0" @@ -178,6 +400,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" + [[package]] name = "cast" version = "0.3.0" @@ -289,6 +517,27 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "const_format" +version = "0.2.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4481a617ad9a412be3b97c5d403fef8ed023103368908b9c50af598ff467cc1e" +dependencies = [ + "const_format_proc_macros", + "konst", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "cpufeatures" version = "0.3.0" @@ -362,6 +611,16 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + [[package]] name = "darling" version = "0.21.3" @@ -383,7 +642,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn", + "syn 2.0.106", ] [[package]] @@ -394,7 +653,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", "quote", - "syn", + "syn 2.0.106", ] [[package]] @@ -412,6 +671,47 @@ dependencies = [ "rayon", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "crypto-common", +] + +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "either" version = "1.15.0" @@ -424,6 +724,26 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +[[package]] +name = "enum-ordinalize" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -446,12 +766,46 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + [[package]] name = "find-msvc-tools" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.6", + "rustc-hex", + "static_assertions", +] + [[package]] name = "fnv" version = "1.0.7" @@ -479,6 +833,27 @@ dependencies = [ "byteorder", ] +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", +] + [[package]] name = "getrandom" version = "0.3.3" @@ -488,7 +863,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi", + "wasi 0.14.7+wasi-0.2.4", ] [[package]] @@ -559,6 +934,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + [[package]] name = "id-arena" version = "2.3.0" @@ -571,6 +952,26 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "indexmap" version = "2.11.4" @@ -613,6 +1014,15 @@ dependencies = [ "rustversion", ] +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -647,6 +1057,21 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "konst" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128133ed7824fcd73d6e7b17957c5eb7bacb885649bd8c69708b2331a10bcefb" +dependencies = [ + "konst_macro_rules", +] + +[[package]] +name = "konst_macro_rules" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37" + [[package]] name = "leb128fmt" version = "0.1.0" @@ -659,6 +1084,12 @@ version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + [[package]] name = "libmimalloc-sys" version = "0.1.49" @@ -769,6 +1200,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ + "bytemuck", "num-traits", ] @@ -810,6 +1242,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -859,6 +1292,34 @@ version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" +[[package]] +name = "parity-scale-codec" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "const_format", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "rustversion", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "parking_lot_core" version = "0.9.11" @@ -878,6 +1339,16 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pest" +version = "2.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" +dependencies = [ + "memchr", + "ucd-trie", +] + [[package]] name = "plotters" version = "0.3.7" @@ -948,8 +1419,11 @@ dependencies = [ "approx", "criterion", "fxhash", + "ndarray", "num", "ppvm-runtime", + "quspin-expm", + "quspin-types", "rayon", "sprs", ] @@ -1053,7 +1527,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn", + "syn 2.0.106", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit", ] [[package]] @@ -1076,7 +1570,7 @@ dependencies = [ "bitflags", "num-traits", "rand 0.9.4", - "rand_chacha", + "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax 0.8.6", "rusty-fork", @@ -1140,7 +1634,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn", + "syn 2.0.106", ] [[package]] @@ -1153,7 +1647,7 @@ dependencies = [ "proc-macro2", "pyo3-build-config", "quote", - "syn", + "syn 2.0.106", ] [[package]] @@ -1171,6 +1665,28 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "quspin-expm" +version = "0.1.0" +source = "git+https://github.com/QuSpin/QuSpin-rust?rev=6f4a1581e14d5258c9aeb684b4aec964bdff4e34#6f4a1581e14d5258c9aeb684b4aec964bdff4e34" +dependencies = [ + "ndarray", + "num-complex", + "quspin-types", + "rayon", +] + +[[package]] +name = "quspin-types" +version = "0.1.0" +source = "git+https://github.com/QuSpin/QuSpin-rust?rev=6f4a1581e14d5258c9aeb684b4aec964bdff4e34#6f4a1581e14d5258c9aeb684b4aec964bdff4e34" +dependencies = [ + "ndarray", + "num-complex", + "ruint", + "thiserror", +] + [[package]] name = "r-efi" version = "5.3.0" @@ -1183,13 +1699,24 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "rand" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + [[package]] name = "rand" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ - "rand_chacha", + "rand_chacha 0.9.0", "rand_core 0.9.5", ] @@ -1204,6 +1731,16 @@ dependencies = [ "rand_core 0.10.0", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + [[package]] name = "rand_chacha" version = "0.9.0" @@ -1214,6 +1751,15 @@ dependencies = [ "rand_core 0.9.5", ] +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + [[package]] name = "rand_core" version = "0.9.5" @@ -1319,12 +1865,80 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + +[[package]] +name = "ruint" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0298da754d1395046b0afdc2f20ee76d29a8ae310cd30ffa84ed42acba9cb12a" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "ark-ff 0.5.0", + "bytes", + "fastrlp 0.3.1", + "fastrlp 0.4.0", + "num-bigint", + "num-integer", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand 0.8.6", + "rand 0.9.4", + "rlp", + "ruint-macro", + "serde_core", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + [[package]] name = "rustc-hash" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver 1.0.27", +] + [[package]] name = "rustix" version = "1.1.2" @@ -1377,12 +1991,30 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +[[package]] +name = "semver-parser" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" +dependencies = [ + "pest", +] + [[package]] name = "serde" version = "1.0.228" @@ -1410,7 +2042,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.106", ] [[package]] @@ -1471,6 +2103,12 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "stim-parser" version = "0.1.0" @@ -1486,6 +2124,17 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "syn" version = "2.0.106" @@ -1539,7 +2188,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.106", ] [[package]] @@ -1552,6 +2201,60 @@ dependencies = [ "serde_json", ] +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.25.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0db3bae107c9522f86d361697dee1d7386a2ddcf659d5aea5159819a21a3c4a7" +dependencies = [ + "indexmap", + "toml_datetime", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +dependencies = [ + "winnow", +] + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + [[package]] name = "unarray" version = "0.1.4" @@ -1588,6 +2291,12 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + [[package]] name = "version_check" version = "0.9.5" @@ -1619,6 +2328,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + [[package]] name = "wasi" version = "0.14.7+wasi-0.2.4" @@ -1669,7 +2384,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn", + "syn 2.0.106", "wasm-bindgen-shared", ] @@ -1691,7 +2406,7 @@ checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1736,7 +2451,7 @@ dependencies = [ "bitflags", "hashbrown 0.15.5", "indexmap", - "semver", + "semver 1.0.27", ] [[package]] @@ -1846,6 +2561,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winnow" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" +dependencies = [ + "memchr", +] + [[package]] name = "wit-bindgen" version = "0.46.0" @@ -1882,7 +2606,7 @@ dependencies = [ "heck", "indexmap", "prettyplease", - "syn", + "syn 2.0.106", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -1898,7 +2622,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn", + "syn 2.0.106", "wit-bindgen-core", "wit-bindgen-rust", ] @@ -1932,7 +2656,7 @@ dependencies = [ "id-arena", "indexmap", "log", - "semver", + "semver 1.0.27", "serde", "serde_derive", "serde_json", @@ -1966,5 +2690,25 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.106", +] + +[[package]] +name = "zeroize" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] diff --git a/crates/ppvm-lindblad/Cargo.toml b/crates/ppvm-lindblad/Cargo.toml index eec8cd1a..2d07f901 100644 --- a/crates/ppvm-lindblad/Cargo.toml +++ b/crates/ppvm-lindblad/Cargo.toml @@ -6,10 +6,19 @@ description = "Direct Heisenberg-picture Lindbladian evolution on an adaptive Pa [dependencies] fxhash = "0.2.1" +ndarray = "0.17" num = "0.4.3" ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } rayon = "1.11" sprs = { version = "0.11", default-features = false, features = ["multi_thread"] } +# Matrix-exponential action (Al-Mohy & Higham). NOTE: QuSpin-rust currently has +# no LICENSE file; this pin is a placeholder pending a permissive license being +# added upstream (the authors are co-authors of the ppvm paper). +quspin-expm = { git = "https://github.com/QuSpin/QuSpin-rust", rev = "6f4a1581e14d5258c9aeb684b4aec964bdff4e34" } +# `QuSpinError` (the error type returned by the `LinearOperator` trait methods +# we implement in `mf_expm.rs`) is not re-exported from `quspin-expm`'s root, +# so we depend on `quspin-types` directly. Same git rev as `quspin-expm`. +quspin-types = { git = "https://github.com/QuSpin/QuSpin-rust", rev = "6f4a1581e14d5258c9aeb684b4aec964bdff4e34" } [dev-dependencies] approx = "0.5.1" diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index fe50688e..cecc63d5 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -36,7 +36,7 @@ pub type CsrCx = CsMatI, u32, usize>; /// `θ_m` bounds `‖A‖₁` such that the degree-`m` Taylor polynomial /// approximates `exp(A)` to within `u`. We pick `(m, s)` with /// `s ≥ ⌈‖tA‖₁ / θ_m⌉` and minimise `m·s` (total SpMV count). -const THETA: &[(u32, f64)] = &[ +pub(crate) const THETA: &[(u32, f64)] = &[ (1, 2.29e-16), (2, 2.58e-8), (3, 1.39e-5), @@ -188,7 +188,7 @@ impl Default for ExpmOpts { /// Pick `(m, s)` minimising `s·m` subject to `s ≥ ⌈t_norm / θ_m⌉, s ≥ 1`. /// Restricted to `m ≤ 30`; for larger norms `s` simply grows linearly. /// When `max_m` is set, only entries with `m ≤ max_m` are considered. -fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { +pub(crate) fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { if t_norm <= 0.0 { return (1, 1); } diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 5ab7b907..6a88efba 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -44,6 +44,9 @@ use std::time::Instant; pub mod expm; pub use expm::{Csr, CsrCx, ExpmOpts, csr_from_triplets, csr_one_norm, expm_multiply, spmv_parallel}; +/// Matrix-free / quspin-expm-backed `exp(dt·L*)·b` engine. See module docs. +pub(crate) mod mf_expm; + /// Per-step orbit-rep evolution under translation symmetry — phase-aware /// action + complex CSR throughout. See module docs. pub mod orbit_rep; @@ -1251,10 +1254,13 @@ impl LindbladSpec { basis: &[Word], dt: f64, b: &[Complex], - opts: ExpmOpts, + _opts: ExpmOpts, ) -> Vec> { - let csr = self.generator_csr(basis); - expm::expm_multiply_complex(&csr, dt, b, opts) + // The generator is the REAL in-basis-restricted matrix; only the + // vector `b` is complex. By linearity, + // `exp(dt·M)·(re + i·im) = exp(dt·M)·re + i·exp(dt·M)·im`, so this is + // two real matrix-free applies recombined. Fully matrix-free; no CSR. + mf_expm::expm_apply_mf_cxvec(self, basis, dt, b) } /// One classical RK4 step on `O ← O + dt · L*(O)`, expanding the basis @@ -1620,24 +1626,10 @@ impl LindbladSpec { basis: &[Word], dt: f64, b: &[f64], - opts: ExpmOpts, - matrix_free: bool, + _opts: ExpmOpts, + _matrix_free: bool, ) -> Vec { - if matrix_free { - let basis_index = build_basis_index(basis); - let one_norm = self.one_norm_matrix_free(basis, &basis_index); - expm::expm_multiply_mf( - basis.len(), - one_norm, - |x, y| self.spmv_matrix_free(basis, &basis_index, x, y), - dt, - b, - opts, - ) - } else { - let csr = self.generator_csr(basis); - expm_multiply(&csr, dt, b, opts) - } + mf_expm::expm_apply_mf(self, basis, dt, b) } /// Compute the unscaled list of `(output, coefficient)` pairs that @@ -1888,6 +1880,63 @@ mod tests { assert!((z_coeff - (-1.0)).abs() < 1e-10, "Z coeff = {z_coeff}"); } + /// Parity: the new quspin-expm matrix-free real engine + /// (`mf_expm::expm_apply_mf`) must agree with the retired CSR engine + /// (`expm::expm_multiply`) on a small random case to < 1e-9. + #[test] + fn parity_real_mf_against_retired_engine() { + let n = 4usize; + let mut h_terms: Vec<(String, f64)> = Vec::new(); + for j in 0..n { + let nxt = (j + 1) % n; + for op in ['X', 'Z'] { + let mut s = vec!['I'; n]; + s[j] = op; + s[nxt] = op; + h_terms.push((s.into_iter().collect(), 0.7)); + } + } + // Single-site Z dephasing jump on qubit 0 (length-n string). + let mut zj = vec!['I'; n]; + zj[0] = 'Z'; + let jump = jump_hpauli(&zj.into_iter().collect::(), 0.3); + let spec = LindbladSpec::new(n, &h_terms, &[jump]).unwrap(); + + // Basis: all single-site Z and X words. + let mut basis: Vec = Vec::new(); + for j in 0..n { + for op in ['Z', 'X'] { + let mut s = vec!['I'; n]; + s[j] = op; + let (w, _) = parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); + basis.push(w); + } + } + + // Deterministic pseudo-random input vector. + let mut seed = 0xdead_beef_0000_0001u64; + let mut next = || { + seed ^= seed << 13; + seed ^= seed >> 7; + seed ^= seed << 17; + (seed >> 11) as f64 / (1u64 << 53) as f64 * 2.0 - 1.0 + }; + let b: Vec = (0..basis.len()).map(|_| next()).collect(); + let dt = 0.23; + + let new = mf_expm::expm_apply_mf(&spec, &basis, dt, &b); + let csr = spec.generator_csr(&basis); + let old = expm::expm_multiply(&csr, dt, &b, ExpmOpts::default()); + + assert_eq!(new.len(), old.len()); + let mut worst = 0.0_f64; + for (a, c) in new.iter().zip(old.iter()) { + worst = worst.max((a - c).abs()); + } + assert!(worst < 1e-9, "real MF parity mismatch: worst |Δ| = {worst:e}"); + eprintln!("parity_real_mf_against_retired_engine: worst |Δ| = {worst:e}"); + } + #[test] fn word_codec_roundtrip() { let codes = [0u8, 1, 2, 3, 1, 0, 3, 2]; diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs new file mode 100644 index 00000000..e897979e --- /dev/null +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -0,0 +1,405 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Matrix-free `exp(dt · L*) · b` for the real (`f64`) path, driven by the +//! external `quspin-expm` crate. +//! +//! Instead of materialising the in-basis-restricted generator as a CSR, we +//! wrap the Lindbladian action in a [`MfOp`] implementing +//! [`quspin_types::LinearOperator`] and feed it to +//! [`quspin_expm::ExpmOp::from_parts`]. Using `from_parts` (rather than +//! `ExpmOp::new`) supplies the diagonal shift `μ`, the partition count `s`, +//! and the truncation order `m*` directly, which BYPASSES quspin's adaptive +//! parameter selection. As a consequence the 1-norm *estimator* and +//! `dot_transpose` are never invoked on the single-vector `apply` path — only +//! [`LinearOperator::dot`] runs, inside the Taylor/Horner loop. +//! +//! The shift `μ` and the exact column 1-norm of `A − μ·I` are computed in one +//! matrix-free pass over the basis (the same `(m, s)` selection table as the +//! retired hand-rolled engine in [`crate::expm`]). + +use crate::expm::CsrCx; +use crate::{LindbladSpec, Word, build_basis_index, expm}; +use fxhash::FxHashMap; +use num::Complex; +use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; +use rayon::prelude::*; + +/// Borrowed matrix-free view of the in-basis-restricted Lindbladian +/// generator `M` (the same matrix [`LindbladSpec::generator_csr`] would +/// build, never materialised). +/// +/// Borrowed, not owned: `quspin-types` provides a blanket +/// `LinearOperator` impl for `&T`, so `ExpmOp::from_parts(op, …)` accepts a +/// `MfOp` by value while it keeps borrowing `spec` / `basis`. +pub(crate) struct MfOp<'a> { + spec: &'a LindbladSpec, + basis: &'a [Word], + /// `Word → row` map for `basis`; built once and reused across every + /// `dot` in the Taylor loop. + index: FxHashMap, +} + +impl LinearOperator for MfOp<'_> { + fn dim(&self) -> usize { + self.basis.len() + } + + fn parallel_hint(&self) -> bool { + // `dot` parallelises internally over basis columns, and we drive the + // sequential single-vector `apply` path; never let quspin run its + // persistent-thread pool on top of our rayon parallelism. + false + } + + fn dot(&self, overwrite: bool, input: &[f64], output: &mut [f64]) -> Result<(), QuSpinError> { + if overwrite { + self.spec + .spmv_matrix_free(self.basis, &self.index, input, output); + } else { + let mut tmp = vec![0.0; output.len()]; + self.spec + .spmv_matrix_free(self.basis, &self.index, input, &mut tmp); + for (o, t) in output.iter_mut().zip(tmp.iter()) { + *o += *t; + } + } + Ok(()) + } + + fn trace(&self) -> f64 { + // Computed eagerly in `expm_apply_mf`; never reached on the + // `from_parts` + single-vector `apply` path. + unreachable!("MfOp::trace not used on the from_parts apply path") + } + + fn onenorm(&self, _shift: f64) -> f64 { + unreachable!("MfOp::onenorm not used on the from_parts apply path") + } + + fn dot_transpose( + &self, + _overwrite: bool, + _input: &[f64], + _output: &mut [f64], + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_transpose not used on the from_parts apply path".into(), + )) + } + + fn dot_many( + &self, + _overwrite: bool, + _input: ndarray::ArrayView2<'_, f64>, + _output: ndarray::ArrayViewMut2<'_, f64>, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_many not used on the from_parts apply path".into(), + )) + } + + fn dot_chunk( + &self, + _overwrite: bool, + _input: &[f64], + _output_chunk: &mut [f64], + _row_start: usize, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_chunk not used on the from_parts apply path".into(), + )) + } + + fn dot_transpose_chunk( + &self, + _input: &[f64], + _output: &[::Atomic], + _rows: std::ops::Range, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_transpose_chunk not used on the from_parts apply path".into(), + )) + } +} + +/// Compute `exp(dt · M) · coeffs` for the in-basis-restricted generator +/// `M`, matrix-free, via `quspin-expm`. Returns a fresh `Vec` of length +/// `basis.len()`. +/// +/// One matrix-free pass extracts the diagonal shift `μ = tr(M)/n` and the +/// exact column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor +/// partition `(m*, s)` and hand everything to +/// [`quspin_expm::ExpmOp::from_parts`]. +pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs: &[f64]) -> Vec { + let n = basis.len(); + if n == 0 { + return Vec::new(); + } + + // Single matrix-free pass: per column gather `raw = Σ|coeff|` and the + // diagonal entry `diag` (coeff of the term whose output Word == the input + // Word). From these we get `trace = Σ diag`, `μ = trace/n`, and the + // column 1-norm of `M − μ·I`: per column it is + // `raw − |diag| + |diag − μ|`. + let per_col: Vec<(f64, f64)> = basis + .par_iter() + .map(|p| { + let terms = spec.action(p); + let mut raw = 0.0; + let mut diag = 0.0; + for (w, c) in &terms { + raw += c.abs(); + if w == p { + diag = *c; + } + } + (raw, diag) + }) + .collect(); + + let trace: f64 = per_col.iter().map(|(_, d)| *d).sum(); + let mu = trace / n as f64; + let onenorm = per_col + .iter() + .map(|(raw, diag)| raw - diag.abs() + (diag - mu).abs()) + .fold(0.0_f64, f64::max); + + let (m_star, s) = expm::select_ms(dt.abs() * onenorm, None); + + let op = MfOp { + spec, + basis, + index: build_basis_index(basis), + }; + let expm = quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, 1e-12_f64); + + let mut v = coeffs.to_vec(); + expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply"); + v +} + +/// `exp(dt · M) · b` where `M` is the REAL in-basis-restricted generator but +/// the input vector `b` is complex. Because `M` is real, +/// `exp(dt·M)·(re + i·im) = exp(dt·M)·re + i·exp(dt·M)·im`, so we split the +/// complex vector into its real and imaginary parts, run two real +/// matrix-free applies, and recombine. Fully matrix-free; no CSR. +pub(crate) fn expm_apply_mf_cxvec( + spec: &LindbladSpec, + basis: &[Word], + dt: f64, + b: &[Complex], +) -> Vec> { + let n = basis.len(); + if n == 0 { + return Vec::new(); + } + let re: Vec = b.iter().map(|z| z.re).collect(); + let im: Vec = b.iter().map(|z| z.im).collect(); + let re_out = expm_apply_mf(spec, basis, dt, &re); + let im_out = expm_apply_mf(spec, basis, dt, &im); + re_out + .into_iter() + .zip(im_out) + .map(|(r, i)| Complex::new(r, i)) + .collect() +} + +/// Borrowed CSR-backed view of a genuinely complex generator (the orbit-rep +/// generator built by [`LindbladSpec::generator_csr_orbit_rep`], whose +/// momentum-character phases make the entries complex). There is no +/// matrix-free complex action available, so this drives the materialised +/// `CsrCx` through `quspin-expm`. +pub(crate) struct CsrCxOp<'a> { + csr: &'a CsrCx, +} + +impl LinearOperator> for CsrCxOp<'_> { + fn dim(&self) -> usize { + self.csr.rows() + } + + fn parallel_hint(&self) -> bool { + // `spmv_cx` parallelises internally over rows when worthwhile; we + // drive the sequential single-vector `apply` path. + false + } + + fn dot( + &self, + overwrite: bool, + input: &[Complex], + output: &mut [Complex], + ) -> Result<(), QuSpinError> { + if overwrite { + expm::spmv_cx(self.csr, input, output, usize::MAX); + } else { + let mut tmp = vec![Complex::new(0.0, 0.0); output.len()]; + expm::spmv_cx(self.csr, input, &mut tmp, usize::MAX); + for (o, t) in output.iter_mut().zip(tmp.iter()) { + *o += *t; + } + } + Ok(()) + } + + fn trace(&self) -> Complex { + unreachable!("CsrCxOp::trace not used on the from_parts apply path") + } + + fn onenorm(&self, _shift: Complex) -> f64 { + unreachable!("CsrCxOp::onenorm not used on the from_parts apply path") + } + + fn dot_transpose( + &self, + _overwrite: bool, + _input: &[Complex], + _output: &mut [Complex], + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "CsrCxOp: dot_transpose not used on the from_parts apply path".into(), + )) + } + + fn dot_many( + &self, + _overwrite: bool, + _input: ndarray::ArrayView2<'_, Complex>, + _output: ndarray::ArrayViewMut2<'_, Complex>, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "CsrCxOp: dot_many not used on the from_parts apply path".into(), + )) + } + + fn dot_chunk( + &self, + _overwrite: bool, + _input: &[Complex], + _output_chunk: &mut [Complex], + _row_start: usize, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "CsrCxOp: dot_chunk not used on the from_parts apply path".into(), + )) + } + + fn dot_transpose_chunk( + &self, + _input: &[Complex], + _output: &[ as ExpmComputation>::Atomic], + _rows: std::ops::Range, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "CsrCxOp: dot_transpose_chunk not used on the from_parts apply path".into(), + )) + } +} + +/// Compute `exp(dt · M) · coeffs` for a genuinely complex CSR generator `M` +/// (the orbit-rep generator) via `quspin-expm`. Returns a fresh +/// `Vec>` of length `csr.rows()`. +/// +/// Uses the exact zero shift `μ = 0` (the trace shift is only an efficiency +/// optimisation and orbit-rep matrices are small). The Taylor partition +/// `(m*, s)` is picked from `‖dt·M‖₁` via the same selection table as the +/// retired hand-rolled engine in [`crate::expm`]. +pub(crate) fn expm_apply_csr_cx( + csr: &CsrCx, + dt: f64, + coeffs: &[Complex], +) -> Vec> { + let n = csr.rows(); + if n == 0 { + return Vec::new(); + } + + let mu = Complex::new(0.0, 0.0); + let onenorm = expm::csr_cx_one_norm(csr); + let (m_star, s) = expm::select_ms(dt.abs() * onenorm, None); + + let op = CsrCxOp { csr }; + let e = quspin_expm::ExpmOp::from_parts( + op, + Complex::new(dt, 0.0), + mu, + s as usize, + m_star as usize, + 1e-12_f64, + ); + + let mut v = coeffs.to_vec(); + e.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply (csr cx)"); + v +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::expm::{self, CsrCx, ExpmOpts}; + use num::Complex; + use sprs::{CsMatI, TriMatI}; + + /// Build a small random real CSR + a random `LindbladSpec`-free check is + /// hard (action depends on a spec), so the real parity test lives in + /// `lib.rs` where a spec is available. Here we cover the complex + /// orbit-rep path against the retired engine. + fn rand_csr_cx(n: usize, density: f64, seed: &mut u64) -> CsrCx { + let mut next = || { + // xorshift64 + let mut x = *seed; + x ^= x << 13; + x ^= x >> 7; + x ^= x << 17; + *seed = x; + (x >> 11) as f64 / (1u64 << 53) as f64 + }; + let mut tri = TriMatI::, u32>::new((n, n)); + for i in 0..n { + for j in 0..n { + if next() < density { + let re = next() * 2.0 - 1.0; + let im = next() * 2.0 - 1.0; + tri.add_triplet(i, j, Complex::new(re, im)); + } + } + } + tri.to_csr() + } + + #[test] + fn parity_complex_csr_against_retired_engine() { + let mut worst: f64 = 0.0; + for &n in &[1usize, 3, 7, 12] { + let mut s2 = 0x1234_5678_9abc_def0u64.wrapping_add(n as u64 * 0x9e37_79b9); + let csr: CsMatI, u32, usize> = rand_csr_cx(n, 0.5, &mut s2); + let dt = 0.37; + let mut next = || { + s2 ^= s2 << 13; + s2 ^= s2 >> 7; + s2 ^= s2 << 17; + (s2 >> 11) as f64 / (1u64 << 53) as f64 + }; + let coeffs: Vec> = (0..n) + .map(|_| Complex::new(next() * 2.0 - 1.0, next() * 2.0 - 1.0)) + .collect(); + + let new = expm_apply_csr_cx(&csr, dt, &coeffs); + let old = expm::expm_multiply_cx(&csr, dt, &coeffs, ExpmOpts::default()); + + assert_eq!(new.len(), old.len()); + for (a, b) in new.iter().zip(old.iter()) { + let d = (a - b).norm(); + worst = worst.max(d); + assert!( + d < 1e-9, + "complex CSR parity mismatch (n={n}): new={a} old={b} |Δ|={d:e}" + ); + } + } + eprintln!("parity_complex_csr_against_retired_engine: worst |Δ| = {worst:e}"); + } +} diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index 77fd67c9..b431538d 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -16,8 +16,9 @@ //! representation, throughout the entire evolution. //! //! The CSR matrix that the Krylov-expm machinery operates on has -//! **complex entries** (because of the `χ_k(g)` phase factors), so -//! `expm_multiply_cx` is used instead of the real `expm_multiply`. +//! **complex entries** (because of the `χ_k(g)` phase factors), so the +//! complex CSR-backed `mf_expm::expm_apply_csr_cx` (driving the external +//! `quspin-expm` engine) is used instead of the real path. //! //! ## Limitations //! @@ -29,7 +30,7 @@ //! `pc_step_orbit_rep` once per momentum mode and inverse-Fourier //! the results. -use crate::expm::{CsrCx, ExpmOpts, expm_multiply_cx}; +use crate::expm::{CsrCx, ExpmOpts}; use crate::{Error, LindbladSpec}; use fxhash::{FxBuildHasher, FxHashMap}; use num::Complex; @@ -238,7 +239,7 @@ pub fn pc_step_orbit_rep( tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, + _opts: ExpmOpts, group: &TranslationGroup, k_modes: &[i32], ) -> Result<(), Error> { @@ -252,7 +253,7 @@ pub fn pc_step_orbit_rep( } // 2. Predictor: build CSR + expm. let csr = generator_csr_orbit_rep(spec, basis, group, k_modes); - let coeffs_predict = expm_multiply_cx(&csr, dt, coeffs, opts); + let coeffs_predict = crate::mf_expm::expm_apply_csr_cx(&csr, dt, coeffs); drop(csr); // 3. Second-hop leakage from predicted state. let leak2 = leakage_orbit_rep(spec, basis, &coeffs_predict, protected, group, k_modes)?; @@ -265,7 +266,7 @@ pub fn pc_step_orbit_rep( } // 4. Corrector: rebuild + expm from pre-step state. let csr = generator_csr_orbit_rep(spec, basis, group, k_modes); - *coeffs = expm_multiply_cx(&csr, dt, coeffs, opts); + *coeffs = crate::mf_expm::expm_apply_csr_cx(&csr, dt, coeffs); drop(csr); // 5. Prune. if drop_tol > 0.0 { From f73cd6d8274c7d161a23872c7ef46c6ef57c2f57 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 17 Jun 2026 17:10:38 +0100 Subject: [PATCH 025/159] refactor(ppvm-lindblad): remove retired expm engine and CSR-for-real path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now that evolution runs entirely on quspin-expm (matrix-free for the real and complex-vector paths, CSR-backed only for the complex orbit-rep generator), delete the dead hand-rolled engine and every remnant of the CSR-for-real path: * expm.rs: drop expm_multiply / _mf / _complex / _cx, the real Csr type, csr_from_triplets, csr_one_norm, spmv / spmv_parallel / spmv_complex, and the ExpmOpts options struct. Kept: select_ms/THETA (used by the new engine), and the complex CsrCx / csr_cx_one_norm / spmv_cx (orbit-rep). * lib.rs: remove LindbladSpec::generator_csr, one_norm_matrix_free, the now-dead SendPtr scatter helper, and the retired parity test. Drop the `opts: ExpmOpts` and `matrix_free: bool` parameters from pc_step, pc_step_timed, pc_step_complex (+ inner) and expm_step — the real path is unconditionally matrix-free now. * orbit_rep.rs: drop the unused `_opts` parameter. * benches/spmv_scaling.rs: removed (benched the deleted real Csr/SpMV); drop its [[bench]] entry and the now-unused criterion dev-dep. Python bindings + wrapper: drop the expm_tol / parallel_threshold / matrix_free / max_krylov_m kwargs (they only configured the removed engine) from pc_step / pc_step_timed / pc_step_complex / pc_step_orbit_rep; num_threads is retained. Updated the lindblad_pc_scaling demo accordingly. Net -1042 / +35 lines. Validated: cargo test --workspace --exclude ppvm-python-native (all green, warning-clean) and the full Python suite (146 passed). Co-Authored-By: Claude Opus 4.8 (1M context) --- Cargo.lock | 1 - crates/ppvm-lindblad/Cargo.toml | 5 - crates/ppvm-lindblad/benches/spmv_scaling.rs | 66 --- crates/ppvm-lindblad/src/expm.rs | 527 +------------------ crates/ppvm-lindblad/src/lib.rs | 308 +---------- crates/ppvm-lindblad/src/mf_expm.rs | 67 --- crates/ppvm-lindblad/src/orbit_rep.rs | 3 +- crates/ppvm-python-native/src/lindblad.rs | 56 +- ppvm-python/demo/lindblad_pc_scaling.py | 1 - ppvm-python/src/ppvm/lindblad.py | 43 +- 10 files changed, 35 insertions(+), 1042 deletions(-) delete mode 100644 crates/ppvm-lindblad/benches/spmv_scaling.rs diff --git a/Cargo.lock b/Cargo.lock index dc14b3b0..136b70a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1417,7 +1417,6 @@ name = "ppvm-lindblad" version = "0.1.0" dependencies = [ "approx", - "criterion", "fxhash", "ndarray", "num", diff --git a/crates/ppvm-lindblad/Cargo.toml b/crates/ppvm-lindblad/Cargo.toml index 2d07f901..89e57bb5 100644 --- a/crates/ppvm-lindblad/Cargo.toml +++ b/crates/ppvm-lindblad/Cargo.toml @@ -22,8 +22,3 @@ quspin-types = { git = "https://github.com/QuSpin/QuSpin-rust", rev = "6f4a1581e [dev-dependencies] approx = "0.5.1" -criterion = "0.7.0" - -[[bench]] -name = "spmv_scaling" -harness = false diff --git a/crates/ppvm-lindblad/benches/spmv_scaling.rs b/crates/ppvm-lindblad/benches/spmv_scaling.rs deleted file mode 100644 index f7fdc838..00000000 --- a/crates/ppvm-lindblad/benches/spmv_scaling.rs +++ /dev/null @@ -1,66 +0,0 @@ -// SPDX-FileCopyrightText: 2026 The PPVM Authors -// SPDX-License-Identifier: Apache-2.0 - -//! Parallel SpMV scaling on a tridiagonal CSR matrix. Sweeps both matrix -//! size and thread count, so we can see where parallelism actually pays -//! off (compute-bound, L3-fitting) vs where DRAM bandwidth ceilings out -//! the speedup (large matrices). Each invocation runs inside a freshly -//! built rayon pool of the requested size. - -use criterion::{BenchmarkId, Criterion, Throughput, criterion_group, criterion_main}; -use ppvm_lindblad::{Csr, csr_from_triplets, spmv_parallel}; - -fn build_tridiagonal(n: usize) -> Csr { - let mut trips = Vec::with_capacity(3 * n); - for i in 0..n { - trips.push((i, i, -2.0)); - if i > 0 { - trips.push((i, i - 1, 1.0)); - } - if i + 1 < n { - trips.push((i, i + 1, 1.0)); - } - } - csr_from_triplets(n, &trips) -} - -fn bench_spmv_scaling(c: &mut Criterion) { - // (n, label) pairs: nnz ≈ 3n. ~16 bytes per nonzero (usize indices + f64) - // + 8 bytes per row. - // - // n = 100_000 → nnz ≈ 300_000 → ~5 MB (fits L2/L3, compute-bound) - // n = 500_000 → nnz ≈ 1_500_000 → ~24 MB (L3 boundary on M-series) - // n = 2_000_000 → nnz ≈ 6_000_000 → ~96 MB (busts L3, bandwidth-bound) - // n = 8_000_000 → nnz ≈ 24_000_000 → ~384 MB (well into DRAM) - let sizes = [100_000usize, 500_000, 2_000_000, 8_000_000]; - - for &n in &sizes { - let m = build_tridiagonal(n); - let x: Vec = (0..n).map(|i| (i as f64).sin()).collect(); - - let mut group = c.benchmark_group(format!("spmv_parallel/n={}", n)); - group.throughput(Throughput::Elements(m.nnz() as u64)); - group.sample_size(30); - group.measurement_time(std::time::Duration::from_secs(3)); - group.warm_up_time(std::time::Duration::from_secs(1)); - - for &threads in &[1usize, 2, 4, 8] { - let pool = rayon::ThreadPoolBuilder::new() - .num_threads(threads) - .build() - .unwrap(); - group.bench_with_input(BenchmarkId::from_parameter(threads), &threads, |b, _| { - b.iter_batched_ref( - || vec![0f64; n], - |y| pool.install(|| spmv_parallel(&m, &x, y)), - criterion::BatchSize::SmallInput, - ); - }); - } - - group.finish(); - } -} - -criterion_group!(benches, bench_spmv_scaling); -criterion_main!(benches); diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index cecc63d5..8ff9d1de 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -1,30 +1,24 @@ // SPDX-FileCopyrightText: 2026 The PPVM Authors // SPDX-License-Identifier: Apache-2.0 -//! Action of the matrix exponential, `y = exp(t·A)·b`, for real sparse `A`. +//! Support pieces for the `quspin-expm`-backed `exp(t·A)·b` engine. //! -//! Implements Al-Mohy & Higham (2011), Algorithm 3.2: a Horner-form -//! degree-`m` Taylor polynomial evaluated `s` times (scaling-and-squaring), -//! with `(m, s)` chosen from a precomputed table that minimises total SpMV -//! count subject to a double-precision truncation bound. +//! The hand-rolled scaling-and-squaring engine that once lived here has been +//! retired in favour of the external `quspin-expm` crate (driven from +//! [`crate::mf_expm`]). What remains is the shared scaffolding the new path +//! still relies on: //! -//! Storage is `Csr`. The hot path is repeated sparse-matrix × -//! dense-vector products; SpMV is parallelised over rows with `rayon` when -//! the matrix has more than [`ExpmOpts::parallel_threshold`] nonzeros (below -//! that the task-spawn overhead beats the cache-friendly serial loop). -//! Both branches produce bit-identical output. +//! - the `(m, s)` selection table [`THETA`] / [`select_ms`] from Al-Mohy & +//! Higham (2011), used to pick the Taylor partition handed to +//! `quspin-expm`'s `from_parts`; +//! - the complex CSR type [`CsrCx`] and its 1-norm / SpMV +//! ([`csr_cx_one_norm`], [`spmv_cx`]), used by the orbit-rep evolution +//! path (whose momentum-character phases make the matrix complex). use num::Complex; use rayon::prelude::*; use sprs::CsMatI; -/// Sparse CSR matrix with `u32` column indices and `usize` indptr. -/// -/// `u32` keeps memory traffic in SpMV minimal (4 bytes per nonzero for the -/// column index instead of 8) — important for bandwidth-bound regimes. -/// `usize` indptr accommodates `nnz > 2^32` even when individual indices fit. -pub type Csr = CsMatI; - /// Complex-coefficient CSR matrix. Used by the orbit-rep evolution /// path, where matrix elements pick up `χ_k(g)` phases from the /// translation generator and become complex. @@ -69,122 +63,6 @@ pub(crate) const THETA: &[(u32, f64)] = &[ (30, 3.54), ]; -/// Build a `Csr` (square, `n × n`) from `(row, col, value)` -/// triplets. Duplicate triplets at the same `(row, col)` are summed. -pub fn csr_from_triplets(n: usize, triplets: &[(usize, usize, f64)]) -> Csr { - let mut counts = vec![0usize; n]; - for &(r, _, _) in triplets { - debug_assert!(r < n, "row index {r} out of range"); - counts[r] += 1; - } - let mut indptr = vec![0usize; n + 1]; - for i in 0..n { - indptr[i + 1] = indptr[i] + counts[i]; - } - let nnz = indptr[n]; - let mut indices = vec![0u32; nnz]; - let mut data = vec![0f64; nnz]; - let mut offset = vec![0usize; n]; - for &(r, c, v) in triplets { - debug_assert!(c < n, "col index {c} out of range"); - let pos = indptr[r] + offset[r]; - indices[pos] = c as u32; - data[pos] = v; - offset[r] += 1; - } - Csr::new_from_unsorted((n, n), indptr, indices, data) - .map_err(|(_, _, _, e)| e) - .expect("invalid CSR structure") -} - -/// Matrix 1-norm: `max_j Σ_i |A_{ij}|` (max column sum of absolute values). -/// Used to pick the Taylor parameters `(m, s)`. -pub fn csr_one_norm(m: &Csr) -> f64 { - if m.cols() == 0 { - return 0.0; - } - let mut col_sums = vec![0f64; m.cols()]; - for (k, &col) in m.indices().iter().enumerate() { - col_sums[col as usize] += m.data()[k].abs(); - } - col_sums.into_iter().fold(0f64, f64::max) -} - -/// `y ← A · x` (serial). -pub fn spmv_serial(m: &Csr, x: &[f64], y: &mut [f64]) { - debug_assert_eq!(x.len(), m.cols()); - debug_assert_eq!(y.len(), m.rows()); - let indptr_raw = m.indptr(); - let indptr = indptr_raw.raw_storage(); - let indices = m.indices(); - let data = m.data(); - for (i, yi) in y.iter_mut().enumerate() { - let mut sum = 0.0; - for k in indptr[i]..indptr[i + 1] { - sum += data[k] * x[indices[k] as usize]; - } - *yi = sum; - } -} - -/// `y ← A · x` (rayon-parallel over rows). -pub fn spmv_parallel(m: &Csr, x: &[f64], y: &mut [f64]) { - debug_assert_eq!(x.len(), m.cols()); - debug_assert_eq!(y.len(), m.rows()); - let indptr_raw = m.indptr(); - let indptr = indptr_raw.raw_storage(); - let indices = m.indices(); - let data = m.data(); - y.par_iter_mut().enumerate().for_each(|(i, yi)| { - let mut sum = 0.0; - for k in indptr[i]..indptr[i + 1] { - sum += data[k] * x[indices[k] as usize]; - } - *yi = sum; - }); -} - -/// Dispatches to [`spmv_parallel`] when `nnz ≥ parallel_threshold`, -/// else [`spmv_serial`]. -#[inline] -pub fn spmv(m: &Csr, x: &[f64], y: &mut [f64], parallel_threshold: usize) { - if m.nnz() >= parallel_threshold { - spmv_parallel(m, x, y); - } else { - spmv_serial(m, x, y); - } -} - -/// Options for [`expm_multiply`]. -#[derive(Clone, Copy, Debug)] -pub struct ExpmOpts { - /// Stop the inner Horner loop once successive Taylor terms drop below - /// `tol · ‖F‖`. Default `1e-12`. - pub tol: f64, - /// Threshold (in matrix `nnz`) above which SpMV is parallelised. Below - /// this rayon's task overhead beats cache-friendly serial. Default - /// `50_000`. - pub parallel_threshold: usize, - /// Maximum Krylov-Taylor degree `m_star` considered by `select_ms`. - /// `None` (default) uses the full table up to `m=30`. Capping at a - /// smaller value (e.g. `Some(10)`) trades wall (more outer - /// scaling-and-squaring `s` steps, so more total matvecs) for - /// instantaneous memory (no `m`-sized stack of vectors held in the - /// matrix-free SpMV's per-thread accumulators). Useful when `n` is - /// large enough that `m × n × 8 B` of Krylov scratch dominates RSS. - pub max_krylov_m: Option, -} - -impl Default for ExpmOpts { - fn default() -> Self { - Self { - tol: 1e-12, - parallel_threshold: 50_000, - max_krylov_m: None, - } - } -} - /// Pick `(m, s)` minimising `s·m` subject to `s ≥ ⌈t_norm / θ_m⌉, s ≥ 1`. /// Restricted to `m ≤ 30`; for larger norms `s` simply grows linearly. /// When `max_m` is set, only entries with `m ≤ max_m` are considered. @@ -213,68 +91,6 @@ pub(crate) fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { (best_m, best_s) } -#[inline] -fn inf_norm(v: &[f64]) -> f64 { - v.iter().fold(0f64, |acc, &x| acc.max(x.abs())) -} - -/// Compute `exp(t · A) · b` for a real square sparse matrix `A`. Allocates -/// a fresh `Vec` of length `A.rows()`. -/// -/// The algorithm is Al-Mohy & Higham (2011) Algorithm 3.2: pick -/// `(m, s)` from the precomputed `θ_m` table to minimise SpMV count, -/// then iteratively apply a degree-`m` Horner-form Taylor polynomial -/// `s` times. Inside each Horner sweep we terminate early once two -/// successive Taylor terms have norm below `opts.tol · ‖F‖`. -pub fn expm_multiply(a: &Csr, t: f64, b: &[f64], opts: ExpmOpts) -> Vec { - assert_eq!( - a.rows(), - b.len(), - "matrix size {} mismatches vector length {}", - a.rows(), - b.len() - ); - let n = a.rows(); - if n == 0 { - return Vec::new(); - } - - let t_a_one_norm = t.abs() * csr_one_norm(a); - let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); - let scale = t / s as f64; - - let mut f = b.to_vec(); - let mut bk = b.to_vec(); - let mut work = vec![0f64; n]; - - for _ in 0..s { - let mut c1 = inf_norm(&bk); - for i in 1..=m_star { - // bk ← (scale / i) · A · bk - spmv(a, &bk, &mut work, opts.parallel_threshold); - let factor = scale / i as f64; - for j in 0..n { - bk[j] = factor * work[j]; - } - // f ← f + bk - for j in 0..n { - f[j] += bk[j]; - } - // Early termination: two small successive Taylor terms. - let c2 = inf_norm(&bk); - let f_norm = inf_norm(&f).max(f64::MIN_POSITIVE); - if c1 + c2 <= opts.tol * f_norm { - break; - } - c1 = c2; - } - // Outer step: `f` becomes the input for the next scaling power. - bk.copy_from_slice(&f); - } - - f -} - /// Matrix 1-norm `max_j Σ_i |A_{ij}|` for a complex CSR. pub fn csr_cx_one_norm(m: &CsrCx) -> f64 { if m.cols() == 0 { @@ -330,330 +146,9 @@ pub fn spmv_cx(m: &CsrCx, x: &[Complex], y: &mut [Complex], parallel_t } } -/// Compute `exp(t · A) · b` for a **complex** CSR matrix `A` and -/// complex vector `b`. Same Al-Mohy & Higham scaling-and-squaring as -/// [`expm_multiply`]. -pub fn expm_multiply_cx(a: &CsrCx, t: f64, b: &[Complex], opts: ExpmOpts) -> Vec> { - assert_eq!( - a.rows(), - b.len(), - "matrix size {} mismatches vector length {}", - a.rows(), - b.len() - ); - let n = a.rows(); - if n == 0 { - return Vec::new(); - } - - let t_a_one_norm = t.abs() * csr_cx_one_norm(a); - let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); - let scale = t / s as f64; - - let mut f = b.to_vec(); - let mut bk = b.to_vec(); - let mut work = vec![Complex::new(0.0, 0.0); n]; - - for _ in 0..s { - let mut c1 = inf_norm_c(&bk); - for i in 1..=m_star { - spmv_cx(a, &bk, &mut work, opts.parallel_threshold); - let factor = scale / i as f64; - for j in 0..n { - bk[j] = work[j] * factor; - } - for j in 0..n { - f[j] += bk[j]; - } - let c2 = inf_norm_c(&bk); - let f_norm = inf_norm_c(&f).max(f64::MIN_POSITIVE); - if c1 + c2 <= opts.tol * f_norm { - break; - } - c1 = c2; - } - bk.copy_from_slice(&f); - } - - f -} - -/// Complex-coefficient SpMV: `y ← A · x` where `A` is real-valued (CSR -/// of `f64`) and `x`, `y` are complex. -/// -/// Implemented as two real SpMVs on the real and imaginary parts, then -/// combined. Identical numerics to a single complex SpMV by linearity. -pub fn spmv_complex(m: &Csr, x: &[Complex], y: &mut [Complex], parallel_threshold: usize) { - debug_assert_eq!(x.len(), m.cols()); - debug_assert_eq!(y.len(), m.rows()); - let n = m.cols(); - let mut x_re: Vec = x.iter().map(|c| c.re).collect(); - let mut x_im: Vec = x.iter().map(|c| c.im).collect(); - let mut y_re = vec![0.0_f64; n]; - let mut y_im = vec![0.0_f64; n]; - spmv(m, &x_re, &mut y_re, parallel_threshold); - spmv(m, &x_im, &mut y_im, parallel_threshold); - for (yi, (re, im)) in y.iter_mut().zip(y_re.iter().zip(y_im.iter())) { - *yi = Complex::new(*re, *im); - } - // Silence unused-mut warnings on Vec intermediates if they were - // ever needed for further reuse. - let _ = (&mut x_re, &mut x_im); -} - -/// Compute `exp(t · A) · b` where `A` is a real CSR and `b` is a complex -/// vector. Result is a fresh `Vec>` of length `A.rows()`. -/// -/// Algorithm: same Al-Mohy & Higham scaling-and-squaring as the real -/// [`expm_multiply`], with the inner SpMV replaced by [`spmv_complex`]. -/// Vector arithmetic is in `Complex` throughout. -pub fn expm_multiply_complex(a: &Csr, t: f64, b: &[Complex], opts: ExpmOpts) -> Vec> { - assert_eq!( - a.rows(), - b.len(), - "matrix size {} mismatches vector length {}", - a.rows(), - b.len() - ); - let n = a.rows(); - if n == 0 { - return Vec::new(); - } - - let t_a_one_norm = t.abs() * csr_one_norm(a); - let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); - let scale = t / s as f64; - - let mut f = b.to_vec(); - let mut bk = b.to_vec(); - let mut work = vec![Complex::new(0.0, 0.0); n]; - - for _ in 0..s { - let mut c1 = inf_norm_c(&bk); - for i in 1..=m_star { - spmv_complex(a, &bk, &mut work, opts.parallel_threshold); - let factor = scale / i as f64; - for j in 0..n { - bk[j] = work[j] * factor; - } - for j in 0..n { - f[j] += bk[j]; - } - let c2 = inf_norm_c(&bk); - let f_norm = inf_norm_c(&f).max(f64::MIN_POSITIVE); - if c1 + c2 <= opts.tol * f_norm { - break; - } - c1 = c2; - } - bk.copy_from_slice(&f); - } - - f -} - -#[inline] -fn inf_norm_c(v: &[Complex]) -> f64 { - v.iter().fold(0f64, |acc, c| acc.max(c.norm())) -} - -/// Matrix-free variant of [`expm_multiply`]. Same Al-Mohy & Higham -/// algorithm, but takes the matrix 1-norm and SpMV operation as -/// arguments instead of a [`Csr`]. -/// -/// `spmv_fn(x, y)` must compute `y ← M · x` where `M` is the linear -/// operator being exponentiated. `one_norm` must be the 1-norm of `M` -/// (`max_j Σ_i |M_{ij}|`); the caller computes it once before the call. -/// -/// Use this when materialising `M` as a [`Csr`] would dominate memory. -/// Trade: every SpMV recomputes the action instead of streaming through -/// pre-stored values, costing more compute per matvec. Wall time is -/// (per-eval cost × `s × m_star`), vs CSR's (build cost + `s × m_star × -/// matvec cost`), so matrix-free is wall-competitive only when CSR -/// matvec is memory-bandwidth-bound (i.e. at large `n`). -pub fn expm_multiply_mf( - n: usize, - one_norm: f64, - spmv_fn: F, - t: f64, - b: &[f64], - opts: ExpmOpts, -) -> Vec -where - F: Fn(&[f64], &mut [f64]), -{ - assert_eq!( - n, - b.len(), - "matrix dimension {} mismatches vector length {}", - n, - b.len() - ); - if n == 0 { - return Vec::new(); - } - - let t_a_one_norm = t.abs() * one_norm; - let (m_star, s) = select_ms(t_a_one_norm, opts.max_krylov_m); - let scale = t / s as f64; - - let mut f = b.to_vec(); - let mut bk = b.to_vec(); - let mut work = vec![0f64; n]; - - for _ in 0..s { - let mut c1 = inf_norm(&bk); - for i in 1..=m_star { - spmv_fn(&bk, &mut work); - let factor = scale / i as f64; - for j in 0..n { - bk[j] = factor * work[j]; - } - for j in 0..n { - f[j] += bk[j]; - } - let c2 = inf_norm(&bk); - let f_norm = inf_norm(&f).max(f64::MIN_POSITIVE); - if c1 + c2 <= opts.tol * f_norm { - break; - } - c1 = c2; - } - bk.copy_from_slice(&f); - } - - f -} - #[cfg(test)] mod tests { use super::*; - use approx::assert_abs_diff_eq; - - fn diag(vals: &[f64]) -> Csr { - let trips: Vec<_> = vals.iter().enumerate().map(|(i, &v)| (i, i, v)).collect(); - csr_from_triplets(vals.len(), &trips) - } - - #[test] - fn spmv_correctness() { - // [[1, 0, 2], - // [0, 3, 0], - // [4, 0, 5]] - let m = csr_from_triplets( - 3, - &[ - (0, 0, 1.0), - (0, 2, 2.0), - (1, 1, 3.0), - (2, 0, 4.0), - (2, 2, 5.0), - ], - ); - let x = vec![1.0, 1.0, 1.0]; - let mut y = vec![0.0; 3]; - spmv_serial(&m, &x, &mut y); - assert_eq!(y, vec![3.0, 3.0, 9.0]); - let mut y_par = vec![0.0; 3]; - spmv_parallel(&m, &x, &mut y_par); - assert_eq!(y_par, vec![3.0, 3.0, 9.0]); - } - - #[test] - fn one_norm() { - // 1-norm = max column abs-sum. Above: col0=5, col1=3, col2=7 → 7. - let m = csr_from_triplets( - 3, - &[ - (0, 0, 1.0), - (0, 2, 2.0), - (1, 1, 3.0), - (2, 0, 4.0), - (2, 2, 5.0), - ], - ); - assert_abs_diff_eq!(csr_one_norm(&m), 7.0); - } - - #[test] - fn expm_zero_t_identity() { - let m = diag(&[1.5, -2.0, 0.7]); - let b = vec![1.0, 2.0, 3.0]; - let r = expm_multiply(&m, 0.0, &b, ExpmOpts::default()); - for i in 0..3 { - assert_abs_diff_eq!(r[i], b[i], epsilon = 1e-14); - } - } - - #[test] - fn expm_diagonal_closed_form() { - // diag matrix → exp(t·A)·b is elementwise exp(t·a_i) * b_i. - let m = diag(&[1.5, -2.0, 0.7]); - let b = vec![1.0, 1.0, 1.0]; - let t = 0.5; - let r = expm_multiply(&m, t, &b, ExpmOpts::default()); - for (i, &a_i) in [1.5, -2.0, 0.7].iter().enumerate() { - assert_abs_diff_eq!(r[i], (t * a_i).exp(), epsilon = 1e-12); - } - } - - #[test] - fn expm_skew_rotation() { - // A = [[0, 1], [-1, 0]]: exp(tA) is rotation by t. - // exp(t·A)·(1, 0)^T = (cos t, -sin t)^T. - let m = csr_from_triplets(2, &[(0, 1, 1.0), (1, 0, -1.0)]); - let b = vec![1.0, 0.0]; - let t = 0.7; - let r = expm_multiply(&m, t, &b, ExpmOpts::default()); - assert_abs_diff_eq!(r[0], t.cos(), epsilon = 1e-12); - assert_abs_diff_eq!(r[1], -t.sin(), epsilon = 1e-12); - } - - #[test] - fn expm_serial_matches_parallel() { - // Same algorithm both paths; force one with a high threshold and - // one with zero. Results must be bit-identical (no floating - // reordering across rows since each row's reduction is sequential). - let trips: Vec<_> = (0..50) - .flat_map(|i| { - let i: usize = i; - let prev = if i > 0 { Some((i, i - 1, 0.3)) } else { None }; - let next = if i + 1 < 50 { - Some((i, i + 1, 0.5)) - } else { - None - }; - [Some((i, i, -0.4 - 0.01 * i as f64)), prev, next] - .into_iter() - .flatten() - }) - .collect(); - let m = csr_from_triplets(50, &trips); - let b: Vec = (0..50).map(|i| 1.0 / (i + 1) as f64).collect(); - let r_serial = expm_multiply( - &m, - 0.3, - &b, - ExpmOpts { - tol: 1e-14, - parallel_threshold: usize::MAX, - max_krylov_m: None, - }, - ); - let r_parallel = expm_multiply( - &m, - 0.3, - &b, - ExpmOpts { - tol: 1e-14, - parallel_threshold: 0, - max_krylov_m: None, - }, - ); - for (a, b) in r_serial.iter().zip(r_parallel.iter()) { - assert_eq!(a, b, "serial and parallel SpMV diverged"); - } - } #[test] fn ms_selection_sane() { diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 6a88efba..3fe37707 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -42,7 +42,6 @@ use std::fmt; use std::time::Instant; pub mod expm; -pub use expm::{Csr, CsrCx, ExpmOpts, csr_from_triplets, csr_one_norm, expm_multiply, spmv_parallel}; /// Matrix-free / quspin-expm-backed `exp(dt·L*)·b` engine. See module docs. pub(crate) mod mf_expm; @@ -133,28 +132,6 @@ impl fmt::Display for Error { impl std::error::Error for Error {} -/// `Send + Sync` wrapper around `*mut T` for parallel scatter writes from -/// rayon tasks into pre-allocated arrays. Caller must guarantee that the -/// writes target disjoint indices. -/// -/// The field is intentionally private so closures that use [`Self::write`] -/// capture the whole struct (which is `Send + Sync`) rather than the -/// inner `*mut T` (which is not) — Rust 2021's disjoint-field capture -/// would otherwise peel the wrapper. -#[derive(Clone, Copy)] -struct SendPtr(*mut T); -unsafe impl Send for SendPtr {} -unsafe impl Sync for SendPtr {} - -impl SendPtr { - /// SAFETY: caller guarantees `offset` is in bounds and that no other - /// thread writes to the same offset. - #[inline(always)] - unsafe fn write(self, offset: usize, value: T) { - unsafe { self.0.add(offset).write(value) } - } -} - /// Per-phase timing breakdown (microseconds) returned by /// [`LindbladSpec::pc_step_timed`]. #[derive(Default, Clone, Copy, Debug)] @@ -742,119 +719,9 @@ impl LindbladSpec { flat } - /// Build the generator restricted to `basis` directly in CSR form, - /// skipping the intermediate `(row, col, val)` triplet materialisation. - /// - /// Algorithm: each task computes its column's contributions and writes - /// them into a thread-local `(col_idx, values)` buffer plus a per-row - /// count. Counts are then prefix-summed across threads into the final - /// CSR `row_ptr`, and a second parallel pass scatters each task's data - /// into the right CSR positions. This avoids both the - /// `Vec>` → `Vec<...>` flatten *and* the sequential - /// `from_triplets` count-and-scatter that dominated the original - /// `generator_csr` (~40% of PC-step wall time). - pub fn generator_csr(&self, basis: &[Word]) -> Csr { - let n = basis.len(); - if n == 0 { - return Csr::new((0, 0), vec![0], Vec::new(), Vec::new()); - } - - let index = build_basis_index(basis); - - // Phase 1: per-column, collect `(row, value)` pairs (already - // filtered to in-basis), in parallel with thread-local scratch. - let cols: Vec> = basis - .par_iter() - .map_init( - || { - ( - Vec::::with_capacity(self.n_qubits), - Vec::::with_capacity(128), - FxHashMap::>::with_capacity_and_hasher( - 128, - FxBuildHasher::default(), - ), - ) - }, - |(s1, s2, lm), p| { - let terms = self.compute_action_terms(p, s1, s2, lm); - let mut out = Vec::with_capacity(terms.len()); - for (w, v) in terms.iter() { - if let Some(&row) = index.get(w) { - out.push((row, *v)); - } - } - out - }, - ) - .collect(); - - // Phase 2: per-row counts. Each task scans its column and bumps - // an atomic per-row counter; total cost is `O(nnz / threads)`. - use std::sync::atomic::{AtomicU32, Ordering}; - let row_counts: Vec = (0..n).map(|_| AtomicU32::new(0)).collect(); - cols.par_iter().for_each(|col_data| { - for &(row, _) in col_data.iter() { - row_counts[row as usize].fetch_add(1, Ordering::Relaxed); - } - }); - - // Phase 3: prefix-sum the counts into `row_ptr`. Sequential but - // tiny (`O(n)`). - let mut row_ptr = vec![0usize; n + 1]; - for i in 0..n { - let c = row_counts[i].load(Ordering::Relaxed) as usize; - row_ptr[i + 1] = row_ptr[i] + c; - } - let nnz = row_ptr[n]; - - // Phase 4: scatter. Reuse `row_counts` as a per-row write offset - // (atomic fetch-and-add); each task writes its column's entries - // into the row's allocated slot. The increments target distinct - // rows mostly, and even when they collide, atomics on `Relaxed` - // are cheap on modern x86 / ARM. - for c in row_counts.iter() { - c.store(0, Ordering::Relaxed); - } - // We need parallel writes into shared `indices` and `data`. - // Safety: each `(row, slot)` pair is unique by construction (every - // (row, col) appears at most once per column, and atomic increment - // gives a unique slot per (row, write) event). We use raw-pointer - // writes inside `unsafe` to express this without RwLock overhead. - let mut indices = vec![0u32; nnz]; - let mut data = vec![0f64; nnz]; - let indices_ptr = SendPtr(indices.as_mut_ptr()); - let data_ptr = SendPtr(data.as_mut_ptr()); - let row_ptr_ref: &[usize] = &row_ptr; - let row_counts_ref: &[AtomicU32] = &row_counts; - // `move` on the closure forces whole-struct capture of `SendPtr` - // (rust 2021 edition does field-level capture by default, which - // would peel the inner `*mut T` and leak the !Sync). All captures - // are Copy (SendPtr) or `&` (refs), so `Fn` is still satisfied. - cols.par_iter() - .enumerate() - .for_each(move |(col, col_data)| { - for &(row, v) in col_data.iter() { - let slot_offset = row_counts_ref[row as usize].fetch_add(1, Ordering::Relaxed); - let pos = row_ptr_ref[row as usize] + slot_offset as usize; - // SAFETY: each `pos` is unique (atomic gives a unique slot - // per (row, write event)) and `pos < nnz` (counter bounded - // by precomputed row count). - unsafe { - indices_ptr.write(pos, col as u32); - data_ptr.write(pos, v); - } - } - }); - - Csr::new_from_unsorted((n, n), row_ptr, indices, data) - .map_err(|(_, _, _, e)| e) - .expect("invalid CSR structure") - } /// Matrix-free SpMV: `y ← M · x` where `M` is the in-basis-restricted - /// generator (same matrix that [`Self::generator_csr`] would build, but - /// never materialised). For each basis column `j` with `x[j] != 0`, + /// generator, never materialised. For each basis column `j` with `x[j] != 0`, /// compute `L*(basis[j])`, look up each output Pauli in `basis_index`, /// and accumulate `v · x[j]` into `y` at the matching row. /// @@ -920,41 +787,6 @@ impl LindbladSpec { } } - /// Matrix 1-norm `max_j Σ_i |M_{ij}|` of the in-basis-restricted - /// generator, computed matrix-free. Used by [`expm::expm_multiply_mf`] - /// to pick the Taylor `(m, s)` parameters. - pub fn one_norm_matrix_free( - &self, - basis: &[Word], - basis_index: &FxHashMap, - ) -> f64 { - if basis.is_empty() { - return 0.0; - } - basis - .par_iter() - .map_init( - || { - ( - Vec::::with_capacity(self.n_qubits), - Vec::::with_capacity(128), - FxHashMap::>::with_capacity_and_hasher( - 128, - FxBuildHasher::default(), - ), - ) - }, - |(s1, s2, lm), p| { - let terms = self.compute_action_terms(p, s1, s2, lm); - terms - .iter() - .filter(|(w, _)| basis_index.contains_key(w)) - .map(|(_, v)| v.abs()) - .sum::() - }, - ) - .reduce(|| 0.0, f64::max) - } /// Apply `L*` to the Pauli sum `Σ_j coeffs[j] · basis[j]` and return /// the result as a (Word → real coefficient) map. The basis of the @@ -1134,9 +966,8 @@ impl LindbladSpec { /// predictor `exp(dt·M)`, second-hop expansion from predicted state, /// corrector `exp(dt·M)` from saved pre-step state, then `drop_tol` /// prune. Coefficients are complex throughout; `L*` matrix elements - /// are real, so the underlying CSR matrix is shared with the real - /// path and only the vector arithmetic is complexified - /// ([`expm::expm_multiply_complex`]). + /// are real, so the real matrix-free engine is applied to the real and + /// imaginary parts separately (see [`Self::expm_step_complex`]). /// /// `drop_tol` is compared against `|c|` (complex magnitude). The /// `protected` set is honoured exactly as in the real path. @@ -1167,7 +998,6 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, num_threads: Option, sym_group: Option<&TranslationGroup>, momentum: Option<&[i32]>, @@ -1179,12 +1009,12 @@ impl LindbladSpec { .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; pool.install(|| { self.pc_step_complex_inner( - basis, coeffs, dt, tau_add, drop_tol, protected, opts, sym_group, momentum, + basis, coeffs, dt, tau_add, drop_tol, protected, sym_group, momentum, ) }) } else { self.pc_step_complex_inner( - basis, coeffs, dt, tau_add, drop_tol, protected, opts, sym_group, momentum, + basis, coeffs, dt, tau_add, drop_tol, protected, sym_group, momentum, ) } } @@ -1198,7 +1028,6 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, sym_group: Option<&TranslationGroup>, momentum: Option<&[i32]>, ) -> Result<(), Error> { @@ -1220,7 +1049,7 @@ impl LindbladSpec { } } // 2. Predictor. - let coeffs_predict = self.expm_step_complex(basis, dt, coeffs, opts); + let coeffs_predict = self.expm_step_complex(basis, dt, coeffs); // 3. Second-hop expansion from the predicted state. let leak2 = self.leakage_complex(basis, &coeffs_predict, protected)?; drop(coeffs_predict); @@ -1231,7 +1060,7 @@ impl LindbladSpec { } } // 4. Corrector. - *coeffs = self.expm_step_complex(basis, dt, coeffs, opts); + *coeffs = self.expm_step_complex(basis, dt, coeffs); // 5. Prune below drop_tol (complex magnitude). prune_basis_complex(basis, coeffs, drop_tol, protected); // NOTE: NO automatic symmetry-merge here. The orbit-rep @@ -1246,15 +1075,13 @@ impl LindbladSpec { Ok(()) } - /// Complex SpMV-by-CSR variant of [`Self::expm_step`]. The matrix - /// is real; only the vector is complex. Always uses the CSR path - /// (matrix-free for complex deferred). + /// Complex-vector variant of [`Self::expm_step`]. The generator is the + /// real in-basis matrix; only the vector is complex. Matrix-free. fn expm_step_complex( &self, basis: &[Word], dt: f64, b: &[Complex], - _opts: ExpmOpts, ) -> Vec> { // The generator is the REAL in-basis-restricted matrix; only the // vector `b` is complex. By linearity, @@ -1444,12 +1271,6 @@ impl LindbladSpec { /// rayon thread pool of that size — useful for benchmarking parallel /// scaling. When `None`, the global rayon pool is used. /// - /// `matrix_free`, when `true`, computes `exp(dt·M)·b` without - /// materialising the in-basis CSR generator: each Krylov-Taylor SpMV - /// re-evaluates `L*(p)` per basis column. Trades wall (more compute - /// per matvec) for memory (no CSR storage). Default `false` keeps the - /// pre-existing CSR path. Useful when the basis is large enough that - /// CSR storage dominates peak RSS — typically at `n_basis ≳ 10⁵`. #[allow(clippy::too_many_arguments)] pub fn pc_step( &self, @@ -1459,9 +1280,7 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, num_threads: Option, - matrix_free: bool, ) -> Result<(), Error> { if let Some(n) = num_threads { let pool = rayon::ThreadPoolBuilder::new() @@ -1469,10 +1288,10 @@ impl LindbladSpec { .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; pool.install(|| { - self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free) + self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected) }) } else { - self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free) + self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected) } } @@ -1489,9 +1308,7 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, num_threads: Option, - matrix_free: bool, ) -> Result { if let Some(n) = num_threads { let pool = rayon::ThreadPoolBuilder::new() @@ -1500,12 +1317,12 @@ impl LindbladSpec { .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; pool.install(|| { self.pc_step_inner_timed( - basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free, + basis, coeffs, dt, tau_add, drop_tol, protected, ) }) } else { self.pc_step_inner_timed( - basis, coeffs, dt, tau_add, drop_tol, protected, opts, matrix_free, + basis, coeffs, dt, tau_add, drop_tol, protected, ) } } @@ -1518,8 +1335,6 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, - matrix_free: bool, ) -> Result { let mut t = PcStepTimings::default(); @@ -1541,11 +1356,8 @@ impl LindbladSpec { // `coeffs` is read-only here, so we don't clone it — it serves as // the pre-step input for the corrector below as well. let t0 = Instant::now(); - let coeffs_predict = self.expm_step(basis, dt, coeffs, opts, matrix_free); + let coeffs_predict = self.expm_step(basis, dt, coeffs); t.expm1_us = t0.elapsed().as_micros() as u64; - if !matrix_free { - t.gencsr1_us = 0; - } let t0 = Instant::now(); let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, Some(tau_add))?; @@ -1562,11 +1374,8 @@ impl LindbladSpec { t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - *coeffs = self.expm_step(basis, dt, coeffs, opts, matrix_free); + *coeffs = self.expm_step(basis, dt, coeffs); t.expm2_us = t0.elapsed().as_micros() as u64; - if !matrix_free { - t.gencsr2_us = 0; - } prune_basis(basis, coeffs, drop_tol, protected); @@ -1581,8 +1390,6 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: &[Word], - opts: ExpmOpts, - matrix_free: bool, ) -> Result<(), Error> { // 1. First-hop expansion. After this, `coeffs` contains the pre-step // coefficients followed by zeros for the newly-added leakage strings. @@ -1597,7 +1404,7 @@ impl LindbladSpec { } // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a // new owned vector with the predicted state. - let coeffs_predict = self.expm_step(basis, dt, coeffs, opts, matrix_free); + let coeffs_predict = self.expm_step(basis, dt, coeffs); // 3. Second-hop expansion from the predicted state. After leakage2 // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for // any newly-added second-hop strings so it remains a valid input @@ -1611,23 +1418,19 @@ impl LindbladSpec { } } // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. - *coeffs = self.expm_step(basis, dt, coeffs, opts, matrix_free); + *coeffs = self.expm_step(basis, dt, coeffs); // 5. Prune basis entries below `drop_tol` (protected words never dropped). prune_basis(basis, coeffs, drop_tol, protected); Ok(()) } /// Compute `exp(dt · M) · b` for the in-basis-restricted generator - /// `M`, either by building a CSR (`matrix_free == false`, default) or - /// matrix-free (`matrix_free == true`). Both paths use the same - /// Al-Mohy & Higham scaling-and-squaring algorithm. + /// `M`, matrix-free, via `quspin-expm` (see [`mf_expm`]). fn expm_step( &self, basis: &[Word], dt: f64, b: &[f64], - _opts: ExpmOpts, - _matrix_free: bool, ) -> Vec { mf_expm::expm_apply_mf(self, basis, dt, b) } @@ -1880,63 +1683,6 @@ mod tests { assert!((z_coeff - (-1.0)).abs() < 1e-10, "Z coeff = {z_coeff}"); } - /// Parity: the new quspin-expm matrix-free real engine - /// (`mf_expm::expm_apply_mf`) must agree with the retired CSR engine - /// (`expm::expm_multiply`) on a small random case to < 1e-9. - #[test] - fn parity_real_mf_against_retired_engine() { - let n = 4usize; - let mut h_terms: Vec<(String, f64)> = Vec::new(); - for j in 0..n { - let nxt = (j + 1) % n; - for op in ['X', 'Z'] { - let mut s = vec!['I'; n]; - s[j] = op; - s[nxt] = op; - h_terms.push((s.into_iter().collect(), 0.7)); - } - } - // Single-site Z dephasing jump on qubit 0 (length-n string). - let mut zj = vec!['I'; n]; - zj[0] = 'Z'; - let jump = jump_hpauli(&zj.into_iter().collect::(), 0.3); - let spec = LindbladSpec::new(n, &h_terms, &[jump]).unwrap(); - - // Basis: all single-site Z and X words. - let mut basis: Vec = Vec::new(); - for j in 0..n { - for op in ['Z', 'X'] { - let mut s = vec!['I'; n]; - s[j] = op; - let (w, _) = parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); - basis.push(w); - } - } - - // Deterministic pseudo-random input vector. - let mut seed = 0xdead_beef_0000_0001u64; - let mut next = || { - seed ^= seed << 13; - seed ^= seed >> 7; - seed ^= seed << 17; - (seed >> 11) as f64 / (1u64 << 53) as f64 * 2.0 - 1.0 - }; - let b: Vec = (0..basis.len()).map(|_| next()).collect(); - let dt = 0.23; - - let new = mf_expm::expm_apply_mf(&spec, &basis, dt, &b); - let csr = spec.generator_csr(&basis); - let old = expm::expm_multiply(&csr, dt, &b, ExpmOpts::default()); - - assert_eq!(new.len(), old.len()); - let mut worst = 0.0_f64; - for (a, c) in new.iter().zip(old.iter()) { - worst = worst.max((a - c).abs()); - } - assert!(worst < 1e-9, "real MF parity mismatch: worst |Δ| = {worst:e}"); - eprintln!("parity_real_mf_against_retired_engine: worst |Δ| = {worst:e}"); - } - #[test] fn word_codec_roundtrip() { let codes = [0u8, 1, 2, 3, 1, 0, 3, 2]; @@ -1989,11 +1735,10 @@ mod tests { // ----- Full-basis path ----- let mut bf = basis_full.clone(); let mut cf = coeffs_full.clone(); - let opts = ExpmOpts::default(); let protected: Vec = Vec::new(); for _ in 0..n_steps { spec.pc_step_complex( - &mut bf, &mut cf, dt, 1.0, 0.0, &protected, opts, None, None, None, + &mut bf, &mut cf, dt, 1.0, 0.0, &protected, None, None, None, ) .unwrap(); } @@ -2008,7 +1753,7 @@ mod tests { // Evolve in orbit-rep form. for _ in 0..n_steps { orbit_rep::pc_step_orbit_rep( - &spec, &mut br, &mut cr, dt, 1.0, 0.0, &protected, opts, &group, &k, + &spec, &mut br, &mut cr, dt, 1.0, 0.0, &protected, &group, &k, ) .unwrap(); } @@ -2077,7 +1822,6 @@ mod tests { .map(|a| Complex::from_polar(1.0, -2.0 * PI * (k_mode as f64) * (a as f64) / (n as f64))) .collect(); - let opts = ExpmOpts::default(); let protected: Vec = Vec::new(); // First step: pass sym_group + k to exercise the sector check. @@ -2088,7 +1832,6 @@ mod tests { 1.0, 0.0, &protected, - opts, None, Some(&group), Some(&k), @@ -2103,7 +1846,6 @@ mod tests { 1.0, 0.0, &protected, - opts, None, None, None, @@ -2163,7 +1905,6 @@ mod tests { 1.0, 0.0, &protected, - ExpmOpts::default(), None, Some(&group), Some(&wrong_k), @@ -2205,7 +1946,6 @@ mod tests { let mut coeffs_c: Vec> = coeffs_r.iter().map(|&v| Complex::new(v, 0.0)).collect(); - let opts = ExpmOpts::default(); let protected: Vec = Vec::new(); for _ in 0..n_steps { let tau_add = 1.0; // very loose — no leakage adds @@ -2216,9 +1956,7 @@ mod tests { tau_add, 0.0, &protected, - opts, None, - false, ) .unwrap(); spec.pc_step_complex( @@ -2228,7 +1966,6 @@ mod tests { tau_add, 0.0, &protected, - opts, None, None, // no symmetry merging None, @@ -2313,7 +2050,6 @@ mod tests { let mut basis_m = basis_u.clone(); let mut coeffs_m = coeffs_u.clone(); - let opts = ExpmOpts::default(); let protected: Vec = Vec::new(); for _ in 0..n_steps { // tau_add chosen large enough that pc_step doesn't add any @@ -2330,9 +2066,7 @@ mod tests { tau_add, 0.0, // drop_tol = 0 → no truncation &protected, - opts, None, - false, ) .unwrap(); @@ -2343,9 +2077,7 @@ mod tests { tau_add, 0.0, &protected, - opts, None, - false, ) .unwrap(); // Apply symmetry merging on the "with merging" run only. diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index e897979e..b76f1333 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -336,70 +336,3 @@ pub(crate) fn expm_apply_csr_cx( v } -#[cfg(test)] -mod tests { - use super::*; - use crate::expm::{self, CsrCx, ExpmOpts}; - use num::Complex; - use sprs::{CsMatI, TriMatI}; - - /// Build a small random real CSR + a random `LindbladSpec`-free check is - /// hard (action depends on a spec), so the real parity test lives in - /// `lib.rs` where a spec is available. Here we cover the complex - /// orbit-rep path against the retired engine. - fn rand_csr_cx(n: usize, density: f64, seed: &mut u64) -> CsrCx { - let mut next = || { - // xorshift64 - let mut x = *seed; - x ^= x << 13; - x ^= x >> 7; - x ^= x << 17; - *seed = x; - (x >> 11) as f64 / (1u64 << 53) as f64 - }; - let mut tri = TriMatI::, u32>::new((n, n)); - for i in 0..n { - for j in 0..n { - if next() < density { - let re = next() * 2.0 - 1.0; - let im = next() * 2.0 - 1.0; - tri.add_triplet(i, j, Complex::new(re, im)); - } - } - } - tri.to_csr() - } - - #[test] - fn parity_complex_csr_against_retired_engine() { - let mut worst: f64 = 0.0; - for &n in &[1usize, 3, 7, 12] { - let mut s2 = 0x1234_5678_9abc_def0u64.wrapping_add(n as u64 * 0x9e37_79b9); - let csr: CsMatI, u32, usize> = rand_csr_cx(n, 0.5, &mut s2); - let dt = 0.37; - let mut next = || { - s2 ^= s2 << 13; - s2 ^= s2 >> 7; - s2 ^= s2 << 17; - (s2 >> 11) as f64 / (1u64 << 53) as f64 - }; - let coeffs: Vec> = (0..n) - .map(|_| Complex::new(next() * 2.0 - 1.0, next() * 2.0 - 1.0)) - .collect(); - - let new = expm_apply_csr_cx(&csr, dt, &coeffs); - let old = expm::expm_multiply_cx(&csr, dt, &coeffs, ExpmOpts::default()); - - assert_eq!(new.len(), old.len()); - for (a, b) in new.iter().zip(old.iter()) { - let d = (a - b).norm(); - worst = worst.max(d); - assert!( - d < 1e-9, - "complex CSR parity mismatch (n={n}): new={a} old={b} |Δ|={d:e}" - ); - } - } - eprintln!("parity_complex_csr_against_retired_engine: worst |Δ| = {worst:e}"); - } -} diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index b431538d..bf8074b2 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -30,7 +30,7 @@ //! `pc_step_orbit_rep` once per momentum mode and inverse-Fourier //! the results. -use crate::expm::{CsrCx, ExpmOpts}; +use crate::expm::CsrCx; use crate::{Error, LindbladSpec}; use fxhash::{FxBuildHasher, FxHashMap}; use num::Complex; @@ -239,7 +239,6 @@ pub fn pc_step_orbit_rep( tau_add: f64, drop_tol: f64, protected: &[Word], - _opts: ExpmOpts, group: &TranslationGroup, k_modes: &[i32], ) -> Result<(), Error> { diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index 5e683ddc..78f7b5c2 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -18,7 +18,7 @@ use numpy::{ PyReadonlyArray2, }; use ppvm_lindblad::{ - ExpmOpts, JumpInput, LindbladSpec as CoreSpec, Word, codes_from_word, word_from_codes, + JumpInput, LindbladSpec as CoreSpec, Word, codes_from_word, word_from_codes, }; use pyo3::{exceptions::PyValueError, prelude::*}; @@ -210,11 +210,7 @@ impl LindbladSpec { basis, coeffs, dt, tau_add, drop_tol = 0.0, protected = None, - expm_tol = 1e-12, - parallel_threshold = 50_000, num_threads = None, - matrix_free = false, - max_krylov_m = None, ))] #[allow(clippy::too_many_arguments)] fn pc_step<'py>( @@ -226,11 +222,7 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: Option>, - expm_tol: f64, - parallel_threshold: usize, num_threads: Option, - matrix_free: bool, - max_krylov_m: Option, ) -> PyResult> { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); @@ -249,11 +241,6 @@ impl LindbladSpec { } else { Vec::new() }; - let opts = ExpmOpts { - tol: expm_tol, - parallel_threshold, - max_krylov_m, - }; self.inner .pc_step( &mut basis_words, @@ -262,9 +249,7 @@ impl LindbladSpec { tau_add, drop_tol, &protected_words, - opts, num_threads, - matrix_free, ) .map_err(map_err)?; @@ -279,11 +264,7 @@ impl LindbladSpec { basis, coeffs, dt, tau_add, drop_tol = 0.0, protected = None, - expm_tol = 1e-12, - parallel_threshold = 50_000, num_threads = None, - matrix_free = false, - max_krylov_m = None, ))] #[allow(clippy::too_many_arguments)] fn pc_step_timed<'py>( @@ -295,11 +276,7 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: Option>, - expm_tol: f64, - parallel_threshold: usize, num_threads: Option, - matrix_free: bool, - max_krylov_m: Option, ) -> PyResult<(PyPauliMap<'py>, Bound<'py, pyo3::types::PyDict>)> { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); @@ -318,11 +295,6 @@ impl LindbladSpec { } else { Vec::new() }; - let opts = ExpmOpts { - tol: expm_tol, - parallel_threshold, - max_krylov_m, - }; let timings = self .inner .pc_step_timed( @@ -332,9 +304,7 @@ impl LindbladSpec { tau_add, drop_tol, &protected_words, - opts, num_threads, - matrix_free, ) .map_err(map_err)?; @@ -371,10 +341,7 @@ impl LindbladSpec { basis, coeffs, dt, tau_add, drop_tol = 0.0, protected = None, - expm_tol = 1e-12, - parallel_threshold = 50_000, num_threads = None, - max_krylov_m = None, group = None, momentum = None, ))] @@ -388,10 +355,7 @@ impl LindbladSpec { tau_add: f64, drop_tol: f64, protected: Option>, - expm_tol: f64, - parallel_threshold: usize, num_threads: Option, - max_krylov_m: Option, group: Option<&crate::symmetry::TranslationGroup>, momentum: Option>, ) -> PyResult<(Bound<'py, PyArray2>, Bound<'py, PyArray1>)> { @@ -417,11 +381,6 @@ impl LindbladSpec { } else { Vec::new() }; - let opts = ExpmOpts { - tol: expm_tol, - parallel_threshold, - max_krylov_m, - }; let momentum_vec = momentum.as_ref().map(|m| m.as_slice().map(|s| s.to_vec())); let momentum_owned = match momentum_vec { Some(Ok(v)) => Some(v), @@ -438,7 +397,6 @@ impl LindbladSpec { tau_add, drop_tol, &protected_words, - opts, num_threads, sym_core, momentum_owned.as_deref(), @@ -482,9 +440,6 @@ impl LindbladSpec { group, momentum, drop_tol = 0.0, protected = None, - expm_tol = 1e-12, - parallel_threshold = 50_000, - max_krylov_m = None, canonicalize_first = false, ))] #[allow(clippy::too_many_arguments)] @@ -499,9 +454,6 @@ impl LindbladSpec { momentum: PyReadonlyArray1<'py, i32>, drop_tol: f64, protected: Option>, - expm_tol: f64, - parallel_threshold: usize, - max_krylov_m: Option, canonicalize_first: bool, ) -> PyResult<(Bound<'py, PyArray2>, Bound<'py, PyArray1>)> { use num::Complex; @@ -538,11 +490,6 @@ impl LindbladSpec { if canonicalize_first { orbit_rep::canonicalize_basis_to_rep(&mut basis_words, group.core()); } - let opts = ExpmOpts { - tol: expm_tol, - parallel_threshold, - max_krylov_m, - }; orbit_rep::pc_step_orbit_rep( &self.inner, &mut basis_words, @@ -551,7 +498,6 @@ impl LindbladSpec { tau_add, drop_tol, &protected_words, - opts, group.core(), k_slice, ) diff --git a/ppvm-python/demo/lindblad_pc_scaling.py b/ppvm-python/demo/lindblad_pc_scaling.py index 80d00b5c..f7c56c34 100644 --- a/ppvm-python/demo/lindblad_pc_scaling.py +++ b/ppvm-python/demo/lindblad_pc_scaling.py @@ -124,7 +124,6 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): dt, tau_add, protected=protected, - parallel_threshold=0, num_threads=num_threads, ) times.append(time.perf_counter() - t0) diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 4b3fb7ae..ecd0192c 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -233,19 +233,14 @@ def pc_step_arr( drop_tol: float = 0.0, K: float = 5.0, protected_arr: np.ndarray | None = None, - expm_tol: float = 1e-12, - parallel_threshold: int = 50_000, num_threads: int | None = None, - matrix_free: bool = False, - max_krylov_m: int | None = None, ) -> tuple[np.ndarray, np.ndarray]: """One predictor-corrector adaptive step. All work — leakage expansion, matrix-exponential step, second-hop re-expansion, corrector — runs in Rust; SciPy is not required. - The matrix exponential uses Al-Mohy & Higham scaling-and-squaring - with rayon-parallel SpMV when the restricted generator has more - than ``parallel_threshold`` nonzeros. + The matrix-exponential action is computed matrix-free via the external + ``quspin-expm`` crate (Al-Mohy & Higham scaling-and-squaring). Tolerances. ``drop_tol`` prunes basis entries whose absolute coefficient is below this threshold after the corrector (unless @@ -259,20 +254,6 @@ def pc_step_arr( ``num_threads``, when set, pins this call to a freshly-built rayon pool of that size — useful for benchmarking parallel scaling. - ``matrix_free``, when ``True``, skips the per-step CSR build and - does each Krylov-Taylor SpMV by recomputing ``L*`` on the fly. - Saves ~CSR storage worth of RSS (significant once - ``n_basis ≳ 10⁵``); costs more compute per matvec, so wall is - higher except in the bandwidth-bound regime. Default ``False`` - keeps the CSR path. - - ``max_krylov_m``, when set, caps the Krylov-Taylor degree - ``m_star`` considered by the inner ``select_ms``. ``None`` - (default) uses the full table up to ``m=30``; smaller values - trade more outer scaling-and-squaring iterations (more matvecs) - for less Krylov scratch memory. Mostly relevant at large ``n`` - when ``m × n × 8 B`` of Krylov vectors dominates RSS. - Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown (or shrunk, if ``drop_tol`` pruned entries). """ @@ -293,11 +274,7 @@ def pc_step_arr( float(tau_add), float(drop_tol), np.ascontiguousarray(protected_arr, dtype=np.uint8), - float(expm_tol), - int(parallel_threshold), None if num_threads is None else int(num_threads), - bool(matrix_free), - None if max_krylov_m is None else int(max_krylov_m), ) def pc_step_complex( @@ -308,10 +285,7 @@ def pc_step_complex( tau_add: float, drop_tol: float = 0.0, protected_arr: np.ndarray | None = None, - expm_tol: float = 1e-12, - parallel_threshold: int = 50_000, num_threads: int | None = None, - max_krylov_m: int | None = None, group=None, momentum: np.ndarray | None = None, ) -> tuple[np.ndarray, np.ndarray]: @@ -345,10 +319,7 @@ def pc_step_complex( float(tau_add), float(drop_tol), np.ascontiguousarray(protected_arr, dtype=np.uint8), - float(expm_tol), - int(parallel_threshold), None if num_threads is None else int(num_threads), - None if max_krylov_m is None else int(max_krylov_m), group, None if momentum is None else np.ascontiguousarray(momentum, dtype=np.int32), ) @@ -363,9 +334,6 @@ def pc_step_orbit_rep( momentum: np.ndarray, drop_tol: float = 0.0, protected_arr: np.ndarray | None = None, - expm_tol: float = 1e-12, - parallel_threshold: int = 50_000, - max_krylov_m: int | None = None, canonicalize_first: bool = False, ) -> tuple[np.ndarray, np.ndarray]: """Per-step orbit-representative pc evolution. @@ -392,9 +360,6 @@ def pc_step_orbit_rep( np.ascontiguousarray(momentum, dtype=np.int32), float(drop_tol), np.ascontiguousarray(protected_arr, dtype=np.uint8), - float(expm_tol), - int(parallel_threshold), - None if max_krylov_m is None else int(max_krylov_m), bool(canonicalize_first), ) @@ -447,8 +412,6 @@ def pc_step( drop_tol: float = 0.0, K: float = 5.0, protected: Sequence[str] | None = None, - expm_tol: float = 1e-12, - parallel_threshold: int = 50_000, num_threads: int | None = None, ) -> tuple[list[str], np.ndarray]: """String-keyed variant of :meth:`pc_step_arr`.""" @@ -465,8 +428,6 @@ def pc_step( drop_tol, K, protected_arr, - expm_tol, - parallel_threshold, num_threads, ) return _codes_to_basis(new_basis_arr), new_coeffs From 33d58d7bc534afe40687c0f494f3667478692d06 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 17 Jun 2026 18:57:32 +0100 Subject: [PATCH 026/159] perf(ppvm-lindblad): matrix-free (cache-action) orbit-rep expm The orbit-rep evolution path (pc_step_orbit_rep) previously materialized a full complex CSR of the in-basis generator twice per step (generator_csr_orbit_rep) to feed the Krylov expm. Profiling the symmetry- merged ladder (main_k_pec_ladder) showed this CSR dominated peak memory: the per-column phase-aware action `cols`, a transposed row-major copy, and the held CSR together ran ~3x the rest of the working set. Replace it with a cache-the-action hybrid, mirroring the matrix-free quspin-expm design used on the real path: * build_orbit_rep_cols: the per-column phase-aware action (compute_action_terms + canonicalize_with_shift + character) is computed ONCE per expm call into Vec> (factored out and shared with generator_csr_orbit_rep so the CSR reference stays bit-identical). * OrbitRepCscOp: a quspin LinearOperator whose dot() is a CSC matvec directly against the cached cols (no per-matvec action recompute), driven by ExpmOp::from_parts with mu = tr/n and the same (m*, s) norm bound as expm_apply_mf. No CSR is materialized. vs the old CSR path (L=6 ladder, drop_tol=1e-6): peak RSS 953 -> 499 MB (1.9x less, below the Trotter reference) AND slightly faster (41 -> 37 s), since the transpose/sort/dedup/row-major build is gone while the action is still amortized across the Krylov matvecs. (A pure recompute-every-matvec matrix-free variant hit 341 MB but ~8x slower; the cache-action hybrid is the sweet spot.) generator_csr_orbit_rep / expm_apply_csr_cx are retained (dead-code-allowed) as the parity reference: parity_orbit_rep_cached_vs_csr matches them bit-exactly (max|d|=0) at k=0 and k=1. Validated: cargo test --workspace --exclude ppvm-python-native (all green, warning-clean) and Python momentum-merge + lindblad suites (23 passed). Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/mf_expm.rs | 12 + crates/ppvm-lindblad/src/orbit_rep.rs | 386 +++++++++++++++++++++++--- 2 files changed, 359 insertions(+), 39 deletions(-) diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index b76f1333..f2eb9c81 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -211,6 +211,12 @@ pub(crate) fn expm_apply_mf_cxvec( /// momentum-character phases make the entries complex). There is no /// matrix-free complex action available, so this drives the materialised /// `CsrCx` through `quspin-expm`. +/// +/// Retained only as the parity reference for the cache-the-action orbit-rep +/// path (`orbit_rep::expm_apply_orbit_rep_cached`); the production +/// `pc_step_orbit_rep` no longer materialises a `CsrCx`. May be removed in a +/// follow-up. +#[allow(dead_code)] pub(crate) struct CsrCxOp<'a> { csr: &'a CsrCx, } @@ -306,6 +312,12 @@ impl LinearOperator> for CsrCxOp<'_> { /// optimisation and orbit-rep matrices are small). The Taylor partition /// `(m*, s)` is picked from `‖dt·M‖₁` via the same selection table as the /// retired hand-rolled engine in [`crate::expm`]. +/// +/// Retained only as the parity reference for the cache-the-action orbit-rep +/// path (`orbit_rep::expm_apply_orbit_rep_cached`); the production +/// `pc_step_orbit_rep` no longer materialises a `CsrCx`. May be removed in a +/// follow-up. +#[allow(dead_code)] pub(crate) fn expm_apply_csr_cx( csr: &CsrCx, dt: f64, diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index bf8074b2..fae17953 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -15,10 +15,13 @@ //! symmetry-merging paper: basis is ~|G|× smaller than the full-basis //! representation, throughout the entire evolution. //! -//! The CSR matrix that the Krylov-expm machinery operates on has -//! **complex entries** (because of the `χ_k(g)` phase factors), so the -//! complex CSR-backed `mf_expm::expm_apply_csr_cx` (driving the external -//! `quspin-expm` engine) is used instead of the real path. +//! The phase-aware action is genuinely **complex** (because of the +//! `χ_k(g)` phase factors). Rather than materialise a CSR, the per-column +//! action — for each input rep, the list of `(row, χ_k·v)` pairs for the +//! in-basis outputs — is computed **once per expm call** (via +//! [`build_orbit_rep_cols`]) and then reused, CSC-style, across every +//! Krylov–Taylor matvec driving the external `quspin-expm` engine. No CSR +//! is ever materialised on the production path. //! //! ## Limitations //! @@ -35,6 +38,8 @@ use crate::{Error, LindbladSpec}; use fxhash::{FxBuildHasher, FxHashMap}; use num::Complex; use ppvm_runtime::symmetry::TranslationGroup; +use quspin_expm::ExpmOp; +use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; use sprs::CsMatI; @@ -84,33 +89,7 @@ pub fn generator_csr_orbit_rep( let index = build_basis_index(basis); // Per-column accumulation: for each rep r, list of (row, phase × v). - let cols: Vec)>> = basis - .par_iter() - .map_init( - || { - ( - Vec::::with_capacity(spec.n_qubits()), - Vec::::with_capacity(128), - FxHashMap::>::with_capacity_and_hasher( - 128, - FxBuildHasher::default(), - ), - ) - }, - |(s1, s2, lm), r| { - let terms = spec.compute_action_terms(r, s1, s2, lm); - let mut out = Vec::with_capacity(terms.len()); - for (q, v) in terms.iter() { - let (r_q, cnt_q) = group.canonicalize_with_shift(q); - if let Some(&row) = index.get(&r_q) { - let phase = group.character(k_modes, &cnt_q); - out.push((row, phase * (*v as f64))); - } - } - out - }, - ) - .collect(); + let cols = build_orbit_rep_cols(spec, basis, &index, group, k_modes); // Build per-row (col, value) lists. Multiple (col, row) entries // for the same (row, col) cell get summed (sprs's `new_from_unsorted` @@ -145,6 +124,262 @@ pub fn generator_csr_orbit_rep( CsMatI::new((n, n), row_ptr, indices, data) } +/// Build the per-column phase-aware action of the in-basis-restricted +/// orbit-rep generator `M` at momentum sector `k_modes`. +/// +/// Returns, for each input rep `basis[c]` (column `c`), the list of +/// `(row, χ_k(g_{cnt_q}) · v_q)` pairs for every action output Pauli `q` +/// of `L*(basis[c])` whose orbit rep `r_q` is in `basis` at index `row`. +/// Outputs not in `basis` are dropped. This is the expensive part of the +/// orbit-rep dynamics (`compute_action_terms` + `canonicalize_with_shift` +/// + `character`); it is computed once and reused, both by +/// [`generator_csr_orbit_rep`] (which transposes it into a CSR) and by the +/// CSC-style matvec in [`OrbitRepCscOp`] (which reads it directly). +pub(crate) fn build_orbit_rep_cols( + spec: &LindbladSpec, + basis: &[Word], + index: &FxHashMap, + group: &TranslationGroup, + k_modes: &[i32], +) -> Vec)>> { + basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), r| { + let terms = spec.compute_action_terms(r, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (q, v) in terms.iter() { + let (r_q, cnt_q) = group.canonicalize_with_shift(q); + if let Some(&row) = index.get(&r_q) { + let phase = group.character(k_modes, &cnt_q); + out.push((row, phase * (*v as f64))); + } + } + out + }, + ) + .collect() +} + +/// Borrowed CSC-style view of the in-basis-restricted orbit-rep generator +/// `M`, backed by the cached per-column action [`build_orbit_rep_cols`] +/// (computed once per expm call). The momentum-character phases make the +/// entries complex, so this implements `LinearOperator>`. +/// +/// `cols[c]` holds `(row, χ_k·v)` pairs for column `c`; `dot` does a CSC +/// matvec `y = M·x` against the cached action, with no per-matvec action +/// recompute and no CSR materialisation. +pub(crate) struct OrbitRepCscOp<'a> { + cols: &'a [Vec<(u32, Complex)>], + dim: usize, +} + +impl LinearOperator> for OrbitRepCscOp<'_> { + fn dim(&self) -> usize { + self.dim + } + + fn parallel_hint(&self) -> bool { + // `dot` parallelises internally over column chunks, and we drive + // the sequential single-vector `apply` path; never let quspin run + // its persistent-thread pool on top of our rayon parallelism. + false + } + + fn dot( + &self, + overwrite: bool, + input: &[Complex], + output: &mut [Complex], + ) -> Result<(), QuSpinError> { + let n = self.dim; + let zero = Complex::new(0.0, 0.0); + if n == 0 { + return Ok(()); + } + let num_threads = rayon::current_num_threads().max(1); + let chunk_size = n.div_ceil(num_threads); + + // Parallelise over column chunks: each thread accumulates into a + // dense local `y` of length `dim`, reading the cached action. + let partial_ys: Vec>> = self + .cols + .par_chunks(chunk_size) + .enumerate() + .map(|(chunk_idx, chunk)| { + let c_offset = chunk_idx * chunk_size; + let mut y_local = vec![zero; n]; + for (c_local, col) in chunk.iter().enumerate() { + let c = c_offset + c_local; + let xc = input[c]; + if xc == zero { + continue; + } + for &(row, val) in col.iter() { + y_local[row as usize] += val * xc; + } + } + y_local + }) + .collect(); + + if overwrite { + output.fill(zero); + } + for partial in &partial_ys { + for (oi, &pi) in output.iter_mut().zip(partial.iter()) { + *oi += pi; + } + } + Ok(()) + } + + fn trace(&self) -> Complex { + // Computed eagerly in `expm_apply_orbit_rep_cached`; never reached + // on the `from_parts` + single-vector `apply` path. + unreachable!("OrbitRepCscOp::trace not used on the from_parts apply path") + } + + fn onenorm(&self, _shift: Complex) -> f64 { + unreachable!("OrbitRepCscOp::onenorm not used on the from_parts apply path") + } + + fn dot_transpose( + &self, + _overwrite: bool, + _input: &[Complex], + _output: &mut [Complex], + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "OrbitRepCscOp: dot_transpose not used on the from_parts apply path".into(), + )) + } + + fn dot_many( + &self, + _overwrite: bool, + _input: ndarray::ArrayView2<'_, Complex>, + _output: ndarray::ArrayViewMut2<'_, Complex>, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "OrbitRepCscOp: dot_many not used on the from_parts apply path".into(), + )) + } + + fn dot_chunk( + &self, + _overwrite: bool, + _input: &[Complex], + _output_chunk: &mut [Complex], + _row_start: usize, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "OrbitRepCscOp: dot_chunk not used on the from_parts apply path".into(), + )) + } + + fn dot_transpose_chunk( + &self, + _input: &[Complex], + _output: &[ as ExpmComputation>::Atomic], + _rows: std::ops::Range, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "OrbitRepCscOp: dot_transpose_chunk not used on the from_parts apply path".into(), + )) + } +} + +/// Compute `exp(dt · M) · coeffs` for the in-basis-restricted orbit-rep +/// generator `M` at momentum sector `k_modes`, via `quspin-expm`. Returns +/// a fresh `Vec>` of length `basis.len()`. No `CsrCx` is +/// materialised. +/// +/// The expensive phase-aware action is computed ONCE here (via +/// [`build_orbit_rep_cols`]) and reused, CSC-style, across every Krylov– +/// Taylor matvec (see [`OrbitRepCscOp`]). One pass over the cached columns +/// extracts the diagonal shift `μ = tr(M)/n` and a valid upper bound on +/// the column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor +/// partition `(m*, s)` and hand everything to +/// [`quspin_expm::ExpmOp::from_parts`] (mirroring +/// [`crate::mf_expm::expm_apply_mf`]). +pub(crate) fn expm_apply_orbit_rep_cached( + spec: &LindbladSpec, + basis: &[Word], + group: &TranslationGroup, + k_modes: &[i32], + dt: f64, + coeffs: &[Complex], +) -> Vec> { + let n = basis.len(); + if n == 0 { + return Vec::new(); + } + + let index = crate::build_basis_index(basis); + // Phase-aware action: computed ONCE, reused across every matvec below. + let cols = build_orbit_rep_cols(spec, basis, &index, group, k_modes); + + // One pass over the cached columns: per column `c` (rep `basis[c]`) + // gather `raw = Σ|val|` (an upper bound on the absolute column sum) and + // the exact diagonal entry `diag = M[c,c] = Σ_{row==c} val` (summing + // duplicates). From these: `trace = Σ diag`, `μ = trace/n`, and an + // upper bound on the column 1-norm of `M − μ·I`: + // `raw − |diag| + |diag − μ|`. + let per_col: Vec<(f64, Complex)> = cols + .par_iter() + .enumerate() + .map(|(c, col)| { + let mut raw = 0.0_f64; + let mut diag = Complex::new(0.0, 0.0); + for &(row, val) in col.iter() { + raw += val.norm(); + if row as usize == c { + diag += val; + } + } + (raw, diag) + }) + .collect(); + + let trace: Complex = per_col.iter().map(|(_, d)| *d).sum(); + let mu = trace / n as f64; + let onenorm = per_col + .iter() + .map(|(raw, diag)| raw - diag.norm() + (diag - mu).norm()) + .fold(0.0_f64, f64::max); + + let (m_star, s) = crate::expm::select_ms(dt.abs() * onenorm, None); + + let op = OrbitRepCscOp { + cols: &cols, + dim: n, + }; + let e = ExpmOp::from_parts( + op, + Complex::new(dt, 0.0), + mu, + s as usize, + m_star as usize, + 1e-12_f64, + ); + + let mut v = coeffs.to_vec(); + e.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply (orbit-rep cached)"); + v +} + /// Phase-aware leakage: out-of-basis component of `L*(O_k)` where `O_k` /// is the operator represented by `basis` (orbit reps) and `coeffs` /// (complex coefficients in momentum sector `k_modes`). @@ -250,10 +485,9 @@ pub fn pc_step_orbit_rep( coeffs.push(Complex::new(0.0, 0.0)); } } - // 2. Predictor: build CSR + expm. - let csr = generator_csr_orbit_rep(spec, basis, group, k_modes); - let coeffs_predict = crate::mf_expm::expm_apply_csr_cx(&csr, dt, coeffs); - drop(csr); + // 2. Predictor: cache-the-action expm (no CSR materialised; the + // phase-aware action is built once via `build_orbit_rep_cols`). + let coeffs_predict = expm_apply_orbit_rep_cached(spec, basis, group, k_modes, dt, coeffs); // 3. Second-hop leakage from predicted state. let leak2 = leakage_orbit_rep(spec, basis, &coeffs_predict, protected, group, k_modes)?; drop(coeffs_predict); @@ -263,10 +497,8 @@ pub fn pc_step_orbit_rep( coeffs.push(Complex::new(0.0, 0.0)); } } - // 4. Corrector: rebuild + expm from pre-step state. - let csr = generator_csr_orbit_rep(spec, basis, group, k_modes); - *coeffs = crate::mf_expm::expm_apply_csr_cx(&csr, dt, coeffs); - drop(csr); + // 4. Corrector: cache-the-action expm from pre-step state (basis grew). + *coeffs = expm_apply_orbit_rep_cached(spec, basis, group, k_modes, dt, coeffs); // 5. Prune. if drop_tol > 0.0 { prune_basis_complex_local(basis, coeffs, drop_tol, protected); @@ -311,3 +543,79 @@ fn build_basis_index(basis: &[Word]) -> FxHashMap { } index } + +#[cfg(test)] +mod tests { + use super::*; + use ppvm_runtime::symmetry::canonicalize_pauli_sum_complex; + + /// Cache-the-action orbit-rep expm must agree with the CSR-backed + /// reference to numerical round-off. Setup mirrors the end-to-end + /// `pc_step_orbit_rep_matches_full_basis_projection` test in lib.rs: + /// an n=4 translation-invariant XY chain, an orbit-rep basis built by + /// canonicalizing the Σ Z_j seed, deterministic pseudo-random complex + /// coeffs, dt=0.37. Checked at momenta k=0 and k=1. + #[test] + fn parity_orbit_rep_cached_vs_csr() { + let n = 4usize; + let dt = 0.37f64; + + // Translation-invariant XY Hamiltonian. + let mut h_terms: Vec<(String, f64)> = Vec::new(); + for j in 0..n { + let nxt = (j + 1) % n; + for op in ["X", "Y"] { + let mut s = vec!['I'; n]; + s[j] = op.chars().next().unwrap(); + s[nxt] = op.chars().next().unwrap(); + h_terms.push((s.into_iter().collect(), 1.0)); + } + } + let spec = LindbladSpec::new(n, &h_terms, &[]).unwrap(); + let group = TranslationGroup::chain_1d(n); + + for k_mode in [0i32, 1i32] { + let k = vec![k_mode]; + + // Seed: Σ_j Z_j, then canonicalize to an orbit-rep basis at k. + let mut basis: Vec = (0..n) + .map(|j| { + let mut s = vec!['I'; n]; + s[j] = 'Z'; + let (w, _) = + crate::parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); + w + }) + .collect(); + let mut seed_coeffs: Vec> = + (0..n).map(|_| Complex::new(1.0, 0.0)).collect(); + canonicalize_pauli_sum_complex(&mut basis, &mut seed_coeffs, &group, &k); + assert!(!basis.is_empty(), "orbit-rep basis empty for k={k_mode}"); + + // Deterministic pseudo-random complex coeffs on the rep basis. + let coeffs: Vec> = (0..basis.len()) + .map(|i| { + let a = ((i as u64).wrapping_mul(2654435761) % 1000) as f64 / 1000.0 - 0.5; + let b = ((i as u64).wrapping_mul(40503).wrapping_add(7) % 1000) as f64 / 1000.0 + - 0.5; + Complex::new(a, b) + }) + .collect(); + + let cached = expm_apply_orbit_rep_cached(&spec, &basis, &group, &k, dt, &coeffs); + let csr = generator_csr_orbit_rep(&spec, &basis, &group, &k); + let reference = crate::mf_expm::expm_apply_csr_cx(&csr, dt, &coeffs); + + assert_eq!(cached.len(), reference.len()); + let max_diff = cached + .iter() + .zip(reference.iter()) + .map(|(a, b)| (a - b).norm()) + .fold(0.0_f64, f64::max); + assert!( + max_diff < 1e-10, + "orbit-rep cached vs csr parity failed at k={k_mode}: max|Δ| = {max_diff:e}" + ); + } + } +} From 9e1df5282cab49ca72531a063eb03f32a90dd56d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 17 Jun 2026 19:12:30 +0100 Subject: [PATCH 027/159] refactor(ppvm-lindblad): drop the dead complex-CSR orbit-rep reference The orbit-rep path is fully matrix-free now (expm_apply_orbit_rep_cached, cache-action). The complex-CSR code was retained only as a parity reference; remove it: * orbit_rep.rs: generator_csr_orbit_rep + the parity_orbit_rep_cached_vs_csr test (the cache path is exercised end-to-end by pc_step_orbit_rep_matches_full_basis_projection, which stays). * mf_expm.rs: expm_apply_csr_cx + CsrCxOp. * expm.rs: the now-unused complex-CSR primitives CsrCx, csr_cx_one_norm, spmv_cx{,_serial,_parallel}. expm.rs is now just select_ms + THETA. Also folded the file-local orbit_rep::build_basis_index duplicate onto the crate-level build_basis_index (compiler-flagged dead after the removal). Net -370 lines. Validated: cargo test --workspace --exclude ppvm-python-native (all green, warning-clean) and the Python momentum-merge + lindblad suites (23 passed). No CSR is materialized on any evolution path. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/expm.rs | 69 +---------- crates/ppvm-lindblad/src/mf_expm.rs | 142 ---------------------- crates/ppvm-lindblad/src/orbit_rep.rs | 163 +------------------------- 3 files changed, 4 insertions(+), 370 deletions(-) diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index 8ff9d1de..15a54740 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -10,19 +10,7 @@ //! //! - the `(m, s)` selection table [`THETA`] / [`select_ms`] from Al-Mohy & //! Higham (2011), used to pick the Taylor partition handed to -//! `quspin-expm`'s `from_parts`; -//! - the complex CSR type [`CsrCx`] and its 1-norm / SpMV -//! ([`csr_cx_one_norm`], [`spmv_cx`]), used by the orbit-rep evolution -//! path (whose momentum-character phases make the matrix complex). - -use num::Complex; -use rayon::prelude::*; -use sprs::CsMatI; - -/// Complex-coefficient CSR matrix. Used by the orbit-rep evolution -/// path, where matrix elements pick up `χ_k(g)` phases from the -/// translation generator and become complex. -pub type CsrCx = CsMatI, u32, usize>; +//! `quspin-expm`'s `from_parts`. /// `θ_m` table from Al-Mohy & Higham (2011), Table A.3, for double /// precision (unit roundoff `u = 2^{-53}`). @@ -91,61 +79,6 @@ pub(crate) fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { (best_m, best_s) } -/// Matrix 1-norm `max_j Σ_i |A_{ij}|` for a complex CSR. -pub fn csr_cx_one_norm(m: &CsrCx) -> f64 { - if m.cols() == 0 { - return 0.0; - } - let mut col_sums = vec![0f64; m.cols()]; - for (k, &col) in m.indices().iter().enumerate() { - col_sums[col as usize] += m.data()[k].norm(); - } - col_sums.into_iter().fold(0f64, f64::max) -} - -/// `y ← A · x` for a complex CSR + complex vector. Serial. -pub fn spmv_cx_serial(m: &CsrCx, x: &[Complex], y: &mut [Complex]) { - debug_assert_eq!(x.len(), m.cols()); - debug_assert_eq!(y.len(), m.rows()); - let indptr_raw = m.indptr(); - let indptr = indptr_raw.raw_storage(); - let indices = m.indices(); - let data = m.data(); - for (i, yi) in y.iter_mut().enumerate() { - let mut sum = Complex::new(0.0, 0.0); - for k in indptr[i]..indptr[i + 1] { - sum += data[k] * x[indices[k] as usize]; - } - *yi = sum; - } -} - -/// `y ← A · x` for a complex CSR + complex vector. Rayon-parallel over rows. -pub fn spmv_cx_parallel(m: &CsrCx, x: &[Complex], y: &mut [Complex]) { - debug_assert_eq!(x.len(), m.cols()); - debug_assert_eq!(y.len(), m.rows()); - let indptr_raw = m.indptr(); - let indptr = indptr_raw.raw_storage(); - let indices = m.indices(); - let data = m.data(); - y.par_iter_mut().enumerate().for_each(|(i, yi)| { - let mut sum = Complex::new(0.0, 0.0); - for k in indptr[i]..indptr[i + 1] { - sum += data[k] * x[indices[k] as usize]; - } - *yi = sum; - }); -} - -#[inline] -pub fn spmv_cx(m: &CsrCx, x: &[Complex], y: &mut [Complex], parallel_threshold: usize) { - if m.nnz() >= parallel_threshold { - spmv_cx_parallel(m, x, y); - } else { - spmv_cx_serial(m, x, y); - } -} - #[cfg(test)] mod tests { use super::*; diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index f2eb9c81..2e89e49c 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -18,7 +18,6 @@ //! matrix-free pass over the basis (the same `(m, s)` selection table as the //! retired hand-rolled engine in [`crate::expm`]). -use crate::expm::CsrCx; use crate::{LindbladSpec, Word, build_basis_index, expm}; use fxhash::FxHashMap; use num::Complex; @@ -206,145 +205,4 @@ pub(crate) fn expm_apply_mf_cxvec( .collect() } -/// Borrowed CSR-backed view of a genuinely complex generator (the orbit-rep -/// generator built by [`LindbladSpec::generator_csr_orbit_rep`], whose -/// momentum-character phases make the entries complex). There is no -/// matrix-free complex action available, so this drives the materialised -/// `CsrCx` through `quspin-expm`. -/// -/// Retained only as the parity reference for the cache-the-action orbit-rep -/// path (`orbit_rep::expm_apply_orbit_rep_cached`); the production -/// `pc_step_orbit_rep` no longer materialises a `CsrCx`. May be removed in a -/// follow-up. -#[allow(dead_code)] -pub(crate) struct CsrCxOp<'a> { - csr: &'a CsrCx, -} - -impl LinearOperator> for CsrCxOp<'_> { - fn dim(&self) -> usize { - self.csr.rows() - } - - fn parallel_hint(&self) -> bool { - // `spmv_cx` parallelises internally over rows when worthwhile; we - // drive the sequential single-vector `apply` path. - false - } - - fn dot( - &self, - overwrite: bool, - input: &[Complex], - output: &mut [Complex], - ) -> Result<(), QuSpinError> { - if overwrite { - expm::spmv_cx(self.csr, input, output, usize::MAX); - } else { - let mut tmp = vec![Complex::new(0.0, 0.0); output.len()]; - expm::spmv_cx(self.csr, input, &mut tmp, usize::MAX); - for (o, t) in output.iter_mut().zip(tmp.iter()) { - *o += *t; - } - } - Ok(()) - } - - fn trace(&self) -> Complex { - unreachable!("CsrCxOp::trace not used on the from_parts apply path") - } - - fn onenorm(&self, _shift: Complex) -> f64 { - unreachable!("CsrCxOp::onenorm not used on the from_parts apply path") - } - - fn dot_transpose( - &self, - _overwrite: bool, - _input: &[Complex], - _output: &mut [Complex], - ) -> Result<(), QuSpinError> { - Err(QuSpinError::RuntimeError( - "CsrCxOp: dot_transpose not used on the from_parts apply path".into(), - )) - } - - fn dot_many( - &self, - _overwrite: bool, - _input: ndarray::ArrayView2<'_, Complex>, - _output: ndarray::ArrayViewMut2<'_, Complex>, - ) -> Result<(), QuSpinError> { - Err(QuSpinError::RuntimeError( - "CsrCxOp: dot_many not used on the from_parts apply path".into(), - )) - } - - fn dot_chunk( - &self, - _overwrite: bool, - _input: &[Complex], - _output_chunk: &mut [Complex], - _row_start: usize, - ) -> Result<(), QuSpinError> { - Err(QuSpinError::RuntimeError( - "CsrCxOp: dot_chunk not used on the from_parts apply path".into(), - )) - } - - fn dot_transpose_chunk( - &self, - _input: &[Complex], - _output: &[ as ExpmComputation>::Atomic], - _rows: std::ops::Range, - ) -> Result<(), QuSpinError> { - Err(QuSpinError::RuntimeError( - "CsrCxOp: dot_transpose_chunk not used on the from_parts apply path".into(), - )) - } -} - -/// Compute `exp(dt · M) · coeffs` for a genuinely complex CSR generator `M` -/// (the orbit-rep generator) via `quspin-expm`. Returns a fresh -/// `Vec>` of length `csr.rows()`. -/// -/// Uses the exact zero shift `μ = 0` (the trace shift is only an efficiency -/// optimisation and orbit-rep matrices are small). The Taylor partition -/// `(m*, s)` is picked from `‖dt·M‖₁` via the same selection table as the -/// retired hand-rolled engine in [`crate::expm`]. -/// -/// Retained only as the parity reference for the cache-the-action orbit-rep -/// path (`orbit_rep::expm_apply_orbit_rep_cached`); the production -/// `pc_step_orbit_rep` no longer materialises a `CsrCx`. May be removed in a -/// follow-up. -#[allow(dead_code)] -pub(crate) fn expm_apply_csr_cx( - csr: &CsrCx, - dt: f64, - coeffs: &[Complex], -) -> Vec> { - let n = csr.rows(); - if n == 0 { - return Vec::new(); - } - - let mu = Complex::new(0.0, 0.0); - let onenorm = expm::csr_cx_one_norm(csr); - let (m_star, s) = expm::select_ms(dt.abs() * onenorm, None); - - let op = CsrCxOp { csr }; - let e = quspin_expm::ExpmOp::from_parts( - op, - Complex::new(dt, 0.0), - mu, - s as usize, - m_star as usize, - 1e-12_f64, - ); - - let mut v = coeffs.to_vec(); - e.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) - .expect("expm apply (csr cx)"); - v -} diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index fae17953..d6fe6040 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -33,7 +33,6 @@ //! `pc_step_orbit_rep` once per momentum mode and inverse-Fourier //! the results. -use crate::expm::CsrCx; use crate::{Error, LindbladSpec}; use fxhash::{FxBuildHasher, FxHashMap}; use num::Complex; @@ -41,7 +40,6 @@ use ppvm_runtime::symmetry::TranslationGroup; use quspin_expm::ExpmOp; use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; -use sprs::CsMatI; // Word type re-exported from lib.rs. use crate::Word; @@ -60,70 +58,6 @@ pub fn canonicalize_basis_to_rep(basis: &mut [Word], group: &TranslationGroup) { } } -/// Build the in-basis-restricted complex CSR of the L* generator, -/// **in orbit-rep form** at momentum sector `k_modes`. -/// -/// For each input rep `r` (column index) and each output Pauli `q` of -/// `L*(r) = Σ_q v_q · q`: -/// 1. Canonicalize `q` → `(r_q, cnt_q)`. -/// 2. If `r_q` is in `basis` at row index `i`, add `χ_k(g_{cnt_q}) · v_q` -/// to `M[i, col_r]`. -/// 3. Outputs not in `basis` are silently dropped (they would be -/// handled by [`leakage_orbit_rep`] in the surrounding pc_step). -/// -/// Returns a `(basis.len() × basis.len())` complex CSR. -pub fn generator_csr_orbit_rep( - spec: &LindbladSpec, - basis: &[Word], - group: &TranslationGroup, - k_modes: &[i32], -) -> CsrCx { - let n = basis.len(); - if n == 0 { - return CsMatI::new_from_unsorted((0, 0), vec![0], Vec::new(), Vec::new()) - .map_err(|(_, _, _, e)| e) - .expect("empty CSR"); - } - - // Build a Word → row index map. - let index = build_basis_index(basis); - - // Per-column accumulation: for each rep r, list of (row, phase × v). - let cols = build_orbit_rep_cols(spec, basis, &index, group, k_modes); - - // Build per-row (col, value) lists. Multiple (col, row) entries - // for the same (row, col) cell get summed (sprs's `new_from_unsorted` - // doesn't dedup, and would also choke on unsorted within-row - // indices); we do both up front. - let mut row_data: Vec)>> = vec![Vec::new(); n]; - for (col, col_data) in cols.iter().enumerate() { - for &(row, v) in col_data.iter() { - row_data[row as usize].push((col as u32, v)); - } - } - let mut row_ptr = vec![0usize; n + 1]; - let mut indices: Vec = Vec::new(); - let mut data: Vec> = Vec::new(); - for (i, mut rd) in row_data.into_iter().enumerate() { - // sort by col, then sum duplicates. - rd.sort_by_key(|&(c, _)| c); - let mut last_col: Option = None; - for (c, v) in rd { - if last_col == Some(c) { - let n_so_far = data.len(); - data[n_so_far - 1] += v; - } else { - indices.push(c); - data.push(v); - last_col = Some(c); - } - } - row_ptr[i + 1] = indices.len(); - } - - CsMatI::new((n, n), row_ptr, indices, data) -} - /// Build the per-column phase-aware action of the in-basis-restricted /// orbit-rep generator `M` at momentum sector `k_modes`. /// @@ -132,9 +66,8 @@ pub fn generator_csr_orbit_rep( /// of `L*(basis[c])` whose orbit rep `r_q` is in `basis` at index `row`. /// Outputs not in `basis` are dropped. This is the expensive part of the /// orbit-rep dynamics (`compute_action_terms` + `canonicalize_with_shift` -/// + `character`); it is computed once and reused, both by -/// [`generator_csr_orbit_rep`] (which transposes it into a CSR) and by the -/// CSC-style matvec in [`OrbitRepCscOp`] (which reads it directly). +/// + `character`); it is computed once and reused by the CSC-style matvec +/// in [`OrbitRepCscOp`] (which reads it directly). pub(crate) fn build_orbit_rep_cols( spec: &LindbladSpec, basis: &[Word], @@ -302,7 +235,7 @@ impl LinearOperator> for OrbitRepCscOp<'_> { /// Compute `exp(dt · M) · coeffs` for the in-basis-restricted orbit-rep /// generator `M` at momentum sector `k_modes`, via `quspin-expm`. Returns -/// a fresh `Vec>` of length `basis.len()`. No `CsrCx` is +/// a fresh `Vec>` of length `basis.len()`. No CSR is /// materialised. /// /// The expensive phase-aware action is computed ONCE here (via @@ -529,93 +462,3 @@ fn prune_basis_complex_local( basis.truncate(write); coeffs.truncate(write); } - -fn build_basis_index(basis: &[Word]) -> FxHashMap { - let mut index: FxHashMap = FxHashMap::default(); - for (i, w) in basis.iter().enumerate() { - let prev = index.insert(w.clone(), i as u32); - debug_assert!( - prev.is_none(), - "orbit-rep basis contains duplicate at positions {} and {}", - prev.unwrap(), - i, - ); - } - index -} - -#[cfg(test)] -mod tests { - use super::*; - use ppvm_runtime::symmetry::canonicalize_pauli_sum_complex; - - /// Cache-the-action orbit-rep expm must agree with the CSR-backed - /// reference to numerical round-off. Setup mirrors the end-to-end - /// `pc_step_orbit_rep_matches_full_basis_projection` test in lib.rs: - /// an n=4 translation-invariant XY chain, an orbit-rep basis built by - /// canonicalizing the Σ Z_j seed, deterministic pseudo-random complex - /// coeffs, dt=0.37. Checked at momenta k=0 and k=1. - #[test] - fn parity_orbit_rep_cached_vs_csr() { - let n = 4usize; - let dt = 0.37f64; - - // Translation-invariant XY Hamiltonian. - let mut h_terms: Vec<(String, f64)> = Vec::new(); - for j in 0..n { - let nxt = (j + 1) % n; - for op in ["X", "Y"] { - let mut s = vec!['I'; n]; - s[j] = op.chars().next().unwrap(); - s[nxt] = op.chars().next().unwrap(); - h_terms.push((s.into_iter().collect(), 1.0)); - } - } - let spec = LindbladSpec::new(n, &h_terms, &[]).unwrap(); - let group = TranslationGroup::chain_1d(n); - - for k_mode in [0i32, 1i32] { - let k = vec![k_mode]; - - // Seed: Σ_j Z_j, then canonicalize to an orbit-rep basis at k. - let mut basis: Vec = (0..n) - .map(|j| { - let mut s = vec!['I'; n]; - s[j] = 'Z'; - let (w, _) = - crate::parse_pauli_string(&s.into_iter().collect::(), n).unwrap(); - w - }) - .collect(); - let mut seed_coeffs: Vec> = - (0..n).map(|_| Complex::new(1.0, 0.0)).collect(); - canonicalize_pauli_sum_complex(&mut basis, &mut seed_coeffs, &group, &k); - assert!(!basis.is_empty(), "orbit-rep basis empty for k={k_mode}"); - - // Deterministic pseudo-random complex coeffs on the rep basis. - let coeffs: Vec> = (0..basis.len()) - .map(|i| { - let a = ((i as u64).wrapping_mul(2654435761) % 1000) as f64 / 1000.0 - 0.5; - let b = ((i as u64).wrapping_mul(40503).wrapping_add(7) % 1000) as f64 / 1000.0 - - 0.5; - Complex::new(a, b) - }) - .collect(); - - let cached = expm_apply_orbit_rep_cached(&spec, &basis, &group, &k, dt, &coeffs); - let csr = generator_csr_orbit_rep(&spec, &basis, &group, &k); - let reference = crate::mf_expm::expm_apply_csr_cx(&csr, dt, &coeffs); - - assert_eq!(cached.len(), reference.len()); - let max_diff = cached - .iter() - .zip(reference.iter()) - .map(|(a, b)| (a - b).norm()) - .fold(0.0_f64, f64::max); - assert!( - max_diff < 1e-10, - "orbit-rep cached vs csr parity failed at k={k_mode}: max|Δ| = {max_diff:e}" - ); - } - } -} From 65fc28c6d2e57a642bd820a34080e7369f7a6185 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 25 Jun 2026 08:44:03 +0200 Subject: [PATCH 028/159] feat(ppvm-lindblad): promote max_basis to a required pc_step parameter Replace the tau_add magnitude-threshold knob on the real (f64) pc_step path with a required `max_basis` rank cap (PauliStrings.jl-style). The cap drives three trims, all from the single parameter: - leakage map: capped to `room = max_basis - basis.len()` during accumulation (keep the `room` largest by |coeff|), bounding the peak off-basis map that previously dominated memory; - enrichment: adds the top-`room` leakage strings (no magnitude floor); - post-step: `cap_basis` trims the carried basis to the top-`max_basis` by |coeff| (protected words always kept), after `drop_tol` pruning. `drop_tol` stays optional (default 1e-12) for adaptive shrink + hygiene. `tau_add`/`K` and the `PPVM_MAX_BASIS` env toggle are gone from this path; pass a large `max_basis` (e.g. usize::MAX / 10_000_000) for the near-exact, uncapped case. Threaded through pc_step / pc_step_inner / pc_step_timed (Rust core), the PyO3 pc_step/pc_step_timed bindings, and the pc_step_arr/pc_step Python wrappers. The complex and orbit-rep paths are unchanged in this commit. cargo test --workspace --exclude ppvm-python-native: 632 passed. lindblad pytest: 23 passed. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/lib.rs | 244 +++++++++++------- crates/ppvm-python-native/src/lindblad.rs | 18 +- ppvm-python/demo/lindblad_pc_scaling.py | 10 +- ppvm-python/src/ppvm/lindblad.py | 40 ++- .../test/lindblad/test_action_generator.py | 2 +- .../test/lindblad/test_pc_step_rust.py | 15 +- 6 files changed, 190 insertions(+), 139 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 3fe37707..bd141c63 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -505,10 +505,8 @@ impl LindbladSpec { /// Conservative upper bound on `max_{p, w} |⟨w| L*(p) |p⟩|`, the /// largest coefficient any single input Pauli can produce in any - /// single output Pauli through one action of `L*`. Used by - /// [`Self::leakage`] to safely prune candidates whose accumulated - /// partial sum + remaining-contribution budget cannot reach the - /// `tau_add` keep threshold (Cauchy-Schwarz style streaming bound). + /// single output Pauli through one action of `L*`. Useful for + /// Cauchy-Schwarz style streaming bounds on accumulated leakage. /// /// The bound is `2 · max |h_i|` (commutator factor) plus a per-jump /// term. For the common case of Hermitian-Pauli H and Hermitian-Pauli @@ -559,28 +557,25 @@ impl LindbladSpec { coeffs: &[f64], protected: &[Word], ) -> Result, Error> { - self.leakage_with_prune(basis, coeffs, protected, None) + self.leakage_with_prune(basis, coeffs, protected, usize::MAX) } - /// Like [`Self::leakage`], but when `tau_add` is `Some(τ)` runs the - /// streaming Cauchy-Schwarz prune: after each chunk the remaining - /// possible contribution to any not-yet-final candidate is bounded - /// by `max_action_coef × Σ_{i not yet processed} |c_i|`. Entries - /// whose `|partial_sum| + remaining_bound < τ` are dropped. The - /// final keep filter `|sum| ≥ τ` is still applied by the caller. + /// Like [`Self::leakage`], but caps the live off-basis leakage map to + /// the *available room* `room = max_basis − basis.len()` — only the + /// strings we could actually add to the basis are worth keeping. The + /// cap is applied during accumulation (after each chunk), keeping the + /// `room` largest-magnitude entries. /// - /// Processing the largest-`|c|` basis indices first shrinks the - /// remaining budget fastest, so the prune kicks in earlier. - /// Memory savings depend on how skewed the `coeffs` distribution - /// is — power-law distributions win the most. Worst case (uniform - /// `|c|`): the bound stays above `τ` until late in the basis, - /// pruning kicks in only near the end, savings approach zero. + /// Basis indices are processed in descending-`|c|` order so the + /// running cap keeps the entries that are most likely to be the true + /// largest contributors. When `max_basis` is large enough that + /// `room ≥ all candidates`, nothing is dropped — the near-exact case. pub fn leakage_with_prune( &self, basis: &[Word], coeffs: &[f64], protected: &[Word], - tau_add: Option, + max_basis: usize, ) -> Result, Error> { if basis.len() != coeffs.len() { return Err(Error::LengthMismatch { @@ -597,28 +592,22 @@ impl LindbladSpec { let protected_set: FxHashMap = protected.iter().map(|w| (word_hash(w), ())).collect(); - // Streaming-prune setup. If `tau_add` is None, fall through to the - // un-pruned path (process basis in original order, no prune). - let (order, mut remaining_budget): (Vec, f64) = if tau_add.is_some() { - let mut idx: Vec = (0..basis.len()).collect(); - // Descending sort by |c|: process largest-magnitude contributors - // first so the Cauchy-Schwarz remaining bound shrinks fast. - idx.sort_by(|&a, &b| { - coeffs[b] - .abs() - .partial_cmp(&coeffs[a].abs()) - .unwrap_or(std::cmp::Ordering::Equal) - }); - let max_coef = self.max_action_coef(); - let total: f64 = coeffs.iter().map(|c| c.abs()).sum(); - (idx, max_coef * total) - } else { - ((0..basis.len()).collect(), f64::INFINITY) - }; - let max_coef = self.max_action_coef(); - let tau = tau_add.unwrap_or(0.0); + // Descending sort by |c|: process largest-magnitude contributors + // first so the running room-cap keeps the right entries. + let mut order: Vec = (0..basis.len()).collect(); + order.sort_by(|&a, &b| { + coeffs[b] + .abs() + .partial_cmp(&coeffs[a].abs()) + .unwrap_or(std::cmp::Ordering::Equal) + }); const CHUNK_SIZE: usize = 4096; + // Cap the live leakage map to the *available room* `max_basis − + // basis.len()` — only the strings we could actually add are worth + // keeping. When `room ≥ all candidates`, nothing is dropped (the + // near-exact case). `usize::MAX` room ⇒ no cap. + let room = max_basis.saturating_sub(basis.len()); let mut merged: FxHashMap = FxHashMap::default(); for chunk_indices in order.chunks(CHUNK_SIZE) { let local: Vec> = chunk_indices @@ -655,16 +644,18 @@ impl LindbladSpec { } } - if tau_add.is_some() { - // Decrement the remaining-contribution budget by what this - // chunk has now processed. Once `remaining_budget < τ`, - // every entry has `|true_sum| ≤ |partial_sum| + remaining`, - // so we can drop entries with `|partial_sum| < τ − remaining`. - let chunk_abs_sum: f64 = chunk_indices.iter().map(|&i| coeffs[i].abs()).sum(); - remaining_budget = (remaining_budget - max_coef * chunk_abs_sum).max(0.0); - if remaining_budget < tau { - let threshold = tau - remaining_budget; - merged.retain(|_, &mut v| v.abs() >= threshold); + // Room-cap: keep only the `room` largest-magnitude entries. + if merged.len() > room { + if room == 0 { + merged.clear(); + } else { + let mut mags: Vec = merged.values().map(|v| v.abs()).collect(); + let k = room.min(mags.len() - 1); + mags.select_nth_unstable_by(k, |a, b| { + b.partial_cmp(a).unwrap_or(std::cmp::Ordering::Equal) + }); + let cutoff = mags[k]; + merged.retain(|_, &mut v| v.abs() >= cutoff); } } } @@ -1251,8 +1242,8 @@ impl LindbladSpec { /// state at time `t + dt`. The step is: /// /// 1. **First-hop expansion**: compute leakage from the current state - /// and append any leakage Pauli with `|coeff| > tau_add` to the - /// basis (with starting coefficient 0). + /// and append the largest leakage Paulis to the basis (with starting + /// coefficient 0), up to `room = max_basis − basis.len()` new strings. /// 2. **Predictor**: apply `exp(dt · M)` to `coeffs` on the enlarged /// basis, yielding a predicted state. /// 3. **Second-hop expansion**: compute leakage from the *predicted* @@ -1267,6 +1258,13 @@ impl LindbladSpec { /// leakage targets — typically the observable's support, which the /// caller wants tracked exactly. /// + /// `max_basis` is a hard rank cap on the live basis: enrichment adds at + /// most `max_basis − basis.len()` of the largest leakage strings, the + /// leakage map is capped to the same room, and the post-step basis is + /// trimmed to the top-`max_basis` by `|coeff|` (protected words always + /// kept). Pass a large value (e.g. `usize::MAX`) for the near-exact, + /// uncapped case. `drop_tol` additionally prunes by magnitude. + /// /// `num_threads`, when set, runs the entire step inside a freshly built /// rayon thread pool of that size — useful for benchmarking parallel /// scaling. When `None`, the global rayon pool is used. @@ -1277,7 +1275,7 @@ impl LindbladSpec { basis: &mut Vec, coeffs: &mut Vec, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: &[Word], num_threads: Option, @@ -1288,10 +1286,10 @@ impl LindbladSpec { .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; pool.install(|| { - self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected) + self.pc_step_inner(basis, coeffs, dt, max_basis, drop_tol, protected) }) } else { - self.pc_step_inner(basis, coeffs, dt, tau_add, drop_tol, protected) + self.pc_step_inner(basis, coeffs, dt, max_basis, drop_tol, protected) } } @@ -1305,7 +1303,7 @@ impl LindbladSpec { basis: &mut Vec, coeffs: &mut Vec, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: &[Word], num_threads: Option, @@ -1317,12 +1315,12 @@ impl LindbladSpec { .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; pool.install(|| { self.pc_step_inner_timed( - basis, coeffs, dt, tau_add, drop_tol, protected, + basis, coeffs, dt, max_basis, drop_tol, protected, ) }) } else { self.pc_step_inner_timed( - basis, coeffs, dt, tau_add, drop_tol, protected, + basis, coeffs, dt, max_basis, drop_tol, protected, ) } } @@ -1332,23 +1330,18 @@ impl LindbladSpec { basis: &mut Vec, coeffs: &mut Vec, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: &[Word], ) -> Result { let mut t = PcStepTimings::default(); let t0 = Instant::now(); - let leak = self.leakage_with_prune(basis, coeffs, protected, Some(tau_add))?; + let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis)?; t.leakage1_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - for (w, v) in leak { - if v.abs() > tau_add { - basis.push(w); - coeffs.push(0.0); - } - } + add_leakage_capped(basis, coeffs, leak, max_basis); t.expand1_us = t0.elapsed().as_micros() as u64; // Predictor: gencsr1 (or one_norm build for mf) + expm1. @@ -1360,17 +1353,12 @@ impl LindbladSpec { t.expm1_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, Some(tau_add))?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; t.leakage2_us = t0.elapsed().as_micros() as u64; drop(coeffs_predict); let t0 = Instant::now(); - for (w, v) in leak2 { - if v.abs() > tau_add { - basis.push(w); - coeffs.push(0.0); - } - } + add_leakage_capped(basis, coeffs, leak2, max_basis); t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); @@ -1378,6 +1366,7 @@ impl LindbladSpec { t.expm2_us = t0.elapsed().as_micros() as u64; prune_basis(basis, coeffs, drop_tol, protected); + cap_basis(basis, coeffs, max_basis, protected); Ok(t) } @@ -1387,7 +1376,7 @@ impl LindbladSpec { basis: &mut Vec, coeffs: &mut Vec, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: &[Word], ) -> Result<(), Error> { @@ -1395,13 +1384,8 @@ impl LindbladSpec { // coefficients followed by zeros for the newly-added leakage strings. // We rely on `coeffs` itself as the pre-step buffer for the corrector // — no `.clone()` is needed because `expm_step` only borrows it. - let leak = self.leakage_with_prune(basis, coeffs, protected, Some(tau_add))?; - for (w, v) in leak { - if v.abs() > tau_add { - basis.push(w); - coeffs.push(0.0); - } - } + let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis)?; + add_leakage_capped(basis, coeffs, leak, max_basis); // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a // new owned vector with the predicted state. let coeffs_predict = self.expm_step(basis, dt, coeffs); @@ -1409,18 +1393,14 @@ impl LindbladSpec { // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for // any newly-added second-hop strings so it remains a valid input // (pre-step state) for the corrector. - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, Some(tau_add))?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; drop(coeffs_predict); - for (w, v) in leak2 { - if v.abs() > tau_add { - basis.push(w); - coeffs.push(0.0); - } - } + add_leakage_capped(basis, coeffs, leak2, max_basis); // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. *coeffs = self.expm_step(basis, dt, coeffs); // 5. Prune basis entries below `drop_tol` (protected words never dropped). prune_basis(basis, coeffs, drop_tol, protected); + cap_basis(basis, coeffs, max_basis, protected); Ok(()) } @@ -1602,6 +1582,72 @@ fn prune_basis(basis: &mut Vec, coeffs: &mut Vec, drop_tol: f64, prot coeffs.truncate(write); } +/// Global max-basis cap (PauliStrings.jl-style top-M trim): keep only the +/// `max_basis` largest-|coeff| terms (protected strings always kept), +/// dropping the rest. Rank-based total-basis bound; dual of `drop_tol`. +/// A `max_basis` large enough to cover the whole basis is a no-op. +fn cap_basis(basis: &mut Vec, coeffs: &mut Vec, max_basis: usize, protected: &[Word]) { + if basis.len() <= max_basis { + return; + } + let protected_set: FxHashSet<&Word> = protected.iter().collect(); + let n_prot = basis.iter().filter(|w| protected_set.contains(w)).count(); + let slots = max_basis.saturating_sub(n_prot); + let mut mags: Vec = basis + .iter() + .zip(coeffs.iter()) + .filter(|(w, _)| !protected_set.contains(w)) + .map(|(_, c)| c.abs()) + .collect(); + let cutoff = if slots == 0 { + f64::INFINITY + } else if slots >= mags.len() { + return; + } else { + let k = slots - 1; + mags.select_nth_unstable_by(k, |a, b| b.partial_cmp(a).unwrap_or(std::cmp::Ordering::Equal)); + mags[k] + }; + let mut write = 0; + for read in 0..basis.len() { + if protected_set.contains(&basis[read]) || coeffs[read].abs() >= cutoff { + if write != read { + basis.swap(write, read); + coeffs.swap(write, read); + } + write += 1; + } + } + basis.truncate(write); + coeffs.truncate(write); +} + +/// Add the largest leakage strings to the basis, up to the available room +/// `room = max_basis − basis.len()` — so the in-step basis (hence the +/// expm/leakage peak memory) never exceeds `max_basis`. New strings get +/// coefficient 0; the surrounding expm fills them. No magnitude filter: the +/// top-`room` by `|leakage|` are added (a large `max_basis` adds them all). +fn add_leakage_capped( + basis: &mut Vec, + coeffs: &mut Vec, + mut leak: Vec<(Word, f64)>, + max_basis: usize, +) { + let room = max_basis.saturating_sub(basis.len()); + if leak.len() > room { + if room > 0 { + leak.select_nth_unstable_by(room - 1, |a, b| { + b.1.abs().partial_cmp(&a.1.abs()).unwrap_or(std::cmp::Ordering::Equal) + }); + } + leak.truncate(room); + } + for (w, _) in leak { + basis.push(w); + coeffs.push(0.0); + } +} + /// Build a `word → row` map for a basis assumed to contain unique Pauli /// words; debug-asserts the uniqueness invariant. pub fn build_basis_index(basis: &[Word]) -> FxHashMap { @@ -1948,12 +1994,16 @@ mod tests { let protected: Vec = Vec::new(); for _ in 0..n_steps { - let tau_add = 1.0; // very loose — no leakage adds + // Large max_basis: rank cap never binds, so the real path + // enriches fully (adds every leakage string). Match the + // complex path by setting its tau_add=0.0 (also full + // enrichment) so the two stay in lock-step at k=0. + let tau_add = 0.0; spec.pc_step( &mut basis_r, &mut coeffs_r, dt, - tau_add, + 10_000_000, 0.0, &protected, None, @@ -2052,29 +2102,29 @@ mod tests { let protected: Vec = Vec::new(); for _ in 0..n_steps { - // tau_add chosen large enough that pc_step doesn't add any - // new strings beyond what the Krylov-expm naturally reaches - // through the basis already present — i.e. we want NO - // leakage enrichment, only the expm step (closest analog of - // standard PP). Set tau_add = +infinity → leakage threshold - // never met → expand step is a no-op. - let tau_add = f64::INFINITY; + // Set max_basis == current basis size so room = 0: NO leakage + // enrichment, only the expm step (closest analog of standard + // PP — the regime where merging commutes with evolution). + // drop_tol = 0 → no truncation. This reproduces the old + // tau_add = +∞ no-add behaviour under the rank-cap API. + let max_basis_u = basis_u.len(); spec.pc_step( &mut basis_u, &mut coeffs_u, dt, - tau_add, + max_basis_u, 0.0, // drop_tol = 0 → no truncation &protected, None, ) .unwrap(); + let max_basis_m = basis_m.len(); spec.pc_step( &mut basis_m, &mut coeffs_m, dt, - tau_add, + max_basis_m, 0.0, &protected, None, diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index 78f7b5c2..c86ab90a 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -206,8 +206,14 @@ impl LindbladSpec { /// Rust via Al-Mohy & Higham scaling-and-squaring; no scipy required. /// /// Returns `(new_basis, new_coeffs)`. + /// + /// `max_basis` is a hard rank cap on the live basis: enrichment adds at + /// most `max_basis − basis.len()` of the largest leakage strings and the + /// post-step basis is trimmed to the top-`max_basis` by `|coeff|` + /// (protected words always kept). Pass a large value for the near-exact + /// case. `drop_tol` additionally prunes by magnitude. #[pyo3(signature = ( - basis, coeffs, dt, tau_add, + basis, coeffs, dt, max_basis, drop_tol = 0.0, protected = None, num_threads = None, @@ -219,7 +225,7 @@ impl LindbladSpec { basis: PyReadonlyArray2<'py, u8>, coeffs: PyReadonlyArray1<'py, f64>, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: Option>, num_threads: Option, @@ -246,7 +252,7 @@ impl LindbladSpec { &mut basis_words, &mut coeffs_vec, dt, - tau_add, + max_basis, drop_tol, &protected_words, num_threads, @@ -261,7 +267,7 @@ impl LindbladSpec { /// Same as [`Self::pc_step`] but also returns a dict mapping phase /// name → microseconds spent in that phase, for profiling. #[pyo3(signature = ( - basis, coeffs, dt, tau_add, + basis, coeffs, dt, max_basis, drop_tol = 0.0, protected = None, num_threads = None, @@ -273,7 +279,7 @@ impl LindbladSpec { basis: PyReadonlyArray2<'py, u8>, coeffs: PyReadonlyArray1<'py, f64>, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: Option>, num_threads: Option, @@ -301,7 +307,7 @@ impl LindbladSpec { &mut basis_words, &mut coeffs_vec, dt, - tau_add, + max_basis, drop_tol, &protected_words, num_threads, diff --git a/ppvm-python/demo/lindblad_pc_scaling.py b/ppvm-python/demo/lindblad_pc_scaling.py index f7c56c34..d7c25491 100644 --- a/ppvm-python/demo/lindblad_pc_scaling.py +++ b/ppvm-python/demo/lindblad_pc_scaling.py @@ -49,7 +49,7 @@ alpha = 1.0 dt = 0.05 n_steps = 20 -tau_add = 1e-8 +max_basis = 10_000_000 # large: rank cap never binds (full enrichment) max_cores = 4 warmup_steps = 4 model = "long-range" # "nn" or "long-range" @@ -110,7 +110,7 @@ def build_long_range_xy_dephasing(L, J, alpha, gamma): # that size, isolating thread-count effects from JIT cache state. # %% -def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): +def run_pc_steps(L_op, L, site0, dt, n_steps, max_basis, num_threads): z_strings = ["I" * j + "Z" + "I" * (L - j - 1) for j in range(L)] basis = [z_strings[site0]] coeffs = np.array([1.0]) @@ -122,7 +122,7 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): basis, coeffs, dt, - tau_add, + max_basis, protected=protected, num_threads=num_threads, ) @@ -139,7 +139,7 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): # %% site0 = L // 2 for n in range(1, max_cores + 1): - run_pc_steps(L_op, L, site0, dt, warmup_steps, tau_add, n) + run_pc_steps(L_op, L, site0, dt, warmup_steps, max_basis, n) # %% [markdown] @@ -148,7 +148,7 @@ def run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, num_threads): # %% results = [] for n in range(1, max_cores + 1): - times, basis_size = run_pc_steps(L_op, L, site0, dt, n_steps, tau_add, n) + times, basis_size = run_pc_steps(L_op, L, site0, dt, n_steps, max_basis, n) first = times[0] * 1000.0 steady = median(times[1:]) * 1000.0 results.append({"threads": n, "first_ms": first, "steady_ms": steady, diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index ecd0192c..7424a20f 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -229,9 +229,8 @@ def pc_step_arr( basis_arr: np.ndarray, coeffs: np.ndarray, dt: float, - tau_add: float | None = None, - drop_tol: float = 0.0, - K: float = 5.0, + max_basis: int, + drop_tol: float = 1e-12, protected_arr: np.ndarray | None = None, num_threads: int | None = None, ) -> tuple[np.ndarray, np.ndarray]: @@ -242,28 +241,21 @@ def pc_step_arr( The matrix-exponential action is computed matrix-free via the external ``quspin-expm`` crate (Al-Mohy & Higham scaling-and-squaring). - Tolerances. ``drop_tol`` prunes basis entries whose absolute - coefficient is below this threshold after the corrector (unless - the word is ``protected``). ``tau_add`` is the leakage-rate - threshold for adding new strings. The default policy ties them via - ``tau_add = K * drop_tol / dt`` (with ``K = 5``): the LR-XY - γ=1, L=51 Pareto study showed K≈5 lies on the front, with - ``drop_tol`` the natural accuracy knob. Pass ``tau_add`` explicitly - to override. + Truncation. ``max_basis`` is a hard rank cap on the live basis: + enrichment adds at most ``max_basis - len(basis)`` of the largest + leakage strings, and the post-step basis is trimmed to the + top-``max_basis`` entries by ``|coeff|`` (``protected`` words always + kept). Pass a large value (e.g. ``10_000_000``) for the near-exact, + uncapped case. ``drop_tol`` additionally prunes basis entries whose + absolute coefficient is below the threshold after the corrector + (unless the word is ``protected``). ``num_threads``, when set, pins this call to a freshly-built rayon pool of that size — useful for benchmarking parallel scaling. Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown - (or shrunk, if ``drop_tol`` pruned entries). + (or shrunk, if ``max_basis`` / ``drop_tol`` pruned entries). """ - if tau_add is None: - if drop_tol <= 0.0: - raise ValueError( - "must provide tau_add explicitly, or drop_tol > 0 " - "(tau_add defaults to K * drop_tol / dt)" - ) - tau_add = K * drop_tol / dt n = self.n_qubits if protected_arr is None: protected_arr = np.zeros((0, n), dtype=np.uint8) @@ -271,7 +263,7 @@ def pc_step_arr( np.ascontiguousarray(basis_arr, dtype=np.uint8), np.ascontiguousarray(coeffs, dtype=np.float64), float(dt), - float(tau_add), + int(max_basis), float(drop_tol), np.ascontiguousarray(protected_arr, dtype=np.uint8), None if num_threads is None else int(num_threads), @@ -408,9 +400,8 @@ def pc_step( basis: Sequence[str], coeffs: np.ndarray, dt: float, - tau_add: float | None = None, - drop_tol: float = 0.0, - K: float = 5.0, + max_basis: int, + drop_tol: float = 1e-12, protected: Sequence[str] | None = None, num_threads: int | None = None, ) -> tuple[list[str], np.ndarray]: @@ -424,9 +415,8 @@ def pc_step( basis_arr, coeffs, dt, - tau_add, + max_basis, drop_tol, - K, protected_arr, num_threads, ) diff --git a/ppvm-python/test/lindblad/test_action_generator.py b/ppvm-python/test/lindblad/test_action_generator.py index b888dffb..7b571c9c 100644 --- a/ppvm-python/test/lindblad/test_action_generator.py +++ b/ppvm-python/test/lindblad/test_action_generator.py @@ -92,7 +92,7 @@ def test_generator_rejects_duplicate_basis(): L_op.generator(basis) # pc_step also builds the row index and must reject duplicates. with pytest.raises(ValueError, match=r"duplicate Pauli word"): - L_op.pc_step(basis, np.ones(len(basis)), 0.01, 1e-10) + L_op.pc_step(basis, np.ones(len(basis)), 0.01, 10_000_000) def test_protected_strings_suppressed(): diff --git a/ppvm-python/test/lindblad/test_pc_step_rust.py b/ppvm-python/test/lindblad/test_pc_step_rust.py index 6332f195..f2269e47 100644 --- a/ppvm-python/test/lindblad/test_pc_step_rust.py +++ b/ppvm-python/test/lindblad/test_pc_step_rust.py @@ -23,7 +23,7 @@ ) -def _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add): +def _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, max_basis): """Same as :func:`_helpers.adaptive_z_correlator_pc` but the per-step PC work (leakage expansion, predictor expm, second-hop expansion, corrector expm) all runs in Rust through :meth:`Lindbladian.pc_step`.""" @@ -36,7 +36,9 @@ def _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add): corr[0, site0] = 1.0 for step in range(n_steps): - basis, coeffs = L_op.pc_step(basis, coeffs, dt, tau_add, protected=protected) + basis, coeffs = L_op.pc_step( + basis, coeffs, dt, max_basis, drop_tol=0.0, protected=protected + ) index = {s: i for i, s in enumerate(basis)} for j in range(L): if z_strings[j] in index: @@ -58,11 +60,14 @@ def test_pc_step_rust_matches_python_pc(): dt = 0.01 n_steps = 5 tau_add = 1e-12 + # Large max_basis so the rust rank cap never binds: full enrichment, + # matching the python reference's effectively-all-leakage tau_add. + max_basis = 10_000_000 h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) L_op = Lindbladian(L, h_terms, jump_terms) - rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) + rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, max_basis) py_ref = adaptive_z_correlator_pc(L_op, L, site0, dt, n_steps, tau_add) diff = float(np.max(np.abs(rust - py_ref))) @@ -78,7 +83,7 @@ def test_pc_step_rust_dt_scaling_is_cubic(): gamma = 1.0 site0 = L // 2 T = 0.05 - tau_add = 1e-12 + max_basis = 10_000_000 # large: rank cap never binds (full enrichment) h_terms, jump_terms = nn_xy_z_dephasing_obc(L, J, gamma) L_op = Lindbladian(L, h_terms, jump_terms) @@ -88,7 +93,7 @@ def test_pc_step_rust_dt_scaling_is_cubic(): n_steps = round(T / dt) times = np.arange(n_steps + 1) * dt exact = bilinear_nn_xy_z_dephasing_obc(L, J, gamma, times, site0) - rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, tau_add) + rust = _adaptive_z_correlator_pc_rust(L_op, L, site0, dt, n_steps, max_basis) err.append(float(np.max(np.abs(rust[-1] - exact[-1])))) # Halving dt should drop the error by ≥5× (cubic gives 8×). From f73854caae2872b68e077719e4b729516e95be3c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 25 Jun 2026 14:53:14 +0200 Subject: [PATCH 029/159] feat(ppvm-lindblad): apply max_basis rank-cap to the orbit-rep pc_step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirror the real-path promotion on the orbit-rep (symmetry-merged, complex) path: pc_step_orbit_rep takes a required `max_basis` rank cap in place of `tau_add`. The single parameter drives the same three trims via complex-valued analogues of the real helpers: - leakage_orbit_rep caps the live candidate map to `room = max_basis - basis.len()` during accumulation (descending-|c| order, keep the `room` largest by |sum|); - add_leakage_capped_complex adds the top-`room` leakage reps; - cap_basis_complex trims the carried basis to the top-`max_basis` by |c|. `drop_tol` stays optional (wrapper default 1e-12). Threaded through the PyO3 pc_step_orbit_rep binding and the Python wrapper. The complex pc_step_complex path is unchanged and keeps tau_add. The orbit-rep ⇄ full-basis-projection equivalence test now uses full enrichment on both sides (full-basis tau_add=0.0, orbit-rep max_basis=large): for a momentum eigenstate the leakage is pure-sector, so both build corresponding bases and the projection theorem matches them exactly. cargo test -p ppvm-lindblad: 9 passed (incl. orbit-rep equivalence). cargo test --workspace --exclude ppvm-python-native: all green. lindblad + momentum_merge pytest: 23 passed. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/lib.rs | 11 +- crates/ppvm-lindblad/src/orbit_rep.rs | 157 ++++++++++++++++++---- crates/ppvm-python-native/src/lindblad.rs | 12 +- ppvm-python/src/ppvm/lindblad.py | 14 +- 4 files changed, 159 insertions(+), 35 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index bd141c63..511980ee 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -1783,8 +1783,13 @@ mod tests { let mut cf = coeffs_full.clone(); let protected: Vec = Vec::new(); for _ in 0..n_steps { + // Full enrichment (tau_add = 0.0 adds every leakage string): + // for a momentum eigenstate the leakage is pure-sector, so the + // full-basis and orbit-rep paths build corresponding bases and + // the projection theorem gives an exact match. The orbit-rep + // side uses a large max_basis so its rank cap never binds. spec.pc_step_complex( - &mut bf, &mut cf, dt, 1.0, 0.0, &protected, None, None, None, + &mut bf, &mut cf, dt, 0.0, 0.0, &protected, None, None, None, ) .unwrap(); } @@ -1796,10 +1801,10 @@ mod tests { let mut br = basis_full.clone(); let mut cr = coeffs_full.clone(); canonicalize_pauli_sum_complex(&mut br, &mut cr, &group, &k); - // Evolve in orbit-rep form. + // Evolve in orbit-rep form (max_basis large ⇒ full enrichment). for _ in 0..n_steps { orbit_rep::pc_step_orbit_rep( - &spec, &mut br, &mut cr, dt, 1.0, 0.0, &protected, &group, &k, + &spec, &mut br, &mut cr, dt, 10_000_000, 0.0, &protected, &group, &k, ) .unwrap(); } diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index d6fe6040..0688896c 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -324,6 +324,14 @@ pub(crate) fn expm_apply_orbit_rep_cached( /// `merged[r_q] += χ_k(g_{cnt_q}) · v_q · c_r`. /// /// Returns `(r_q, sum)` pairs for all candidates with nonzero sum. +/// +/// The live candidate map is capped to the *available room* +/// `room = max_basis − basis.len()` (the reps we could actually add), +/// applied during accumulation: input reps are processed in descending +/// `|c|` order and after each chunk only the `room` largest-`|sum|` +/// candidates are kept. A large `max_basis` (room ≥ all candidates) +/// disables the cap — the near-exact case. +#[allow(clippy::too_many_arguments)] pub fn leakage_orbit_rep( spec: &LindbladSpec, basis: &[Word], @@ -331,6 +339,7 @@ pub fn leakage_orbit_rep( protected: &[Word], group: &TranslationGroup, k_modes: &[i32], + max_basis: usize, ) -> Result)>, Error> { if basis.len() != coeffs.len() { return Err(Error::LengthMismatch { @@ -342,15 +351,22 @@ pub fn leakage_orbit_rep( let in_basis: FxHashMap<&Word, ()> = basis.iter().map(|w| (w, ())).collect(); let protected_set: FxHashMap<&Word, ()> = protected.iter().map(|w| (w, ())).collect(); + // Descending sort by |c|: process largest-magnitude contributors first + // so the running room-cap keeps the right entries. + let mut order: Vec = (0..basis.len()).collect(); + order.sort_by(|&a, &b| { + coeffs[b] + .norm() + .partial_cmp(&coeffs[a].norm()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + const CHUNK_SIZE: usize = 4096; + let room = max_basis.saturating_sub(basis.len()); let mut merged: FxHashMap> = FxHashMap::default(); - for chunk_start in (0..basis.len()).step_by(CHUNK_SIZE) { - let chunk_end = (chunk_start + CHUNK_SIZE).min(basis.len()); - let chunk_basis = &basis[chunk_start..chunk_end]; - let chunk_coeffs = &coeffs[chunk_start..chunk_end]; - let local: Vec)>> = chunk_basis + for chunk_indices in order.chunks(CHUNK_SIZE) { + let local: Vec)>> = chunk_indices .par_iter() - .zip(chunk_coeffs.par_iter()) .map_init( || { ( @@ -362,7 +378,9 @@ pub fn leakage_orbit_rep( ), ) }, - |(s1, s2, lm), (r, &c_r)| { + |(s1, s2, lm), &i| { + let r = &basis[i]; + let c_r = coeffs[i]; let terms = spec.compute_action_terms(r, s1, s2, lm); let mut out = Vec::with_capacity(terms.len()); for (q, v) in terms.iter() { @@ -381,6 +399,21 @@ pub fn leakage_orbit_rep( *merged.entry(k).or_insert(Complex::new(0.0, 0.0)) += val; } } + + // Room-cap: keep only the `room` largest-magnitude entries. + if merged.len() > room { + if room == 0 { + merged.clear(); + } else { + let mut mags: Vec = merged.values().map(|v| v.norm()).collect(); + let k = room.min(mags.len() - 1); + mags.select_nth_unstable_by(k, |a, b| { + b.partial_cmp(a).unwrap_or(std::cmp::Ordering::Equal) + }); + let cutoff = mags[k]; + merged.retain(|_, &mut v| v.norm() >= cutoff); + } + } } Ok(merged.into_iter().filter(|(_, c)| c.norm() > 0.0).collect()) } @@ -388,13 +421,21 @@ pub fn leakage_orbit_rep( /// Per-step orbit-rep predictor-corrector evolution. /// /// All state lives in orbit-rep form throughout. Each pc step does: -/// 1. Phase-aware leakage from `(basis, coeffs)`; append leakage reps -/// with `|c| > tau_add`. +/// 1. Phase-aware leakage from `(basis, coeffs)`; append the largest +/// leakage reps, up to `room = max_basis − basis.len()`. /// 2. Predictor: build complex orbit-rep CSR, run `expm_multiply_cx`. /// 3. Phase-aware leakage from predicted state; append further reps. /// 4. Corrector: rebuild CSR (basis grew), `expm_multiply_cx` from /// pre-step coefficients (with the same trick as `pc_step_inner`). -/// 5. Prune `|c| < drop_tol`, protected reps never dropped. +/// 5. Prune `|c| < drop_tol`, then trim to the top-`max_basis` reps by +/// `|c|`; protected reps never dropped. +/// +/// `max_basis` is a hard rank cap on the live orbit-rep basis: enrichment +/// adds at most `max_basis − basis.len()` of the largest leakage reps, the +/// leakage map is capped to the same room, and the post-step basis is +/// trimmed to the top-`max_basis` by `|c|`. Pass a large value (e.g. +/// `usize::MAX`) for the near-exact, uncapped case. `drop_tol` additionally +/// prunes by magnitude. /// /// `basis` is assumed to contain only canonical orbit representatives. /// If not, [`canonicalize_basis_to_rep`] should be called first. @@ -404,41 +445,105 @@ pub fn pc_step_orbit_rep( basis: &mut Vec, coeffs: &mut Vec>, dt: f64, - tau_add: f64, + max_basis: usize, drop_tol: f64, protected: &[Word], group: &TranslationGroup, k_modes: &[i32], ) -> Result<(), Error> { // 1. First-hop phase-aware leakage. - let leak = leakage_orbit_rep(spec, basis, coeffs, protected, group, k_modes)?; - for (w, v) in leak { - if v.norm() > tau_add { - basis.push(w); - coeffs.push(Complex::new(0.0, 0.0)); - } - } + let leak = leakage_orbit_rep(spec, basis, coeffs, protected, group, k_modes, max_basis)?; + add_leakage_capped_complex(basis, coeffs, leak, max_basis); // 2. Predictor: cache-the-action expm (no CSR materialised; the // phase-aware action is built once via `build_orbit_rep_cols`). let coeffs_predict = expm_apply_orbit_rep_cached(spec, basis, group, k_modes, dt, coeffs); // 3. Second-hop leakage from predicted state. - let leak2 = leakage_orbit_rep(spec, basis, &coeffs_predict, protected, group, k_modes)?; + let leak2 = + leakage_orbit_rep(spec, basis, &coeffs_predict, protected, group, k_modes, max_basis)?; drop(coeffs_predict); - for (w, v) in leak2 { - if v.norm() > tau_add { - basis.push(w); - coeffs.push(Complex::new(0.0, 0.0)); - } - } + add_leakage_capped_complex(basis, coeffs, leak2, max_basis); // 4. Corrector: cache-the-action expm from pre-step state (basis grew). *coeffs = expm_apply_orbit_rep_cached(spec, basis, group, k_modes, dt, coeffs); - // 5. Prune. + // 5. Prune by magnitude, then rank-cap to max_basis. if drop_tol > 0.0 { prune_basis_complex_local(basis, coeffs, drop_tol, protected); } + cap_basis_complex(basis, coeffs, max_basis, protected); Ok(()) } +/// Complex analogue of `crate::add_leakage_capped`: add the largest leakage +/// reps to the basis, up to the available room `room = max_basis − +/// basis.len()`, so the in-step orbit-rep basis never exceeds `max_basis`. +/// New reps get coefficient 0; the surrounding expm fills them. No +/// magnitude filter — the top-`room` by `|leakage|` are added. +fn add_leakage_capped_complex( + basis: &mut Vec, + coeffs: &mut Vec>, + mut leak: Vec<(Word, Complex)>, + max_basis: usize, +) { + let room = max_basis.saturating_sub(basis.len()); + if leak.len() > room { + if room > 0 { + leak.select_nth_unstable_by(room - 1, |a, b| { + b.1.norm() + .partial_cmp(&a.1.norm()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + } + leak.truncate(room); + } + for (w, _) in leak { + basis.push(w); + coeffs.push(Complex::new(0.0, 0.0)); + } +} + +/// Complex analogue of `crate::cap_basis`: keep only the `max_basis` +/// largest-`|c|` reps (protected reps always kept), dropping the rest. +/// A `max_basis` large enough to cover the whole basis is a no-op. +fn cap_basis_complex( + basis: &mut Vec, + coeffs: &mut Vec>, + max_basis: usize, + protected: &[Word], +) { + if basis.len() <= max_basis { + return; + } + let protected_set: fxhash::FxHashSet<&Word> = protected.iter().collect(); + let n_prot = basis.iter().filter(|w| protected_set.contains(w)).count(); + let slots = max_basis.saturating_sub(n_prot); + let mut mags: Vec = basis + .iter() + .zip(coeffs.iter()) + .filter(|(w, _)| !protected_set.contains(w)) + .map(|(_, c)| c.norm()) + .collect(); + let cutoff = if slots == 0 { + f64::INFINITY + } else if slots >= mags.len() { + return; + } else { + let k = slots - 1; + mags.select_nth_unstable_by(k, |a, b| b.partial_cmp(a).unwrap_or(std::cmp::Ordering::Equal)); + mags[k] + }; + let mut write = 0; + for read in 0..basis.len() { + if protected_set.contains(&basis[read]) || coeffs[read].norm() >= cutoff { + if write != read { + basis.swap(write, read); + coeffs.swap(write, read); + } + write += 1; + } + } + basis.truncate(write); + coeffs.truncate(write); +} + fn prune_basis_complex_local( basis: &mut Vec, coeffs: &mut Vec>, diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index c86ab90a..b22b90c6 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -441,8 +441,14 @@ impl LindbladSpec { /// Pass `canonicalize_first=True` to enforce this on entry (rewrites /// each basis row to its canonical rep; coefficients unchanged). /// Default `False` — the caller is trusted. + /// + /// `max_basis` is a hard rank cap on the live orbit-rep basis: + /// enrichment adds at most `max_basis − basis.len()` of the largest + /// leakage reps and the post-step basis is trimmed to the top-`max_basis` + /// by `|c|` (protected reps always kept). Pass a large value for the + /// near-exact case. `drop_tol` additionally prunes by magnitude. #[pyo3(signature = ( - basis, coeffs, dt, tau_add, + basis, coeffs, dt, max_basis, group, momentum, drop_tol = 0.0, protected = None, @@ -455,7 +461,7 @@ impl LindbladSpec { basis: PyReadonlyArray2<'py, u8>, coeffs: PyReadonlyArray1<'py, Complex64>, dt: f64, - tau_add: f64, + max_basis: usize, group: &crate::symmetry::TranslationGroup, momentum: PyReadonlyArray1<'py, i32>, drop_tol: f64, @@ -501,7 +507,7 @@ impl LindbladSpec { &mut basis_words, &mut coeffs_vec, dt, - tau_add, + max_basis, drop_tol, &protected_words, group.core(), diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 7424a20f..00486f27 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -321,10 +321,10 @@ def pc_step_orbit_rep( basis_arr: np.ndarray, coeffs: np.ndarray, dt: float, - tau_add: float, + max_basis: int, group, momentum: np.ndarray, - drop_tol: float = 0.0, + drop_tol: float = 1e-12, protected_arr: np.ndarray | None = None, canonicalize_first: bool = False, ) -> tuple[np.ndarray, np.ndarray]: @@ -336,6 +336,14 @@ def pc_step_orbit_rep( is ~``|group|×`` smaller than the equivalent full-basis complex evolution, and the reduction persists across every step. + Truncation. ``max_basis`` is a hard rank cap on the live orbit-rep + basis: enrichment adds at most ``max_basis - len(basis)`` of the + largest leakage reps, and the post-step basis is trimmed to the + top-``max_basis`` reps by ``|c|`` (``protected`` reps always kept). + Pass a large value (e.g. ``10_000_000``) for the near-exact, + uncapped case. ``drop_tol`` additionally prunes reps whose absolute + coefficient is below the threshold after the corrector. + ``basis_arr`` is assumed to contain canonical reps only. Pass ``canonicalize_first=True`` to rewrite each row to its canonical rep on entry (coefficients unchanged). @@ -347,7 +355,7 @@ def pc_step_orbit_rep( np.ascontiguousarray(basis_arr, dtype=np.uint8), np.ascontiguousarray(coeffs, dtype=np.complex128), float(dt), - float(tau_add), + int(max_basis), group, np.ascontiguousarray(momentum, dtype=np.int32), float(drop_tol), From f5d9ac57306dd9d7adfd4c1fe7e898c6f6b653c8 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 10:32:15 +0100 Subject: [PATCH 030/159] autotune(expm-pc-step): baseline + profile (expm apply = 97% of pc_step) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-01-expm-pc-step/log.md | 23 +++++++++++++++++++ .../2026-07-01-expm-pc-step/metric.toml | 8 +++++++ 2 files changed, 31 insertions(+) create mode 100644 docs/autotune/2026-07-01-expm-pc-step/log.md create mode 100644 docs/autotune/2026-07-01-expm-pc-step/metric.toml diff --git a/docs/autotune/2026-07-01-expm-pc-step/log.md b/docs/autotune/2026-07-01-expm-pc-step/log.md new file mode 100644 index 00000000..e1f04fab --- /dev/null +++ b/docs/autotune/2026-07-01-expm-pc-step/log.md @@ -0,0 +1,23 @@ +# Log for 2026-07-01-expm-pc-step + +## 2026-07-01 + +## Architecture notes (profile before optimizing) + +Metric: total wall for 15 `pc_step_arr` steps on the real-space XY two-leg +ladder, N=10 (L=5), gamma=0, dt=0.05, drop_tol=1e-3, localized-Z seed. +Baseline = 3.28 s, RSS 250 MB, peak basis 15414. Conservation Sum a_q = 1. + +Phase breakdown (pc_step_timed, steady-state, N=10, drop=1e-3): +- expm (matrix-exponential apply): **96.8%** (expm2 70.6% + expm1 26.1%) +- leakage: 3.1% +- generator: 0.0% (matrix-free path builds no CSR) +- expand: 0.1% + +=> The entire per-step cost is `mf_expm::expm_apply_mf`. Its `MfOp::dot` / +`spmv_matrix_free` RECOMPUTES the generator action (spec.action per column) +on every Krylov/Taylor matvec. The orbit-rep path already caches the action +once per expm call (`build_orbit_rep_cols` + `OrbitRepCscOp`); the real-space +path does not. Hypothesis 1: cache the action (CSC) once per expm call and +reuse across matvecs -> large expm speedup. Known tradeoff: matrix-full was +~2.8x faster / ~1.43x more memory in an earlier ad-hoc test. diff --git a/docs/autotune/2026-07-01-expm-pc-step/metric.toml b/docs/autotune/2026-07-01-expm-pc-step/metric.toml new file mode 100644 index 00000000..40354e08 --- /dev/null +++ b/docs/autotune/2026-07-01-expm-pc-step/metric.toml @@ -0,0 +1,8 @@ +[[metric]] +"commit" = "d0928c21" +"status" = "keep" +"description" = "baseline: real-space XY ladder N=10, 15 pc_step, drop=1e-3" +"wall_s" = 3.275 +"rss_mb" = 250.0 +"peak_basis" = 15414.0 + From f93a230e5dc93d70a6788b02274cca273c1beb7f Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 10:40:34 +0100 Subject: [PATCH 031/159] perf(ppvm-lindblad): cache generator action in real-space expm_apply_mf Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/mf_expm.rs | 192 ++++++++++++++++++++-------- 1 file changed, 137 insertions(+), 55 deletions(-) diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index 2e89e49c..47f0a834 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -4,63 +4,139 @@ //! Matrix-free `exp(dt · L*) · b` for the real (`f64`) path, driven by the //! external `quspin-expm` crate. //! -//! Instead of materialising the in-basis-restricted generator as a CSR, we -//! wrap the Lindbladian action in a [`MfOp`] implementing -//! [`quspin_types::LinearOperator`] and feed it to -//! [`quspin_expm::ExpmOp::from_parts`]. Using `from_parts` (rather than -//! `ExpmOp::new`) supplies the diagonal shift `μ`, the partition count `s`, -//! and the truncation order `m*` directly, which BYPASSES quspin's adaptive -//! parameter selection. As a consequence the 1-norm *estimator* and +//! Instead of materialising the in-basis-restricted generator as a CSR, the +//! per-column generator action is computed ONCE per expm call (via +//! [`build_mf_cols`]) and reused, CSC-style, across every Krylov/Taylor +//! matvec by [`CachedCscOp`] (a [`quspin_types::LinearOperator`]) which is +//! fed to [`quspin_expm::ExpmOp::from_parts`]. Using `from_parts` (rather +//! than `ExpmOp::new`) supplies the diagonal shift `μ`, the partition count +//! `s`, and the truncation order `m*` directly, which BYPASSES quspin's +//! adaptive parameter selection. As a consequence the 1-norm *estimator* and //! `dot_transpose` are never invoked on the single-vector `apply` path — only //! [`LinearOperator::dot`] runs, inside the Taylor/Horner loop. //! //! The shift `μ` and the exact column 1-norm of `A − μ·I` are computed in one -//! matrix-free pass over the basis (the same `(m, s)` selection table as the +//! pass over the cached columns (the same `(m, s)` selection table as the //! retired hand-rolled engine in [`crate::expm`]). use crate::{LindbladSpec, Word, build_basis_index, expm}; -use fxhash::FxHashMap; +use fxhash::{FxBuildHasher, FxHashMap}; use num::Complex; use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; -/// Borrowed matrix-free view of the in-basis-restricted Lindbladian -/// generator `M` (the same matrix [`LindbladSpec::generator_csr`] would -/// build, never materialised). +/// Build the per-column action of the in-basis-restricted real generator +/// `M` (the same matrix [`LindbladSpec::generator_csr`] would build, never +/// materialised). +/// +/// Returns, for each input Pauli `basis[c]` (column `c`), the list of +/// `(row, coeff)` pairs for every action output term `(w, coeff)` of +/// `L*(basis[c])` whose output Pauli `w` is in `basis` at index `row`. +/// Outputs not in `basis` are dropped. Computed once per expm call and +/// reused, CSC-style, by [`CachedCscOp`] across every Krylov/Taylor matvec. +/// +/// Uses `LindbladSpec::compute_action_terms` with the same reusable +/// scratch-buffer pattern as [`crate::orbit_rep::build_orbit_rep_cols`]; +/// this is the exact same per-column action the retired matrix-free op fed +/// to `LindbladSpec::spmv_matrix_free`, so the numerics are unchanged. +fn build_mf_cols( + spec: &LindbladSpec, + basis: &[Word], + index: &FxHashMap, +) -> Vec> { + basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), p| { + let terms = spec.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + for (w, c) in terms.iter() { + if let Some(&row) = index.get(w) { + out.push((row, *c)); + } + } + out + }, + ) + .collect() +} + +/// Borrowed CSC-style view of the in-basis-restricted real generator `M`, +/// backed by the cached per-column action [`build_mf_cols`] (computed once +/// per expm call). +/// +/// `cols[c]` holds `(row, coeff)` pairs for column `c`; `dot` does a CSC +/// matvec `y = M·x` against the cached action, with no per-matvec action +/// recompute and no CSR materialisation. Mirrors +/// [`crate::orbit_rep::OrbitRepCscOp`] but for the real `f64` path. /// /// Borrowed, not owned: `quspin-types` provides a blanket /// `LinearOperator` impl for `&T`, so `ExpmOp::from_parts(op, …)` accepts a -/// `MfOp` by value while it keeps borrowing `spec` / `basis`. -pub(crate) struct MfOp<'a> { - spec: &'a LindbladSpec, - basis: &'a [Word], - /// `Word → row` map for `basis`; built once and reused across every - /// `dot` in the Taylor loop. - index: FxHashMap, +/// `CachedCscOp` by value while it keeps borrowing `cols`. +struct CachedCscOp<'a> { + cols: &'a [Vec<(u32, f64)>], + dim: usize, } -impl LinearOperator for MfOp<'_> { +impl LinearOperator for CachedCscOp<'_> { fn dim(&self) -> usize { - self.basis.len() + self.dim } fn parallel_hint(&self) -> bool { - // `dot` parallelises internally over basis columns, and we drive the + // `dot` parallelises internally over column chunks, and we drive the // sequential single-vector `apply` path; never let quspin run its // persistent-thread pool on top of our rayon parallelism. false } fn dot(&self, overwrite: bool, input: &[f64], output: &mut [f64]) -> Result<(), QuSpinError> { + let n = self.dim; + if n == 0 { + return Ok(()); + } + let num_threads = rayon::current_num_threads().max(1); + let chunk_size = n.div_ceil(num_threads); + + // Parallelise over column chunks: each thread accumulates into a + // dense local `y` of length `dim`, reading the cached action. + let partial_ys: Vec> = self + .cols + .par_chunks(chunk_size) + .enumerate() + .map(|(chunk_idx, chunk)| { + let c_offset = chunk_idx * chunk_size; + let mut y_local = vec![0.0; n]; + for (c_local, col) in chunk.iter().enumerate() { + let c = c_offset + c_local; + let xc = input[c]; + if xc == 0.0 { + continue; + } + for &(row, val) in col.iter() { + y_local[row as usize] += val * xc; + } + } + y_local + }) + .collect(); + if overwrite { - self.spec - .spmv_matrix_free(self.basis, &self.index, input, output); - } else { - let mut tmp = vec![0.0; output.len()]; - self.spec - .spmv_matrix_free(self.basis, &self.index, input, &mut tmp); - for (o, t) in output.iter_mut().zip(tmp.iter()) { - *o += *t; + output.fill(0.0); + } + for partial in &partial_ys { + for (oi, &pi) in output.iter_mut().zip(partial.iter()) { + *oi += pi; } } Ok(()) @@ -69,11 +145,11 @@ impl LinearOperator for MfOp<'_> { fn trace(&self) -> f64 { // Computed eagerly in `expm_apply_mf`; never reached on the // `from_parts` + single-vector `apply` path. - unreachable!("MfOp::trace not used on the from_parts apply path") + unreachable!("CachedCscOp::trace not used on the from_parts apply path") } fn onenorm(&self, _shift: f64) -> f64 { - unreachable!("MfOp::onenorm not used on the from_parts apply path") + unreachable!("CachedCscOp::onenorm not used on the from_parts apply path") } fn dot_transpose( @@ -83,7 +159,7 @@ impl LinearOperator for MfOp<'_> { _output: &mut [f64], ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_transpose not used on the from_parts apply path".into(), + "CachedCscOp: dot_transpose not used on the from_parts apply path".into(), )) } @@ -94,7 +170,7 @@ impl LinearOperator for MfOp<'_> { _output: ndarray::ArrayViewMut2<'_, f64>, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_many not used on the from_parts apply path".into(), + "CachedCscOp: dot_many not used on the from_parts apply path".into(), )) } @@ -106,7 +182,7 @@ impl LinearOperator for MfOp<'_> { _row_start: usize, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_chunk not used on the from_parts apply path".into(), + "CachedCscOp: dot_chunk not used on the from_parts apply path".into(), )) } @@ -117,7 +193,7 @@ impl LinearOperator for MfOp<'_> { _rows: std::ops::Range, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_transpose_chunk not used on the from_parts apply path".into(), + "CachedCscOp: dot_transpose_chunk not used on the from_parts apply path".into(), )) } } @@ -126,31 +202,38 @@ impl LinearOperator for MfOp<'_> { /// `M`, matrix-free, via `quspin-expm`. Returns a fresh `Vec` of length /// `basis.len()`. /// -/// One matrix-free pass extracts the diagonal shift `μ = tr(M)/n` and the -/// exact column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor -/// partition `(m*, s)` and hand everything to -/// [`quspin_expm::ExpmOp::from_parts`]. +/// The generator action is computed ONCE here (via [`build_mf_cols`]) and +/// reused, CSC-style, across every Krylov/Taylor matvec (see +/// [`CachedCscOp`]) — instead of recomputing `spec.action` on every matvec. +/// One pass over the cached columns extracts the diagonal shift +/// `μ = tr(M)/n` and the exact column 1-norm of `M − μ·I`; from +/// `‖dt·(M−μI)‖₁` we pick the Taylor partition `(m*, s)` and hand everything +/// to [`quspin_expm::ExpmOp::from_parts`]. pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs: &[f64]) -> Vec { let n = basis.len(); if n == 0 { return Vec::new(); } - // Single matrix-free pass: per column gather `raw = Σ|coeff|` and the - // diagonal entry `diag` (coeff of the term whose output Word == the input - // Word). From these we get `trace = Σ diag`, `μ = trace/n`, and the - // column 1-norm of `M − μ·I`: per column it is + let index = build_basis_index(basis); + // Generator action: computed ONCE, reused across every matvec below. + let cols = build_mf_cols(spec, basis, &index); + + // One pass over the cached columns: per column `c` gather + // `raw = Σ|coeff|` and the diagonal entry `diag` (coeff of the term + // whose row == the input column). From these we get `trace = Σ diag`, + // `μ = trace/n`, and the column 1-norm of `M − μ·I`: per column it is // `raw − |diag| + |diag − μ|`. - let per_col: Vec<(f64, f64)> = basis + let per_col: Vec<(f64, f64)> = cols .par_iter() - .map(|p| { - let terms = spec.action(p); + .enumerate() + .map(|(c, col)| { let mut raw = 0.0; let mut diag = 0.0; - for (w, c) in &terms { - raw += c.abs(); - if w == p { - diag = *c; + for &(row, coeff) in col.iter() { + raw += coeff.abs(); + if row as usize == c { + diag = coeff; } } (raw, diag) @@ -166,10 +249,9 @@ pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs let (m_star, s) = expm::select_ms(dt.abs() * onenorm, None); - let op = MfOp { - spec, - basis, - index: build_basis_index(basis), + let op = CachedCscOp { + cols: &cols, + dim: n, }; let expm = quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, 1e-12_f64); From 49ca31f87a30ad98d6ecb8ce386215fb5d026adf Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 10:44:52 +0100 Subject: [PATCH 032/159] Revert "perf(ppvm-lindblad): cache generator action in real-space expm_apply_mf" This reverts commit f93a230e5dc93d70a6788b02274cca273c1beb7f. --- crates/ppvm-lindblad/src/mf_expm.rs | 192 ++++++++-------------------- 1 file changed, 55 insertions(+), 137 deletions(-) diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index 47f0a834..2e89e49c 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -4,139 +4,63 @@ //! Matrix-free `exp(dt · L*) · b` for the real (`f64`) path, driven by the //! external `quspin-expm` crate. //! -//! Instead of materialising the in-basis-restricted generator as a CSR, the -//! per-column generator action is computed ONCE per expm call (via -//! [`build_mf_cols`]) and reused, CSC-style, across every Krylov/Taylor -//! matvec by [`CachedCscOp`] (a [`quspin_types::LinearOperator`]) which is -//! fed to [`quspin_expm::ExpmOp::from_parts`]. Using `from_parts` (rather -//! than `ExpmOp::new`) supplies the diagonal shift `μ`, the partition count -//! `s`, and the truncation order `m*` directly, which BYPASSES quspin's -//! adaptive parameter selection. As a consequence the 1-norm *estimator* and +//! Instead of materialising the in-basis-restricted generator as a CSR, we +//! wrap the Lindbladian action in a [`MfOp`] implementing +//! [`quspin_types::LinearOperator`] and feed it to +//! [`quspin_expm::ExpmOp::from_parts`]. Using `from_parts` (rather than +//! `ExpmOp::new`) supplies the diagonal shift `μ`, the partition count `s`, +//! and the truncation order `m*` directly, which BYPASSES quspin's adaptive +//! parameter selection. As a consequence the 1-norm *estimator* and //! `dot_transpose` are never invoked on the single-vector `apply` path — only //! [`LinearOperator::dot`] runs, inside the Taylor/Horner loop. //! //! The shift `μ` and the exact column 1-norm of `A − μ·I` are computed in one -//! pass over the cached columns (the same `(m, s)` selection table as the +//! matrix-free pass over the basis (the same `(m, s)` selection table as the //! retired hand-rolled engine in [`crate::expm`]). use crate::{LindbladSpec, Word, build_basis_index, expm}; -use fxhash::{FxBuildHasher, FxHashMap}; +use fxhash::FxHashMap; use num::Complex; use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; -/// Build the per-column action of the in-basis-restricted real generator -/// `M` (the same matrix [`LindbladSpec::generator_csr`] would build, never -/// materialised). -/// -/// Returns, for each input Pauli `basis[c]` (column `c`), the list of -/// `(row, coeff)` pairs for every action output term `(w, coeff)` of -/// `L*(basis[c])` whose output Pauli `w` is in `basis` at index `row`. -/// Outputs not in `basis` are dropped. Computed once per expm call and -/// reused, CSC-style, by [`CachedCscOp`] across every Krylov/Taylor matvec. -/// -/// Uses `LindbladSpec::compute_action_terms` with the same reusable -/// scratch-buffer pattern as [`crate::orbit_rep::build_orbit_rep_cols`]; -/// this is the exact same per-column action the retired matrix-free op fed -/// to `LindbladSpec::spmv_matrix_free`, so the numerics are unchanged. -fn build_mf_cols( - spec: &LindbladSpec, - basis: &[Word], - index: &FxHashMap, -) -> Vec> { - basis - .par_iter() - .map_init( - || { - ( - Vec::::with_capacity(spec.n_qubits()), - Vec::::with_capacity(128), - FxHashMap::>::with_capacity_and_hasher( - 128, - FxBuildHasher::default(), - ), - ) - }, - |(s1, s2, lm), p| { - let terms = spec.compute_action_terms(p, s1, s2, lm); - let mut out = Vec::with_capacity(terms.len()); - for (w, c) in terms.iter() { - if let Some(&row) = index.get(w) { - out.push((row, *c)); - } - } - out - }, - ) - .collect() -} - -/// Borrowed CSC-style view of the in-basis-restricted real generator `M`, -/// backed by the cached per-column action [`build_mf_cols`] (computed once -/// per expm call). -/// -/// `cols[c]` holds `(row, coeff)` pairs for column `c`; `dot` does a CSC -/// matvec `y = M·x` against the cached action, with no per-matvec action -/// recompute and no CSR materialisation. Mirrors -/// [`crate::orbit_rep::OrbitRepCscOp`] but for the real `f64` path. +/// Borrowed matrix-free view of the in-basis-restricted Lindbladian +/// generator `M` (the same matrix [`LindbladSpec::generator_csr`] would +/// build, never materialised). /// /// Borrowed, not owned: `quspin-types` provides a blanket /// `LinearOperator` impl for `&T`, so `ExpmOp::from_parts(op, …)` accepts a -/// `CachedCscOp` by value while it keeps borrowing `cols`. -struct CachedCscOp<'a> { - cols: &'a [Vec<(u32, f64)>], - dim: usize, +/// `MfOp` by value while it keeps borrowing `spec` / `basis`. +pub(crate) struct MfOp<'a> { + spec: &'a LindbladSpec, + basis: &'a [Word], + /// `Word → row` map for `basis`; built once and reused across every + /// `dot` in the Taylor loop. + index: FxHashMap, } -impl LinearOperator for CachedCscOp<'_> { +impl LinearOperator for MfOp<'_> { fn dim(&self) -> usize { - self.dim + self.basis.len() } fn parallel_hint(&self) -> bool { - // `dot` parallelises internally over column chunks, and we drive the + // `dot` parallelises internally over basis columns, and we drive the // sequential single-vector `apply` path; never let quspin run its // persistent-thread pool on top of our rayon parallelism. false } fn dot(&self, overwrite: bool, input: &[f64], output: &mut [f64]) -> Result<(), QuSpinError> { - let n = self.dim; - if n == 0 { - return Ok(()); - } - let num_threads = rayon::current_num_threads().max(1); - let chunk_size = n.div_ceil(num_threads); - - // Parallelise over column chunks: each thread accumulates into a - // dense local `y` of length `dim`, reading the cached action. - let partial_ys: Vec> = self - .cols - .par_chunks(chunk_size) - .enumerate() - .map(|(chunk_idx, chunk)| { - let c_offset = chunk_idx * chunk_size; - let mut y_local = vec![0.0; n]; - for (c_local, col) in chunk.iter().enumerate() { - let c = c_offset + c_local; - let xc = input[c]; - if xc == 0.0 { - continue; - } - for &(row, val) in col.iter() { - y_local[row as usize] += val * xc; - } - } - y_local - }) - .collect(); - if overwrite { - output.fill(0.0); - } - for partial in &partial_ys { - for (oi, &pi) in output.iter_mut().zip(partial.iter()) { - *oi += pi; + self.spec + .spmv_matrix_free(self.basis, &self.index, input, output); + } else { + let mut tmp = vec![0.0; output.len()]; + self.spec + .spmv_matrix_free(self.basis, &self.index, input, &mut tmp); + for (o, t) in output.iter_mut().zip(tmp.iter()) { + *o += *t; } } Ok(()) @@ -145,11 +69,11 @@ impl LinearOperator for CachedCscOp<'_> { fn trace(&self) -> f64 { // Computed eagerly in `expm_apply_mf`; never reached on the // `from_parts` + single-vector `apply` path. - unreachable!("CachedCscOp::trace not used on the from_parts apply path") + unreachable!("MfOp::trace not used on the from_parts apply path") } fn onenorm(&self, _shift: f64) -> f64 { - unreachable!("CachedCscOp::onenorm not used on the from_parts apply path") + unreachable!("MfOp::onenorm not used on the from_parts apply path") } fn dot_transpose( @@ -159,7 +83,7 @@ impl LinearOperator for CachedCscOp<'_> { _output: &mut [f64], ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "CachedCscOp: dot_transpose not used on the from_parts apply path".into(), + "MfOp: dot_transpose not used on the from_parts apply path".into(), )) } @@ -170,7 +94,7 @@ impl LinearOperator for CachedCscOp<'_> { _output: ndarray::ArrayViewMut2<'_, f64>, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "CachedCscOp: dot_many not used on the from_parts apply path".into(), + "MfOp: dot_many not used on the from_parts apply path".into(), )) } @@ -182,7 +106,7 @@ impl LinearOperator for CachedCscOp<'_> { _row_start: usize, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "CachedCscOp: dot_chunk not used on the from_parts apply path".into(), + "MfOp: dot_chunk not used on the from_parts apply path".into(), )) } @@ -193,7 +117,7 @@ impl LinearOperator for CachedCscOp<'_> { _rows: std::ops::Range, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "CachedCscOp: dot_transpose_chunk not used on the from_parts apply path".into(), + "MfOp: dot_transpose_chunk not used on the from_parts apply path".into(), )) } } @@ -202,38 +126,31 @@ impl LinearOperator for CachedCscOp<'_> { /// `M`, matrix-free, via `quspin-expm`. Returns a fresh `Vec` of length /// `basis.len()`. /// -/// The generator action is computed ONCE here (via [`build_mf_cols`]) and -/// reused, CSC-style, across every Krylov/Taylor matvec (see -/// [`CachedCscOp`]) — instead of recomputing `spec.action` on every matvec. -/// One pass over the cached columns extracts the diagonal shift -/// `μ = tr(M)/n` and the exact column 1-norm of `M − μ·I`; from -/// `‖dt·(M−μI)‖₁` we pick the Taylor partition `(m*, s)` and hand everything -/// to [`quspin_expm::ExpmOp::from_parts`]. +/// One matrix-free pass extracts the diagonal shift `μ = tr(M)/n` and the +/// exact column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor +/// partition `(m*, s)` and hand everything to +/// [`quspin_expm::ExpmOp::from_parts`]. pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs: &[f64]) -> Vec { let n = basis.len(); if n == 0 { return Vec::new(); } - let index = build_basis_index(basis); - // Generator action: computed ONCE, reused across every matvec below. - let cols = build_mf_cols(spec, basis, &index); - - // One pass over the cached columns: per column `c` gather - // `raw = Σ|coeff|` and the diagonal entry `diag` (coeff of the term - // whose row == the input column). From these we get `trace = Σ diag`, - // `μ = trace/n`, and the column 1-norm of `M − μ·I`: per column it is + // Single matrix-free pass: per column gather `raw = Σ|coeff|` and the + // diagonal entry `diag` (coeff of the term whose output Word == the input + // Word). From these we get `trace = Σ diag`, `μ = trace/n`, and the + // column 1-norm of `M − μ·I`: per column it is // `raw − |diag| + |diag − μ|`. - let per_col: Vec<(f64, f64)> = cols + let per_col: Vec<(f64, f64)> = basis .par_iter() - .enumerate() - .map(|(c, col)| { + .map(|p| { + let terms = spec.action(p); let mut raw = 0.0; let mut diag = 0.0; - for &(row, coeff) in col.iter() { - raw += coeff.abs(); - if row as usize == c { - diag = coeff; + for (w, c) in &terms { + raw += c.abs(); + if w == p { + diag = *c; } } (raw, diag) @@ -249,9 +166,10 @@ pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs let (m_star, s) = expm::select_ms(dt.abs() * onenorm, None); - let op = CachedCscOp { - cols: &cols, - dim: n, + let op = MfOp { + spec, + basis, + index: build_basis_index(basis), }; let expm = quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, 1e-12_f64); From 5dbc49a56cf3b4b4eaf78dc8ed5fed8b142ad2eb Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 10:44:52 +0100 Subject: [PATCH 033/159] autotune(expm-pc-step): record cache-action discard Co-Authored-By: Claude Opus 4.8 (1M context) --- .../2026-07-01-expm-pc-step/cache-action/prompts.md | 11 +++++++++++ docs/autotune/2026-07-01-expm-pc-step/metric.toml | 8 ++++++++ 2 files changed, 19 insertions(+) create mode 100644 docs/autotune/2026-07-01-expm-pc-step/cache-action/prompts.md diff --git a/docs/autotune/2026-07-01-expm-pc-step/cache-action/prompts.md b/docs/autotune/2026-07-01-expm-pc-step/cache-action/prompts.md new file mode 100644 index 00000000..e2e43012 --- /dev/null +++ b/docs/autotune/2026-07-01-expm-pc-step/cache-action/prompts.md @@ -0,0 +1,11 @@ +# Approach: cache-action for the real-space expm + +Hypothesis: the real-space `mf_expm::expm_apply_mf` recomputes the generator +action (`spec.action` per column) on every Krylov/Taylor matvec (profile: +expm = 97% of pc_step). Build the in-basis generator action ONCE per expm call +as CSC columns (rows + real coeffs), then do cheap cached matvecs — exactly +what the orbit-rep path already does (`build_orbit_rep_cols` + `OrbitRepCscOp` +in orbit_rep.rs), but for the real f64 path (no phases/characters). + +Target metric: 15 pc_step_arr steps, N=10 XY ladder, drop=1e-3. Baseline 3.28s. +Track wall (primary) AND rss_mb (memory tradeoff — caching costs memory). diff --git a/docs/autotune/2026-07-01-expm-pc-step/metric.toml b/docs/autotune/2026-07-01-expm-pc-step/metric.toml index 40354e08..22718ff4 100644 --- a/docs/autotune/2026-07-01-expm-pc-step/metric.toml +++ b/docs/autotune/2026-07-01-expm-pc-step/metric.toml @@ -6,3 +6,11 @@ "rss_mb" = 250.0 "peak_basis" = 15414.0 +[[metric]] +"commit" = "f93a230e" +"status" = "discard" +"description" = "cache-action CSC (port of orbit-rep): no wall win at dt=0.05 (few matvecs; scatter dominates, not action-recompute)" +"wall_s" = 3.343 +"rss_mb" = 264.0 +"peak_basis" = 15414.0 + From 8eab919077692193e8923c3a0b773ee3f294aeb8 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 11:37:55 +0100 Subject: [PATCH 034/159] perf(ppvm-lindblad): cache generator action + tolerance-matched expm (~10x) The real-space matrix-free expm (expm_apply_mf) recomputed the Pauli- commutator generator action on every basis column on every Krylov/Taylor matvec (~15 matvecs/call), which profiling showed to be ~90% of pc_step. Compute the per-column action ONCE per call as a CSC cache (build_mf_cols) and reuse it across matvecs via CachedCscOp (the real-f64 mirror of orbit_rep::OrbitRepCscOp); the same single pass yields mu / trace / column 1-norm, dropping the separate norm pass. Per-matvec apply falls ~14x (355ms -> 25ms on a 177k-term corrector). Additionally match the Taylor backward-error tolerance to the basis truncation: when the PC prunes coarsely (drop_tol >= 1e-4) use a relaxed tol=1e-6 theta table (expm::THETA_LOOSE / select_ms_loose, validated by reproducing the double table to ~2 sig figs), cutting the matvec count (m ~ 24 -> 15 at ||tA|| ~ 2.5); at tight/zero drop_tol the double table is kept so orbit-rep / merged reference tests stay bit-exact. drop_tol is threaded through expm_step / expm_step_complex for this choice. Net: N=10 XY-ladder metric 7.15s -> 0.67s (~10.7x), RSS 250 -> ~310MB (+24%, the CSC cache), conservation Sum a_q = 1 unchanged, all 9 ppvm-lindblad tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/expm.rs | 68 ++++++++- crates/ppvm-lindblad/src/lib.rs | 18 ++- crates/ppvm-lindblad/src/mf_expm.rs | 229 +++++++++++++++++++--------- 3 files changed, 229 insertions(+), 86 deletions(-) diff --git a/crates/ppvm-lindblad/src/expm.rs b/crates/ppvm-lindblad/src/expm.rs index 15a54740..8dd9d20c 100644 --- a/crates/ppvm-lindblad/src/expm.rs +++ b/crates/ppvm-lindblad/src/expm.rs @@ -51,23 +51,68 @@ pub(crate) const THETA: &[(u32, f64)] = &[ (30, 3.54), ]; -/// Pick `(m, s)` minimising `s·m` subject to `s ≥ ⌈t_norm / θ_m⌉, s ≥ 1`. -/// Restricted to `m ≤ 30`; for larger norms `s` simply grows linearly. -/// When `max_m` is set, only entries with `m ≤ max_m` are considered. -pub(crate) fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { +/// `θ_m` table for a relaxed backward-error tolerance `tol = 1e-6`, computed +/// with the same Al-Mohy & Higham (2011) construction as [`THETA`] (the +/// backward-error series `h_{m+1}(x) = log(e^{-x} T_m(x))`; validated by +/// reproducing the `u = 2^{-53}` table above to ~2 significant figures). +/// +/// The predictor-corrector truncates the Pauli basis at `drop_tol` (typically +/// 1e-3), so computing `exp` to double-precision backward error (~1e-16) is +/// ~10 orders more accurate than the state it acts on. Using `tol = 1e-6` +/// (still ~1000x tighter than the truncation) admits a lower-degree Taylor +/// polynomial for the same `‖tA‖`, cutting the SpMV count (e.g. 23 -> 13 at +/// `‖tA‖ ≈ 2`) with no measurable effect on the truncated result. +pub(crate) const THETA_LOOSE: &[(u32, f64)] = &[ + (1, 2.000e-06), + (2, 2.447e-03), + (3, 2.863e-02), + (4, 1.025e-01), + (5, 2.262e-01), + (6, 3.911e-01), + (7, 5.866e-01), + (8, 8.045e-01), + (9, 1.039), + (10, 1.285), + (11, 1.539), + (12, 1.801), + (13, 2.067), + (14, 2.337), + (15, 2.610), + (16, 2.885), + (17, 3.162), + (18, 3.441), + (19, 3.721), + (20, 4.001), + (21, 4.282), + (22, 4.564), + (23, 4.847), + (24, 5.129), + (25, 5.412), + (26, 5.696), + (27, 5.979), + (28, 6.263), + (29, 6.546), + (30, 6.830), +]; + +/// Pick `(m, s)` minimising `s·m` subject to `s ≥ ⌈t_norm / θ_m⌉, s ≥ 1`, +/// using the `θ_m` table `theta`. Restricted to the table's `m` range; for +/// larger norms `s` simply grows linearly. When `max_m` is set, only entries +/// with `m ≤ max_m` are considered. +fn select_ms_with(t_norm: f64, max_m: Option, theta: &[(u32, f64)]) -> (u32, u32) { if t_norm <= 0.0 { return (1, 1); } let mut best_m = 1u32; let mut best_s = 1u32; let mut best_cost = u64::MAX; - for &(m, theta) in THETA { + for &(m, th) in theta { if let Some(cap) = max_m { if m > cap { continue; } } - let s_f = (t_norm / theta).ceil(); + let s_f = (t_norm / th).ceil(); let s = if s_f >= 1.0 { s_f as u32 } else { 1 }; let cost = (m as u64) * (s as u64); if cost < best_cost { @@ -79,6 +124,17 @@ pub(crate) fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { (best_m, best_s) } +/// `(m, s)` selection at double-precision backward error ([`THETA`]). +pub(crate) fn select_ms(t_norm: f64, max_m: Option) -> (u32, u32) { + select_ms_with(t_norm, max_m, THETA) +} + +/// `(m, s)` selection at the relaxed `tol = 1e-6` backward error +/// ([`THETA_LOOSE`]) — fewer SpMVs, used on the truncated PC expm path. +pub(crate) fn select_ms_loose(t_norm: f64, max_m: Option) -> (u32, u32) { + select_ms_with(t_norm, max_m, THETA_LOOSE) +} + #[cfg(test)] mod tests { use super::*; diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 6dd4c324..2941ccd7 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -1040,7 +1040,7 @@ impl LindbladSpec { } } // 2. Predictor. - let coeffs_predict = self.expm_step_complex(basis, dt, coeffs); + let coeffs_predict = self.expm_step_complex(basis, dt, coeffs, drop_tol); // 3. Second-hop expansion from the predicted state. let leak2 = self.leakage_complex(basis, &coeffs_predict, protected)?; drop(coeffs_predict); @@ -1051,7 +1051,7 @@ impl LindbladSpec { } } // 4. Corrector. - *coeffs = self.expm_step_complex(basis, dt, coeffs); + *coeffs = self.expm_step_complex(basis, dt, coeffs, drop_tol); // 5. Prune below drop_tol (complex magnitude). prune_basis_complex(basis, coeffs, drop_tol, protected); // NOTE: NO automatic symmetry-merge here. The orbit-rep @@ -1073,12 +1073,13 @@ impl LindbladSpec { basis: &[Word], dt: f64, b: &[Complex], + drop_tol: f64, ) -> Vec> { // The generator is the REAL in-basis-restricted matrix; only the // vector `b` is complex. By linearity, // `exp(dt·M)·(re + i·im) = exp(dt·M)·re + i·exp(dt·M)·im`, so this is // two real matrix-free applies recombined. Fully matrix-free; no CSR. - mf_expm::expm_apply_mf_cxvec(self, basis, dt, b) + mf_expm::expm_apply_mf_cxvec(self, basis, dt, b, drop_tol) } /// One classical RK4 step on `O ← O + dt · L*(O)`, expanding the basis @@ -1349,7 +1350,7 @@ impl LindbladSpec { // `coeffs` is read-only here, so we don't clone it — it serves as // the pre-step input for the corrector below as well. let t0 = Instant::now(); - let coeffs_predict = self.expm_step(basis, dt, coeffs); + let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); t.expm1_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); @@ -1362,7 +1363,7 @@ impl LindbladSpec { t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - *coeffs = self.expm_step(basis, dt, coeffs); + *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); t.expm2_us = t0.elapsed().as_micros() as u64; prune_basis(basis, coeffs, drop_tol, protected); @@ -1388,7 +1389,7 @@ impl LindbladSpec { add_leakage_capped(basis, coeffs, leak, max_basis); // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a // new owned vector with the predicted state. - let coeffs_predict = self.expm_step(basis, dt, coeffs); + let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); // 3. Second-hop expansion from the predicted state. After leakage2 // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for // any newly-added second-hop strings so it remains a valid input @@ -1397,7 +1398,7 @@ impl LindbladSpec { drop(coeffs_predict); add_leakage_capped(basis, coeffs, leak2, max_basis); // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. - *coeffs = self.expm_step(basis, dt, coeffs); + *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); // 5. Prune basis entries below `drop_tol` (protected words never dropped). prune_basis(basis, coeffs, drop_tol, protected); cap_basis(basis, coeffs, max_basis, protected); @@ -1411,8 +1412,9 @@ impl LindbladSpec { basis: &[Word], dt: f64, b: &[f64], + drop_tol: f64, ) -> Vec { - mf_expm::expm_apply_mf(self, basis, dt, b) + mf_expm::expm_apply_mf(self, basis, dt, b, drop_tol) } /// Compute the unscaled list of `(output, coefficient)` pairs that diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index 2e89e49c..c84d8f2a 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -4,63 +4,144 @@ //! Matrix-free `exp(dt · L*) · b` for the real (`f64`) path, driven by the //! external `quspin-expm` crate. //! -//! Instead of materialising the in-basis-restricted generator as a CSR, we -//! wrap the Lindbladian action in a [`MfOp`] implementing -//! [`quspin_types::LinearOperator`] and feed it to -//! [`quspin_expm::ExpmOp::from_parts`]. Using `from_parts` (rather than -//! `ExpmOp::new`) supplies the diagonal shift `μ`, the partition count `s`, -//! and the truncation order `m*` directly, which BYPASSES quspin's adaptive -//! parameter selection. As a consequence the 1-norm *estimator* and -//! `dot_transpose` are never invoked on the single-vector `apply` path — only -//! [`LinearOperator::dot`] runs, inside the Taylor/Horner loop. +//! Instead of materialising the in-basis-restricted generator as a CSR, the +//! per-column generator action is computed ONCE per expm call (via +//! [`build_mf_cols`]) and reused, CSC-style, across every Krylov/Taylor matvec +//! by [`CachedCscOp`] (a [`quspin_types::LinearOperator`]) fed to +//! [`quspin_expm::ExpmOp::from_parts`]. Caching the action is the dominant +//! win: the old fully-matrix-free op recomputed the Pauli-commutator action on +//! every column on every matvec (~15 matvecs/call), which was ~90% of the +//! per-step cost; building it once collapses each matvec to a cheap CSC +//! scatter. Using `from_parts` (rather than `ExpmOp::new`) supplies the +//! diagonal shift `μ`, the partition count `s`, and the truncation order `m*` +//! directly, which BYPASSES quspin's adaptive parameter selection — so the +//! 1-norm *estimator* and `dot_transpose` are never invoked on the +//! single-vector `apply` path; only [`LinearOperator::dot`] runs. //! -//! The shift `μ` and the exact column 1-norm of `A − μ·I` are computed in one -//! matrix-free pass over the basis (the same `(m, s)` selection table as the -//! retired hand-rolled engine in [`crate::expm`]). +//! `μ`, the trace, and the exact column 1-norm of `A − μ·I` are computed in +//! the same single action pass as the cache. The `(m, s)` Taylor partition is +//! picked with the tolerance-matched tables in [`crate::expm`]: a relaxed +//! `tol=1e-6` table when the PC prunes coarsely (`drop_tol ≥ 1e-4`), else the +//! double-precision table (keeping the exact-reference test paths bit-exact). use crate::{LindbladSpec, Word, build_basis_index, expm}; -use fxhash::FxHashMap; +use fxhash::{FxBuildHasher, FxHashMap}; use num::Complex; use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; -/// Borrowed matrix-free view of the in-basis-restricted Lindbladian -/// generator `M` (the same matrix [`LindbladSpec::generator_csr`] would -/// build, never materialised). +/// Per-column in-basis action of the real generator `M`, plus the data the +/// `(m, s)`/`μ` selection needs — all from ONE action pass over the basis. /// -/// Borrowed, not owned: `quspin-types` provides a blanket -/// `LinearOperator` impl for `&T`, so `ExpmOp::from_parts(op, …)` accepts a -/// `MfOp` by value while it keeps borrowing `spec` / `basis`. -pub(crate) struct MfOp<'a> { - spec: &'a LindbladSpec, - basis: &'a [Word], - /// `Word → row` map for `basis`; built once and reused across every - /// `dot` in the Taylor loop. - index: FxHashMap, +/// Returns `(cols, per_col)` where `cols[c]` holds `(row, coeff)` for every +/// action output of `L*(basis[c])` that lands back in `basis` (CSC column +/// `c`), and `per_col[c] = (raw, diag)` with `raw = Σ|coeff|` over ALL action +/// outputs (in- and out-of-basis, matching the historical 1-norm) and `diag` +/// the coefficient of the term whose output Word equals the input Word. The +/// action is computed once here and reused by [`CachedCscOp`] across every +/// Krylov/Taylor matvec, so it is never recomputed per matvec (the dominant +/// cost of the old matrix-free op). Same reusable scratch pattern as +/// [`crate::orbit_rep::build_orbit_rep_cols`]; numerics identical. +fn build_mf_cols( + spec: &LindbladSpec, + basis: &[Word], + index: &FxHashMap, +) -> (Vec>, Vec<(f64, f64)>) { + basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), p| { + let terms = spec.compute_action_terms(p, s1, s2, lm); + let mut out = Vec::with_capacity(terms.len()); + let mut raw = 0.0; + let mut diag = 0.0; + for (w, c) in terms.iter() { + raw += c.abs(); + if w == p { + diag = *c; + } + if let Some(&row) = index.get(w) { + out.push((row, *c)); + } + } + (out, (raw, diag)) + }, + ) + .unzip() +} + +/// Borrowed CSC-style view of the in-basis-restricted real generator `M`, +/// backed by the cached per-column action [`build_mf_cols`] (computed once +/// per expm call). `dot` does a CSC matvec `y = M·x` against the cache with +/// no per-matvec action recompute and no CSR materialisation. Mirrors +/// [`crate::orbit_rep::OrbitRepCscOp`] for the real `f64` path. +/// +/// Borrowed, not owned: `quspin-types` provides a blanket `LinearOperator` +/// impl for `&T`, so `ExpmOp::from_parts(op, …)` accepts a `CachedCscOp` by +/// value while it keeps borrowing `cols`. +struct CachedCscOp<'a> { + cols: &'a [Vec<(u32, f64)>], + dim: usize, } -impl LinearOperator for MfOp<'_> { +impl LinearOperator for CachedCscOp<'_> { fn dim(&self) -> usize { - self.basis.len() + self.dim } fn parallel_hint(&self) -> bool { - // `dot` parallelises internally over basis columns, and we drive the + // `dot` parallelises internally over column chunks, and we drive the // sequential single-vector `apply` path; never let quspin run its // persistent-thread pool on top of our rayon parallelism. false } fn dot(&self, overwrite: bool, input: &[f64], output: &mut [f64]) -> Result<(), QuSpinError> { + let n = self.dim; + if n == 0 { + return Ok(()); + } + let num_threads = rayon::current_num_threads().max(1); + let chunk_size = n.div_ceil(num_threads); + + // Parallelise over column chunks; each thread accumulates into a dense + // local `y` of length `dim`, reading the cached action. + let partial_ys: Vec> = self + .cols + .par_chunks(chunk_size) + .enumerate() + .map(|(chunk_idx, chunk)| { + let c_offset = chunk_idx * chunk_size; + let mut y_local = vec![0.0; n]; + for (c_local, col) in chunk.iter().enumerate() { + let xc = input[c_offset + c_local]; + if xc == 0.0 { + continue; + } + for &(row, val) in col.iter() { + y_local[row as usize] += val * xc; + } + } + y_local + }) + .collect(); + if overwrite { - self.spec - .spmv_matrix_free(self.basis, &self.index, input, output); - } else { - let mut tmp = vec![0.0; output.len()]; - self.spec - .spmv_matrix_free(self.basis, &self.index, input, &mut tmp); - for (o, t) in output.iter_mut().zip(tmp.iter()) { - *o += *t; + output.fill(0.0); + } + for partial in &partial_ys { + for (oi, &pi) in output.iter_mut().zip(partial.iter()) { + *oi += pi; } } Ok(()) @@ -69,11 +150,11 @@ impl LinearOperator for MfOp<'_> { fn trace(&self) -> f64 { // Computed eagerly in `expm_apply_mf`; never reached on the // `from_parts` + single-vector `apply` path. - unreachable!("MfOp::trace not used on the from_parts apply path") + unreachable!("CachedCscOp::trace not used on the from_parts apply path") } fn onenorm(&self, _shift: f64) -> f64 { - unreachable!("MfOp::onenorm not used on the from_parts apply path") + unreachable!("CachedCscOp::onenorm not used on the from_parts apply path") } fn dot_transpose( @@ -83,7 +164,7 @@ impl LinearOperator for MfOp<'_> { _output: &mut [f64], ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_transpose not used on the from_parts apply path".into(), + "CachedCscOp: dot_transpose not used on the from_parts apply path".into(), )) } @@ -94,7 +175,7 @@ impl LinearOperator for MfOp<'_> { _output: ndarray::ArrayViewMut2<'_, f64>, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_many not used on the from_parts apply path".into(), + "CachedCscOp: dot_many not used on the from_parts apply path".into(), )) } @@ -106,7 +187,7 @@ impl LinearOperator for MfOp<'_> { _row_start: usize, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_chunk not used on the from_parts apply path".into(), + "CachedCscOp: dot_chunk not used on the from_parts apply path".into(), )) } @@ -117,7 +198,7 @@ impl LinearOperator for MfOp<'_> { _rows: std::ops::Range, ) -> Result<(), QuSpinError> { Err(QuSpinError::RuntimeError( - "MfOp: dot_transpose_chunk not used on the from_parts apply path".into(), + "CachedCscOp: dot_transpose_chunk not used on the from_parts apply path".into(), )) } } @@ -130,32 +211,25 @@ impl LinearOperator for MfOp<'_> { /// exact column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor /// partition `(m*, s)` and hand everything to /// [`quspin_expm::ExpmOp::from_parts`]. -pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs: &[f64]) -> Vec { +pub(crate) fn expm_apply_mf( + spec: &LindbladSpec, + basis: &[Word], + dt: f64, + coeffs: &[f64], + drop_tol: f64, +) -> Vec { let n = basis.len(); if n == 0 { return Vec::new(); } - // Single matrix-free pass: per column gather `raw = Σ|coeff|` and the - // diagonal entry `diag` (coeff of the term whose output Word == the input - // Word). From these we get `trace = Σ diag`, `μ = trace/n`, and the - // column 1-norm of `M − μ·I`: per column it is - // `raw − |diag| + |diag − μ|`. - let per_col: Vec<(f64, f64)> = basis - .par_iter() - .map(|p| { - let terms = spec.action(p); - let mut raw = 0.0; - let mut diag = 0.0; - for (w, c) in &terms { - raw += c.abs(); - if w == p { - diag = *c; - } - } - (raw, diag) - }) - .collect(); + // ONE action pass: build the CSC cache `cols` (reused across every matvec) + // and, in the same pass, `per_col = (raw, diag)` for the `μ`/1-norm + // selection. `raw = Σ|coeff|` (all outputs), `diag` = coeff of the + // output == input term. From these: `trace = Σ diag`, `μ = trace/n`, and + // the column 1-norm of `M − μ·I` is `raw − |diag| + |diag − μ|`. + let index = build_basis_index(basis); + let (cols, per_col) = build_mf_cols(spec, basis, &index); let trace: f64 = per_col.iter().map(|(_, d)| *d).sum(); let mu = trace / n as f64; @@ -164,14 +238,24 @@ pub(crate) fn expm_apply_mf(spec: &LindbladSpec, basis: &[Word], dt: f64, coeffs .map(|(raw, diag)| raw - diag.abs() + (diag - mu).abs()) .fold(0.0_f64, f64::max); - let (m_star, s) = expm::select_ms(dt.abs() * onenorm, None); - - let op = MfOp { - spec, - basis, - index: build_basis_index(basis), + // Pick the Taylor backward-error tolerance to match the basis truncation: + // when the PC prunes coarsely (drop_tol >= 1e-4) a double-precision exp is + // ~10 orders more accurate than the state it acts on, so the relaxed + // (tol=1e-6, still >=100x tighter than the cut) table is used — it admits a + // lower-degree Taylor polynomial and cuts the SpMV count with no effect on + // the truncated result. At tight/zero drop_tol we keep double precision so + // the exact-reference paths (orbit-rep / merged) still agree bit-for-bit. + let t_norm = dt.abs() * onenorm; + let (m_star, s, expm_tol) = if drop_tol >= 1e-4 { + let (m, s) = expm::select_ms_loose(t_norm, None); + (m, s, 1e-6_f64) + } else { + let (m, s) = expm::select_ms(t_norm, None); + (m, s, 1e-12_f64) }; - let expm = quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, 1e-12_f64); + + let op = CachedCscOp { cols: &cols, dim: n }; + let expm = quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, expm_tol); let mut v = coeffs.to_vec(); expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) @@ -189,6 +273,7 @@ pub(crate) fn expm_apply_mf_cxvec( basis: &[Word], dt: f64, b: &[Complex], + drop_tol: f64, ) -> Vec> { let n = basis.len(); if n == 0 { @@ -196,8 +281,8 @@ pub(crate) fn expm_apply_mf_cxvec( } let re: Vec = b.iter().map(|z| z.re).collect(); let im: Vec = b.iter().map(|z| z.im).collect(); - let re_out = expm_apply_mf(spec, basis, dt, &re); - let im_out = expm_apply_mf(spec, basis, dt, &im); + let re_out = expm_apply_mf(spec, basis, dt, &re, drop_tol); + let im_out = expm_apply_mf(spec, basis, dt, &im, drop_tol); re_out .into_iter() .zip(im_out) From 646f67dd48eb2f2505e1f9554b10b5e4424447ed Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 11:38:33 +0100 Subject: [PATCH 035/159] autotune(expm-pc-step): record cache+loose keep (~10.7x); note stale-binary bug Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-01-expm-pc-step/log.md | 73 +++++++++++++++++++ .../2026-07-01-expm-pc-step/metric.toml | 8 ++ 2 files changed, 81 insertions(+) diff --git a/docs/autotune/2026-07-01-expm-pc-step/log.md b/docs/autotune/2026-07-01-expm-pc-step/log.md index e1f04fab..8f6eaac4 100644 --- a/docs/autotune/2026-07-01-expm-pc-step/log.md +++ b/docs/autotune/2026-07-01-expm-pc-step/log.md @@ -21,3 +21,76 @@ once per expm call (`build_orbit_rep_cols` + `OrbitRepCscOp`); the real-space path does not. Hypothesis 1: cache the action (CSC) once per expm call and reuse across matvecs -> large expm speedup. Known tradeoff: matrix-full was ~2.8x faster / ~1.43x more memory in an earlier ad-hoc test. + +## !! MEASUREMENT BUG (invalidates iterations 1-2 first measurements) + +`maturin develop` was run from `crates/ppvm-python-native` (which builds the +crate as its OWN package). The module actually loaded by `import ppvm._core` +is `ppvm-python/src/ppvm/_core.abi3.so`, built via the maturin config in +`ppvm-python/pyproject.toml` — you MUST run maturin from `ppvm-python/`. So +every "measurement" up to and including the first cache-action and loose-table +runs used a STALE .so and is meaningless (baseline 3.28s, cache-action 3.34s, +loose 3.2s were all the same old binary). Correct build command: +`cd ppvm-python && VIRTUAL_ENV=.venv uvx --from maturin maturin develop --release --uv` +Verify freshness: `strings src/ppvm/_core.abi3.so | grep `. + +## Correct profile (freshly-built binary, N=10, drop=1e-3) + +Per expm call, the APPLY (Taylor matvecs) dominates: on a 177k-term corrector +apply=355ms (loose, m=15) / 1048ms (double, m=26), vs per-col norm pass 37ms, +setup 10ms. => the SpMV count AND per-SpMV cost both matter; the old +fully-matrix-free op recomputed the Pauli-commutator action on all columns on +EVERY matvec. + +## Iteration 1 (as first recorded): cache-action (CSC) — WRONGLY DISCARDED + +Ported orbit-rep's `build_orbit_rep_cols` + `OrbitRepCscOp` to the real f64 +path in `expm_apply_mf` (build the in-basis action once per call, reuse across +the m*·s matvecs). commit f93a230e (reverted). + +Result: wall 3.343 s (baseline 3.275), RSS 264 MB (baseline 250). **No wall +win, slightly more RAM.** Checksum 1.0 (correct). + +Diagnosis: caching the action does not help because the action *recompute* is +NOT the bottleneck. Each matvec, matrix-free does compute_action_terms (produce +(row,coeff)) + scatter; cached does read-cols (row,coeff) + scatter — the two +produce the same term stream, so the scatter (memory-bound accumulation over +~basis·O(N) nnz) dominates equally. At dt=0.05 the true cost is the *count* of +scaling-squaring matvecs (m*·s per expm, x2 expm/step), not per-matvec action. +This is algorithmic (Al-Mohy-Higham), not a caching target. + +## Root cause + next lever + +The expm computes exp to double-precision backward error (`THETA` table is for +u=2^-53 ~ 1e-16) while the basis is truncated at drop_tol=1e-3. That is ~13 +orders of over-accuracy. matvec count s = ceil(dt*||A||/theta_m); a looser +theta table (larger theta_m) directly cuts s -> fewer matvecs. Lever 2: use a +single-precision / 1e-6-matched theta table in the mf_expm path. Est ~1.5-2x +expm speedup with no net accuracy loss (still >> truncation). Bigger lever: +Krylov/Lanczos expm (fewer matvecs than Taylor scaling-squaring) — larger +rewrite, deferred. + +## Iterations 1+2 combined — KEPT (commit 8eab9190) — ~10.7x + +Once the stale-binary bug was found and fixed, BOTH levers are real and +compose: + +- cache-action (CSC): build the per-column action once per call + (`build_mf_cols`) + `CachedCscOp`; the same pass also yields mu/1-norm + (dropped the separate norm pass). Per-matvec apply 355ms -> 25ms (~14x) — + the earlier "discard" was purely the stale binary. +- loose table: `select_ms_loose` (tol=1e-6, drop_tol>=1e-4) cuts m ~24 -> 15. + +Clean measurements (correct build), N=10 XY ladder, drop=1e-3, min of runs: +- double + no cache (true baseline): 7.15 s, 250 MB +- loose + no cache: 5.49 s, 284 MB +- cache + double: 0.69 s, ~300 MB +- cache + loose (SHIPPED): 0.67 s, ~310 MB + +=> ~10.7x wall vs baseline for ~+24% RAM (the CSC cache). Conservation +Sum a_q = 1 and checksum unchanged; all 9 ppvm-lindblad tests pass (drop=0 +keeps the double table + cache, still bit-exact vs orbit-rep/merged refs). + +Remaining bottleneck is now `build_mf_cols` (the one action pass, ~40ms on the +177k corrector) + the CSC scatter. Next levers if more is wanted: reuse the +cache across predictor+corrector (same basis prefix), or the Krylov rewrite. diff --git a/docs/autotune/2026-07-01-expm-pc-step/metric.toml b/docs/autotune/2026-07-01-expm-pc-step/metric.toml index 22718ff4..18c56955 100644 --- a/docs/autotune/2026-07-01-expm-pc-step/metric.toml +++ b/docs/autotune/2026-07-01-expm-pc-step/metric.toml @@ -14,3 +14,11 @@ "rss_mb" = 264.0 "peak_basis" = 15414.0 +[[metric]] +"commit" = "8eab9190" +"status" = "keep" +"description" = "cache generator action (CSC) once/call + tol-matched (1e-6) expm table; correct build" +"wall_s" = 0.665 +"rss_mb" = 310.0 +"peak_basis" = 15398.0 + From 22e1757d00e95bb7f99359d9cd083f938b42a2f6 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 13:38:03 +0100 Subject: [PATCH 036/159] autotune(expm-memory): profile + knob characterization (no code fix warranted) Profiled expm RSS (N=10): the matvec accumulator partial_ys is only ~5%; the expm-specific memory is dominated by the action cache (cols, nnz*16B) and everything scales with dim (basis size). Tried atomic-scatter to drop partial_ys -> ~12% slower for ~0 memory, reverted (kept a code comment). Characterized the real levers: drop_tol is the efficient accuracy/memory knob; max_basis is a hard safety cap (less efficient, needs ~250k terms for accuracy on the XY ladder). Key finding: expm's optimal dt is ~0.1 not 0.05 (fewer steps -> fewer truncation events -> more accurate AND ~2x faster). Tuned, N=10 wall is ~tied with Trotter; expm's ~2.3x RSS is its remaining cost, reducible only by accepting higher rel error. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/mf_expm.rs | 7 ++- docs/autotune/2026-07-01-expm-memory/log.md | 66 +++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 docs/autotune/2026-07-01-expm-memory/log.md diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index c84d8f2a..eed9ba26 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -115,7 +115,12 @@ impl LinearOperator for CachedCscOp<'_> { let chunk_size = n.div_ceil(num_threads); // Parallelise over column chunks; each thread accumulates into a dense - // local `y` of length `dim`, reading the cached action. + // local `y` of length `dim`, reading the cached action. (Atomic scatter + // into a single shared output was tried to cut the threads×dim + // transient, but profiling showed that transient is only ~5% of RSS + // while the CAS-per-nnz cost was ~12% slower — not worth it. The real + // memory lever is `max_basis`, which bounds `dim` and thus every + // dim-scaling structure including the action cache.) let partial_ys: Vec> = self .cols .par_chunks(chunk_size) diff --git a/docs/autotune/2026-07-01-expm-memory/log.md b/docs/autotune/2026-07-01-expm-memory/log.md new file mode 100644 index 00000000..d0c4b749 --- /dev/null +++ b/docs/autotune/2026-07-01-expm-memory/log.md @@ -0,0 +1,66 @@ +# Log for 2026-07-01-expm-memory + +Goal: reduce the optimized expm's memory (it wins/ties wall for N>=10 after the +cache-action + tol-matched work in [[../2026-07-01-expm-pc-step]], but uses +~2-6x Trotter's RSS, growing with N). + +Build reminder (learned the hard way last experiment): rebuild the native from +`ppvm-python/`, NOT `crates/ppvm-python-native/`, or `import ppvm._core` loads a +STALE .so: + `cd ppvm-python && VIRTUAL_ENV=.venv uvx --from maturin maturin develop --release --uv` + +## Profile first: where does the expm RSS go? (N=10, drop=1e-4, dim~262k, RSS 396MB) + +MEMPROF (env-gated eprintln, since removed): +- cols (CSC action cache, nnz*16B for (u32,f64) + dim*24B vec-of-vecs hdrs): **66 MB** +- index (Word->u32): ~14 MB +- partial_ys (threads x dim dense matvec accumulators): **20 MB (~5%)** +- coeffs: 2 MB +- remainder (~294 MB): python/numpy/ppvm baseline ~150 MB + pc_step transient + (leakage-enriched basis, coeffs_predict, expm work vectors, leak HashMaps). + +=> The matvec accumulator `partial_ys` I originally suspected is only ~5% of +RSS. The expm-specific memory is dominated by the action cache `cols`, and +everything (cols, index, coeffs, partial_ys, the basis itself) scales with +`dim` = basis size. The real memory lever is therefore whatever bounds `dim`: +`drop_tol`, `max_basis`, `dt`, and the accuracy target. + +## Iteration 1: atomic-scatter matvec (remove partial_ys) — DISCARD + +Replaced the threads x dim dense accumulators with atomic f64 CAS into one +shared output (O(dim) memory, f64 preserved -> tests bit-exact, 9/9 pass). +Measured N=10 drop=1e-4 (correct build): wall 19.4-20.0s vs 17.8s baseline +(~12% SLOWER), RSS 363-393MB vs 396MB (negligible, since partial_ys was ~5%). +Bad trade (CAS-per-nnz cost > the small memory saved). Reverted; kept only a +code comment recording the negative result. No other speed-neutral code fix +found: `cols` (nnz*16) is inherent to the cache that gave the ~10x speedup, and +f32 coeffs would halve it but break the drop_tol=0 exact-reference tests. + +## The real lever: knob characterization (N=10 ladder, T=2, exact-ED ref) + +(1) max_basis sweep @ dt=0.05, drop=1e-5: + 2k->rel 3.6e-1, 5k->2.4e-1, 10k->1.2e-1, 50k->9.9e-2, unbounded(259k)->1.1e-4. + Hard-capping bounds RSS (169->391MB) but costs accuracy STEEPLY here: the XY + ladder operator genuinely spreads to ~250k terms. + +(2) drop_tol sweep @ dt=0.05, unbounded: 3e-3->rel 6.8e-2 (2.6k terms, 282MB, 1.0s); + 1e-3->2.4e-2 (21k, 318MB); 3e-4->2.9e-3 (190k, 389MB); 3e-5->3.2e-4 (256k, 392MB). + drop_tol keeps the magnitude-selected set and is the efficient knob; + max_basis is a safety bound, not the primary control. + +(3) expm dt sweep @ drop=1e-4 (KEY): dt=0.025->rel 3.0e-3/27.6s, 0.05->2.2e-3/15.4s, + **0.1->7.4e-4/8.2s**, 0.2->2.3e-2/4.1s, 0.4->4.4e-1/0.9s. Optimal dt ~0.1 — + MORE accurate AND ~2x faster than dt=0.05, because expm has no Trotter + splitting error and fewer steps => fewer truncation events => less + accumulated truncation loss. Earlier benchmarks under-tuned expm at dt=0.05. + +(4) Trotter dt sweep @ mac=1e-5: 0.05->rel 9e-4/16.1s, 0.1->1.9e-3/8.2s, + 0.2->7.4e-3/3.9s; RSS flat ~173MB. + +## Tuned conclusion + +At N=10 with BOTH methods dt-tuned, wall is ~tied (~8s at rel~1e-3, dt=0.1); +expm uses ~2.3x Trotter RSS. Memory (not speed) is expm's cost, and it is only +reducible by accepting higher rel error (coarser drop / larger dt) — there is no +free code-level fix. At higher rel error (~1e-2) both are far cheaper and expm's +small-basis regime (drop=3e-3: 2.6k terms, 1s) is very competitive on wall. From cd5fb585d66890e97057d9dcb1915aafd3490ae7 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 13:47:34 +0100 Subject: [PATCH 037/159] autotune(expm-memory): tuned N=12 corrects earlier expm-wins claim (noisy outlier) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-01-expm-memory/log.md | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/autotune/2026-07-01-expm-memory/log.md b/docs/autotune/2026-07-01-expm-memory/log.md index d0c4b749..f1778369 100644 --- a/docs/autotune/2026-07-01-expm-memory/log.md +++ b/docs/autotune/2026-07-01-expm-memory/log.md @@ -64,3 +64,37 @@ expm uses ~2.3x Trotter RSS. Memory (not speed) is expm's cost, and it is only reducible by accepting higher rel error (coarser drop / larger dt) — there is no free code-level fix. At higher rel error (~1e-2) both are far cheaper and expm's small-basis regime (drop=3e-3: 2.6k terms, 1s) is very competitive on wall. + +## Tuned N=12 — CORRECTS the earlier "expm wins 0.6x" claim + +The [[../2026-07-01-expm-pc-step]] scan reported expm 0.6x Trotter wall at N=12, +rel=1e-2. That was an ARTIFACT: it interpolated against a noisy Trotter point +(mac=3e-5 -> 491s while the TIGHTER mac=1e-5 -> 302s; non-monotonic = system-load +outlier). Re-measured cleanly, dt-tuned: + + expm dt0.1 drop1e-3 rel 3.8e-2 24.8s 827MB (41k terms) + expm dt0.1 drop3e-4 rel 2.1e-2 189.6s 1823MB (518k) + trotter dt0.1 mac1e-4 rel 1.6e-2 40.3s 263MB (781k) + trotter dt0.2 mac1e-4 rel 1.4e-2 34.2s 365MB (1.32M) + +At matched rel~1.5e-2, Trotter is ~34-40s / 263-365MB; expm (interp drop~4e-4) +is ~120s / ~1.4GB. => at N=12 Trotter wins BOTH wall (~3x) and memory (~5x). + +Note expm's 827MB for only 41k final terms (drop=1e-3): the RSS is dominated by +the predictor-corrector LEAKAGE TRANSIENT (basis is enriched 2x before pruning, +and the action cache is built on the enriched basis), not the final basis. This +transient is inherent to the PC method and is the true memory driver — ~20x more +RSS/term than Trotter at N=12. + +## Honest overall verdict (post-optimization, properly tuned) + +The ~10.7x per-step win (pc-step experiment) moved expm from ~6-8x SLOWER than +Trotter to roughly COMPETITIVE, but it does NOT clearly beat Trotter: +- N=8: Trotter wins (expm 3.3x wall, 1.4x RSS). +- N=10: wall ~tied, expm ~2.3x RSS. +- N=12: Trotter wins (~3x wall, ~5x RSS). +expm's structural weakness is memory (the PC leakage transient), growing with N. +Its genuine advantages: no Trotter splitting error (systematic, dt-controlled; +prefers dt~0.1) and a compact final basis at low accuracy. Measurement variance +on single runs at N>=12 is large — trust min-of-N microbenchmarks, not one-shot +walls. From 55540515073cd22973615cc0ca0bea83b0bceaa1 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Wed, 1 Jul 2026 19:10:52 +0100 Subject: [PATCH 038/159] autotune(expm-memory): wide dt/drop/max_basis scan (clean) -> optimal dt=0.1 Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-01-expm-memory/log.md | 38 +++++++++++ .../autotune/2026-07-01-expm-memory/scan3d.py | 65 +++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 docs/autotune/2026-07-01-expm-memory/scan3d.py diff --git a/docs/autotune/2026-07-01-expm-memory/log.md b/docs/autotune/2026-07-01-expm-memory/log.md index f1778369..b10ca333 100644 --- a/docs/autotune/2026-07-01-expm-memory/log.md +++ b/docs/autotune/2026-07-01-expm-memory/log.md @@ -98,3 +98,41 @@ Its genuine advantages: no Trotter splitting error (systematic, dt-controlled; prefers dt~0.1) and a compact final basis at low accuracy. Measurement variance on single runs at N>=12 is large — trust min-of-N microbenchmarks, not one-shot walls. + +## Wide (dt x drop_tol x max_basis) scan -> optimal expm params (N=10, min of 2) + +Reran on a QUIET machine (the first pass was load-inflated). rel_err is +deterministic (bit-identical across both runs); only walls changed — these are +the clean walls. + +dt x drop_tol grid (max_basis=inf) reveals a dt-ERROR FLOOR (the PC does only +2 leakage hops/step, so too-large dt can't spread the operator far enough): +- dt=0.05: as accurate as 0.1 but ~1.8x slower (more steps -> more truncation + events). drop=3e-5 -> rel 3.2e-4 @ 10.4s. +- dt=0.10: OPTIMAL. best accuracy floor AND fastest to reach it: + drop 3e-3->rel 3.3e-2/0.4s, 1e-3->1.25e-2/2.5s, 3e-4->4.0e-3/4.3s, + 1e-4->7.4e-4/4.7s, 3e-5->1.0e-3/6.9s. +- dt=0.15 -> accuracy floors at ~1.9e-2 (finer drop no longer helps); + dt=0.20 -> ~2.2e-2; dt>=0.25 -> ~0.15. Above dt~0.1 you cannot reach small + rel_err at ANY drop_tol. Only exceed dt~0.1 if low accuracy suffices (then + dt=0.2-0.3 gives rel~3e-2 in ~0.3s). + +Optimal (dt,drop) per accuracy target, max_basis=inf, MIN WALL (clean): + rel~3e-2: dt=0.2 drop=3e-3 -> 0.3s (~8k terms) [very cheap regime] + rel~1e-2: dt=0.1 drop=3e-4 -> 4.3s (206k, rel 4.0e-3) + rel~3e-3: dt=0.1 drop=1e-4 -> 4.7s (244k, rel 7.4e-4) + rel<=1e-3: dt=0.1 drop=1e-4 -> 4.7s (rel 7.4e-4) + +max_basis interaction (base dt=0.1): capping BELOW the drop-tol-natural basis +size trades accuracy for RAM/wall. At the rel~1e-2 target, max_basis=200k +(vs inf) still meets it at 4.3s/310MB vs 5.3s/387MB — a mild win by trimming the +unneeded tail. For high accuracy the operator genuinely fills ~250k terms, so +max_basis must be >= that. => drop_tol is the primary knob; max_basis is a +memory safety cap that gives marginal savings at moderate accuracy. + +RECOMMENDED expm defaults (this ladder/observable): **dt=0.1**, drop_tol chosen +for the accuracy target (1e-3 moderate / 1e-4 tight), max_basis unbounded (or +~1.2x the expected saturated basis as a memory safety cap). dt=0.1 alone is +~1.8x faster than the dt=0.05 used in the earlier comparison. The dt~0.1 optimum +is set by the leakage-hop count vs the light-cone spread, so it should be only +weakly N-dependent (worth a spot-check at the target N). diff --git a/docs/autotune/2026-07-01-expm-memory/scan3d.py b/docs/autotune/2026-07-01-expm-memory/scan3d.py new file mode 100644 index 00000000..7975ad5d --- /dev/null +++ b/docs/autotune/2026-07-01-expm-memory/scan3d.py @@ -0,0 +1,65 @@ +"""Wide (dt, drop_tol, max_basis) scan for expm -> optimal params per accuracy. + +Uses /tmp/charac.py as the subprocess worker (fresh RSS per run). Exact-ED ref. +""" +import sys, json, subprocess +from functools import reduce +import numpy as np, scipy.sparse as sp + +SX=np.array([[0,1],[1,0]],complex); SY=np.array([[0,-1j],[1j,0]],complex) +def ladder(L): + N=2*L; site=lambda j,a:j+a*L; b=[] + for a in(0,1): + for j in range(L): b.append((site(j,a),site((j+1)%L,a))) + for j in range(L): b.append((site(j,0),site(j,1))) + return N,site,b +def sop(s,q,N): return reduce(lambda x,y:sp.kron(x,y,format='csr'),[sp.csr_matrix(s) if k==q else sp.identity(2,format='csr',dtype=complex) for k in range(N)]) +def exact(L,T): + N,site,bd=ladder(L); dim=2**N; H=sp.csr_matrix((dim,dim),dtype=complex) + for(p,q)in bd: H=H+sop(SX,p,N)@sop(SX,q,N)+sop(SY,p,N)@sop(SY,q,N) + E,V=np.linalg.eigh(H.toarray()); U=(V*np.exp(1j*E*T))@V.conj().T + idx=np.arange(dim); j0=L//2; a0,b0=site(j0,0),site(j0,1) + o0=0.5*((1-2*((idx>>(N-1-a0))&1))+(1-2*((idx>>(N-1-b0))&1))); dO=(np.abs(U)**2)@o0 + return np.array([((1-2*((idx>>(N-1-q))&1))*dO).sum()/dim for q in range(N)]) + +W="/tmp/charac.py"; L=5; T=2.0; REPS=2 +ex=exact(L,T); en=np.linalg.norm(ex); N=2*L +def run(dt,mb,dr): + best=None + for _ in range(REPS): + r=subprocess.run([sys.executable,W,"expm",str(L),str(T),str(dt),str(mb),str(dr)],capture_output=True,text=True) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: continue + d["rel"]=float(np.linalg.norm(np.array(d["profile"])-ex)/en) + if best is None or d["wall"]5} {'drop':>7} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) +rows=[] +for dt in DTS: + for dr in DROPS: + d=run(dt,-1,dr); rows.append((dt,dr,d["rel"],d["wall"],d["rss"],d["peak"])) + print(f"{dt:>5} {dr:>7.0e} {d['rel']:>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) + +print(f"\n== optimal (dt,drop) per accuracy target (max_basis=inf) ==",flush=True) +best_cfg={} +for tgt in (3e-2,1e-2,3e-3,1e-3): + ok=[r for r in rows if r[2]<=tgt] + if not ok: print(f" rel<= {tgt:.0e}: none reached",flush=True); continue + bw=min(ok,key=lambda r:r[3]); br=min(ok,key=lambda r:r[4]) + best_cfg[tgt]=bw + print(f" rel<= {tgt:.0e}: MIN-WALL dt={bw[0]} drop={bw[1]:.0e} -> {bw[3]:.1f}s {bw[4]:.0f}MB (rel {bw[2]:.1e}) | " + f"MIN-RSS dt={br[0]} drop={br[1]:.0e} -> {br[4]:.0f}MB {br[3]:.1f}s (rel {br[2]:.1e})",flush=True) + +# max_basis interaction on the min-wall config for a moderate & a tight target +print(f"\n== max_basis interaction (does capping help RAM without losing accuracy?) ==",flush=True) +for tgt in (1e-2,3e-3): + if tgt not in best_cfg: continue + dt,dr=best_cfg[tgt][0],best_cfg[tgt][1] + print(f" base config dt={dt} drop={dr:.0e} (target rel {tgt:.0e}):",flush=True) + print(f" {'max_basis':>10} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) + for mb in (20000,50000,100000,200000,-1): + d=run(dt,mb,dr); print(f" {mb:>10} {d['rel']:>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) From 0e316372b6cdcc60dc89d95f90c3f1843d90da57 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 08:34:58 +0100 Subject: [PATCH 039/159] autotune(expm-memory): tight-accuracy (1e-4/1e-5) expm-vs-Trotter -> ranking inverts At rel 1e-4 expm is ~3.3x faster (O(dt^3) vs Trotter O(dt^2) -> 4x fewer steps); at 1e-5 expm reaches it in 30s while Trotter's mac=1e-7 truncation floors ~4e-5. Trotter keeps ~2x memory edge throughout. expm's regime is tight accuracy. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-01-expm-memory/log.md | 39 ++++++++++++--- docs/autotune/2026-07-01-expm-memory/tight.py | 49 +++++++++++++++++++ .../autotune/2026-07-01-expm-memory/tight2.py | 43 ++++++++++++++++ .../2026-07-01-expm-memory/trot_tight.py | 43 ++++++++++++++++ 4 files changed, 168 insertions(+), 6 deletions(-) create mode 100644 docs/autotune/2026-07-01-expm-memory/tight.py create mode 100644 docs/autotune/2026-07-01-expm-memory/tight2.py create mode 100644 docs/autotune/2026-07-01-expm-memory/trot_tight.py diff --git a/docs/autotune/2026-07-01-expm-memory/log.md b/docs/autotune/2026-07-01-expm-memory/log.md index b10ca333..e6f74eec 100644 --- a/docs/autotune/2026-07-01-expm-memory/log.md +++ b/docs/autotune/2026-07-01-expm-memory/log.md @@ -130,9 +130,36 @@ unneeded tail. For high accuracy the operator genuinely fills ~250k terms, so max_basis must be >= that. => drop_tol is the primary knob; max_basis is a memory safety cap that gives marginal savings at moderate accuracy. -RECOMMENDED expm defaults (this ladder/observable): **dt=0.1**, drop_tol chosen -for the accuracy target (1e-3 moderate / 1e-4 tight), max_basis unbounded (or -~1.2x the expected saturated basis as a memory safety cap). dt=0.1 alone is -~1.8x faster than the dt=0.05 used in the earlier comparison. The dt~0.1 optimum -is set by the leakage-hop count vs the light-cone spread, so it should be only -weakly N-dependent (worth a spot-check at the target N). +RECOMMENDED expm defaults (this ladder/observable): drop_tol chosen for the +accuracy target, and dt chosen so the O(dt^3) per-step floor is below it: +- rel ~1e-2 : dt=0.1, drop=1e-3 (~2.5s) +- rel ~1e-3 : dt=0.1, drop=1e-4 (~4.7s) +- rel ~1e-4 : dt=0.05, drop=3e-6 (~11s) +- rel ~1e-5 : dt=0.025, drop=1e-7 (~30s) +max_basis unbounded (or ~1.2x the saturated basis as a memory guard). Note the +optimal dt DECREASES with the accuracy target: the PC per-step error is ~O(dt^3) +(dt=0.1 floors ~1.1e-3, dt=0.05 ~1e-4, dt=0.025 <1e-5), so tighter targets need +smaller dt AND finer drop (the basis saturates ~261k at N=10, so fine drop is +nearly free once saturated — it only reduces per-step pruning loss). + +## Tight-accuracy expm-vs-Trotter (N=10, exact-ED ref, clean, min-wall to reach) + +Trotter error = O(dt^2) Strang splitting + truncation(min_abs_coeff); expm error += O(dt^3) PC + truncation(drop_tol). Both basis-saturate ~261k terms, so it is +STEP COUNT that differs. + + target expm (dt,drop) wall RSS | Trotter (dt,mac) wall RSS + 1e-4 dt0.05 drop3e-6 9.9e-5 11.4s 393MB | dt0.0125 mac1e-7 3.9e-5 37.2s 173MB + 1e-5 dt0.025 drop1e-7 9.7e-6 30.3s 422MB | mac1e-7 FLOORS 3.9e-5 (>1e-8 needed) + +=> At TIGHT accuracy the ranking INVERTS vs the moderate regime: + - rel 1e-4: expm ~3.3x FASTER (Trotter's O(dt^2) forces dt=0.0125 = 4x more + steps than expm's dt=0.05); Trotter still ~2.3x less RAM. + - rel 1e-5: expm reaches it in 30s; Trotter's mac=1e-7 truncation floors at + ~4e-5, needs mac<=1e-8 (basis -> near-full, cost >> expm). +Combined with the moderate-accuracy result (Trotter competitive/better on wall, +~2x less RAM for rel >= ~1e-3), the honest verdict: + * moderate accuracy (rel >~ 1e-3): Trotter wins (wall ~tie, memory ~2x). + * tight accuracy (rel <~ 1e-4): expm wins WALL (higher-order in dt), and is + the practical choice for rel ~1e-5+; Trotter keeps the ~2x memory edge. +This is the regime where the matrix-exponential method earns its keep. diff --git a/docs/autotune/2026-07-01-expm-memory/tight.py b/docs/autotune/2026-07-01-expm-memory/tight.py new file mode 100644 index 00000000..bbc548cf --- /dev/null +++ b/docs/autotune/2026-07-01-expm-memory/tight.py @@ -0,0 +1,49 @@ +"""Tight-accuracy expm scan: reach rel 1e-4 / 1e-5. Needs smaller dt (lower +dt-error floor) + finer drop_tol. Uses /tmp/charac.py worker, exact-ED ref.""" +import sys, json, subprocess +from functools import reduce +import numpy as np, scipy.sparse as sp +SX=np.array([[0,1],[1,0]],complex); SY=np.array([[0,-1j],[1j,0]],complex) +def ladder(L): + N=2*L; site=lambda j,a:j+a*L; b=[] + for a in(0,1): + for j in range(L): b.append((site(j,a),site((j+1)%L,a))) + for j in range(L): b.append((site(j,0),site(j,1))) + return N,site,b +def sop(s,q,N): return reduce(lambda x,y:sp.kron(x,y,format='csr'),[sp.csr_matrix(s) if k==q else sp.identity(2,format='csr',dtype=complex) for k in range(N)]) +def exact(L,T): + N,site,bd=ladder(L); dim=2**N; H=sp.csr_matrix((dim,dim),dtype=complex) + for(p,q)in bd: H=H+sop(SX,p,N)@sop(SX,q,N)+sop(SY,p,N)@sop(SY,q,N) + Hd=H.toarray(); E,V=np.linalg.eigh(Hd); U=(V*np.exp(1j*E*T))@V.conj().T + # reference sanity: ||U unitary|| and ||[H,rho] consistency|| via U U^dagger = I + uni=np.abs(U@U.conj().T-np.eye(dim)).max() + idx=np.arange(dim); j0=L//2; a0,b0=site(j0,0),site(j0,1) + o0=0.5*((1-2*((idx>>(N-1-a0))&1))+(1-2*((idx>>(N-1-b0))&1))); dO=(np.abs(U)**2)@o0 + prof=np.array([((1-2*((idx>>(N-1-q))&1))*dO).sum()/dim for q in range(N)]) + return prof, uni +W="/tmp/charac.py"; L=5; T=2.0; REPS=2 +ex,uni=exact(L,T); en=np.linalg.norm(ex); N=2*L +print(f"exact-ref unitarity residual max|UU^d - I| = {uni:.2e} (must be << target rel)",flush=True) +def run(dt,dr): + best=None + for _ in range(REPS): + r=subprocess.run([sys.executable,W,"expm",str(L),str(T),str(dt),"-1",str(dr)],capture_output=True,text=True) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: continue + d["rel"]=float(np.linalg.norm(np.array(d["profile"])-ex)/en) + if best is None or d["wall"]7} {'drop':>7} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) +rows=[] +for dt in DTS: + for dr in DROPS: + d=run(dt,dr); rows.append((dt,dr,d["rel"],d["wall"],d["rss"],d["peak"])) + print(f"{dt:>7} {dr:>7.0e} {d['rel']:>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) +print(f"\n== min-wall config per tight target (max_basis=inf) ==",flush=True) +for tgt in (1e-4,3e-5,1e-5): + ok=[r for r in rows if r[2]<=tgt] + if not ok: print(f" rel<= {tgt:.0e}: NOT REACHED (finest: rel {min(r[2] for r in rows):.1e})",flush=True); continue + bw=min(ok,key=lambda r:r[3]) + print(f" rel<= {tgt:.0e}: dt={bw[0]} drop={bw[1]:.0e} -> {bw[3]:.1f}s {bw[4]:.0f}MB {bw[5]} terms (rel {bw[2]:.1e})",flush=True) diff --git a/docs/autotune/2026-07-01-expm-memory/tight2.py b/docs/autotune/2026-07-01-expm-memory/tight2.py new file mode 100644 index 00000000..037cf4a3 --- /dev/null +++ b/docs/autotune/2026-07-01-expm-memory/tight2.py @@ -0,0 +1,43 @@ +"""Push expm to rel 1e-5: small dt (dt^3 floor < 1e-5 => dt<~0.02) AND fine +drop_tol to beat truncation accumulation over many steps.""" +import sys, json, subprocess +from functools import reduce +import numpy as np, scipy.sparse as sp +SX=np.array([[0,1],[1,0]],complex); SY=np.array([[0,-1j],[1j,0]],complex) +def ladder(L): + N=2*L; site=lambda j,a:j+a*L; b=[] + for a in(0,1): + for j in range(L): b.append((site(j,a),site((j+1)%L,a))) + for j in range(L): b.append((site(j,0),site(j,1))) + return N,site,b +def sop(s,q,N): return reduce(lambda x,y:sp.kron(x,y,format='csr'),[sp.csr_matrix(s) if k==q else sp.identity(2,format='csr',dtype=complex) for k in range(N)]) +def exact(L,T): + N,site,bd=ladder(L); dim=2**N; H=sp.csr_matrix((dim,dim),dtype=complex) + for(p,q)in bd: H=H+sop(SX,p,N)@sop(SX,q,N)+sop(SY,p,N)@sop(SY,q,N) + E,V=np.linalg.eigh(H.toarray()); U=(V*np.exp(1j*E*T))@V.conj().T + idx=np.arange(dim); j0=L//2; a0,b0=site(j0,0),site(j0,1) + o0=0.5*((1-2*((idx>>(N-1-a0))&1))+(1-2*((idx>>(N-1-b0))&1))); dO=(np.abs(U)**2)@o0 + return np.array([((1-2*((idx>>(N-1-q))&1))*dO).sum()/dim for q in range(N)]) +W="/tmp/charac.py"; L=5; T=2.0; REPS=2 +ex=exact(L,T); en=np.linalg.norm(ex); N=2*L +def run(dt,dr): + best=None + for _ in range(REPS): + r=subprocess.run([sys.executable,W,"expm",str(L),str(T),str(dt),"-1",str(dr)],capture_output=True,text=True) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: continue + d["rel"]=float(np.linalg.norm(np.array(d["profile"])-ex)/en) + if best is None or d["wall"] rel 1e-5 (dt x fine drop), max_basis=inf, min of {REPS} ###",flush=True) +print(f"{'dt':>7} {'drop':>7} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) +rows=[] +for dt in DTS: + for dr in DROPS: + d=run(dt,dr); rows.append((dt,dr,d["rel"],d["wall"],d["rss"],d["peak"])) + print(f"{dt:>7} {dr:>7.0e} {d['rel']:>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) +for tgt in (1e-5,3e-6): + ok=[r for r in rows if r[2]<=tgt] + if not ok: print(f" rel<= {tgt:.0e}: NOT REACHED (finest {min(r[2] for r in rows):.1e})",flush=True); continue + bw=min(ok,key=lambda r:r[3]); print(f" rel<= {tgt:.0e}: dt={bw[0]} drop={bw[1]:.0e} -> {bw[3]:.1f}s {bw[4]:.0f}MB {bw[5]} terms (rel {bw[2]:.1e})",flush=True) diff --git a/docs/autotune/2026-07-01-expm-memory/trot_tight.py b/docs/autotune/2026-07-01-expm-memory/trot_tight.py new file mode 100644 index 00000000..252a41de --- /dev/null +++ b/docs/autotune/2026-07-01-expm-memory/trot_tight.py @@ -0,0 +1,43 @@ +"""Trotter tight-accuracy scan (rel 1e-4, 1e-5) at N=10, to compare vs expm. +Trotter (2nd-order Strang) error is O(dt^2) + truncation(min_abs_coeff).""" +import sys, json, subprocess +from functools import reduce +import numpy as np, scipy.sparse as sp +SX=np.array([[0,1],[1,0]],complex); SY=np.array([[0,-1j],[1j,0]],complex) +def ladder(L): + N=2*L; site=lambda j,a:j+a*L; b=[] + for a in(0,1): + for j in range(L): b.append((site(j,a),site((j+1)%L,a))) + for j in range(L): b.append((site(j,0),site(j,1))) + return N,site,b +def sop(s,q,N): return reduce(lambda x,y:sp.kron(x,y,format='csr'),[sp.csr_matrix(s) if k==q else sp.identity(2,format='csr',dtype=complex) for k in range(N)]) +def exact(L,T): + N,site,bd=ladder(L); dim=2**N; H=sp.csr_matrix((dim,dim),dtype=complex) + for(p,q)in bd: H=H+sop(SX,p,N)@sop(SX,q,N)+sop(SY,p,N)@sop(SY,q,N) + E,V=np.linalg.eigh(H.toarray()); U=(V*np.exp(1j*E*T))@V.conj().T + idx=np.arange(dim); j0=L//2; a0,b0=site(j0,0),site(j0,1) + o0=0.5*((1-2*((idx>>(N-1-a0))&1))+(1-2*((idx>>(N-1-b0))&1))); dO=(np.abs(U)**2)@o0 + return np.array([((1-2*((idx>>(N-1-q))&1))*dO).sum()/dim for q in range(N)]) +W="/tmp/charac.py"; L=5; T=2.0; REPS=2 +ex=exact(L,T); en=np.linalg.norm(ex); N=2*L +def run(dt,mac): + best=None + for _ in range(REPS): + r=subprocess.run([sys.executable,W,"trotter",str(L),str(T),str(dt),str(mac)],capture_output=True,text=True) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: continue + d["rel"]=float(np.linalg.norm(np.array(d["profile"])-ex)/en) + if best is None or d["wall"]8} {'mac':>7} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) +rows=[] +for dt in DTS: + for mc in MACS: + d=run(dt,mc); rows.append((dt,mc,d["rel"],d["wall"],d["rss"],d["peak"])) + print(f"{dt:>8} {mc:>7.0e} {d['rel']:>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) +for tgt in (1e-4,1e-5): + ok=[r for r in rows if r[2]<=tgt] + if not ok: print(f" rel<= {tgt:.0e}: NOT REACHED (finest {min(r[2] for r in rows):.1e})",flush=True); continue + bw=min(ok,key=lambda r:r[3]); print(f" TROTTER rel<= {tgt:.0e}: dt={bw[0]} mac={bw[1]:.0e} -> {bw[3]:.1f}s {bw[4]:.0f}MB {bw[5]} terms (rel {bw[2]:.1e})",flush=True) From aa37fb6508d43a0e3da13b62fe6ae70f28502e1d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 12:13:12 +0100 Subject: [PATCH 040/159] autotune(ladder): baselines + profiles for Trotter and expm XY-ladder Trotter: gate-apply 98% (single-threaded map_insert), trunc 2%. expm (post-10.7x): expm-apply 77%, leakage 22%. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 23 ++++++++++++++++++ .../2026-07-02-expm-ladder/metric.toml | 8 +++++++ .../autotune/2026-07-02-trotter-ladder/log.md | 24 +++++++++++++++++++ .../2026-07-02-trotter-ladder/metric.toml | 8 +++++++ 4 files changed, 63 insertions(+) create mode 100644 docs/autotune/2026-07-02-expm-ladder/log.md create mode 100644 docs/autotune/2026-07-02-expm-ladder/metric.toml create mode 100644 docs/autotune/2026-07-02-trotter-ladder/log.md create mode 100644 docs/autotune/2026-07-02-trotter-ladder/metric.toml diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md new file mode 100644 index 00000000..1e96f21c --- /dev/null +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -0,0 +1,23 @@ +# Log for 2026-07-02-expm-ladder + +Target: expm (adaptive Pauli-Lindblad pc_step) on the two-leg XY ladder, AFTER +the 2026-07-01-expm-pc-step optimization (cache-action + tol-matched table, +~10.7x). Metric (/tmp/metric_expm.py): N=10, 15 steps, drop=1e-3. Baseline +(min of 3): wall 0.457s, peak_basis 15398, RSS 306MB, checksum 1.0. + +## Profile (pc_step_timed phase split) +- expm apply: **77%** (expm2 60% + expm1 17%) +- leakage: **22%** (was ~3% pre-optimization; now significant since expm got 10x) +- generator: 0% (matrix-free), expand 0.7% + +## Hypotheses / next iterations +1. Share the `compute_action_terms(p)` computation between the expm CSC build + (mf_expm::build_mf_cols) and the immediately-following leakage on the SAME + basis (pc_step_inner: expm1-build on B1, then leakage2 on B1 -- consecutive, + same basis). The action(p) depends only on p, not coefficients, so it is + recomputed. CAVEAT: build_mf_cols currently DISCARDS out-of-basis outputs + (filters index.get(w).is_some()) -- exactly the terms leakage needs -- so + sharing requires retaining full action outputs (memory cost) and threading + the cache through pc_step_inner. Structural, medium risk; deferred pending + the Trotter iteration. +2. Parallelism of leakage vs expm build (check if leakage is already parallel). diff --git a/docs/autotune/2026-07-02-expm-ladder/metric.toml b/docs/autotune/2026-07-02-expm-ladder/metric.toml new file mode 100644 index 00000000..fbeb0f8c --- /dev/null +++ b/docs/autotune/2026-07-02-expm-ladder/metric.toml @@ -0,0 +1,8 @@ +[[metric]] +"commit" = "0e316372" +"status" = "keep" +"description" = "baseline: N=10 XY ladder, 15 steps, drop=1e-3; expm-apply 77%, leakage 22%" +"wall_s" = 0.457 +"peak_basis" = 15398.0 +"rss_mb" = 306.0 + diff --git a/docs/autotune/2026-07-02-trotter-ladder/log.md b/docs/autotune/2026-07-02-trotter-ladder/log.md new file mode 100644 index 00000000..66de0108 --- /dev/null +++ b/docs/autotune/2026-07-02-trotter-ladder/log.md @@ -0,0 +1,24 @@ +# Log for 2026-07-02-trotter-ladder + +Target: Trotter (PauliSum rxx/ryy/rzz gate propagation) on the two-leg XY ladder. +Metric (/tmp/metric_trotter.py): brickwork 2nd-order Strang, N=10 (L=5), dt=0.1, +8 steps, min_abs_coeff=1e-3, localized-Z seed. Baseline (min of 3, quiet build): +wall 0.777s, peak_basis 34030, RSS 173MB, M=1.0 (conserved). + +BUILD REMINDER: rebuild native from ppvm-python/ (not crates/ppvm-python-native) + cd ppvm-python && VIRTUAL_ENV=.venv uvx --from maturin maturin develop --release --uv + +## Profile (Python-level phase split: gates with truncate=False vs .truncate()) +- gate application (rxx/ryy_many via map_insert): **98%** +- truncation (drop below min_abs_coeff): 2% + +=> The bottleneck is the 2-qubit rotation application, not truncation. Each gate +calls PauliSum::map_insert -> ACMapInsert::map_insert, whose HashMap impl +(ppvm-traits/src/map/hashmap.rs:157) is a SINGLE-THREADED `for (k,v) in +self.iter_mut()`. The closure is already `Fn + Sync + Send`. The expm path +parallelises the analogous action pass (mf_expm::build_mf_cols) with rayon. + +## Iteration 1 (running): parallelise map_insert gate application +Hypothesis: rayon-parallelise the per-entry closure (independent `*v *= cos` +mutation + collected branch terms), merge branch terms into dest. Expected +~cores x on the gate phase (98% of step). Small-map sequential fallback. diff --git a/docs/autotune/2026-07-02-trotter-ladder/metric.toml b/docs/autotune/2026-07-02-trotter-ladder/metric.toml new file mode 100644 index 00000000..30fd74b5 --- /dev/null +++ b/docs/autotune/2026-07-02-trotter-ladder/metric.toml @@ -0,0 +1,8 @@ +[[metric]] +"commit" = "0e316372" +"status" = "keep" +"description" = "baseline: N=10 XY ladder, dt=0.1, 8 steps, mac=1e-3; gate-apply 98%, trunc 2%" +"wall_s" = 0.777 +"peak_basis" = 34030.0 +"rss_mb" = 173.0 + From 15f9655425ef7427a2c6fb37965e35173ff51268 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 12:35:20 +0100 Subject: [PATCH 041/159] perf(ppvm-pauli-sum): parallelize map_insert gate application Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-pauli-sum/src/config/fx64hash.rs | 2 +- crates/ppvm-pauli-sum/src/config/fxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/gxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/indexmap.rs | 4 +- crates/ppvm-traits/Cargo.toml | 9 +++- crates/ppvm-traits/src/map/hashmap.rs | 45 +++++++++++++++++++- 6 files changed, 60 insertions(+), 8 deletions(-) diff --git a/crates/ppvm-pauli-sum/src/config/fx64hash.rs b/crates/ppvm-pauli-sum/src/config/fx64hash.rs index 0411873e..c54ecd0a 100644 --- a/crates/ppvm-pauli-sum/src/config/fx64hash.rs +++ b/crates/ppvm-pauli-sum/src/config/fx64hash.rs @@ -26,7 +26,7 @@ pub struct Byte8< W: PauliWordTrait = PauliWord<[usize; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for Byte8 { type Storage = [usize; N]; diff --git a/crates/ppvm-pauli-sum/src/config/fxhash.rs b/crates/ppvm-pauli-sum/src/config/fxhash.rs index d67394dd..9630c7f8 100644 --- a/crates/ppvm-pauli-sum/src/config/fxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/fxhash.rs @@ -17,7 +17,9 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config for Byte { +impl Config + for Byte +{ type Storage = [u8; N]; type Coeff = C; type BuildHasher = fxhash::FxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/gxhash.rs b/crates/ppvm-pauli-sum/src/config/gxhash.rs index 76e0bec6..fcbd2acf 100644 --- a/crates/ppvm-pauli-sum/src/config/gxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/gxhash.rs @@ -17,7 +17,9 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], gxhash::GxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config for Byte { +impl Config + for Byte +{ type Storage = [u8; N]; type Coeff = C; type BuildHasher = gxhash::GxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/indexmap.rs b/crates/ppvm-pauli-sum/src/config/indexmap.rs index 0be201ee..028213cc 100644 --- a/crates/ppvm-pauli-sum/src/config/indexmap.rs +++ b/crates/ppvm-pauli-sum/src/config/indexmap.rs @@ -16,7 +16,7 @@ pub struct ByteFxHash< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for ByteFxHash { type Storage = [u8; N]; @@ -41,7 +41,7 @@ pub struct ByteGxHash< >(PhantomData<(C, St, W)>); #[cfg(all(feature = "gxhash", not(target_arch = "wasm32")))] -impl Config +impl Config for ByteGxHash { type Storage = [u8; N]; diff --git a/crates/ppvm-traits/Cargo.toml b/crates/ppvm-traits/Cargo.toml index 04697b14..3e5d9e24 100644 --- a/crates/ppvm-traits/Cargo.toml +++ b/crates/ppvm-traits/Cargo.toml @@ -25,8 +25,13 @@ rayon = { version = "1.11.0", optional = true } insta = { version = "1.43.2", features = ["yaml"] } [features] -default = ["dashmap", "gxhash", "ahash", "indexmap"] -dashmap = ["dep:dashmap", "dep:rayon"] +default = ["dashmap", "gxhash", "ahash", "indexmap", "rayon"] +dashmap = ["dep:dashmap", "rayon"] gxhash = ["dep:gxhash"] ahash = ["dep:ahash"] indexmap = ["dep:indexmap"] +# Parallelize the hot map_insert / map_insert_vec gate-application path with +# rayon. Native-only (rayon is pruned on wasm32); the parallel code is also +# `cfg(not(target_arch = "wasm32"))`-gated so a wasm build falls back to the +# sequential loop. +rayon = ["dep:rayon"] diff --git a/crates/ppvm-traits/src/map/hashmap.rs b/crates/ppvm-traits/src/map/hashmap.rs index 17dcd1c4..39e3ccc4 100644 --- a/crates/ppvm-traits/src/map/hashmap.rs +++ b/crates/ppvm-traits/src/map/hashmap.rs @@ -5,6 +5,12 @@ use std::{collections::HashMap, hash::BuildHasher}; use crate::traits::*; +/// Below this many source entries the rayon fan-out costs more than it saves, +/// so `map_insert` / `map_insert_vec` stay on the sequential loop. Only used +/// when the `rayon` acceleration path is compiled in. +#[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] +const PARALLEL_MAP_INSERT_THRESHOLD: usize = 1024; + macro_rules! impl_acmap_base { ($($seg:ident)::+) => { impl<'a, V, Hasher, W> crate::traits::ACMapBase for $($seg)::+ @@ -152,12 +158,38 @@ macro_rules! impl_acmap_insert { S: PauliStorage + 'a, C: Coefficient + 'a, Hasher: Default + Clone + BuildHasher + 'a, - W: PauliWordTrait + 'a, + // `Sync + Send` on the word lets the rayon path below shuttle + // `(&W, &mut C)` entry handles across worker threads. `C` is + // already `Sync + Send` via `Coefficient`. + W: PauliWordTrait + Sync + Send + 'a, { fn map_insert(&mut self, dest: &mut Self, f: F) where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { + // Parallel path: scale surviving values in place and collect + // anti-commuting branch terms concurrently, then merge those + // terms into `dest` in one sequential pass (collision keys + // must sum). The merge is cheap relative to the closure work + // and needs the map's `entry` API, so it stays sequential. + #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] + if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { + use rayon::prelude::*; + // Collect the disjoint `&mut` value handles once so rayon + // can split them; each entry's `*v *= cos` mutation is + // independent, so this is data-race free. + let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); + let produced: Vec<(W, C)> = entries + .into_par_iter() + .filter_map(|(k, v)| f(k, v)) + .collect(); + for (new_k, new_v) in produced { + dest.entry(new_k) + .and_modify(|val| *val += new_v.clone()) + .or_insert(new_v); + } + return; + } for (k, v) in self.iter_mut() { if let Some((new_k, new_v)) = f(k, v) { dest.entry(new_k) @@ -171,6 +203,17 @@ macro_rules! impl_acmap_insert { where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { + // Hot rot2 path (via `PauliSum::map_insert`). Same structure as + // `map_insert`, but produced terms go into a plain `Vec` that + // the caller later folds into its map. rayon's `par_extend` + // accumulates into per-thread buffers and concatenates them. + #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] + if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { + use rayon::prelude::*; + let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); + dest.par_extend(entries.into_par_iter().filter_map(|(k, v)| f(k, v))); + return; + } for (k, v) in self.iter_mut() { if let Some(entry) = f(k, v) { dest.push(entry); From abe2ddad443118149699e42df673eb49ec56d822 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 12:42:27 +0100 Subject: [PATCH 042/159] Revert "perf(ppvm-pauli-sum): parallelize map_insert gate application" This reverts commit 15f9655425ef7427a2c6fb37965e35173ff51268. --- crates/ppvm-pauli-sum/src/config/fx64hash.rs | 2 +- crates/ppvm-pauli-sum/src/config/fxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/gxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/indexmap.rs | 4 +- crates/ppvm-traits/Cargo.toml | 9 +--- crates/ppvm-traits/src/map/hashmap.rs | 45 +------------------- 6 files changed, 8 insertions(+), 60 deletions(-) diff --git a/crates/ppvm-pauli-sum/src/config/fx64hash.rs b/crates/ppvm-pauli-sum/src/config/fx64hash.rs index c54ecd0a..0411873e 100644 --- a/crates/ppvm-pauli-sum/src/config/fx64hash.rs +++ b/crates/ppvm-pauli-sum/src/config/fx64hash.rs @@ -26,7 +26,7 @@ pub struct Byte8< W: PauliWordTrait = PauliWord<[usize; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for Byte8 { type Storage = [usize; N]; diff --git a/crates/ppvm-pauli-sum/src/config/fxhash.rs b/crates/ppvm-pauli-sum/src/config/fxhash.rs index 9630c7f8..d67394dd 100644 --- a/crates/ppvm-pauli-sum/src/config/fxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/fxhash.rs @@ -17,9 +17,7 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config - for Byte -{ +impl Config for Byte { type Storage = [u8; N]; type Coeff = C; type BuildHasher = fxhash::FxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/gxhash.rs b/crates/ppvm-pauli-sum/src/config/gxhash.rs index fcbd2acf..76e0bec6 100644 --- a/crates/ppvm-pauli-sum/src/config/gxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/gxhash.rs @@ -17,9 +17,7 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], gxhash::GxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config - for Byte -{ +impl Config for Byte { type Storage = [u8; N]; type Coeff = C; type BuildHasher = gxhash::GxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/indexmap.rs b/crates/ppvm-pauli-sum/src/config/indexmap.rs index 028213cc..0be201ee 100644 --- a/crates/ppvm-pauli-sum/src/config/indexmap.rs +++ b/crates/ppvm-pauli-sum/src/config/indexmap.rs @@ -16,7 +16,7 @@ pub struct ByteFxHash< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for ByteFxHash { type Storage = [u8; N]; @@ -41,7 +41,7 @@ pub struct ByteGxHash< >(PhantomData<(C, St, W)>); #[cfg(all(feature = "gxhash", not(target_arch = "wasm32")))] -impl Config +impl Config for ByteGxHash { type Storage = [u8; N]; diff --git a/crates/ppvm-traits/Cargo.toml b/crates/ppvm-traits/Cargo.toml index 3e5d9e24..04697b14 100644 --- a/crates/ppvm-traits/Cargo.toml +++ b/crates/ppvm-traits/Cargo.toml @@ -25,13 +25,8 @@ rayon = { version = "1.11.0", optional = true } insta = { version = "1.43.2", features = ["yaml"] } [features] -default = ["dashmap", "gxhash", "ahash", "indexmap", "rayon"] -dashmap = ["dep:dashmap", "rayon"] +default = ["dashmap", "gxhash", "ahash", "indexmap"] +dashmap = ["dep:dashmap", "dep:rayon"] gxhash = ["dep:gxhash"] ahash = ["dep:ahash"] indexmap = ["dep:indexmap"] -# Parallelize the hot map_insert / map_insert_vec gate-application path with -# rayon. Native-only (rayon is pruned on wasm32); the parallel code is also -# `cfg(not(target_arch = "wasm32"))`-gated so a wasm build falls back to the -# sequential loop. -rayon = ["dep:rayon"] diff --git a/crates/ppvm-traits/src/map/hashmap.rs b/crates/ppvm-traits/src/map/hashmap.rs index 39e3ccc4..17dcd1c4 100644 --- a/crates/ppvm-traits/src/map/hashmap.rs +++ b/crates/ppvm-traits/src/map/hashmap.rs @@ -5,12 +5,6 @@ use std::{collections::HashMap, hash::BuildHasher}; use crate::traits::*; -/// Below this many source entries the rayon fan-out costs more than it saves, -/// so `map_insert` / `map_insert_vec` stay on the sequential loop. Only used -/// when the `rayon` acceleration path is compiled in. -#[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] -const PARALLEL_MAP_INSERT_THRESHOLD: usize = 1024; - macro_rules! impl_acmap_base { ($($seg:ident)::+) => { impl<'a, V, Hasher, W> crate::traits::ACMapBase for $($seg)::+ @@ -158,38 +152,12 @@ macro_rules! impl_acmap_insert { S: PauliStorage + 'a, C: Coefficient + 'a, Hasher: Default + Clone + BuildHasher + 'a, - // `Sync + Send` on the word lets the rayon path below shuttle - // `(&W, &mut C)` entry handles across worker threads. `C` is - // already `Sync + Send` via `Coefficient`. - W: PauliWordTrait + Sync + Send + 'a, + W: PauliWordTrait + 'a, { fn map_insert(&mut self, dest: &mut Self, f: F) where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { - // Parallel path: scale surviving values in place and collect - // anti-commuting branch terms concurrently, then merge those - // terms into `dest` in one sequential pass (collision keys - // must sum). The merge is cheap relative to the closure work - // and needs the map's `entry` API, so it stays sequential. - #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] - if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { - use rayon::prelude::*; - // Collect the disjoint `&mut` value handles once so rayon - // can split them; each entry's `*v *= cos` mutation is - // independent, so this is data-race free. - let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); - let produced: Vec<(W, C)> = entries - .into_par_iter() - .filter_map(|(k, v)| f(k, v)) - .collect(); - for (new_k, new_v) in produced { - dest.entry(new_k) - .and_modify(|val| *val += new_v.clone()) - .or_insert(new_v); - } - return; - } for (k, v) in self.iter_mut() { if let Some((new_k, new_v)) = f(k, v) { dest.entry(new_k) @@ -203,17 +171,6 @@ macro_rules! impl_acmap_insert { where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { - // Hot rot2 path (via `PauliSum::map_insert`). Same structure as - // `map_insert`, but produced terms go into a plain `Vec` that - // the caller later folds into its map. rayon's `par_extend` - // accumulates into per-thread buffers and concatenates them. - #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] - if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { - use rayon::prelude::*; - let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); - dest.par_extend(entries.into_par_iter().filter_map(|(k, v)| f(k, v))); - return; - } for (k, v) in self.iter_mut() { if let Some(entry) = f(k, v) { dest.push(entry); From 29f20b8d16aef38f49684421c4dcf1a5b5a17801 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 12:42:27 +0100 Subject: [PATCH 043/159] autotune(trotter-ladder): record parallelize-map_insert discard (~30% slower) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-trotter-ladder/log.md | 17 +++++++++++++++++ .../2026-07-02-trotter-ladder/metric.toml | 8 ++++++++ 2 files changed, 25 insertions(+) diff --git a/docs/autotune/2026-07-02-trotter-ladder/log.md b/docs/autotune/2026-07-02-trotter-ladder/log.md index 66de0108..55daaac9 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/log.md +++ b/docs/autotune/2026-07-02-trotter-ladder/log.md @@ -22,3 +22,20 @@ parallelises the analogous action pass (mf_expm::build_mf_cols) with rayon. Hypothesis: rayon-parallelise the per-entry closure (independent `*v *= cos` mutation + collected branch terms), merge branch terms into dest. Expected ~cores x on the gate phase (98% of step). Small-map sequential fallback. + +## Iteration 1: parallelize map_insert — DISCARD (~30% slower) +Cherry-picked 3d5f0409 (subagent parallelized map_insert_vec/map_insert via +collect-mut-refs + par_iter + par_extend, threshold 1024). Result: wall 1.0s +(min) vs 0.777s baseline, RSS 230 vs 173MB. Correct (M=1.0), but SLOWER. +Root cause: a Trotter step applies ~120 gates (rxx+ryy over ~60 bonds x2 +directions), and EACH gate calls map_insert over the full ~34k-term map. The +per-call `iter_mut().collect::>()` (~0.5MB alloc) + rayon +dispatch is paid 120x/step; the per-term work (a few-ns commutation check) is +memory-bandwidth-bound, so parallel gain is small and the per-call overhead +dominates. Opposite of the expm path (ONE big par pass per call over the basis). +Anti-pattern: don't rayon-parallelize a cheap loop that's invoked many times per +step. Better directions (next): (a) skip non-overlapping terms via a +qubit-support index so a gate on bond (a,b) visits only terms touching a/b +instead of all 34k (algorithmic, cuts the O(gates x basis) work); (b) if +parallelizing, do it at a coarser grain with no per-gate collect (hashbrown +native par_iter_mut), only for very large maps. diff --git a/docs/autotune/2026-07-02-trotter-ladder/metric.toml b/docs/autotune/2026-07-02-trotter-ladder/metric.toml index 30fd74b5..5a9c18e3 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/metric.toml +++ b/docs/autotune/2026-07-02-trotter-ladder/metric.toml @@ -6,3 +6,11 @@ "peak_basis" = 34030.0 "rss_mb" = 173.0 +[[metric]] +"commit" = "15f96554" +"status" = "discard" +"description" = "parallelize map_insert (rayon): ~30% SLOWER (1.0s vs 0.777s), +60MB. map_insert called ~120x/step over full map; per-call Vec-collect+rayon dispatch overhead swamps gain on memory-bound cheap-per-term loop" +"wall_s" = 1.003 +"peak_basis" = 34030.0 +"rss_mb" = 230.0 + From fb5d5881cec63f22a94cd8178756ec7427bb442d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 13:13:53 +0100 Subject: [PATCH 044/159] Reapply "perf(ppvm-pauli-sum): parallelize map_insert gate application" This reverts commit abe2ddad443118149699e42df673eb49ec56d822. --- crates/ppvm-pauli-sum/src/config/fx64hash.rs | 2 +- crates/ppvm-pauli-sum/src/config/fxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/gxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/indexmap.rs | 4 +- crates/ppvm-traits/Cargo.toml | 9 +++- crates/ppvm-traits/src/map/hashmap.rs | 45 +++++++++++++++++++- 6 files changed, 60 insertions(+), 8 deletions(-) diff --git a/crates/ppvm-pauli-sum/src/config/fx64hash.rs b/crates/ppvm-pauli-sum/src/config/fx64hash.rs index 0411873e..c54ecd0a 100644 --- a/crates/ppvm-pauli-sum/src/config/fx64hash.rs +++ b/crates/ppvm-pauli-sum/src/config/fx64hash.rs @@ -26,7 +26,7 @@ pub struct Byte8< W: PauliWordTrait = PauliWord<[usize; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for Byte8 { type Storage = [usize; N]; diff --git a/crates/ppvm-pauli-sum/src/config/fxhash.rs b/crates/ppvm-pauli-sum/src/config/fxhash.rs index d67394dd..9630c7f8 100644 --- a/crates/ppvm-pauli-sum/src/config/fxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/fxhash.rs @@ -17,7 +17,9 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config for Byte { +impl Config + for Byte +{ type Storage = [u8; N]; type Coeff = C; type BuildHasher = fxhash::FxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/gxhash.rs b/crates/ppvm-pauli-sum/src/config/gxhash.rs index 76e0bec6..fcbd2acf 100644 --- a/crates/ppvm-pauli-sum/src/config/gxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/gxhash.rs @@ -17,7 +17,9 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], gxhash::GxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config for Byte { +impl Config + for Byte +{ type Storage = [u8; N]; type Coeff = C; type BuildHasher = gxhash::GxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/indexmap.rs b/crates/ppvm-pauli-sum/src/config/indexmap.rs index 0be201ee..028213cc 100644 --- a/crates/ppvm-pauli-sum/src/config/indexmap.rs +++ b/crates/ppvm-pauli-sum/src/config/indexmap.rs @@ -16,7 +16,7 @@ pub struct ByteFxHash< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for ByteFxHash { type Storage = [u8; N]; @@ -41,7 +41,7 @@ pub struct ByteGxHash< >(PhantomData<(C, St, W)>); #[cfg(all(feature = "gxhash", not(target_arch = "wasm32")))] -impl Config +impl Config for ByteGxHash { type Storage = [u8; N]; diff --git a/crates/ppvm-traits/Cargo.toml b/crates/ppvm-traits/Cargo.toml index 04697b14..3e5d9e24 100644 --- a/crates/ppvm-traits/Cargo.toml +++ b/crates/ppvm-traits/Cargo.toml @@ -25,8 +25,13 @@ rayon = { version = "1.11.0", optional = true } insta = { version = "1.43.2", features = ["yaml"] } [features] -default = ["dashmap", "gxhash", "ahash", "indexmap"] -dashmap = ["dep:dashmap", "dep:rayon"] +default = ["dashmap", "gxhash", "ahash", "indexmap", "rayon"] +dashmap = ["dep:dashmap", "rayon"] gxhash = ["dep:gxhash"] ahash = ["dep:ahash"] indexmap = ["dep:indexmap"] +# Parallelize the hot map_insert / map_insert_vec gate-application path with +# rayon. Native-only (rayon is pruned on wasm32); the parallel code is also +# `cfg(not(target_arch = "wasm32"))`-gated so a wasm build falls back to the +# sequential loop. +rayon = ["dep:rayon"] diff --git a/crates/ppvm-traits/src/map/hashmap.rs b/crates/ppvm-traits/src/map/hashmap.rs index 17dcd1c4..39e3ccc4 100644 --- a/crates/ppvm-traits/src/map/hashmap.rs +++ b/crates/ppvm-traits/src/map/hashmap.rs @@ -5,6 +5,12 @@ use std::{collections::HashMap, hash::BuildHasher}; use crate::traits::*; +/// Below this many source entries the rayon fan-out costs more than it saves, +/// so `map_insert` / `map_insert_vec` stay on the sequential loop. Only used +/// when the `rayon` acceleration path is compiled in. +#[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] +const PARALLEL_MAP_INSERT_THRESHOLD: usize = 1024; + macro_rules! impl_acmap_base { ($($seg:ident)::+) => { impl<'a, V, Hasher, W> crate::traits::ACMapBase for $($seg)::+ @@ -152,12 +158,38 @@ macro_rules! impl_acmap_insert { S: PauliStorage + 'a, C: Coefficient + 'a, Hasher: Default + Clone + BuildHasher + 'a, - W: PauliWordTrait + 'a, + // `Sync + Send` on the word lets the rayon path below shuttle + // `(&W, &mut C)` entry handles across worker threads. `C` is + // already `Sync + Send` via `Coefficient`. + W: PauliWordTrait + Sync + Send + 'a, { fn map_insert(&mut self, dest: &mut Self, f: F) where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { + // Parallel path: scale surviving values in place and collect + // anti-commuting branch terms concurrently, then merge those + // terms into `dest` in one sequential pass (collision keys + // must sum). The merge is cheap relative to the closure work + // and needs the map's `entry` API, so it stays sequential. + #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] + if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { + use rayon::prelude::*; + // Collect the disjoint `&mut` value handles once so rayon + // can split them; each entry's `*v *= cos` mutation is + // independent, so this is data-race free. + let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); + let produced: Vec<(W, C)> = entries + .into_par_iter() + .filter_map(|(k, v)| f(k, v)) + .collect(); + for (new_k, new_v) in produced { + dest.entry(new_k) + .and_modify(|val| *val += new_v.clone()) + .or_insert(new_v); + } + return; + } for (k, v) in self.iter_mut() { if let Some((new_k, new_v)) = f(k, v) { dest.entry(new_k) @@ -171,6 +203,17 @@ macro_rules! impl_acmap_insert { where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { + // Hot rot2 path (via `PauliSum::map_insert`). Same structure as + // `map_insert`, but produced terms go into a plain `Vec` that + // the caller later folds into its map. rayon's `par_extend` + // accumulates into per-thread buffers and concatenates them. + #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] + if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { + use rayon::prelude::*; + let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); + dest.par_extend(entries.into_par_iter().filter_map(|(k, v)| f(k, v))); + return; + } for (k, v) in self.iter_mut() { if let Some(entry) = f(k, v) { dest.push(entry); From 56801fee5ade9ff71586c9da54587eacb8a3904e Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 13:19:29 +0100 Subject: [PATCH 045/159] =?UTF-8?q?autotune(trotter-ladder):=20KEEP=20para?= =?UTF-8?q?llel=20map=5Finsert=20=E2=80=94=202.5x=20at=20N=3D12=20(reteste?= =?UTF-8?q?d=20per=20user)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-trotter-ladder/log.md | 15 +++++++++++++++ .../2026-07-02-trotter-ladder/metric.toml | 8 ++++++++ 2 files changed, 23 insertions(+) diff --git a/docs/autotune/2026-07-02-trotter-ladder/log.md b/docs/autotune/2026-07-02-trotter-ladder/log.md index 55daaac9..c8927f7d 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/log.md +++ b/docs/autotune/2026-07-02-trotter-ladder/log.md @@ -39,3 +39,18 @@ qubit-support index so a gate on bond (a,b) visits only terms touching a/b instead of all 34k (algorithmic, cuts the O(gates x basis) work); (b) if parallelizing, do it at a coarser grain with no per-gate collect (hashbrown native par_iter_mut), only for very large maps. + +## Iteration 1 REVISITED (per user: "regression an artifact of too-small a problem?") — KEEP +Re-tested parallel vs sequential at larger N, clean/quiet, min of 3: +- N=10 (L=5, 8 steps, peak 34k): seq 0.777s vs par 0.702-0.77s -> NEUTRAL. + (The earlier "1.0s / +30%" was measured under machine load — seq was also + inflated to 1.17s then; on a quiet machine parallel N=10 matches sequential.) +- N=12 (L=6, 6 steps): seq 18.4s (min) vs par 7.5s (min) -> ~2.5x FASTER. +The user was right: the regression was a small-problem + load artifact. At +N=12 each gate operates on a large intra-step map (gates deferred with +truncate=False grow the map before the single per-step truncate), so the +per-term parallel work amortizes the rayon dispatch overhead. Correct (M=1.0). +Cost: RSS +60% at N=12 (627 vs 396MB — per-thread accumulation buffers). +DECISION: KEEP (helps where Trotter is slow; neutral where it's fast). +Lesson: benchmark the autotune metric at a size representative of the SLOW +regime, not the fast one — a small metric hid a real 2.5x structural win. diff --git a/docs/autotune/2026-07-02-trotter-ladder/metric.toml b/docs/autotune/2026-07-02-trotter-ladder/metric.toml index 5a9c18e3..85860def 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/metric.toml +++ b/docs/autotune/2026-07-02-trotter-ladder/metric.toml @@ -14,3 +14,11 @@ "peak_basis" = 34030.0 "rss_mb" = 230.0 +[[metric]] +"commit" = "fb5d5881" +"status" = "keep" +"description" = "parallelize map_insert (rayon) \u2014 KEEP after larger-N retest (per user): N=12 18.4s->7.5s (~2.5x), N=10 neutral (0.70-0.77 vs 0.78). Earlier discard was small-problem + machine-load artifact. RSS +60% at N=12 (per-thread buffers)." +"wall_s_N12" = 7.49 +"wall_s_N10" = 0.702 +"rss_mb_N12" = 627.0 + From 2411240fd37f2a5846085ba09a49e885e9e50660 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 14:17:45 +0100 Subject: [PATCH 046/159] perf(ppvm-lindblad): reuse predictor action cache in leakage2 Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/lib.rs | 130 +++++++++++++++++++++++++--- crates/ppvm-lindblad/src/mf_expm.rs | 89 +++++++++++++------ 2 files changed, 180 insertions(+), 39 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 2941ccd7..e6668cd4 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -662,6 +662,98 @@ impl LindbladSpec { Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) } + /// Second-hop leakage that REUSES a precomputed per-column action cache + /// instead of recomputing `L*(basis[i])`. Produces the identical result to + /// [`Self::leakage_with_prune`] on the SAME `basis`/`coeffs`, provided + /// `oob` is the out-of-basis action from [`mf_expm::expm_apply_mf`] on that + /// exact basis (i.e. `oob[i]` = the `(word, action_coeff)` outputs of + /// `L*(basis[i])` whose Word is not in `basis`). + /// + /// `oob` already encodes the "out-of-basis for this basis" filter (via the + /// same basis index the exponential used), so only the `protected` filter + /// is applied here — matching `leakage_with_prune`, which filters by both + /// `in_basis` and `protected`. The descending-`|c|` order, chunked merge, + /// and room-cap are byte-for-byte identical to `leakage_with_prune`. + pub(crate) fn leakage_from_action_cache( + &self, + basis: &[Word], + coeffs: &[f64], + protected: &[Word], + max_basis: usize, + oob: &[Vec<(Word, f64)>], + ) -> Result, Error> { + if basis.len() != coeffs.len() { + return Err(Error::LengthMismatch { + what: "basis and coeffs", + a: basis.len(), + b: coeffs.len(), + }); + } + if oob.len() != basis.len() { + return Err(Error::LengthMismatch { + what: "basis and action cache", + a: basis.len(), + b: oob.len(), + }); + } + // Only the `protected` filter is applied: `oob` already excludes + // in-basis outputs (built from the same basis index the exponential + // used), matching the `in_basis` filter in `leakage_with_prune`. + let protected_set: FxHashMap = + protected.iter().map(|w| (word_hash(w), ())).collect(); + + // Descending sort by |c|: identical to `leakage_with_prune`. + let mut order: Vec = (0..basis.len()).collect(); + order.sort_by(|&a, &b| { + coeffs[b] + .abs() + .partial_cmp(&coeffs[a].abs()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + + const CHUNK_SIZE: usize = 4096; + let room = max_basis.saturating_sub(basis.len()); + let mut merged: FxHashMap = FxHashMap::default(); + for chunk_indices in order.chunks(CHUNK_SIZE) { + let local: Vec> = chunk_indices + .par_iter() + .map(|&i| { + let c = coeffs[i]; + let mut out = Vec::with_capacity(oob[i].len()); + for (w, v) in oob[i].iter() { + let h = word_hash(w); + if !protected_set.contains_key(&h) { + out.push((w.clone(), c * *v)); + } + } + out + }) + .collect(); + for v in local { + for (k, val) in v { + *merged.entry(k).or_insert(0.0) += val; + } + } + + // Room-cap: keep only the `room` largest-magnitude entries. + // Identical logic to `leakage_with_prune`. + if merged.len() > room { + if room == 0 { + merged.clear(); + } else { + let mut mags: Vec = merged.values().map(|v| v.abs()).collect(); + let k = room.min(mags.len() - 1); + mags.select_nth_unstable_by(k, |a, b| { + b.partial_cmp(a).unwrap_or(std::cmp::Ordering::Equal) + }); + let cutoff = mags[k]; + merged.retain(|_, &mut v| v.abs() >= cutoff); + } + } + } + Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) + } + /// Sparse generator matrix in COO form: returns `(row, col, val)` /// triplets. Row = output Pauli's position in `basis`; col = input /// Pauli's position. Output Paulis not in `basis` are silently dropped. @@ -1350,20 +1442,24 @@ impl LindbladSpec { // `coeffs` is read-only here, so we don't clone it — it serves as // the pre-step input for the corrector below as well. let t0 = Instant::now(); - let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); + let (coeffs_predict, oob) = self.expm_step(basis, dt, coeffs, drop_tol); t.expm1_us = t0.elapsed().as_micros() as u64; + // leak2 reuses the predictor's out-of-basis action cache instead of + // recomputing `L*` over the same basis. let t0 = Instant::now(); - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; + let leak2 = + self.leakage_from_action_cache(basis, &coeffs_predict, protected, max_basis, &oob)?; t.leakage2_us = t0.elapsed().as_micros() as u64; drop(coeffs_predict); + drop(oob); let t0 = Instant::now(); add_leakage_capped(basis, coeffs, leak2, max_basis); t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); + *coeffs = self.expm_step(basis, dt, coeffs, drop_tol).0; t.expm2_us = t0.elapsed().as_micros() as u64; prune_basis(basis, coeffs, drop_tol, protected); @@ -1388,17 +1484,24 @@ impl LindbladSpec { let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis)?; add_leakage_capped(basis, coeffs, leak, max_basis); // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a - // new owned vector with the predicted state. - let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); - // 3. Second-hop expansion from the predicted state. After leakage2 - // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for - // any newly-added second-hop strings so it remains a valid input + // new owned vector with the predicted state, plus the per-column + // out-of-basis action cache for THIS basis (computed in the same + // single action pass the exponential already did). + let (coeffs_predict, oob) = self.expm_step(basis, dt, coeffs, drop_tol); + // 3. Second-hop expansion from the predicted state, reusing the + // predictor's action cache instead of recomputing `L*` over the same + // basis (the "leak2" hot spot). After leakage2 we no longer need + // `coeffs_predict` or the cache. Extend `coeffs` with zeros for any + // newly-added second-hop strings so it remains a valid input // (pre-step state) for the corrector. - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; + let leak2 = + self.leakage_from_action_cache(basis, &coeffs_predict, protected, max_basis, &oob)?; drop(coeffs_predict); + drop(oob); add_leakage_capped(basis, coeffs, leak2, max_basis); // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. - *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); + // Its action cache is not reused, so discard it. + *coeffs = self.expm_step(basis, dt, coeffs, drop_tol).0; // 5. Prune basis entries below `drop_tol` (protected words never dropped). prune_basis(basis, coeffs, drop_tol, protected); cap_basis(basis, coeffs, max_basis, protected); @@ -1407,13 +1510,18 @@ impl LindbladSpec { /// Compute `exp(dt · M) · b` for the in-basis-restricted generator /// `M`, matrix-free, via `quspin-expm` (see [`mf_expm`]). + /// + /// Returns `(v, oob)` where `oob[c]` is the out-of-basis action of + /// `L*(basis[c])` computed in the same single action pass, reusable by + /// [`Self::leakage_from_action_cache`] for the second-hop leakage over + /// this same basis. Callers that don't need it (the corrector) drop it. fn expm_step( &self, basis: &[Word], dt: f64, b: &[f64], drop_tol: f64, - ) -> Vec { + ) -> (Vec, Vec>) { mf_expm::expm_apply_mf(self, basis, dt, b, drop_tol) } diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index eed9ba26..3a7be4c4 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -30,24 +30,33 @@ use num::Complex; use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; -/// Per-column in-basis action of the real generator `M`, plus the data the -/// `(m, s)`/`μ` selection needs — all from ONE action pass over the basis. +/// Per-column action of the real generator `M`, split into in-basis and +/// out-of-basis parts, plus the data the `(m, s)`/`μ` selection needs — all +/// from ONE action pass over the basis. /// -/// Returns `(cols, per_col)` where `cols[c]` holds `(row, coeff)` for every -/// action output of `L*(basis[c])` that lands back in `basis` (CSC column -/// `c`), and `per_col[c] = (raw, diag)` with `raw = Σ|coeff|` over ALL action -/// outputs (in- and out-of-basis, matching the historical 1-norm) and `diag` -/// the coefficient of the term whose output Word equals the input Word. The -/// action is computed once here and reused by [`CachedCscOp`] across every -/// Krylov/Taylor matvec, so it is never recomputed per matvec (the dominant -/// cost of the old matrix-free op). Same reusable scratch pattern as -/// [`crate::orbit_rep::build_orbit_rep_cols`]; numerics identical. +/// Returns `(cols, oob, per_col)`: +/// - `cols[c]` holds `(row, coeff)` for every action output of `L*(basis[c])` +/// that lands back in `basis` (CSC column `c`), used by [`CachedCscOp`]; +/// - `oob[c]` holds `(word, coeff)` for every action output whose Word is NOT +/// in `basis` (`index.get(w) == None`) — i.e. the *leakage* candidates for +/// this exact basis, WITHOUT the input coefficient and WITHOUT the +/// `protected` filter. This is the cache reused by +/// [`LindbladSpec::leakage_from_action_cache`] so the second-hop leakage +/// pass over this same basis need not recompute the Pauli action; +/// - `per_col[c] = (raw, diag)` with `raw = Σ|coeff|` over ALL action outputs +/// (in- and out-of-basis, matching the historical 1-norm) and `diag` the +/// coefficient of the term whose output Word equals the input Word. +/// +/// The action is computed once here and reused by both consumers, so it is +/// never recomputed per matvec nor in the second-hop leakage. Same reusable +/// scratch pattern as [`crate::orbit_rep::build_orbit_rep_cols`]; numerics +/// identical. fn build_mf_cols( spec: &LindbladSpec, basis: &[Word], index: &FxHashMap, -) -> (Vec>, Vec<(f64, f64)>) { - basis +) -> (Vec>, Vec>, Vec<(f64, f64)>) { + let per: Vec<(Vec<(u32, f64)>, Vec<(Word, f64)>, (f64, f64))> = basis .par_iter() .map_init( || { @@ -63,6 +72,7 @@ fn build_mf_cols( |(s1, s2, lm), p| { let terms = spec.compute_action_terms(p, s1, s2, lm); let mut out = Vec::with_capacity(terms.len()); + let mut oob = Vec::with_capacity(terms.len()); let mut raw = 0.0; let mut diag = 0.0; for (w, c) in terms.iter() { @@ -72,12 +82,30 @@ fn build_mf_cols( } if let Some(&row) = index.get(w) { out.push((row, *c)); + } else { + // Out-of-basis output: a leakage candidate for this + // exact basis. Retained (this step only) so the + // second-hop leakage pass reuses this action. + oob.push((w.clone(), *c)); } } - (out, (raw, diag)) + (out, oob, (raw, diag)) }, ) - .unzip() + .collect(); + + // Split the per-column triples into three column-indexed vectors. The + // parallel work above wrote each column independently; this is a cheap + // sequential regroup that preserves column (= basis) order. + let mut cols = Vec::with_capacity(per.len()); + let mut oob = Vec::with_capacity(per.len()); + let mut per_col = Vec::with_capacity(per.len()); + for (c, o, pc) in per { + cols.push(c); + oob.push(o); + per_col.push(pc); + } + (cols, oob, per_col) } /// Borrowed CSC-style view of the in-basis-restricted real generator `M`, @@ -209,8 +237,12 @@ impl LinearOperator for CachedCscOp<'_> { } /// Compute `exp(dt · M) · coeffs` for the in-basis-restricted generator -/// `M`, matrix-free, via `quspin-expm`. Returns a fresh `Vec` of length -/// `basis.len()`. +/// `M`, matrix-free, via `quspin-expm`. Returns `(v, oob)` where `v` is a +/// fresh `Vec` of length `basis.len()` and `oob[c]` is the out-of-basis +/// action of `L*(basis[c])` (see [`build_mf_cols`]) — the leakage cache for +/// this exact basis, reusable by [`LindbladSpec::leakage_from_action_cache`] +/// so the following second-hop leakage need not recompute the Pauli action. +/// Callers that do not need the cache (e.g. the corrector) can drop it. /// /// One matrix-free pass extracts the diagonal shift `μ = tr(M)/n` and the /// exact column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor @@ -222,19 +254,19 @@ pub(crate) fn expm_apply_mf( dt: f64, coeffs: &[f64], drop_tol: f64, -) -> Vec { +) -> (Vec, Vec>) { let n = basis.len(); if n == 0 { - return Vec::new(); + return (Vec::new(), Vec::new()); } - // ONE action pass: build the CSC cache `cols` (reused across every matvec) - // and, in the same pass, `per_col = (raw, diag)` for the `μ`/1-norm - // selection. `raw = Σ|coeff|` (all outputs), `diag` = coeff of the - // output == input term. From these: `trace = Σ diag`, `μ = trace/n`, and - // the column 1-norm of `M − μ·I` is `raw − |diag| + |diag − μ|`. + // ONE action pass: build the CSC cache `cols` (reused across every matvec), + // the out-of-basis leakage cache `oob`, and `per_col = (raw, diag)` for the + // `μ`/1-norm selection. `raw = Σ|coeff|` (all outputs), `diag` = coeff of + // the output == input term. From these: `trace = Σ diag`, `μ = trace/n`, + // and the column 1-norm of `M − μ·I` is `raw − |diag| + |diag − μ|`. let index = build_basis_index(basis); - let (cols, per_col) = build_mf_cols(spec, basis, &index); + let (cols, oob, per_col) = build_mf_cols(spec, basis, &index); let trace: f64 = per_col.iter().map(|(_, d)| *d).sum(); let mu = trace / n as f64; @@ -265,7 +297,7 @@ pub(crate) fn expm_apply_mf( let mut v = coeffs.to_vec(); expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) .expect("expm apply"); - v + (v, oob) } /// `exp(dt · M) · b` where `M` is the REAL in-basis-restricted generator but @@ -286,8 +318,9 @@ pub(crate) fn expm_apply_mf_cxvec( } let re: Vec = b.iter().map(|z| z.re).collect(); let im: Vec = b.iter().map(|z| z.im).collect(); - let re_out = expm_apply_mf(spec, basis, dt, &re, drop_tol); - let im_out = expm_apply_mf(spec, basis, dt, &im, drop_tol); + // The complex path does not reuse the leakage cache; discard the `oob`. + let (re_out, _) = expm_apply_mf(spec, basis, dt, &re, drop_tol); + let (im_out, _) = expm_apply_mf(spec, basis, dt, &im, drop_tol); re_out .into_iter() .zip(im_out) From 42a5fa9cbc3c52d958303c2eb72d5900762ac151 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 14:46:09 +0100 Subject: [PATCH 047/159] Revert "perf(ppvm-lindblad): reuse predictor action cache in leakage2" This reverts commit 2411240fd37f2a5846085ba09a49e885e9e50660. --- crates/ppvm-lindblad/src/lib.rs | 130 +++------------------------- crates/ppvm-lindblad/src/mf_expm.rs | 89 ++++++------------- 2 files changed, 39 insertions(+), 180 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index e6668cd4..2941ccd7 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -662,98 +662,6 @@ impl LindbladSpec { Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) } - /// Second-hop leakage that REUSES a precomputed per-column action cache - /// instead of recomputing `L*(basis[i])`. Produces the identical result to - /// [`Self::leakage_with_prune`] on the SAME `basis`/`coeffs`, provided - /// `oob` is the out-of-basis action from [`mf_expm::expm_apply_mf`] on that - /// exact basis (i.e. `oob[i]` = the `(word, action_coeff)` outputs of - /// `L*(basis[i])` whose Word is not in `basis`). - /// - /// `oob` already encodes the "out-of-basis for this basis" filter (via the - /// same basis index the exponential used), so only the `protected` filter - /// is applied here — matching `leakage_with_prune`, which filters by both - /// `in_basis` and `protected`. The descending-`|c|` order, chunked merge, - /// and room-cap are byte-for-byte identical to `leakage_with_prune`. - pub(crate) fn leakage_from_action_cache( - &self, - basis: &[Word], - coeffs: &[f64], - protected: &[Word], - max_basis: usize, - oob: &[Vec<(Word, f64)>], - ) -> Result, Error> { - if basis.len() != coeffs.len() { - return Err(Error::LengthMismatch { - what: "basis and coeffs", - a: basis.len(), - b: coeffs.len(), - }); - } - if oob.len() != basis.len() { - return Err(Error::LengthMismatch { - what: "basis and action cache", - a: basis.len(), - b: oob.len(), - }); - } - // Only the `protected` filter is applied: `oob` already excludes - // in-basis outputs (built from the same basis index the exponential - // used), matching the `in_basis` filter in `leakage_with_prune`. - let protected_set: FxHashMap = - protected.iter().map(|w| (word_hash(w), ())).collect(); - - // Descending sort by |c|: identical to `leakage_with_prune`. - let mut order: Vec = (0..basis.len()).collect(); - order.sort_by(|&a, &b| { - coeffs[b] - .abs() - .partial_cmp(&coeffs[a].abs()) - .unwrap_or(std::cmp::Ordering::Equal) - }); - - const CHUNK_SIZE: usize = 4096; - let room = max_basis.saturating_sub(basis.len()); - let mut merged: FxHashMap = FxHashMap::default(); - for chunk_indices in order.chunks(CHUNK_SIZE) { - let local: Vec> = chunk_indices - .par_iter() - .map(|&i| { - let c = coeffs[i]; - let mut out = Vec::with_capacity(oob[i].len()); - for (w, v) in oob[i].iter() { - let h = word_hash(w); - if !protected_set.contains_key(&h) { - out.push((w.clone(), c * *v)); - } - } - out - }) - .collect(); - for v in local { - for (k, val) in v { - *merged.entry(k).or_insert(0.0) += val; - } - } - - // Room-cap: keep only the `room` largest-magnitude entries. - // Identical logic to `leakage_with_prune`. - if merged.len() > room { - if room == 0 { - merged.clear(); - } else { - let mut mags: Vec = merged.values().map(|v| v.abs()).collect(); - let k = room.min(mags.len() - 1); - mags.select_nth_unstable_by(k, |a, b| { - b.partial_cmp(a).unwrap_or(std::cmp::Ordering::Equal) - }); - let cutoff = mags[k]; - merged.retain(|_, &mut v| v.abs() >= cutoff); - } - } - } - Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) - } - /// Sparse generator matrix in COO form: returns `(row, col, val)` /// triplets. Row = output Pauli's position in `basis`; col = input /// Pauli's position. Output Paulis not in `basis` are silently dropped. @@ -1442,24 +1350,20 @@ impl LindbladSpec { // `coeffs` is read-only here, so we don't clone it — it serves as // the pre-step input for the corrector below as well. let t0 = Instant::now(); - let (coeffs_predict, oob) = self.expm_step(basis, dt, coeffs, drop_tol); + let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); t.expm1_us = t0.elapsed().as_micros() as u64; - // leak2 reuses the predictor's out-of-basis action cache instead of - // recomputing `L*` over the same basis. let t0 = Instant::now(); - let leak2 = - self.leakage_from_action_cache(basis, &coeffs_predict, protected, max_basis, &oob)?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; t.leakage2_us = t0.elapsed().as_micros() as u64; drop(coeffs_predict); - drop(oob); let t0 = Instant::now(); add_leakage_capped(basis, coeffs, leak2, max_basis); t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - *coeffs = self.expm_step(basis, dt, coeffs, drop_tol).0; + *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); t.expm2_us = t0.elapsed().as_micros() as u64; prune_basis(basis, coeffs, drop_tol, protected); @@ -1484,24 +1388,17 @@ impl LindbladSpec { let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis)?; add_leakage_capped(basis, coeffs, leak, max_basis); // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a - // new owned vector with the predicted state, plus the per-column - // out-of-basis action cache for THIS basis (computed in the same - // single action pass the exponential already did). - let (coeffs_predict, oob) = self.expm_step(basis, dt, coeffs, drop_tol); - // 3. Second-hop expansion from the predicted state, reusing the - // predictor's action cache instead of recomputing `L*` over the same - // basis (the "leak2" hot spot). After leakage2 we no longer need - // `coeffs_predict` or the cache. Extend `coeffs` with zeros for any - // newly-added second-hop strings so it remains a valid input + // new owned vector with the predicted state. + let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); + // 3. Second-hop expansion from the predicted state. After leakage2 + // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for + // any newly-added second-hop strings so it remains a valid input // (pre-step state) for the corrector. - let leak2 = - self.leakage_from_action_cache(basis, &coeffs_predict, protected, max_basis, &oob)?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; drop(coeffs_predict); - drop(oob); add_leakage_capped(basis, coeffs, leak2, max_basis); // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. - // Its action cache is not reused, so discard it. - *coeffs = self.expm_step(basis, dt, coeffs, drop_tol).0; + *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); // 5. Prune basis entries below `drop_tol` (protected words never dropped). prune_basis(basis, coeffs, drop_tol, protected); cap_basis(basis, coeffs, max_basis, protected); @@ -1510,18 +1407,13 @@ impl LindbladSpec { /// Compute `exp(dt · M) · b` for the in-basis-restricted generator /// `M`, matrix-free, via `quspin-expm` (see [`mf_expm`]). - /// - /// Returns `(v, oob)` where `oob[c]` is the out-of-basis action of - /// `L*(basis[c])` computed in the same single action pass, reusable by - /// [`Self::leakage_from_action_cache`] for the second-hop leakage over - /// this same basis. Callers that don't need it (the corrector) drop it. fn expm_step( &self, basis: &[Word], dt: f64, b: &[f64], drop_tol: f64, - ) -> (Vec, Vec>) { + ) -> Vec { mf_expm::expm_apply_mf(self, basis, dt, b, drop_tol) } diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index 3a7be4c4..eed9ba26 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -30,33 +30,24 @@ use num::Complex; use quspin_types::{ExpmComputation, LinearOperator, QuSpinError}; use rayon::prelude::*; -/// Per-column action of the real generator `M`, split into in-basis and -/// out-of-basis parts, plus the data the `(m, s)`/`μ` selection needs — all -/// from ONE action pass over the basis. +/// Per-column in-basis action of the real generator `M`, plus the data the +/// `(m, s)`/`μ` selection needs — all from ONE action pass over the basis. /// -/// Returns `(cols, oob, per_col)`: -/// - `cols[c]` holds `(row, coeff)` for every action output of `L*(basis[c])` -/// that lands back in `basis` (CSC column `c`), used by [`CachedCscOp`]; -/// - `oob[c]` holds `(word, coeff)` for every action output whose Word is NOT -/// in `basis` (`index.get(w) == None`) — i.e. the *leakage* candidates for -/// this exact basis, WITHOUT the input coefficient and WITHOUT the -/// `protected` filter. This is the cache reused by -/// [`LindbladSpec::leakage_from_action_cache`] so the second-hop leakage -/// pass over this same basis need not recompute the Pauli action; -/// - `per_col[c] = (raw, diag)` with `raw = Σ|coeff|` over ALL action outputs -/// (in- and out-of-basis, matching the historical 1-norm) and `diag` the -/// coefficient of the term whose output Word equals the input Word. -/// -/// The action is computed once here and reused by both consumers, so it is -/// never recomputed per matvec nor in the second-hop leakage. Same reusable -/// scratch pattern as [`crate::orbit_rep::build_orbit_rep_cols`]; numerics -/// identical. +/// Returns `(cols, per_col)` where `cols[c]` holds `(row, coeff)` for every +/// action output of `L*(basis[c])` that lands back in `basis` (CSC column +/// `c`), and `per_col[c] = (raw, diag)` with `raw = Σ|coeff|` over ALL action +/// outputs (in- and out-of-basis, matching the historical 1-norm) and `diag` +/// the coefficient of the term whose output Word equals the input Word. The +/// action is computed once here and reused by [`CachedCscOp`] across every +/// Krylov/Taylor matvec, so it is never recomputed per matvec (the dominant +/// cost of the old matrix-free op). Same reusable scratch pattern as +/// [`crate::orbit_rep::build_orbit_rep_cols`]; numerics identical. fn build_mf_cols( spec: &LindbladSpec, basis: &[Word], index: &FxHashMap, -) -> (Vec>, Vec>, Vec<(f64, f64)>) { - let per: Vec<(Vec<(u32, f64)>, Vec<(Word, f64)>, (f64, f64))> = basis +) -> (Vec>, Vec<(f64, f64)>) { + basis .par_iter() .map_init( || { @@ -72,7 +63,6 @@ fn build_mf_cols( |(s1, s2, lm), p| { let terms = spec.compute_action_terms(p, s1, s2, lm); let mut out = Vec::with_capacity(terms.len()); - let mut oob = Vec::with_capacity(terms.len()); let mut raw = 0.0; let mut diag = 0.0; for (w, c) in terms.iter() { @@ -82,30 +72,12 @@ fn build_mf_cols( } if let Some(&row) = index.get(w) { out.push((row, *c)); - } else { - // Out-of-basis output: a leakage candidate for this - // exact basis. Retained (this step only) so the - // second-hop leakage pass reuses this action. - oob.push((w.clone(), *c)); } } - (out, oob, (raw, diag)) + (out, (raw, diag)) }, ) - .collect(); - - // Split the per-column triples into three column-indexed vectors. The - // parallel work above wrote each column independently; this is a cheap - // sequential regroup that preserves column (= basis) order. - let mut cols = Vec::with_capacity(per.len()); - let mut oob = Vec::with_capacity(per.len()); - let mut per_col = Vec::with_capacity(per.len()); - for (c, o, pc) in per { - cols.push(c); - oob.push(o); - per_col.push(pc); - } - (cols, oob, per_col) + .unzip() } /// Borrowed CSC-style view of the in-basis-restricted real generator `M`, @@ -237,12 +209,8 @@ impl LinearOperator for CachedCscOp<'_> { } /// Compute `exp(dt · M) · coeffs` for the in-basis-restricted generator -/// `M`, matrix-free, via `quspin-expm`. Returns `(v, oob)` where `v` is a -/// fresh `Vec` of length `basis.len()` and `oob[c]` is the out-of-basis -/// action of `L*(basis[c])` (see [`build_mf_cols`]) — the leakage cache for -/// this exact basis, reusable by [`LindbladSpec::leakage_from_action_cache`] -/// so the following second-hop leakage need not recompute the Pauli action. -/// Callers that do not need the cache (e.g. the corrector) can drop it. +/// `M`, matrix-free, via `quspin-expm`. Returns a fresh `Vec` of length +/// `basis.len()`. /// /// One matrix-free pass extracts the diagonal shift `μ = tr(M)/n` and the /// exact column 1-norm of `M − μ·I`; from `‖dt·(M−μI)‖₁` we pick the Taylor @@ -254,19 +222,19 @@ pub(crate) fn expm_apply_mf( dt: f64, coeffs: &[f64], drop_tol: f64, -) -> (Vec, Vec>) { +) -> Vec { let n = basis.len(); if n == 0 { - return (Vec::new(), Vec::new()); + return Vec::new(); } - // ONE action pass: build the CSC cache `cols` (reused across every matvec), - // the out-of-basis leakage cache `oob`, and `per_col = (raw, diag)` for the - // `μ`/1-norm selection. `raw = Σ|coeff|` (all outputs), `diag` = coeff of - // the output == input term. From these: `trace = Σ diag`, `μ = trace/n`, - // and the column 1-norm of `M − μ·I` is `raw − |diag| + |diag − μ|`. + // ONE action pass: build the CSC cache `cols` (reused across every matvec) + // and, in the same pass, `per_col = (raw, diag)` for the `μ`/1-norm + // selection. `raw = Σ|coeff|` (all outputs), `diag` = coeff of the + // output == input term. From these: `trace = Σ diag`, `μ = trace/n`, and + // the column 1-norm of `M − μ·I` is `raw − |diag| + |diag − μ|`. let index = build_basis_index(basis); - let (cols, oob, per_col) = build_mf_cols(spec, basis, &index); + let (cols, per_col) = build_mf_cols(spec, basis, &index); let trace: f64 = per_col.iter().map(|(_, d)| *d).sum(); let mu = trace / n as f64; @@ -297,7 +265,7 @@ pub(crate) fn expm_apply_mf( let mut v = coeffs.to_vec(); expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) .expect("expm apply"); - (v, oob) + v } /// `exp(dt · M) · b` where `M` is the REAL in-basis-restricted generator but @@ -318,9 +286,8 @@ pub(crate) fn expm_apply_mf_cxvec( } let re: Vec = b.iter().map(|z| z.re).collect(); let im: Vec = b.iter().map(|z| z.im).collect(); - // The complex path does not reuse the leakage cache; discard the `oob`. - let (re_out, _) = expm_apply_mf(spec, basis, dt, &re, drop_tol); - let (im_out, _) = expm_apply_mf(spec, basis, dt, &im, drop_tol); + let re_out = expm_apply_mf(spec, basis, dt, &re, drop_tol); + let im_out = expm_apply_mf(spec, basis, dt, &im, drop_tol); re_out .into_iter() .zip(im_out) From a1c09275c66717112693dad2dcd559a2a28300dc Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 14:46:09 +0100 Subject: [PATCH 048/159] autotune(expm-ladder): discard action-cache-sharing (~2.3x RSS for <=10% wall) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 19 +++++++++++++++++++ .../2026-07-02-expm-ladder/metric.toml | 7 +++++++ 2 files changed, 26 insertions(+) diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md index 1e96f21c..37e5c414 100644 --- a/docs/autotune/2026-07-02-expm-ladder/log.md +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -21,3 +21,22 @@ the 2026-07-01-expm-pc-step optimization (cache-action + tol-matched table, the cache through pc_step_inner. Structural, medium risk; deferred pending the Trotter iteration. 2. Parallelism of leakage vs expm build (check if leakage is already parallel). + +## Iteration 1: reuse predictor action-cache in leakage2 — DISCARD (memory) +Implemented (cherry-pick 191e92aa->2411240f): build_mf_cols also retains +out-of-basis action outputs (oob: Vec>), expm_step returns it, +and a new leakage_from_action_cache consumes it for leak2 instead of recomputing +compute_action_terms on B1. Correct: checksum/sum_a = 1.0, 9/9 crate tests pass +(incl. tight pc_step agreement tests). +Measured N=12 (under Zoom load, so walls unreliable): RSS 1208-1210MB vs baseline +522-527MB -- ~2.3x. RSS is stable run-to-run (load-independent), so this verdict +is robust despite the noisy walls. Wall looked neutral-to-slower but that is load. +Root cause of the memory blow-up: build_mf_cols now ALWAYS builds the oob Word +cache, including for the CORRECTOR expm2 on the doubly-enriched basis B2 (largest +basis of the step), whose cache is then discarded -- pure waste. Even fixing that +(flag to skip oob on the corrector), the predictor's oob cache on B1 still adds +memory for a wall gain bounded by leakage=17% (realistically <=10%). +DECISION: DISCARD. Memory is expm's established weak point (see +[[../2026-07-01-expm-memory]]); ~2.3x RAM for a small, unmeasurable wall gain is +a net loss. If revisited: only build oob for the predictor, and store row-indices +into a preliminary B2 index instead of full Words to bound the memory. diff --git a/docs/autotune/2026-07-02-expm-ladder/metric.toml b/docs/autotune/2026-07-02-expm-ladder/metric.toml index fbeb0f8c..35f0a4d6 100644 --- a/docs/autotune/2026-07-02-expm-ladder/metric.toml +++ b/docs/autotune/2026-07-02-expm-ladder/metric.toml @@ -6,3 +6,10 @@ "peak_basis" = 15398.0 "rss_mb" = 306.0 +[[metric]] +"commit" = "2411240f" +"status" = "discard" +"description" = "reuse predictor action-cache in leakage2: CORRECT (checksum 1.0) but ~2.3x RSS (525->1209MB N=12, load-independent) for <=10% unmeasurable wall gain (leakage=17%). oob Word-cache built even for the discarded corrector. Memory is expm's key weakness -> net loss." +"rss_mb_N12" = 1209.0 +"wall_s_N12_loadnoisy" = 3.65 + From 9ee8b3ba7481420dd2d07a2a12ba7aba5b6f93f3 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 19:54:04 +0100 Subject: [PATCH 049/159] Revert "Reapply "perf(ppvm-pauli-sum): parallelize map_insert gate application"" This reverts commit fb5d5881cec63f22a94cd8178756ec7427bb442d. --- crates/ppvm-pauli-sum/src/config/fx64hash.rs | 2 +- crates/ppvm-pauli-sum/src/config/fxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/gxhash.rs | 4 +- crates/ppvm-pauli-sum/src/config/indexmap.rs | 4 +- crates/ppvm-traits/Cargo.toml | 9 +--- crates/ppvm-traits/src/map/hashmap.rs | 45 +------------------- 6 files changed, 8 insertions(+), 60 deletions(-) diff --git a/crates/ppvm-pauli-sum/src/config/fx64hash.rs b/crates/ppvm-pauli-sum/src/config/fx64hash.rs index c54ecd0a..0411873e 100644 --- a/crates/ppvm-pauli-sum/src/config/fx64hash.rs +++ b/crates/ppvm-pauli-sum/src/config/fx64hash.rs @@ -26,7 +26,7 @@ pub struct Byte8< W: PauliWordTrait = PauliWord<[usize; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for Byte8 { type Storage = [usize; N]; diff --git a/crates/ppvm-pauli-sum/src/config/fxhash.rs b/crates/ppvm-pauli-sum/src/config/fxhash.rs index 9630c7f8..d67394dd 100644 --- a/crates/ppvm-pauli-sum/src/config/fxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/fxhash.rs @@ -17,9 +17,7 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config - for Byte -{ +impl Config for Byte { type Storage = [u8; N]; type Coeff = C; type BuildHasher = fxhash::FxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/gxhash.rs b/crates/ppvm-pauli-sum/src/config/gxhash.rs index fcbd2acf..76e0bec6 100644 --- a/crates/ppvm-pauli-sum/src/config/gxhash.rs +++ b/crates/ppvm-pauli-sum/src/config/gxhash.rs @@ -17,9 +17,7 @@ pub struct Byte< W: PauliWordTrait = PauliWord<[u8; N], gxhash::GxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config - for Byte -{ +impl Config for Byte { type Storage = [u8; N]; type Coeff = C; type BuildHasher = gxhash::GxBuildHasher; diff --git a/crates/ppvm-pauli-sum/src/config/indexmap.rs b/crates/ppvm-pauli-sum/src/config/indexmap.rs index 028213cc..0be201ee 100644 --- a/crates/ppvm-pauli-sum/src/config/indexmap.rs +++ b/crates/ppvm-pauli-sum/src/config/indexmap.rs @@ -16,7 +16,7 @@ pub struct ByteFxHash< W: PauliWordTrait = PauliWord<[u8; N], fxhash::FxBuildHasher>, >(PhantomData<(C, St, W)>); -impl Config +impl Config for ByteFxHash { type Storage = [u8; N]; @@ -41,7 +41,7 @@ pub struct ByteGxHash< >(PhantomData<(C, St, W)>); #[cfg(all(feature = "gxhash", not(target_arch = "wasm32")))] -impl Config +impl Config for ByteGxHash { type Storage = [u8; N]; diff --git a/crates/ppvm-traits/Cargo.toml b/crates/ppvm-traits/Cargo.toml index 3e5d9e24..04697b14 100644 --- a/crates/ppvm-traits/Cargo.toml +++ b/crates/ppvm-traits/Cargo.toml @@ -25,13 +25,8 @@ rayon = { version = "1.11.0", optional = true } insta = { version = "1.43.2", features = ["yaml"] } [features] -default = ["dashmap", "gxhash", "ahash", "indexmap", "rayon"] -dashmap = ["dep:dashmap", "rayon"] +default = ["dashmap", "gxhash", "ahash", "indexmap"] +dashmap = ["dep:dashmap", "dep:rayon"] gxhash = ["dep:gxhash"] ahash = ["dep:ahash"] indexmap = ["dep:indexmap"] -# Parallelize the hot map_insert / map_insert_vec gate-application path with -# rayon. Native-only (rayon is pruned on wasm32); the parallel code is also -# `cfg(not(target_arch = "wasm32"))`-gated so a wasm build falls back to the -# sequential loop. -rayon = ["dep:rayon"] diff --git a/crates/ppvm-traits/src/map/hashmap.rs b/crates/ppvm-traits/src/map/hashmap.rs index 39e3ccc4..17dcd1c4 100644 --- a/crates/ppvm-traits/src/map/hashmap.rs +++ b/crates/ppvm-traits/src/map/hashmap.rs @@ -5,12 +5,6 @@ use std::{collections::HashMap, hash::BuildHasher}; use crate::traits::*; -/// Below this many source entries the rayon fan-out costs more than it saves, -/// so `map_insert` / `map_insert_vec` stay on the sequential loop. Only used -/// when the `rayon` acceleration path is compiled in. -#[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] -const PARALLEL_MAP_INSERT_THRESHOLD: usize = 1024; - macro_rules! impl_acmap_base { ($($seg:ident)::+) => { impl<'a, V, Hasher, W> crate::traits::ACMapBase for $($seg)::+ @@ -158,38 +152,12 @@ macro_rules! impl_acmap_insert { S: PauliStorage + 'a, C: Coefficient + 'a, Hasher: Default + Clone + BuildHasher + 'a, - // `Sync + Send` on the word lets the rayon path below shuttle - // `(&W, &mut C)` entry handles across worker threads. `C` is - // already `Sync + Send` via `Coefficient`. - W: PauliWordTrait + Sync + Send + 'a, + W: PauliWordTrait + 'a, { fn map_insert(&mut self, dest: &mut Self, f: F) where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { - // Parallel path: scale surviving values in place and collect - // anti-commuting branch terms concurrently, then merge those - // terms into `dest` in one sequential pass (collision keys - // must sum). The merge is cheap relative to the closure work - // and needs the map's `entry` API, so it stays sequential. - #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] - if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { - use rayon::prelude::*; - // Collect the disjoint `&mut` value handles once so rayon - // can split them; each entry's `*v *= cos` mutation is - // independent, so this is data-race free. - let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); - let produced: Vec<(W, C)> = entries - .into_par_iter() - .filter_map(|(k, v)| f(k, v)) - .collect(); - for (new_k, new_v) in produced { - dest.entry(new_k) - .and_modify(|val| *val += new_v.clone()) - .or_insert(new_v); - } - return; - } for (k, v) in self.iter_mut() { if let Some((new_k, new_v)) = f(k, v) { dest.entry(new_k) @@ -203,17 +171,6 @@ macro_rules! impl_acmap_insert { where F: Fn(&W, &mut C) -> Option<(W, C)> + Sync + Send, { - // Hot rot2 path (via `PauliSum::map_insert`). Same structure as - // `map_insert`, but produced terms go into a plain `Vec` that - // the caller later folds into its map. rayon's `par_extend` - // accumulates into per-thread buffers and concatenates them. - #[cfg(all(feature = "rayon", not(target_arch = "wasm32")))] - if self.len() >= PARALLEL_MAP_INSERT_THRESHOLD { - use rayon::prelude::*; - let entries: Vec<(&W, &mut C)> = self.iter_mut().collect(); - dest.par_extend(entries.into_par_iter().filter_map(|(k, v)| f(k, v))); - return; - } for (k, v) in self.iter_mut() { if let Some(entry) = f(k, v) { dest.push(entry); From ccc248e2bb28c10691373547dcdb809c9c17fcf0 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 21:18:19 +0100 Subject: [PATCH 050/159] autotune(trotter-ladder): CORRECT verdict - parallel is ~1.1x/+50%RAM (discard), '2.5x' was load artifact Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-trotter-ladder/log.md | 15 +++++++++++++++ .../2026-07-02-trotter-ladder/metric.toml | 8 ++++++++ 2 files changed, 23 insertions(+) diff --git a/docs/autotune/2026-07-02-trotter-ladder/log.md b/docs/autotune/2026-07-02-trotter-ladder/log.md index c8927f7d..6c169d26 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/log.md +++ b/docs/autotune/2026-07-02-trotter-ladder/log.md @@ -54,3 +54,18 @@ Cost: RSS +60% at N=12 (627 vs 396MB — per-thread accumulation buffers). DECISION: KEEP (helps where Trotter is slow; neutral where it's fast). Lesson: benchmark the autotune metric at a size representative of the SLOW regime, not the fast one — a small metric hid a real 2.5x structural win. + +## Iteration 1 FINAL VERDICT (clean quiet machine) — DISCARD +The "KEEP 2.5x" above was ALSO a measurement artifact. Re-measured parallel vs +sequential BOTH freshly-built on a quiet machine (min of 3-5): + N=12 sequential 8.06s / 396MB vs parallel 7.25s / ~600MB +=> only ~1.1x faster for +50% RAM. The earlier 18.4s "sequential" was +load-inflated (~2.3x); the earlier 30%-slower "parallel" was also load. Both +prior verdicts were corrupted by single-run walls under variable machine load. +Clean physics: the gate loop calls map_insert ~120x/step (short parallel +sections) on memory-bandwidth-bound work, so parallel speedup is small and the +per-gate collect overhead nearly cancels it; the per-thread buffers cost +50% +RAM. DISCARD (reverted to sequential). +PROCESS LESSON (critical): NEVER decide keep/discard from single-run walls under +uncontrolled load. Require: quiet machine, both variants freshly built, min-of-N, +ideally back-to-back. Two flip-flops here came from ignoring this. diff --git a/docs/autotune/2026-07-02-trotter-ladder/metric.toml b/docs/autotune/2026-07-02-trotter-ladder/metric.toml index 85860def..2d5d8105 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/metric.toml +++ b/docs/autotune/2026-07-02-trotter-ladder/metric.toml @@ -22,3 +22,11 @@ "wall_s_N10" = 0.702 "rss_mb_N12" = 627.0 +[[metric]] +"commit" = "9ee8b3ba" +"status" = "discard" +"description" = "CORRECTION (clean quiet machine): parallelize map_insert is only ~1.1x (seq 8.06s vs par 7.25s N=12) for +50% RAM (396->600MB). The earlier '2.5x KEEP' was a load artifact (seq measured at 18.4s under load). ~120 short par sections/step + memory-bandwidth-bound work => limited parallel gain; per-gate Vec-collect overhead ~cancels it. Net loss given memory. Now reverted (sequential)." +"wall_s_N12_seq" = 8.06 +"wall_s_N12_par" = 7.25 +"rss_mb_N12_par" = 600.0 + From 03595f4389a00d745b8c36028a390c7909cea12d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Thu, 2 Jul 2026 21:42:31 +0100 Subject: [PATCH 051/159] autotune(ladder): conclude - both near-optimal, no net change kept this session Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 7 +++++++ docs/autotune/2026-07-02-trotter-ladder/log.md | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md index 37e5c414..37b237a0 100644 --- a/docs/autotune/2026-07-02-expm-ladder/log.md +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -40,3 +40,10 @@ DECISION: DISCARD. Memory is expm's established weak point (see [[../2026-07-01-expm-memory]]); ~2.3x RAM for a small, unmeasurable wall gain is a net loss. If revisited: only build oob for the predictor, and store row-indices into a preliminary B2 index instead of full Words to bound the memory. + +## CONCLUSION +No net change kept. Post the prior ~10.7x (2026-07-01-expm-pc-step), the profile +is 82% scaling-squaring matvecs (already cached + parallel + tolerance-matched) +and 17% leakage. The one structural idea (share the action pass into leakage2) +is correct but costs ~2.3x RAM (discarded). expm is near its practical optimum; +the earlier 10.7x per-step speedup stands as the real win. diff --git a/docs/autotune/2026-07-02-trotter-ladder/log.md b/docs/autotune/2026-07-02-trotter-ladder/log.md index 6c169d26..7176497e 100644 --- a/docs/autotune/2026-07-02-trotter-ladder/log.md +++ b/docs/autotune/2026-07-02-trotter-ladder/log.md @@ -69,3 +69,11 @@ RAM. DISCARD (reverted to sequential). PROCESS LESSON (critical): NEVER decide keep/discard from single-run walls under uncontrolled load. Require: quiet machine, both variants freshly built, min-of-N, ideally back-to-back. Two flip-flops here came from ignoring this. + +## CONCLUSION +No net change kept. Trotter gate application (98%) is memory-bandwidth-bound and +invoked ~120x/step; naive rayon parallelization gives only ~1.1x for +50% RAM +(discarded). The only real remaining lever is architectural — columnar Pauli +bit-plane storage to make the per-gate pass cache-friendly + SIMD-able before +parallelizing — deferred (major rewrite, uncertain payoff). Trotter is near its +practical optimum for the current HashMap-of-Paulis representation. From c54423f50b8eaa98b3757c245f7335b05b9f353e Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 07:51:47 +0100 Subject: [PATCH 052/159] feat(ppvm-lindblad): opt-in rate-based leakage admission (PPVM_K_LEAKAGE) Re-introduce the tau_add = K*drop_tol/dt admission filter on the real-space predictor-corrector, with K read from PPVM_K_LEAKAGE (default 0.0 = admit-all = prior behaviour; drop_tol=0 also gives tau_add=0, so exact-reference tests are unchanged). Lets K be swept without rebuilding to study the leakage-transient (~11-16x the pruned basis, ~94% pruned) vs a max_basis count-cap. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/lib.rs | 45 ++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index 2941ccd7..bbc8c78a 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -53,6 +53,30 @@ pub mod orbit_rep; /// Words pack up to 128 qubits. const W_U64: usize = 2; +/// Predictor-corrector leakage-admission shape factor `K` (dimensionless). +/// +/// A leakage string is admitted only if its rate `|ell_q|` exceeds +/// `tau_add = K * drop_tol / dt`, i.e. if its acquired coefficient +/// `|ell_q|*dt` would exceed `K * drop_tol` — comfortably above the post-step +/// prune threshold. This stops the doubly-enriched transient from admitting the +/// (~90%+) strings that would be pruned anyway. +/// +/// Read once from `PPVM_K_LEAKAGE` (default `0.0`). `K = 0` ⇒ `tau_add = 0` ⇒ +/// admit every leakage string (the historical behaviour, and the behaviour at +/// `drop_tol = 0`), so the default changes nothing and exact-reference tests are +/// unaffected. Set `PPVM_K_LEAKAGE` to sweep `K` without rebuilding. +fn k_leakage() -> f64 { + use std::sync::OnceLock; + static K: OnceLock = OnceLock::new(); + *K.get_or_init(|| { + std::env::var("PPVM_K_LEAKAGE") + .ok() + .and_then(|s| s.parse::().ok()) + .filter(|k| k.is_finite() && *k >= 0.0) + .unwrap_or(0.0) + }) +} + /// Maximum number of qubits supported by [`Word`] (= `8 · W_U64 · sizeof(u64)`). pub const MAX_QUBITS: usize = 64 * W_U64; @@ -557,7 +581,7 @@ impl LindbladSpec { coeffs: &[f64], protected: &[Word], ) -> Result, Error> { - self.leakage_with_prune(basis, coeffs, protected, usize::MAX) + self.leakage_with_prune(basis, coeffs, protected, usize::MAX, 0.0) } /// Like [`Self::leakage`], but caps the live off-basis leakage map to @@ -576,6 +600,7 @@ impl LindbladSpec { coeffs: &[f64], protected: &[Word], max_basis: usize, + tau_add: f64, ) -> Result, Error> { if basis.len() != coeffs.len() { return Err(Error::LengthMismatch { @@ -659,7 +684,13 @@ impl LindbladSpec { } } } - Ok(merged.into_iter().filter(|(_, c)| *c != 0.0).collect()) + // Rate-based admission: keep only candidates whose leakage rate + // exceeds `tau_add` (= K*drop_tol/dt). `tau_add = 0` admits everything + // except exact zeros, matching the prior behaviour. + Ok(merged + .into_iter() + .filter(|(_, c)| c.abs() > tau_add) + .collect()) } /// Sparse generator matrix in COO form: returns `(row, col, val)` @@ -1336,9 +1367,10 @@ impl LindbladSpec { protected: &[Word], ) -> Result { let mut t = PcStepTimings::default(); + let tau_add = if dt > 0.0 { k_leakage() * drop_tol / dt } else { 0.0 }; let t0 = Instant::now(); - let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis)?; + let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis, tau_add)?; t.leakage1_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); @@ -1354,7 +1386,7 @@ impl LindbladSpec { t.expm1_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis, tau_add)?; t.leakage2_us = t0.elapsed().as_micros() as u64; drop(coeffs_predict); @@ -1381,11 +1413,12 @@ impl LindbladSpec { drop_tol: f64, protected: &[Word], ) -> Result<(), Error> { + let tau_add = if dt > 0.0 { k_leakage() * drop_tol / dt } else { 0.0 }; // 1. First-hop expansion. After this, `coeffs` contains the pre-step // coefficients followed by zeros for the newly-added leakage strings. // We rely on `coeffs` itself as the pre-step buffer for the corrector // — no `.clone()` is needed because `expm_step` only borrows it. - let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis)?; + let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis, tau_add)?; add_leakage_capped(basis, coeffs, leak, max_basis); // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a // new owned vector with the predicted state. @@ -1394,7 +1427,7 @@ impl LindbladSpec { // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for // any newly-added second-hop strings so it remains a valid input // (pre-step state) for the corrector. - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis)?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis, tau_add)?; drop(coeffs_predict); add_leakage_capped(basis, coeffs, leak2, max_basis); // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. From 1f633eb156f0cc308fc1f5b647f8fbf041045c38 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 07:53:36 +0100 Subject: [PATCH 053/159] autotune(expm-ladder): add admission-control scan harness (K vs max_basis, 2 models) Co-Authored-By: Claude Opus 4.8 (1M context) --- .../2026-07-02-expm-ladder/scan_admission.py | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 docs/autotune/2026-07-02-expm-ladder/scan_admission.py diff --git a/docs/autotune/2026-07-02-expm-ladder/scan_admission.py b/docs/autotune/2026-07-02-expm-ladder/scan_admission.py new file mode 100644 index 00000000..7097a5bd --- /dev/null +++ b/docs/autotune/2026-07-02-expm-ladder/scan_admission.py @@ -0,0 +1,99 @@ +"""Fair admission-control scan: admit-all vs K-filter (PPVM_K_LEAKAGE) vs +max_basis cap, on TWO models (2-leg XY ladder AND long-range XY chain, alpha=1), +exact-ED referenced. Prints (rel_err, wall, RSS, peak) per method so the Pareto +fronts (wall-vs-rel, rss-vs-rel) can be compared. + +worker: scan_admission.py
(K from env PPVM_K_LEAKAGE) +driver: scan_admission.py (runs the sweep) +""" +import sys, os, json, time, resource +from functools import reduce +import numpy as np, scipy.sparse as sp +from ppvm import Lindbladian +from ppvm.lindblad import _basis_to_codes + +SX=np.array([[0,1],[1,0]],complex); SY=np.array([[0,-1j],[1j,0]],complex) + +def ladder_bonds(N): + L=N//2; site=lambda j,a:j+a*L; b=[] + for a in(0,1): + for j in range(L): b.append((site(j,a),site((j+1)%L,a),1.0)) + for j in range(L): b.append((site(j,0),site(j,1),1.0)) + return b, site(L//2,0), site(L//2,1) # bonds(with coupling), two seed sites + +def lrxy_bonds(N, alpha=1.0): + b=[] + for i in range(N): + for j in range(i+1,N): + r=min(abs(i-j), N-abs(i-j)) # periodic chain distance + b.append((i,j,1.0/r**alpha)) + c=N//2 + return b, c, c # seed = middle site (both = c) + +def model(name, N): + if name=="ladder": return ladder_bonds(N) + if name=="lrxy": return lrxy_bonds(N, 1.0) + raise ValueError(name) + +def sop(s,q,N): return reduce(lambda x,y:sp.kron(x,y,format='csr'),[sp.csr_matrix(s) if k==q else sp.identity(2,format='csr',dtype=complex) for k in range(N)]) +def exact(name,N,T): + bonds,s0,s1=model(name,N); dim=2**N; H=sp.csr_matrix((dim,dim),dtype=complex) + for(p,q,J)in bonds: H=H+J*(sop(SX,p,N)@sop(SX,q,N)+sop(SY,p,N)@sop(SY,q,N)) + E,V=np.linalg.eigh(H.toarray()); U=(V*np.exp(1j*E*T))@V.conj().T + idx=np.arange(dim) + o0=0.5*((1-2*((idx>>(N-1-s0))&1))+(1-2*((idx>>(N-1-s1))&1))) + dO=(np.abs(U)**2)@o0 + return np.array([((1-2*((idx>>(N-1-q))&1))*dO).sum()/dim for q in range(N)]) + +def run_expm(name,N,T,dt,max_basis,drop): + bonds,s0,s1=model(name,N); steps=round(T/dt); h=[] + for(p,q,J)in bonds: + for P in"XY": s=["I"]*N; s[p]=P; s[q]=P; h.append(("".join(s),J)) + Lop=Lindbladian(N,h,[]); zs=["I"*q+"Z"+"I"*(N-q-1) for q in range(N)] + zb=_basis_to_codes(zs,N); co=np.zeros(N); co[s0]+=0.5; co[s1]+=0.5 + ba=zb.copy(); pr=zb.copy(); peak=len(ba) + for _ in range(steps): + ba,co=Lop.pc_step_arr(ba,co,dt,max_basis=max_basis,drop_tol=drop,protected_arr=pr); peak=max(peak,len(ba)) + keys=[zb[q].tobytes() for q in range(N)]; idx={ba[i].tobytes():i for i in range(len(ba))} + return np.array([co[idx[k]] if k in idx else 0.0 for k in keys]),peak + +if len(sys.argv)>1: # worker + name=sys.argv[1]; N=int(sys.argv[2]); T=float(sys.argv[3]); dt=float(sys.argv[4]); mb=int(sys.argv[5]); dr=float(sys.argv[6]) + t0=time.time(); a,pk=run_expm(name,N,T,dt,mb,dr) + rss=resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/(1024*1024) + print(json.dumps(dict(profile=a.tolist(),wall=time.time()-t0,peak=pk,rss=rss))); sys.exit(0) + +import subprocess +W=os.path.abspath(__file__); T=2.0; DT=0.05; N=10 +INF=10_000_000 +def call(name,mb,dr,K): + env={**os.environ, "PPVM_K_LEAKAGE":str(K)} + best=None + for _ in range(2): + r=subprocess.run([sys.executable,W,name,str(N),str(T),str(DT),str(mb),str(dr)],capture_output=True,text=True,env=env) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: continue + if best is None or d["wall"]9} {'K':>4} {'drop':>7} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) + for label,mb,K,drops in PLAN: + for dr in drops: + d=call(name,mb,dr,K) + if d is None or d["profile"] is None: + print(f"{label:10} {mb:>9} {K:>4} {dr:>7.0e} FAILED",flush=True); continue + rel=float(np.linalg.norm(np.array(d["profile"])-ex)/en) + print(f"{label:10} {mb:>9} {K:>4} {dr:>7.0e} {rel:>9.2e} {d['wall']:>7.2f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) From 2e595292472ae010cfcc49da70af6cdb8e5bbf49 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 08:32:26 +0100 Subject: [PATCH 054/159] autotune(expm-ladder): K-admission study - K~1 helps ~1.1-2x on both models; K=5 (dissipative value) over-filters unitary cases Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 37 +++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md index 37b237a0..ac19c709 100644 --- a/docs/autotune/2026-07-02-expm-ladder/log.md +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -47,3 +47,40 @@ is 82% scaling-squaring matvecs (already cached + parallel + tolerance-matched) and 17% leakage. The one structural idea (share the action pass into leakage2) is correct but costs ~2.3x RAM (discarded). expm is near its practical optimum; the earlier 10.7x per-step speedup stands as the real win. + +## tau_add / K admission study (both models, K-scan, high + low precision) + +Motivation: the doubly-enriched PC transient is ~11-16x the pruned basis, ~94% +pruned (load-independent). Q: does a rate-based admission filter (tau_add = +K*drop_tol/dt, PPVM_K_LEAKAGE) beat admit-all / a max_basis cap? Judged at +MATCHED accuracy vs exact ED. (One K on one model can't decide it.) + +Ladder N=10 (dt=0.05, T=2), min-of-2, K-scan: +- loose (rel~1e-2): K=1 ~2x faster than admit-all (2.3s vs 4.7s), better rel. +- high (rel~1e-3): K=1..3 ~1.2-1.4x faster (15s vs ~18-21s); never worse. +- K=5 OVER-filters (rel 6e-2 at drop=3e-4 vs admit-all 6.8e-2 only by using a + tiny basis) -> bad at matched accuracy. K=3 borderline; K=1 best. +- max_basis cap: ~3.6x at LOOSE accuracy (rel~1.3e-2, 0.9s) BUT cannot reach + high precision (the cap clips the basis below what rel<=1e-3 needs). It is a + memory-bound tool, not an accuracy knob. + +Long-range XY chain N=10 (alpha=1, gamma=0), min-of-2: +- same pattern: K=1 ~1.1-1.34x faster than admit-all at matched accuracy + (rel~1.2e-2: 26s vs 35s; rel~2.8e-4: 46s vs 52s). K=3/K=5 over-filter. + +Conclusions: +1. Removing the admission filter (running admit-all) was a modest-to-moderate + LOSS: a small K (~1) recovers ~1.1-2x at matched accuracy on BOTH models, + MORE at loose accuracy, and never hurts. K auto-scales (tau_add∝drop_tol), so + at tight drop it filters little and degrades gracefully to admit-all. +2. K is regime-dependent. K=1 is the sweet spot for these UNITARY (gamma=0) + cases; K>=3 over-filters. The notes' K≈5 was calibrated on a DISSIPATIVE + (gamma=1) long-range case -- dissipation damps high-weight operators and + changes the leakage structure, so its optimal K is higher. Judging tau_add + from K=5 on a unitary ladder (as first done) was unfair. +3. max_basis is a hard memory bound (useful, and good at loose accuracy) but NOT + a substitute for K at high precision (it clips accuracy). K works at all + precisions. +Recommended: expose K (done, PPVM_K_LEAKAGE, default 0=off). A default of K≈1 +would be a Pareto improvement for unitary runs; dissipative runs may want higher. +Default left at 0 pending a decision (K is regime-dependent). From 8b65909c8a7c185a6be022ed9f07c9c468a1406e Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 09:21:48 +0100 Subject: [PATCH 055/159] autotune(expm-ladder): RAM is accuracy-set; admission filter is a wall lever, not a RAM lever (matched-accuracy peak RSS ~flat in K) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 30 +++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md index ac19c709..46899837 100644 --- a/docs/autotune/2026-07-02-expm-ladder/log.md +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -84,3 +84,33 @@ Conclusions: Recommended: expose K (done, PPVM_K_LEAKAGE, default 0=off). A default of K≈1 would be a Pareto improvement for unitary runs; dissipative runs may want higher. Default left at 0 pending a decision (K is regime-dependent). + +## RAM (peak RSS) is the real metric — admission control is NOT a RAM lever + +Re-judged the K/admit-all comparison on PEAK RSS (max throughout runtime) at +MATCHED accuracy (RSS is load-independent, so robust). + +N=10 high precision (rel~1e-3): peak RSS ~FLAT across K (~390MB ladder, ~510MB +lrxy) — N=10 saturates (~260k of 4^10 reachable), so no transient to filter. +N=12 (non-saturated), drop=1e-4: + K=0 : rel 7.0e-3, RSS 1772MB (peak_basis 1.60M) + K=1 : rel 5.2e-3, RSS 1715MB (peak_basis 1.65M) <- matched accuracy, ~same RAM (3%) + K=3 : rel 2.0e-2, RSS 997MB (peak_basis 0.87M) <- 1.8x less RAM but 3x WORSE rel + +Conclusion: +- At MATCHED accuracy, the admission filter does NOT reduce peak RAM (K=0 vs K=1: + 1772 vs 1715MB). K is a WALL optimization (~1.3-2x) only. Higher K (K=3) cuts + RAM ONLY by cutting accuracy — moving DOWN the RAM<->accuracy Pareto, not + beating it. +- Peak RAM is fundamentally set by the retained basis the accuracy target + requires (+ its action cache + the doubly-enriched corrector transient B2, + which at high precision is close to the retained basis and barely filterable). +- The direct knob for a RAM BUDGET is max_basis (hard bound), at a known + accuracy cost (capping below what the accuracy needs degrades rel steeply). +- => For RAM specifically, removing tau_add and keeping max_basis was FINE: + max_basis IS the RAM knob; tau_add/K would not lower peak RAM at matched + accuracy. (This tempers the earlier "removing tau_add was a loss" — that was a + WALL statement; for RAM it is not a loss.) +- The only way to cut peak RAM at FIXED accuracy is a code change to the peak + itself: reduce per-term footprint or stream the corrector's action instead of + caching all of B2 (trades back toward the recompute cost the cache removed). From 613e54dc866cdb1f9bb77be76c5c0c88b2b45bd4 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 10:48:49 +0100 Subject: [PATCH 056/159] autotune(expm-ladder): CORRECTION - max_basis (per-chunk cap) limits peak RAM better than tau_add (end-filter); ~10% at N=12 hi-prec, more at loose accuracy Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 28 +++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md index 46899837..f1b2fce4 100644 --- a/docs/autotune/2026-07-02-expm-ladder/log.md +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -114,3 +114,31 @@ Conclusion: - The only way to cut peak RAM at FIXED accuracy is a code change to the peak itself: reduce per-term footprint or stream the corrector's action instead of caching all of B2 (trades back toward the recompute cost the cache removed). + +## CORRECTION: tau_add and max_basis limit RAM by DIFFERENT mechanisms + +(User's point.) The earlier "admission control is not a RAM lever" was measured +with tau_add(K) only, both at max_basis=inf -- which missed a real mechanistic +difference: +- max_basis room-cap is applied PER CHUNK inside leakage_with_prune + (merged.retain(top-room)) AND caps B2 via add_leakage_capped -> it bounds the + LIVE transient (leakage map + doubly-enriched B2) during accumulation. +- tau_add (as implemented) filters only at the END -> the merged map still + accumulates ALL candidates first, so it shrinks the RESULT but NOT the peak + transient memory. + +N=12 ladder, drop=1e-4, MATCHED accuracy (rel~7e-3), peak RSS: + admit-all (mb=inf) : 1795 MB + tau_add K=1 (end-filter): 1715 MB (-4%) + max_basis = 1.8M cap : 1611 MB (-10%, rel 6.7e-3, cap just above retained + ~1.6M so accuracy preserved; peak_basis + 1.52M shows the cap clipping the transient) + (mb = 2.0M/2.5M ~ 1759/1838 MB: cap above the overshoot -> no effect) + +=> max_basis is the better RAM knob: it clips the transient overshoot (B2 > +retained) during accumulation. The edge is ~10% at N=12 high precision (small +overshoot there) and LARGER at looser accuracy (N=10 rel~1e-2: 233 vs 306MB, +~1.3x) where B2 overshoots the retained basis much more (up to ~16x). tau_add +COULD match this if it filtered PER CHUNK (bounding the live map) rather than at +the end -- a code refinement. For peak RAM, set max_basis ~1.1-1.3x the expected +retained basis: preserves accuracy, clips the transient, hard-bounds RAM. From d08a11a074110a19d0583926f7213b9dee224666 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 12:30:08 +0100 Subject: [PATCH 057/159] feat(ppvm-lindblad): opt-in streaming (matrix-free) expm mode (PPVM_EXPM_STREAM) Skip the CSC action cache and recompute the action per matvec (MfOp via spmv_matrix_free) instead of materialising it on the doubly-enriched corrector basis B2. Removes the dominant peak-RAM term (the nnz-sized cache) as an opt-in low-memory dial. Default (unset) keeps the fast CachedCscOp; drop_tol=0 tests use the default and are unchanged. N=12 ladder drop=3e-4, matched accuracy (rel 2.96e-2 identical): cached 1614MB/168s vs streaming 896MB/568s -> ~1.8x less peak RAM for ~3.4x wall. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/mf_expm.rs | 156 ++++++++++++++++++++++++++-- 1 file changed, 150 insertions(+), 6 deletions(-) diff --git a/crates/ppvm-lindblad/src/mf_expm.rs b/crates/ppvm-lindblad/src/mf_expm.rs index eed9ba26..5d8409ee 100644 --- a/crates/ppvm-lindblad/src/mf_expm.rs +++ b/crates/ppvm-lindblad/src/mf_expm.rs @@ -208,6 +208,125 @@ impl LinearOperator for CachedCscOp<'_> { } } +/// Matrix-free view of the in-basis generator `M`: recomputes the per-column +/// action via [`LindbladSpec::spmv_matrix_free`] on EVERY matvec, holding no +/// `nnz`-sized cache. This is the opt-in low-RAM "streaming" path +/// (`PPVM_EXPM_STREAM`): it removes the CSC cache (the dominant peak-memory +/// term at large basis — `nnz·16 B` built on the doubly-enriched corrector +/// basis B2) at the cost of recomputing the Pauli-commutator action ~m*·s +/// times per expm call. Default (unset) keeps the fast [`CachedCscOp`]. +struct MfOp<'a> { + spec: &'a LindbladSpec, + basis: &'a [Word], + index: &'a FxHashMap, +} + +impl LinearOperator for MfOp<'_> { + fn dim(&self) -> usize { + self.basis.len() + } + + fn parallel_hint(&self) -> bool { + false + } + + fn dot(&self, overwrite: bool, input: &[f64], output: &mut [f64]) -> Result<(), QuSpinError> { + if overwrite { + self.spec + .spmv_matrix_free(self.basis, self.index, input, output); + } else { + let mut tmp = vec![0.0; output.len()]; + self.spec + .spmv_matrix_free(self.basis, self.index, input, &mut tmp); + for (o, t) in output.iter_mut().zip(tmp.iter()) { + *o += *t; + } + } + Ok(()) + } + + fn trace(&self) -> f64 { + unreachable!("MfOp::trace not used on the from_parts apply path") + } + fn onenorm(&self, _shift: f64) -> f64 { + unreachable!("MfOp::onenorm not used on the from_parts apply path") + } + fn dot_transpose( + &self, + _overwrite: bool, + _input: &[f64], + _output: &mut [f64], + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_transpose not used on the from_parts apply path".into(), + )) + } + fn dot_many( + &self, + _overwrite: bool, + _input: ndarray::ArrayView2<'_, f64>, + _output: ndarray::ArrayViewMut2<'_, f64>, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_many not used on the from_parts apply path".into(), + )) + } + fn dot_chunk( + &self, + _overwrite: bool, + _input: &[f64], + _output_chunk: &mut [f64], + _row_start: usize, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_chunk not used on the from_parts apply path".into(), + )) + } + fn dot_transpose_chunk( + &self, + _input: &[f64], + _output: &[::Atomic], + _rows: std::ops::Range, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "MfOp: dot_transpose_chunk not used on the from_parts apply path".into(), + )) + } +} + +/// Light action pass computing ONLY `per_col[c] = (raw, diag)` for the +/// `μ`/1-norm selection, without materialising the CSC cache. Used by the +/// streaming path so the norm pass costs no extra memory. +fn per_col_norms(spec: &LindbladSpec, basis: &[Word]) -> Vec<(f64, f64)> { + basis + .par_iter() + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), p| { + let terms = spec.compute_action_terms(p, s1, s2, lm); + let mut raw = 0.0; + let mut diag = 0.0; + for (w, c) in terms.iter() { + raw += c.abs(); + if w == p { + diag = *c; + } + } + (raw, diag) + }, + ) + .collect() +} + /// Compute `exp(dt · M) · coeffs` for the in-basis-restricted generator /// `M`, matrix-free, via `quspin-expm`. Returns a fresh `Vec` of length /// `basis.len()`. @@ -234,7 +353,17 @@ pub(crate) fn expm_apply_mf( // output == input term. From these: `trace = Σ diag`, `μ = trace/n`, and // the column 1-norm of `M − μ·I` is `raw − |diag| + |diag − μ|`. let index = build_basis_index(basis); - let (cols, per_col) = build_mf_cols(spec, basis, &index); + // Opt-in streaming (low-RAM) path: skip the CSC cache and recompute the + // action per matvec (MfOp). Removes the dominant peak-memory term (the + // nnz-sized cache on the doubly-enriched corrector basis) at the cost of + // wall. Default (unset) = cached CachedCscOp (fast); tests use the default. + let stream = std::env::var_os("PPVM_EXPM_STREAM").is_some(); + let (cols_opt, per_col) = if stream { + (None, per_col_norms(spec, basis)) + } else { + let (cols, per_col) = build_mf_cols(spec, basis, &index); + (Some(cols), per_col) + }; let trace: f64 = per_col.iter().map(|(_, d)| *d).sum(); let mu = trace / n as f64; @@ -259,12 +388,27 @@ pub(crate) fn expm_apply_mf( (m, s, 1e-12_f64) }; - let op = CachedCscOp { cols: &cols, dim: n }; - let expm = quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, expm_tol); - let mut v = coeffs.to_vec(); - expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) - .expect("expm apply"); + match &cols_opt { + Some(cols) => { + let op = CachedCscOp { cols, dim: n }; + let expm = + quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, expm_tol); + expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply"); + } + None => { + let op = MfOp { + spec, + basis, + index: &index, + }; + let expm = + quspin_expm::ExpmOp::from_parts(op, dt, mu, s as usize, m_star as usize, expm_tol); + expm.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply"); + } + } v } From bf18801be57d29e6655320f3f7b169e8806305ed Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 12:30:08 +0100 Subject: [PATCH 058/159] autotune(expm-ladder): record streaming-mode RAM<->wall dial (1.8x less RAM, 3.4x wall, matched accuracy) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-02-expm-ladder/log.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/autotune/2026-07-02-expm-ladder/log.md b/docs/autotune/2026-07-02-expm-ladder/log.md index f1b2fce4..78fbaefb 100644 --- a/docs/autotune/2026-07-02-expm-ladder/log.md +++ b/docs/autotune/2026-07-02-expm-ladder/log.md @@ -142,3 +142,23 @@ overshoot there) and LARGER at looser accuracy (N=10 rel~1e-2: 233 vs 306MB, COULD match this if it filtered PER CHUNK (bounding the live map) rather than at the end -- a code refinement. For peak RAM, set max_basis ~1.1-1.3x the expected retained basis: preserves accuracy, clips the transient, hard-bounds RAM. + +## (b) IMPLEMENTED: opt-in streaming (matrix-free) expm — a RAM<->wall dial + +PPVM_EXPM_STREAM=1 makes expm_apply_mf skip build_mf_cols (the CSC cache) and +recompute the action per matvec via MfOp/spmv_matrix_free. Removes the +dominant peak-RAM term (cache = nnz*16B built on the doubly-enriched corrector +basis B2). Default unset = cached CachedCscOp (fast); drop_tol=0 tests unchanged. + +N=12 ladder, drop=3e-4, MATCHED accuracy (rel 2.96e-2 IDENTICAL — matrix-free is +the same math, just uncached): + cached : 168s, 1614 MB (peak_basis pruned 254k; RSS reflects the ~4M B2 + transient the cache is built on) + stream : 568s, 896 MB (~1.8x less peak RAM, ~3.4x wall) +The 718 MB saved ~ the action cache. Streaming's residual 896 MB is the basis / +index / transient words / expm work vectors, which remain. +=> Legitimate memory-budget mode for RAM-limited runs. The wall hit (3.4x here) +is the recompute cost the cache had removed; it's a dial, not a default. +Note this is biggest at MODERATE accuracy (drop~3e-4) where B2 overshoots the +retained basis most; at very tight drop the transient is smaller so the cache +(hence the saving) shrinks. From 50eae86882fb28ae670812f21b8d64d0da35029d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 14:05:40 +0100 Subject: [PATCH 059/159] autotune(orbit-compare): stage 0 - verify both orbit-preserving methods vs exact ED + API notes Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-03-orbit-compare/log.md | 33 +++++++++ .../2026-07-03-orbit-compare/orbit_verify.py | 70 +++++++++++++++++++ .../trotter_orbit_verify.py | 48 +++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/log.md create mode 100644 docs/autotune/2026-07-03-orbit-compare/orbit_verify.py create mode 100644 docs/autotune/2026-07-03-orbit-compare/trotter_orbit_verify.py diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md new file mode 100644 index 00000000..5849c5e8 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -0,0 +1,33 @@ +# Orbit-preserving Trotter vs expm comparison (2026-07-03) + +Goal: compare Trotter vs expm in the ORBIT-PRESERVING (translation-symmetry / +momentum-k) representation, precision-matched at rel~1e-3, on an example with +~1M final basis. For expm, compare stream vs cache (leakage) with a max_basis cut. +Scan dt and drop_tol for both. + +## Stage 0 (DONE): foundation verified vs exact ED (N=8 XY chain, k=1) +Both orbit-preserving methods reproduce the exact momentum-k autocorrelation +C_k(t) = /, O_k = sum_j e^{-2pi i k j/N} Z_j: +- expm orbit-rep (pc_step_orbit_rep, complex coeffs) == exact (to ~1e-4). +- Trotter symmetry-merged (real-pair PauliSum + momentum_merge) == exact + (real part ~1e-4; tiny O(dt^2) equivariance drift in imag). +KEY API notes learned: +- expm: seed = k-mode Z (basis Z_j, coeffs e^{-i phi j}); project via + canonicalize_basis_arr_complex(basis,coeffs,group,mom); evolve + pc_step_orbit_rep(basis,coeffs,dt,max_basis,group,mom,drop,protected). + TranslationGroup.chain_1d(N), mom=[k]. C_k via overlap with the seed reps. +- Trotter: keep O_k as a REAL PAIR (R=sum cos(phi j)Z_j, Im=sum -sin(phi j)Z_j); + apply the SAME real gates to both; R.momentum_merge(Im,group,mom) folds to + orbit-rep. GATE ANGLE = 2*c*dt (Rxx=e^{-i th/2 XX}, H coeff c=1) -- using dt + (not 2dt) decays ~4x too slow. C_k via PauliSum.overlap: + = (+) + i(-), norm = + = N. +Harnesses: orbit_verify.py (expm), trotter_orbit_verify.py (Trotter). + +## Remaining stages +1. Add orbit-rep STREAMING (matrix-free) to orbit_rep.rs (PPVM_EXPM_STREAM does + NOT reach it -- it has its own build_orbit_rep_cols/OrbitRepCscOp). Needed for + the expm stream-vs-cache comparison in the orbit-preserving case. +2. Scale to ~1M orbit-rep basis: large-N chain (orbit-rep basis ~ full/|G|), long + enough T. No exact ED at that scale -> converged reference (tightest drop/dt). +3. Scan dt x drop_tol for BOTH methods; match rel~1e-3; compare wall + PEAK RSS. + For expm: stream vs cache (leakage), both with a max_basis cut. diff --git a/docs/autotune/2026-07-03-orbit-compare/orbit_verify.py b/docs/autotune/2026-07-03-orbit-compare/orbit_verify.py new file mode 100644 index 00000000..5c54ad8e --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/orbit_verify.py @@ -0,0 +1,70 @@ +import numpy as np +from functools import reduce +from ppvm import Lindbladian +from ppvm.lindblad import _basis_to_codes +from ppvm._core import TranslationGroup, canonicalize_basis_arr_complex + +N=8; k=1; dt=0.02; nsnap=5; steps_per=3; drop=1e-10; MB=10_000_000 +phi=2*np.pi*k/N +# --- 1D XY chain PBC --- +h=[] +for j in range(N): + nx=(j+1)%N + for P in "XY": + s=["I"]*N; s[j]=P; s[nx]=P; h.append(("".join(s),1.0)) +Lop=Lindbladian(N,h,[]) +g=TranslationGroup.chain_1d(N); mom=np.array([k],dtype=np.int32) + +# --- exact ED ref --- +SX=np.array([[0,1],[1,0]],complex);SY=np.array([[0,-1j],[1j,0]],complex);SZ=np.array([[1,0],[0,-1]],complex);I2=np.eye(2) +def op(s,q):return reduce(np.kron,[s if k2==q else I2 for k2 in range(N)]) +H=np.zeros((2**N,2**N),complex) +for j in range(N): + nx=(j+1)%N; H+=op(SX,j)@op(SX,nx)+op(SY,j)@op(SY,nx) +idx=np.arange(2**N) +d=np.zeros(2**N,complex) +for j in range(N): d+=np.exp(-1j*phi*j)*(1-2*((idx>>(N-1-j))&1)) +E,V=np.linalg.eigh(H) +def exact_Ck(t): + U=(V*np.exp(1j*E*t))@V.conj().T; U2=np.abs(U)**2 + return (np.conj(d)@(U2@d))/(np.conj(d)@d) + +# --- seed (real-space k-mode) --- +zs=["I"*j+"Z"+"I"*(N-j-1) for j in range(N)]; zb=_basis_to_codes(zs,N) +seed=np.array([np.exp(-1j*phi*j) for j in range(N)],dtype=np.complex128) + +# --- real-space complex expm --- +ba=zb.copy(); co=seed.copy(); pr=zb.copy() +def Ck_realspace(ba,co): + idxm={ba[i].tobytes():i for i in range(len(ba))} + s=0j + for j in range(N): + key=zb[j].tobytes() + if key in idxm: s+=np.exp(1j*phi*j)*co[idxm[key]] + return s/N + +# --- orbit-rep expm --- +bo,coo=canonicalize_basis_arr_complex(zb.copy(),seed.copy(),g,mom) +# the Z-orbit rep row(s): track total k-mode Z amplitude via overlap with seed's rep +seed_bo, seed_coo = bo.copy(), coo.copy() +def Ck_orbit(bo,coo): + idxm={bo[i].tobytes():i for i in range(len(bo))} + num=0j + for i in range(len(seed_bo)): + key=seed_bo[i].tobytes() + if key in idxm: num+=np.conj(seed_coo[i])*coo[idxm[key]] + den=np.sum(np.conj(seed_coo)*seed_coo) + return num/den +pr_o=seed_bo.copy() + +print(f"N={N} k={k} dt={dt} (near-exact: drop={drop})") +print(f"{'t':>6} {'exact':>22} {'realspace':>22} {'orbit-rep':>22}") +bo2,coo2=bo.copy(),coo.copy() +for si in range(nsnap+1): + t=si*steps_per*dt + ex=exact_Ck(t); rs=Ck_realspace(ba,co); orb=Ck_orbit(bo2,coo2) + print(f"{t:6.3f} {ex.real:+.4f}{ex.imag:+.4f}j {rs.real:+.4f}{rs.imag:+.4f}j {orb.real:+.4f}{orb.imag:+.4f}j") + if si>(N-1-j))&1)) +E,V=np.linalg.eigh(H) +def exact_Ck(t): + U=(V*np.exp(1j*E*t))@V.conj().T; return (np.conj(d)@((np.abs(U)**2)@d))/(np.conj(d)@d) + +# real-pair Trotter, merged each step (orbit-preserving) +def mk(): + R=PauliSum.new(N,[(f"Z{j}", float(np.cos(phi*j))) for j in range(N)],min_abs_coeff=mac,max_pauli_weight=N) + Im=PauliSum.new(N,[(f"Z{j}", float(-np.sin(phi*j))) for j in range(N)],min_abs_coeff=mac,max_pauli_weight=N) + return R,Im +R,Im=mk(); Rs,Ims=mk() # Rs,Ims = seed copies for overlap +Rs.momentum_merge(Ims,g,mom) +norm=Rs.overlap(Rs)+Ims.overlap(Ims) +def Ck(R,Im): + Rm=R.copy() if hasattr(R,'copy') else R + # overlap = (Rs.R + Ims.Im) + i(Rs.Im - Ims.R) + re=Rs.overlap(R)+Ims.overlap(Im); im=Rs.overlap(Im)-Ims.overlap(R) + return (re+1j*im)/norm + +print(f"N={N} k={k} dt={dt} (merged Trotter, near-exact mac={mac})") +print(f"{'t':>6} {'exact':>20} {'trotter-merged':>22}") +for si in range(nsnap+1): + t=si*steps_per*dt + Rc=R.copy(); Imc=Im.copy() + Rc.momentum_merge(Imc,g,mom) + ex=exact_Ck(t); tr=Ck(Rc,Imc) + print(f"{t:6.3f} {ex.real:+.4f}{ex.imag:+.4f}j {tr.real:+.4f}{tr.imag:+.4f}j") + if si Date: Fri, 3 Jul 2026 14:51:47 +0100 Subject: [PATCH 060/159] feat(ppvm-lindblad): orbit-rep streaming (matrix-free) expm via PPVM_EXPM_STREAM Add StreamOrbitOp (Complex matrix-free orbit-rep operator, recomputes the phase-aware action per matvec) + per_col_orbit_stream, gated by PPVM_EXPM_STREAM in expm_apply_orbit_rep_cached. Mirrors the real-space streaming path for the orbit-preserving (momentum-k) case, so stream-vs-cache can be compared there. Default unset = cached OrbitRepCscOp; verified vs exact ED (N=8 XY chain, k=1) that streaming reproduces C_k(t) identically. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/ppvm-lindblad/src/orbit_rep.rs | 273 ++++++++++++++++++++++---- 1 file changed, 235 insertions(+), 38 deletions(-) diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index 6f431804..3acbd0fd 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -233,6 +233,173 @@ impl LinearOperator> for OrbitRepCscOp<'_> { } } +/// Matrix-free (streaming) orbit-rep operator: recomputes the phase-aware +/// action per matvec instead of caching it (the `Complex` mirror of +/// [`crate::mf_expm`]'s streaming path). Holds NO `nnz`-sized cache — used for +/// the opt-in low-RAM mode (`PPVM_EXPM_STREAM`), at the cost of recomputing the +/// `compute_action_terms` + canonicalize + character work on every matvec. +pub(crate) struct StreamOrbitOp<'a> { + spec: &'a LindbladSpec, + basis: &'a [Word], + index: &'a FxHashMap, + group: &'a TranslationGroup, + k_modes: &'a [i32], + dim: usize, +} + +impl LinearOperator> for StreamOrbitOp<'_> { + fn dim(&self) -> usize { + self.dim + } + fn parallel_hint(&self) -> bool { + false + } + fn dot( + &self, + overwrite: bool, + input: &[Complex], + output: &mut [Complex], + ) -> Result<(), QuSpinError> { + let n = self.dim; + let zero = Complex::new(0.0, 0.0); + if n == 0 { + return Ok(()); + } + let num_threads = rayon::current_num_threads().max(1); + let chunk_size = n.div_ceil(num_threads); + let partial_ys: Vec>> = self + .basis + .par_chunks(chunk_size) + .enumerate() + .map(|(chunk_idx, chunk)| { + let c_offset = chunk_idx * chunk_size; + let mut y_local = vec![zero; n]; + let mut s1 = Vec::::with_capacity(self.spec.n_qubits()); + let mut s2 = Vec::::with_capacity(128); + let mut lm = FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ); + for (c_local, r) in chunk.iter().enumerate() { + let xc = input[c_offset + c_local]; + if xc == zero { + continue; + } + let terms = self.spec.compute_action_terms(r, &mut s1, &mut s2, &mut lm); + for (q, v) in terms.iter() { + let (r_q, cnt_q) = self.group.canonicalize_with_shift(q); + if let Some(&row) = self.index.get(&r_q) { + let phase = self.group.character(self.k_modes, &cnt_q); + y_local[row as usize] += phase * (*v as f64) * xc; + } + } + } + y_local + }) + .collect(); + if overwrite { + output.fill(zero); + } + for partial in &partial_ys { + for (oi, &pi) in output.iter_mut().zip(partial.iter()) { + *oi += pi; + } + } + Ok(()) + } + fn trace(&self) -> Complex { + unreachable!("StreamOrbitOp::trace not used on the from_parts apply path") + } + fn onenorm(&self, _shift: Complex) -> f64 { + unreachable!("StreamOrbitOp::onenorm not used on the from_parts apply path") + } + fn dot_transpose( + &self, + _overwrite: bool, + _input: &[Complex], + _output: &mut [Complex], + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "StreamOrbitOp: dot_transpose not used on the from_parts apply path".into(), + )) + } + fn dot_many( + &self, + _overwrite: bool, + _input: ndarray::ArrayView2<'_, Complex>, + _output: ndarray::ArrayViewMut2<'_, Complex>, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "StreamOrbitOp: dot_many not used on the from_parts apply path".into(), + )) + } + fn dot_chunk( + &self, + _overwrite: bool, + _input: &[Complex], + _output_chunk: &mut [Complex], + _row_start: usize, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "StreamOrbitOp: dot_chunk not used on the from_parts apply path".into(), + )) + } + fn dot_transpose_chunk( + &self, + _input: &[Complex], + _output: &[ as ExpmComputation>::Atomic], + _rows: std::ops::Range, + ) -> Result<(), QuSpinError> { + Err(QuSpinError::RuntimeError( + "StreamOrbitOp: dot_transpose_chunk not used on the from_parts apply path".into(), + )) + } +} + +/// Light phase-aware pass computing ONLY `per_col[c] = (raw, diag)` for the +/// `μ`/1-norm selection, without materialising the cached columns. Used by the +/// streaming path so the norm pass costs no `nnz`-sized memory. +fn per_col_orbit_stream( + spec: &LindbladSpec, + basis: &[Word], + index: &FxHashMap, + group: &TranslationGroup, + k_modes: &[i32], +) -> Vec<(f64, Complex)> { + basis + .par_iter() + .enumerate() + .map_init( + || { + ( + Vec::::with_capacity(spec.n_qubits()), + Vec::::with_capacity(128), + FxHashMap::>::with_capacity_and_hasher( + 128, + FxBuildHasher::default(), + ), + ) + }, + |(s1, s2, lm), (c, r)| { + let terms = spec.compute_action_terms(r, s1, s2, lm); + let mut raw = 0.0_f64; + let mut diag = Complex::new(0.0, 0.0); + for (q, v) in terms.iter() { + let (r_q, cnt_q) = group.canonicalize_with_shift(q); + if let Some(&row) = index.get(&r_q) { + let val = group.character(k_modes, &cnt_q) * (*v as f64); + raw += val.norm(); + if row as usize == c { + diag += val; + } + } + } + (raw, diag) + }, + ) + .collect() +} + /// Compute `exp(dt · M) · coeffs` for the in-basis-restricted orbit-rep /// generator `M` at momentum sector `k_modes`, via `quspin-expm`. Returns /// a fresh `Vec>` of length `basis.len()`. No CSR is @@ -260,30 +427,40 @@ pub(crate) fn expm_apply_orbit_rep_cached( } let index = crate::build_basis_index(basis); - // Phase-aware action: computed ONCE, reused across every matvec below. - let cols = build_orbit_rep_cols(spec, basis, &index, group, k_modes); - - // One pass over the cached columns: per column `c` (rep `basis[c]`) - // gather `raw = Σ|val|` (an upper bound on the absolute column sum) and - // the exact diagonal entry `diag = M[c,c] = Σ_{row==c} val` (summing - // duplicates). From these: `trace = Σ diag`, `μ = trace/n`, and an - // upper bound on the column 1-norm of `M − μ·I`: - // `raw − |diag| + |diag − μ|`. - let per_col: Vec<(f64, Complex)> = cols - .par_iter() - .enumerate() - .map(|(c, col)| { - let mut raw = 0.0_f64; - let mut diag = Complex::new(0.0, 0.0); - for &(row, val) in col.iter() { - raw += val.norm(); - if row as usize == c { - diag += val; + // Opt-in streaming (low-RAM) path: skip the phase-aware column cache and + // recompute the action per matvec (StreamOrbitOp). Removes the dominant + // peak-memory term (the nnz-sized complex cache on the doubly-enriched + // corrector basis) at the cost of wall. Default (unset) = cached + // OrbitRepCscOp (fast). + let stream = std::env::var_os("PPVM_EXPM_STREAM").is_some(); + let cols_opt = if stream { + None + } else { + Some(build_orbit_rep_cols(spec, basis, &index, group, k_modes)) + }; + + // One pass for the per-column `(raw, diag)` used by the `μ`/1-norm + // selection: `raw = Σ|val|` (upper bound on the absolute column sum), + // `diag = M[c,c]`. From these: `trace = Σ diag`, `μ = trace/n`, and an + // upper bound on the column 1-norm of `M − μ·I`: `raw − |diag| + |diag − μ|`. + let per_col: Vec<(f64, Complex)> = match &cols_opt { + Some(cols) => cols + .par_iter() + .enumerate() + .map(|(c, col)| { + let mut raw = 0.0_f64; + let mut diag = Complex::new(0.0, 0.0); + for &(row, val) in col.iter() { + raw += val.norm(); + if row as usize == c { + diag += val; + } } - } - (raw, diag) - }) - .collect(); + (raw, diag) + }) + .collect(), + None => per_col_orbit_stream(spec, basis, &index, group, k_modes), + }; let trace: Complex = per_col.iter().map(|(_, d)| *d).sum(); let mu = trace / n as f64; @@ -294,22 +471,42 @@ pub(crate) fn expm_apply_orbit_rep_cached( let (m_star, s) = crate::expm::select_ms(dt.abs() * onenorm, None); - let op = OrbitRepCscOp { - cols: &cols, - dim: n, - }; - let e = ExpmOp::from_parts( - op, - Complex::new(dt, 0.0), - mu, - s as usize, - m_star as usize, - 1e-12_f64, - ); - let mut v = coeffs.to_vec(); - e.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) - .expect("expm apply (orbit-rep cached)"); + match &cols_opt { + Some(cols) => { + let op = OrbitRepCscOp { cols, dim: n }; + let e = ExpmOp::from_parts( + op, + Complex::new(dt, 0.0), + mu, + s as usize, + m_star as usize, + 1e-12_f64, + ); + e.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply (orbit-rep cached)"); + } + None => { + let op = StreamOrbitOp { + spec, + basis, + index: &index, + group, + k_modes, + dim: n, + }; + let e = ExpmOp::from_parts( + op, + Complex::new(dt, 0.0), + mu, + s as usize, + m_star as usize, + 1e-12_f64, + ); + e.apply(ndarray::ArrayViewMut1::from(v.as_mut_slice())) + .expect("expm apply (orbit-rep stream)"); + } + } v } From 0af9b4c14a3447193eb80e014d7352a98c7e4bf2 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Fri, 3 Jul 2026 16:12:17 +0100 Subject: [PATCH 061/159] autotune(orbit-compare): L=5 k-resolved Trotter vs expm - wall~tied, RSS~tied, expm 5x fewer terms Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/autotune/2026-07-03-orbit-compare/log.md | 28 +++++ .../2026-07-03-orbit-compare/orbit_bench.py | 102 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/orbit_bench.py diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 5849c5e8..b80be720 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -31,3 +31,31 @@ Harnesses: orbit_verify.py (expm), trotter_orbit_verify.py (Trotter). enough T. No exact ED at that scale -> converged reference (tightest drop/dt). 3. Scan dt x drop_tol for BOTH methods; match rel~1e-3; compare wall + PEAK RSS. For expm: stream vs cache (leakage), both with a max_basis cut. + +## L=5 (N=10) orbit k-resolved: Trotter vs expm, exact-ED referenced + +Ladder L=5, k=2, T=2, momentum-k Z autocorrelation C_k(t). 2nd-order Strang +Trotter (palindrome, matches the verified real-space scheme) vs expm orbit-rep +(pc_step_orbit_rep). drop/mac=1e-4 (fine -> dt-floor-limited); dt scanned. + +dt-convergence (drop=1e-4): + expm: dt0.1->2.0e-2 dt0.05->1.9e-3 dt0.025->7.8e-4 (~O(dt^3)) + trotter: dt0.1->1.15e-2 dt0.05->2.9e-3 dt0.025->1.26e-3 (O(dt^2), confirms 2nd order) + +Matched rel~1e-3 (interp): + expm: ~47s, peak_basis 52k, RSS ~262 MB + trotter: ~44s, peak_basis 256k, RSS ~270 MB +=> WALL ~TIED (~1.05x, Trotter marginally faster). RSS ~TIED. But expm keeps + ~5x FEWER terms (52k vs 256k) -- the k-resolved orbit reduction is real and + large. It does NOT convert to a net wall/RAM win here because expm's per-term + cost is ~higher (complex CSC action cache + doubly-enriched transient + + complex coeffs), which cancels the 5x term-count advantage. +Caveat: at L=5 the RSS (~250-270MB) is baseline-dominated (python/numpy ~200MB), +which masks the per-term memory difference; at larger basis the expm-heavier- +per-term effect would be more visible in RSS. + +Stream vs cache with a max_basis=15k CUT (from the first pass, dt0.1 drop1e-4): + cache: 5.6s, 217 MB ; stream: 73.4s (~13x), 198 MB (~9% less), identical rel. +=> streaming is a LARGE-basis RAM tool; at 15k it costs ~13x wall for ~9% RAM + (the cache is a small fraction of the ~200MB baseline there). Not worth it + at this size. diff --git a/docs/autotune/2026-07-03-orbit-compare/orbit_bench.py b/docs/autotune/2026-07-03-orbit-compare/orbit_bench.py new file mode 100644 index 00000000..c20d5d98 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/orbit_bench.py @@ -0,0 +1,102 @@ +"""Orbit-preserving (momentum-k) Trotter vs expm(cache/stream), matched rel~1e-3. +worker: orbit_bench.py L k T dt knob max_basis (PPVM_EXPM_STREAM=1 for stream) +driver: orbit_bench.py driver +Exact-ED referenced at L=5 (N=10).""" +import sys, os, json, time, resource +from functools import reduce +import numpy as np +from ppvm import Lindbladian, PauliSum +from ppvm.lindblad import _basis_to_codes +from ppvm._core import TranslationGroup, canonicalize_basis_arr_complex + +def ladder(L): + N=2*L; site=lambda j,leg: leg*L+j; bonds=[] + for leg in(0,1): + for j in range(L): bonds.append((site(j,leg),site((j+1)%L,leg))) + for j in range(L): bonds.append((site(j,0),site(j,1))) + return N,bonds +def rss(): return resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/(1024*1024) + +def run_expm(L,k,T,dt,drop,mb): + N,bonds=ladder(L); phi=2*np.pi*k/L; steps=round(T/dt); snap=max(1,steps//10) + h=[] + for(p,q)in bonds: + for P in"XY": s=["I"]*N; s[p]=P; s[q]=P; h.append(("".join(s),1.0)) + Lop=Lindbladian(N,h,[]); g=TranslationGroup.ladder(L,2); mom=np.array([k],dtype=np.int32) + zs=["I"*q+"Z"+"I"*(N-q-1) for q in range(N)]; zb=_basis_to_codes(zs,N) + seed=np.array([np.exp(-1j*phi*(q%L)) for q in range(N)],dtype=np.complex128) + bo,coo=canonicalize_basis_arr_complex(zb,seed,g,mom); pr=bo.copy() + sb,sc=bo.copy(),coo.copy(); den=np.sum(np.conj(sc)*sc) + def Ck(bo,coo): + idxm={bo[i].tobytes():i for i in range(len(bo))}; num=0j + for i in range(len(sb)): + key=sb[i].tobytes() + if key in idxm: num+=np.conj(sc[i])*coo[idxm[key]] + return num/den + curve=[Ck(bo,coo)]; peak=len(bo); t0=time.time() + for st in range(steps): + bo,coo=Lop.pc_step_orbit_rep(bo,coo,dt,mb,g,mom,drop,pr); peak=max(peak,len(bo)) + if (st+1)%snap==0: curve.append(Ck(bo,coo)) + return curve,time.time()-t0,peak + +def run_trotter(L,k,T,dt,mac,mb): + N,bonds=ladder(L); phi=2*np.pi*k/L; steps=round(T/dt); snap=max(1,steps//10) + g=TranslationGroup.ladder(L,2); mom=[k] + def mk(fn): return PauliSum.new(N,[(f"Z{q}",float(fn(phi*(q%L)))) for q in range(N)],min_abs_coeff=mac,max_pauli_weight=N) + R=mk(np.cos); Im=mk(lambda x:-np.sin(x)); Rs=mk(np.cos); Ims=mk(lambda x:-np.sin(x)) + Rs.momentum_merge(Ims,g,mom); norm=Rs.overlap(Rs)+Ims.overlap(Ims) + def Ck(R,Im): + re=Rs.overlap(R)+Ims.overlap(Im); im=Rs.overlap(Im)-Ims.overlap(R); return (re+1j*im)/norm + def snapCk(): + Rc=R.copy(); Ic=Im.copy(); Rc.momentum_merge(Ic,g,mom); return Ck(Rc,Ic) + curve=[snapCk()]; peak=len(R); t0=time.time() + for st in range(steps): + for a,b in bonds: R.rxx(a,b,dt,truncate=False); R.ryy(a,b,dt,truncate=False) + for a,b in reversed(bonds): R.rxx(a,b,dt,truncate=False); R.ryy(a,b,dt,truncate=False) + for a,b in bonds: Im.rxx(a,b,dt,truncate=False); Im.ryy(a,b,dt,truncate=False) + for a,b in reversed(bonds): Im.rxx(a,b,dt,truncate=False); Im.ryy(a,b,dt,truncate=False) + R.truncate(); Im.truncate(); peak=max(peak,len(R)) + if (st+1)%snap==0: curve.append(snapCk()) + return curve,time.time()-t0,peak + +if len(sys.argv)>1 and sys.argv[1]!="driver": + m=sys.argv[1];L=int(sys.argv[2]);k=int(sys.argv[3]);T=float(sys.argv[4]);dt=float(sys.argv[5]);knob=float(sys.argv[6]);mb=int(sys.argv[7]) + curve,wall,peak=(run_expm if m=="expm" else run_trotter)(L,k,T,dt,knob,mb) + print(json.dumps(dict(curve=[[c.real,c.imag] for c in curve],wall=wall,peak=peak,rss=rss()))); sys.exit(0) + +# ---- driver (L=5, exact-ED reference) ---- +import subprocess +W=os.path.abspath(__file__); PY=sys.executable +L,k,T=5,2,2.0 +# exact C_k(t_m), t_m = m*T/10 +SX=np.array([[0,1],[1,0]],complex);SY=np.array([[0,-1j],[1j,0]],complex);I2=np.eye(2) +N,bonds=ladder(L); phi=2*np.pi*k/L +def op(s,q):return reduce(np.kron,[s if kk==q else I2 for kk in range(N)]) +H=np.zeros((2**N,2**N),complex) +for p,q in bonds: H+=op(SX,p)@op(SX,q)+op(SY,p)@op(SY,q) +E,V=np.linalg.eigh(H); idx=np.arange(2**N) +d=np.zeros(2**N,complex) +for q in range(N): d+=np.exp(-1j*phi*(q%L))*(1-2*((idx>>(N-1-q))&1)) +REF=np.array([ (np.conj(d)@((np.abs((V*np.exp(1j*E*(m*T/10)))@V.conj().T)**2)@d))/(np.conj(d)@d) for m in range(11)]) +def call(method,dt,knob,mb,stream=False): + env={**os.environ} + if stream: env["PPVM_EXPM_STREAM"]="1" + else: env.pop("PPVM_EXPM_STREAM",None) + r=subprocess.run([PY,W,method,str(L),str(k),str(T),str(dt),str(knob),str(mb)],capture_output=True,text=True,env=env) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: return None + d["curve"]=np.array([c[0]+1j*c[1] for c in d["curve"]]); return d +def rel(c): + n=min(len(c),len(REF)); return float(np.linalg.norm(c[:n]-REF[:n])/np.linalg.norm(REF[:n])) +print(f"ORBIT k-RESOLVED BENCH: ladder L={L}(N={2*L}) k={k} T={T} (exact-ED reference)",flush=True) +print(f"{'method':14} {'dt':>5} {'knob':>7} {'max_basis':>9} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>7}",flush=True) +PLAN=[ + ("expm-cache",0.1,1e-4,10**7,0),("expm-cache",0.05,1e-4,10**7,0),("expm-cache",0.025,1e-4,10**7,0), + ("trotter",0.1,1e-4,10**7,0),("trotter",0.05,1e-4,10**7,0),("trotter",0.025,1e-4,10**7,0), + ("expm-cache",0.05,3e-4,10**7,0),("trotter",0.05,3e-4,10**7,0), +] +for name,dt,knob,mb,stream in PLAN: + method="trotter" if name=="trotter" else "expm" + d=call(method,dt,knob,mb,bool(stream)) + if d is None: print(f"{name:14} {dt:>5} {knob:>7.0e} {mb:>9} FAILED",flush=True); continue + print(f"{name:14} {dt:>5} {knob:>7.0e} {mb:>9} {rel(d['curve']):>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>7}",flush=True) From cbff9fa55d4157acb3aeb8ff65d17432f04c116c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 02:02:27 +0100 Subject: [PATCH 062/159] autotune(orbit-compare): at-scale harnesses - L=7 exact-ED ref, growth probe, L7 bench with per-bond trotter growth_probe.py: per-step basis/wall/RSS logging for feasibility probes. exact_ref_L7.py: exact C_k(t) at N=14 via real-symmetric eigh + blocked two-dgemm |U|^2 bilinear form; validated at L=5 (5e-7 vs known REF). orbit_bench_L7.py: L=7 k=3 T=2 scan driver vs the npz reference; adds trotter-pb (per-bond truncation, the verified real-space baseline scheme) next to the legacy end-of-step variant, and stream/cache row support. Co-Authored-By: Claude Fable 5 --- .../2026-07-03-orbit-compare/exact_ref_L7.py | 77 ++++++++++++ .../exact_ref_L7_k3_T2.npz | Bin 0 -> 1486 bytes .../2026-07-03-orbit-compare/growth_probe.py | 58 +++++++++ .../orbit_bench_L7.py | 110 ++++++++++++++++++ 4 files changed, 245 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/exact_ref_L7.py create mode 100644 docs/autotune/2026-07-03-orbit-compare/exact_ref_L7_k3_T2.npz create mode 100644 docs/autotune/2026-07-03-orbit-compare/growth_probe.py create mode 100644 docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py diff --git a/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7.py b/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7.py new file mode 100644 index 00000000..0f2f465d --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7.py @@ -0,0 +1,77 @@ +"""Exact ED reference for the L=7 (N=14) XY ladder momentum-k Z autocorrelation. + +C_k(t_m) = / , O_k = sum_j e^{-i phi (j%L)} Z_j, +phi = 2 pi k / L, t_m = m*T/M. Same |U|^2 bilinear form as the L=5 driver in +orbit_bench.py (verified there vs both methods), with two speed tricks: +- H for the XY ladder is REAL symmetric -> real dsyevd (fast, multithreaded), +- U_block = (V_b * e^{iEt}) @ V^T computed as two real dgemms (re/im parts), + blocked over rows so peak RAM stays ~ 2|V| + one block. + +Usage: exact_ref_L7.py k T M out.npz +""" +import sys, time +import numpy as np + + +def ladder(L): + N = 2 * L + site = lambda j, leg: leg * L + j + bonds = [] + for leg in (0, 1): + for j in range(L): + bonds.append((site(j, leg), site((j + 1) % L, leg))) + for j in range(L): + bonds.append((site(j, 0), site(j, 1))) + return N, bonds + + +L = 7 +k, T, M = int(sys.argv[1]), float(sys.argv[2]), int(sys.argv[3]) +out = sys.argv[4] +N, bonds = ladder(L) +phi = 2 * np.pi * k / L +dim = 2 ** N + +t0 = time.time() +# XX+YY on a bond: flips the two bits where they differ, matrix element +2 (real). +H = np.zeros((dim, dim)) +idx = np.arange(dim) +for (p, q) in bonds: + bp = (idx >> (N - 1 - p)) & 1 + bq = (idx >> (N - 1 - q)) & 1 + src = idx[bp != bq] + dst = src ^ (1 << (N - 1 - p)) ^ (1 << (N - 1 - q)) + H[dst, src] += 2.0 +print(f"H built ({time.time()-t0:.0f}s), symmetric: {np.allclose(H, H.T)}", flush=True) + +t1 = time.time() +E, V = np.linalg.eigh(H) # real symmetric -> dsyevd +del H +print(f"eigh done ({time.time()-t1:.0f}s)", flush=True) + +d = np.zeros(dim, complex) +for q in range(N): + d += np.exp(-1j * phi * (q % L)) * (1 - 2 * ((idx >> (N - 1 - q)) & 1)) +den = (np.conj(d) @ d).real + +ts = np.array([m * T / M for m in range(M + 1)]) +res = np.zeros(len(ts), complex) +Vt = np.ascontiguousarray(V.T) +BLK = 2048 +t2 = time.time() +for lo in range(0, dim, BLK): + hi = min(lo + BLK, dim) + Vb = V[lo:hi, :] + for m, t in enumerate(ts): + ph = np.exp(1j * E * t) + Wre = Vb * ph.real + Wim = Vb * ph.imag + P = (Wre @ Vt) ** 2 + P += (Wim @ Vt) ** 2 # P = |U_block|^2, real + res[m] += np.conj(d[lo:hi]) @ (P @ d) + print(f"rows {hi}/{dim} ({time.time()-t2:.0f}s)", flush=True) +res /= den +np.savez(out, ts=ts, ref=res, k=k, T=T, L=L) +print("REF real:", np.round(res.real, 6), flush=True) +print("REF |imag| max:", np.abs(res.imag).max(), flush=True) +print(f"total {time.time()-t0:.0f}s", flush=True) diff --git a/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7_k3_T2.npz b/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7_k3_T2.npz new file mode 100644 index 0000000000000000000000000000000000000000..6f146754159ec13147d4435f32fabab658fdb72a GIT binary patch literal 1486 zcmWIWW@gc4fB;2?iOMmn|3d*Ag9t-Ov0h$5B_o3X!wsk!7(Ll9)HfiKk)e#CT0JGT zIJrpONzwZk`2x16CzyS!R~x-->u>~NyRg1kDl9_Y5RHSX(-=&kGpBv9ar6rQ2mc~Gt4aF$osb4 zehoDxc_C&?_g@6_CHKs-OsITwqz9s(Q)thZ4u#`- zd#BsCf!!l#W4d>j{$-Ae{Sfyt*`NmW&2770zyg{T7|_|UVD5lMG>pa`%$dZcI|>sW zFu8IuL*0Ywe8a*pNcaQ&0CIi^Y0f7y+fc#zP}id+bLAZ$a*#vchcxHYFZ9{rq0h*q z%ZyrXfl4M2W`n8$Q4Qcs3Ms_`yixUl@-`^*f-uZnh#mo;2sEdoYXYTHP*Mb8R*-5a zXke^lVt}MtbS4} {'t':>6} {'basis':>9} {'dwall_s':>8} {'wall_s':>8} {'RSS_mb':>8}", flush=True) +t0 = time.time() +for st in range(steps): + ts = time.time() + bo, coo = Lop.pc_step_orbit_rep(bo, coo, dt, mb, g, mom, drop, pr) + now = time.time() + print(f"{st+1:>4} {(st+1)*dt:>6.2f} {len(bo):>9} {now-ts:>8.1f} {now-t0:>8.1f} {rss_mb():>8.0f}", flush=True) diff --git a/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py b/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py new file mode 100644 index 00000000..d42e77c7 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py @@ -0,0 +1,110 @@ +"""Orbit-preserving (momentum-k) Trotter vs expm at scale: ladder L=7 (N=14), k=3, T=2. +Reference: exact ED curve from exact_ref_L7.py (npz next to this file). + +worker: orbit_bench_L7.py L k T dt knob max_basis (PPVM_EXPM_STREAM=1 for stream) +driver: orbit_bench_L7.py driver [row ...] rows like expm:0.1:1e-3:10000000[:stream] + (no rows -> default plan) +""" +import sys, os, json, time, resource +import numpy as np +from ppvm import Lindbladian, PauliSum +from ppvm.lindblad import _basis_to_codes +from ppvm._core import TranslationGroup, canonicalize_basis_arr_complex + +def ladder(L): + N=2*L; site=lambda j,leg: leg*L+j; bonds=[] + for leg in(0,1): + for j in range(L): bonds.append((site(j,leg),site((j+1)%L,leg))) + for j in range(L): bonds.append((site(j,0),site(j,1))) + return N,bonds +def rss(): return resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/(1024*1024) + +def run_expm(L,k,T,dt,drop,mb): + N,bonds=ladder(L); phi=2*np.pi*k/L; steps=round(T/dt); snap=max(1,steps//10) + h=[] + for(p,q)in bonds: + for P in"XY": s=["I"]*N; s[p]=P; s[q]=P; h.append(("".join(s),1.0)) + Lop=Lindbladian(N,h,[]); g=TranslationGroup.ladder(L,2); mom=np.array([k],dtype=np.int32) + zs=["I"*q+"Z"+"I"*(N-q-1) for q in range(N)]; zb=_basis_to_codes(zs,N) + seed=np.array([np.exp(-1j*phi*(q%L)) for q in range(N)],dtype=np.complex128) + bo,coo=canonicalize_basis_arr_complex(zb,seed,g,mom); pr=bo.copy() + sb,sc=bo.copy(),coo.copy(); den=np.sum(np.conj(sc)*sc) + def Ck(bo,coo): + idxm={bo[i].tobytes():i for i in range(len(bo))}; num=0j + for i in range(len(sb)): + key=sb[i].tobytes() + if key in idxm: num+=np.conj(sc[i])*coo[idxm[key]] + return num/den + curve=[Ck(bo,coo)]; peak=len(bo); t0=time.time() + for st in range(steps): + bo,coo=Lop.pc_step_orbit_rep(bo,coo,dt,mb,g,mom,drop,pr); peak=max(peak,len(bo)) + if (st+1)%snap==0: curve.append(Ck(bo,coo)) + return curve,time.time()-t0,peak + +def run_trotter(L,k,T,dt,mac,mb,perbond=False): + # perbond=True is the scheme of the verified real-space baseline + # (demo/trotter_ladder.py): rxx untruncated, each ryy truncates. The legacy + # perbond=False variant defers all truncation to the end of the step, which + # blows up the intra-step transient at large N. + N,bonds=ladder(L); phi=2*np.pi*k/L; steps=round(T/dt); snap=max(1,steps//10) + g=TranslationGroup.ladder(L,2); mom=[k] + def mk(fn): return PauliSum.new(N,[(f"Z{q}",float(fn(phi*(q%L)))) for q in range(N)],min_abs_coeff=mac,max_pauli_weight=N) + R=mk(np.cos); Im=mk(lambda x:-np.sin(x)); Rs=mk(np.cos); Ims=mk(lambda x:-np.sin(x)) + Rs.momentum_merge(Ims,g,mom); norm=Rs.overlap(Rs)+Ims.overlap(Ims) + def Ck(R,Im): + re=Rs.overlap(R)+Ims.overlap(Im); im=Rs.overlap(Im)-Ims.overlap(R); return (re+1j*im)/norm + def snapCk(): + Rc=R.copy(); Ic=Im.copy(); Rc.momentum_merge(Ic,g,mom); return Ck(Rc,Ic) + def sweep(o): + if perbond: + for a,b in bonds: o.rxx(a,b,dt,truncate=False); o.ryy(a,b,dt) + for a,b in reversed(bonds): o.rxx(a,b,dt,truncate=False); o.ryy(a,b,dt) + else: + for a,b in bonds: o.rxx(a,b,dt,truncate=False); o.ryy(a,b,dt,truncate=False) + for a,b in reversed(bonds): o.rxx(a,b,dt,truncate=False); o.ryy(a,b,dt,truncate=False) + o.truncate() + curve=[snapCk()]; peak=len(R); t0=time.time() + for st in range(steps): + sweep(R); sweep(Im) + peak=max(peak,max(len(R),len(Im))) + if (st+1)%snap==0: curve.append(snapCk()) + return curve,time.time()-t0,peak + +if len(sys.argv)>1 and sys.argv[1]!="driver": + m=sys.argv[1];L=int(sys.argv[2]);k=int(sys.argv[3]);T=float(sys.argv[4]);dt=float(sys.argv[5]);knob=float(sys.argv[6]);mb=int(sys.argv[7]) + if m=="expm": curve,wall,peak=run_expm(L,k,T,dt,knob,mb) + else: curve,wall,peak=run_trotter(L,k,T,dt,knob,mb,perbond=(m=="trotter-pb")) + print(json.dumps(dict(curve=[[c.real,c.imag] for c in curve],wall=wall,peak=peak,rss=rss()))); sys.exit(0) + +# ---- driver: exact-ED-referenced from npz ---- +import subprocess +W=os.path.abspath(__file__); PY=sys.executable; D=os.path.dirname(W) +L,k,T=7,3,2.0 +npz=np.load(os.path.join(D,"exact_ref_L7_k3_T2.npz")) +REF=npz["ref"] +def call(method,dt,knob,mb,stream=False): + env={**os.environ} + if stream: env["PPVM_EXPM_STREAM"]="1" + else: env.pop("PPVM_EXPM_STREAM",None) + r=subprocess.run([PY,W,method,str(L),str(k),str(T),str(dt),str(knob),str(mb)],capture_output=True,text=True,env=env) + try: d=json.loads(r.stdout.strip().splitlines()[-1]) + except Exception: return None + d["curve"]=np.array([c[0]+1j*c[1] for c in d["curve"]]); return d +def rel(c): + n=min(len(c),len(REF)); return float(np.linalg.norm(c[:n]-REF[:n])/np.linalg.norm(REF[:n])) +print(f"ORBIT k-RESOLVED BENCH AT SCALE: ladder L={L}(N={2*L}) k={k} T={T} (exact-ED reference)",flush=True) +print(f"{'method':14} {'dt':>6} {'knob':>7} {'max_basis':>9} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) +if len(sys.argv)>2: + PLAN=[] + for row in sys.argv[2:]: + f=row.split(":"); PLAN.append((f[0],float(f[1]),float(f[2]),int(f[3]),1 if (len(f)>4 and f[4]=="stream") else 0)) +else: + PLAN=[ + ("expm-cache",0.1,1e-3,10**7,0),("trotter",0.1,1e-3,10**7,0), + ("expm-cache",0.05,1e-3,10**7,0),("trotter",0.05,1e-3,10**7,0), + ] +for name,dt,knob,mb,stream in PLAN: + method=name if name.startswith("trotter") else "expm" + d=call(method,dt,knob,mb,bool(stream)) + if d is None: print(f"{name:14} {dt:>6} {knob:>7.0e} {mb:>9} FAILED",flush=True); continue + print(f"{name:14} {dt:>6} {knob:>7.0e} {mb:>9} {rel(d['curve']):>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) From c91c57ea12c48669107605dc13aef9afed0c0f80 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 02:02:40 +0100 Subject: [PATCH 063/159] autotune(orbit-compare): record L=7 at-scale results - expm owns rel<3e-3, trotter-pb wins loose; scheme fix Exact-ED-referenced scan at N=14, k=3, T=2, bases to 5.5M terms. Trotter per-bond truncation fix (legacy end-of-step palindrome explodes at N=14); supersedes the L=5 'wall ~tied' conclusion. Crossover at rel~3e-3: below it Trotter's per-gate truncation error accumulation is budget-infeasible while expm converges (best 2.08e-3 at 1.40M terms); above it trotter-pb is far faster. Stream 24x wall for -5% RSS at 100k -> cache default. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 92 +++++++++++++++++-- 1 file changed, 85 insertions(+), 7 deletions(-) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index b80be720..add812fc 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -24,13 +24,12 @@ KEY API notes learned: Harnesses: orbit_verify.py (expm), trotter_orbit_verify.py (Trotter). ## Remaining stages -1. Add orbit-rep STREAMING (matrix-free) to orbit_rep.rs (PPVM_EXPM_STREAM does - NOT reach it -- it has its own build_orbit_rep_cols/OrbitRepCscOp). Needed for - the expm stream-vs-cache comparison in the orbit-preserving case. -2. Scale to ~1M orbit-rep basis: large-N chain (orbit-rep basis ~ full/|G|), long - enough T. No exact ED at that scale -> converged reference (tightest drop/dt). -3. Scan dt x drop_tol for BOTH methods; match rel~1e-3; compare wall + PEAK RSS. - For expm: stream vs cache (leakage), both with a max_basis cut. +1. DONE (858bbef7): orbit-rep streaming via PPVM_EXPM_STREAM (StreamOrbitOp). +2. DONE (2026-07-04): scaled to 1.40M orbit-rep peak at L=7 -- and got an EXACT + ED reference there instead of a converged one (see below). +3. DONE (2026-07-04): dt x knob scan both methods at L=7; see the at-scale + section below. NOTE: the L=5 Trotter numbers above used the legacy + end-of-step truncation scheme; see the scheme-fix note below. ## L=5 (N=10) orbit k-resolved: Trotter vs expm, exact-ED referenced @@ -59,3 +58,82 @@ Stream vs cache with a max_basis=15k CUT (from the first pass, dt0.1 drop1e-4): => streaming is a LARGE-basis RAM tool; at 15k it costs ~13x wall for ~9% RAM (the cache is a small fraction of the ~200MB baseline there). Not worth it at this size. + +## At scale: L=7 (N=14) ladder, k=3, T=2, EXACT-ED referenced (2026-07-04) + +Design: instead of a self-converged reference at L=8+ (probes showed drop<=3e-4 +grows unboundedly there: 904k terms at t=0.7, still x1.8/step), we chose L=7 -- +big enough to be truncation-limited everywhere probed (orbit ceiling 4^14/7 = +38M, bases reached 5.5M), small enough that the EXACT reference is computable: +dim 2^14 dense ED. exact_ref_L7.py computes C_k(t) via the |U|^2 bilinear form +(same formula as the verified L=5 driver), with two speedups: H(XY) is REAL +symmetric -> dsyevd, and U-blocks via two real dgemms. 44 min one-time, saved +to exact_ref_L7_k3_T2.npz. Validated at L=5 against the known REF (5e-7). + +### TROTTER SCHEME FIX (important) +orbit_bench.py ran the WHOLE Strang palindrome with truncate=False and one +truncate() per step ("legacy"). The VERIFIED real-space baseline +(demo/trotter_ladder.py) truncates per bond (rxx untruncated, each ryy +truncates). At N=10 the difference is mild (L=5, dt.05/mac1e-4: legacy rel +2.9e-3/44s, per-bond 3.7e-3/35s, same 256k peak). At N=14 it is fatal for the +legacy scheme: mac=3e-3 dt=0.1 ran >2.5h at 10.7GB RSS (killed; intra-palindrome +transient explodes over 84 untruncated gates) where per-bond takes 1.0s. All +L=7 Trotter rows below use per-bond ("trotter-pb", the honest baseline). +=> The L=5 "wall ~tied" conclusion above is an artifact of the weak legacy + baseline. The at-scale picture replaces it. + +### Scan (harness orbit_bench_L7.py; uncontended M-machine, 10 cores, 32GB) +method dt knob rel_err wall_s RSS_mb peak +expm-cache 0.1 3e-3 1.87e-2 79 965 23.5k +expm-cache 0.1 1e-3 2.21e-2 709 5334 212k +expm-cache 0.05 3e-3 7.41e-3 107 625 12.3k +expm-cache 0.05 1e-3 9.17e-3 961 3510 116k +expm-cache 0.05 3e-4 2.08e-3 5397 9240 1.40M <- best rel achieved +expm-cache 0.025 1e-3 6.51e-3 951 1802 48.5k +trotter-pb 0.1 3e-3 3.23e-2 1 164 18.9k +trotter-pb 0.1 1e-3 1.45e-2 9 296 160k +trotter-pb 0.05 1e-3 3.01e-2 4 183 58.6k +trotter-pb 0.05 3e-4 4.13e-3 103 722 637k +trotter-pb 0.05 1e-4 3.31e-3 1412 4155 5.46M <- trotter frontier +trotter-pb 0.025 3e-4 5.79e-3 58 308 208k +trotter-pb 0.025 1e-4 5.61e-3 761 1369 1.82M + +### Findings +1. BOTH methods have a dt<->knob coupling: at fixed knob, SMALLER dt can be + WORSE (trotter mac=3e-4: dt.05 4.1e-3 -> dt.025 5.8e-3; expm drop=1e-3: + dt.05 9.2e-3 -> dt.025 6.5e-3 barely helps). Trotter: smaller rotations + put more new terms under mac, error compounds PER GATE (84 gates/step). + expm: tau_add = K*drop/dt stiffens the end-filter as dt shrinks. Tuning + must move dt and knob together. +2. PRECISION FRONTIER: expm reaches rel 2.08e-3 (1.40M terms, 90 min, 9.2GB). + Trotter saturates at ~3.3e-3: tightening mac 3e-4 -> 1e-4 bought x1.25 in + rel for x8.6 terms (637k -> 5.46M) and x14 wall -- extrapolating to 2e-3 + needs >>20M terms, RAM-infeasible here. Below rel ~3e-3, expm is the only + method that runs at all on this machine. +3. CROSSOVER at rel ~3e-3: looser than that, trotter-pb is far faster on wall + (its per-gate PauliSum engine is much cheaper per term than expm's complex + CSC/Krylov step: at rel~4e-3 trotter costs ~100s vs expm ~2-3000s interp). + Tighter than that, trotter's cost curve goes vertical (finding 2) while + expm still converges (dt^3 floor + per-STEP error accumulation). +4. TERM EFFICIENCY unchanged from L=5: at the frontier expm holds 3.9x fewer + terms (1.40M vs 5.46M) at BETTER rel -- but expm's per-term RAM is ~5x + (9.2GB vs 4.2GB at those sizes: complex coeffs + doubly-enriched transient + + CSC cache), so the term advantage does not convert to an RSS win. +5. STREAM vs CACHE at mb=100k cut (dt.1/3e-4): identical rel 6.13e-2 (good), + stream 649s vs cache 27s (24x) for 273 vs 288MB (-5%). Streaming's RAM + savings only matter at multi-M bases where its wall (24x on 90min) is + impractical -> cache is the right default on the orbit path; max_basis is + the RAM lever but the hard cap costs a lot of accuracy (6.1e-2 capped at + 100k vs 2.2e-2 uncapped 212k at same dt) -- prefer picking drop to fit the + RAM budget over capping (consistent with real-space scan_admission). +6. Growth probes (growth_probe.py): L=7 drop 1e-3 peaks ~212k at t=1.0 then + declines; L=7 drop 3e-4 crosses 1M around t~1.0 (peak 1.40M full run); + L=8 drop 1e-4 was 904k at t=0.7 still x1.8/step (unbounded within reach). + +### Paper implication (momentum section) +Punchline shifts from "wall ~tied, 5x fewer terms" (L=5, weak baseline) to: +k-resolved CTPP owns the high-precision regime -- exact-in-dt (O(dt^3) two-hop +floor) + per-step truncation beats 2nd-order Strang whose per-gate truncation +error accumulation makes rel <~ 3e-3 unreachable at N=14 regardless of budget; +at loose precision gate-based propagation is the faster tool. Both statements +are exact-ED-referenced at N=14 with bases to 5.5M terms. From 48d9af9bddf6ce260a84ac4e245861657c8f6ba4 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 03:54:19 +0100 Subject: [PATCH 064/159] autotune(orbit-compare): k=1 canonical row - expm sub-1e-3 (5.5e-4) vs trotter ceiling 2.7e-3 k=1 exact-ED reference + 11-cell scan. At Trotter's saturation precision expm holds 20x fewer terms at comparable wall; below ~2e-3 expm is the only feasible method. Driver now selects the reference via PPVM_BENCH_K. Co-Authored-By: Claude Fable 5 --- .../exact_ref_L7_k1_T2.npz | Bin 0 -> 1486 bytes docs/autotune/2026-07-03-orbit-compare/log.md | 34 ++++++++++++++++++ .../orbit_bench_L7.py | 4 +-- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/exact_ref_L7_k1_T2.npz diff --git a/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7_k1_T2.npz b/docs/autotune/2026-07-03-orbit-compare/exact_ref_L7_k1_T2.npz new file mode 100644 index 0000000000000000000000000000000000000000..d3ae62bd3edfdda511068b73d1d9c8234590fe89 GIT binary patch literal 1486 zcmWIWW@gc4fB;2?iOMmn|3d*Ag9t-Ov0h$5B_o3X!wsk!7(Ll9)HfiKk)e#CT0JGT zIJrpONU)(wI9#>T-yfa|F^a}Y^YeeV)K3(uzHO>(L$38S6D3F{{yUEeNT8r z@KfF=Df=Pzi|l!G{OXpw2j)QSSF}M5=p`HHuYv_MD=?t5VZq!1jc6E+J(x3zOLr6| zI$(0;g2p-ns`CvC!@eUsKZG>r6PazO;CyIkq9t?X9UpR#o$o`M^XV7*>`?aycr!BT zGNYDTppprM*`R7bR0BA=Af*_(9#Gx}WnK`5nG4Y)02G1dbaYLibP7s}Aj}F<4FwI1 zl}rqfREw?!ls2$yv0!Fk0H+jmEui?ouH`#W3pjQHyjj5>Wd%Be3FzK!EFhNv0Bp^E A{Qv*} literal 0 HcmV?d00001 diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index add812fc..f0feda12 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -137,3 +137,37 @@ floor) + per-step truncation beats 2nd-order Strang whose per-gate truncation error accumulation makes rel <~ 3e-3 unreachable at N=14 regardless of budget; at loose precision gate-based propagation is the faster tool. Both statements are exact-ED-referenced at N=14 with bases to 5.5M terms. + +## k=1 (hydrodynamic mode) -- THE CANONICAL ROW (2026-07-04, user: "k=1 is enough") + +Same L=7/T=2 setup, exact ED ref exact_ref_L7_k1_T2.npz (17 min uncontended; +C_k1 decays slowly through zero at t~1: 1, .886, .611, .307, .077, -.049, ...). +Driver takes PPVM_BENCH_K to select the reference. + +method dt knob rel_err wall_s RSS_mb peak +expm-cache 0.1 3e-3 4.63e-3 30 681 19.0k +expm-cache 0.05 3e-3 1.62e-2 32 418 9.7k <- coupling: worse than dt=.1 +expm-cache 0.05 1e-3 1.81e-3 432 2828 84.8k <- beats trotter's ceiling, 20x fewer terms +expm-cache 0.05 3e-4 5.46e-4 2752 9274 1.01M <- SUB-1e-3, frontier +expm-cache 0.025 1e-3 6.02e-3 357 1224 35.9k +trotter-pb 0.1 3e-3 1.75e-2 1 162 17.5k +trotter-pb 0.1 1e-3 1.29e-2 5 261 142k +trotter-pb 0.05 1e-3 1.89e-2 3 179 55.5k +trotter-pb 0.05 3e-4 5.82e-3 44 706 567k +trotter-pb 0.025 3e-4 2.80e-3 20 274 190k +trotter-pb 0.025 1e-4 2.73e-3 280 1310 1.65M <- ceiling: x8.7 terms for -2.5% + +k=1 findings (sharper than k=3, same structure): +1. Trotter ceiling ~2.7e-3: mac 3e-4 -> 1e-4 bought 2.80 -> 2.73e-3 (x8.7 terms, + x14 wall). Same saturation as k=3, now at a lower level (slow mode = smaller + effective Trotter error), still a dead end. +2. expm goes SUB-1e-3: 5.46e-4 at 1.01M terms / 46 min / 9.3GB -- 5x more + accurate than trotter's ceiling at ~0.6x the terms. +3. At trotter's ceiling precision (~2.7e-3): expm dt.05/drop1e-3 gives 1.81e-3 + at 432s vs trotter 280s -- wall comparable, terms 85k vs 1.65M (20x fewer), + so at matched precision the orbit advantage DOES convert at k=1. +4. dt<->knob coupling confirmed on the expm side too: drop 3e-3, dt .1 -> .05 + WORSENS rel 4.6e-3 -> 1.6e-2 (tau_add = K*drop/dt stiffens the end-filter). +5. Paper row: k=1, exact-ED referenced, N=14 -- "CTPP reaches 5e-4 where + 2nd-order Strang saturates at 3e-3; at Strang's own best precision CTPP + holds 20x fewer terms at equal wall." diff --git a/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py b/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py index d42e77c7..fd92b8ce 100644 --- a/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py +++ b/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py @@ -79,8 +79,8 @@ def sweep(o): # ---- driver: exact-ED-referenced from npz ---- import subprocess W=os.path.abspath(__file__); PY=sys.executable; D=os.path.dirname(W) -L,k,T=7,3,2.0 -npz=np.load(os.path.join(D,"exact_ref_L7_k3_T2.npz")) +L,k,T=7,int(os.environ.get("PPVM_BENCH_K","3")),2.0 +npz=np.load(os.path.join(D,f"exact_ref_L7_k{k}_T2.npz")) REF=npz["ref"] def call(method,dt,knob,mb,stream=False): env={**os.environ} From 87e655ae7e53e072bf213b1deec87d655b9aac10 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 08:11:32 +0100 Subject: [PATCH 065/159] autotune(orbit-compare): RAM comparison at matched precision; correct the term-count framing Best-of-each-method wall AND RSS at each rel class, both k. Trotter is cheaper in both wall and RAM everywhere it can reach (~22x/~10x at its 2.8e-3 ceiling at k=1); expm's term advantage does not convert to RAM. CTPP's momentum value = extended precision range + open systems. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index f0feda12..4ce1c820 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -171,3 +171,41 @@ k=1 findings (sharper than k=3, same structure): 5. Paper row: k=1, exact-ED referenced, N=14 -- "CTPP reaches 5e-4 where 2nd-order Strang saturates at 3e-3; at Strang's own best precision CTPP holds 20x fewer terms at equal wall." + +## RAM comparison, best-of-each-method at matched precision (2026-07-04) + +(All RSS from ru_maxrss in the worker; ~150-200 MB of it is python/numpy +baseline, which matters only for the small-basis cells.) + +k=1, picking each method's CHEAPEST cell at a given rel: + rel ~1.3-1.9e-2 (loose): trotter .1/1e-3 13 e-3 4.5s 261 MB + expm .05/3e-3 16 e-3 32s 418 MB + -> trotter ~7x wall, ~1.6x RAM cheaper + rel ~5e-3 (mid): trotter .05/3e-4 5.8e-3 44s 706 MB + expm .1/3e-3 4.6e-3 30s 681 MB + -> genuinely TIED on both wall and RAM + (but dominated: see next row) + rel ~2.8e-3 (trotter's trotter .025/3e-4 2.8e-3 20s 274 MB + ceiling): expm .05/1e-3 1.8e-3 432s 2828 MB + -> trotter ~22x wall, ~10x RAM cheaper + rel <= 1e-3: expm .05/3e-4 5.5e-4 46min 9274 MB + trotter: unreachable at any budget tried + (1e-4: 2.73e-3 at 280s/1310 MB, saturated) + +k=3, same exercise: trotter's cheapest at its ~4e-3 class is .05/3e-4 +(4.1e-3, 103s, 722 MB); expm needs .05/3e-4 (2.1e-3, 90min, 9240 MB) to beat +it on rel -- again trotter is cheaper in wall AND RAM everywhere it can reach. + +CORRECTION to k=1 finding 3 above: "20x fewer terms at comparable wall" compared +expm against trotter's SATURATED 1e-4 cell (280s/1310 MB). Trotter's efficient +cell at the same rel (.025/3e-4: 20s/274 MB) is ~22x faster and ~10x lighter +than expm's 1.81e-3 cell. Fewer terms (85k vs 190k) does NOT convert to less +RAM: expm's per-term footprint (complex coeffs + CSC cache + enriched +transient) eats the entire term advantage. + +HONEST HEADLINE (both k): within the precision range Trotter can reach at all, +gate-based propagation is cheaper in BOTH wall and RAM (up to ~20x/~10x at its +ceiling). CTPP's momentum-space value is exclusively the extended precision +range (5x lower error at k=1: 5.5e-4 vs 2.7e-3 ceiling, at 46min/9.3GB) plus +what gate methods cannot do at all (Lindbladians, exact-in-dt). The paper +must state the trade this way and not claim a term-count win as a memory win. From 6866c3b40327a2db1b9d0e3e4ad0da38fec74bb5 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 10:12:52 +0100 Subject: [PATCH 066/159] autotune(orbit-compare): xy-experiments harness scan - K=1 Pareto win, merged/unmerged trotter split dt x drop x K scan at L=7 k=1 on the xy-experiments harnesses. K=1 end-filter is a strict Pareto improvement for pec at drop 1e-3 (5x wall, 3.5x RAM, better rel); neither trotter variant dominates the other; mid-accuracy head-to-head recorded with wall AND peak RSS. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 72 +++++++++++++++++++ .../2026-07-03-orbit-compare/scan_xy_mid.py | 61 ++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/scan_xy_mid.py diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 4ce1c820..e8974349 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -209,3 +209,75 @@ ceiling). CTPP's momentum-space value is exclusively the extended precision range (5x lower error at k=1: 5.5e-4 vs 2.7e-3 ceiling, at 46min/9.3GB) plus what gate methods cannot do at all (Lindbladians, exact-in-dt). The paper must state the trade this way and not claim a term-count win as a memory win. + +## Harness migration to xy-experiments + dt x drop x K mid-precision scan (2026-07-04) + +User preference: use the clean xy-experiments harnesses (k_pec_run.py / +k_trotter_run.py + main_k_{pec,xy}_ladder.py) instead of orbit_bench_L7.py. +Differences that matter: +- TROTTER: k_trotter_run evolves the momentum-MERGED pair (momentum_merge + every step). orbit_bench evolved the full real-space pair (merge only at + readout). Merging redistributes weight onto reps (coefficient = sum over L + translates), so the SAME min_abs_coeff is effectively ~L x looser: better + rel per knob, but far bigger live basis. Neither variant dominates -- see + below. Both validated vs exact ED at L=5 (pec 1.86e-3 == ledger; trot + 3.20e-3 vs 2.9e-3 unmerged). +- PEC: identical pc_step_orbit_rep kernel (k_pec_run passes no protected_arr; + negligible). Records C_k every step; supports dephasing jumps. +- Fixed stale `from ppvm_python_native import ...` (module no longer + installed; symbols live in ppvm._core) -- committed in xy-experiments + (a044a27). Peak RSS measured externally via /usr/bin/time -l (the h5 + peak_rss_mb attr is psutil END-rss, not peak). +Driver: scan_xy_mid.py (this folder). L=7, k=1, T=2, exact-ED referenced. + +Scan (K = PPVM_K_LEAKAGE, tau_add = K*drop/dt; K=0 no end-filter): +method dt drop K rel_err wall_s peakRSS peak_reps +trot(m) 0.1 1e-3 - 8.12e-3 70 910MB 906k +trot(m) 0.1 3e-4 - 7.42e-3 718 7.0GB 6.90M <- dt-floor, wasted +trot(m) 0.05 3e-3 - 1.49e-2 7 171MB 61k +trot(m) 0.05 1e-3 - 7.60e-3 65 586MB 522k +trot(m) 0.05 3e-4 - 2.55e-3 728 3.6GB 4.75M <- below unmerged ceiling! +trot(m) 0.025 3e-3 - 3.09e-2 4 133MB 22k <- coupling +trot(m) 0.025 1e-3 - 7.51e-3 38 247MB 189k +trot(m) 0.0125 1e-3 - 1.86e-2 21 168MB 62k <- coupling +pec 0.1 3e-3 0 5.10e-3 32 647MB 19k +pec 0.1 3e-3 1 7.26e-3 8 316MB 40k +pec 0.1 3e-3 5 2.36e-2 1 167MB 4.5k <- over-filtered +pec 0.05 3e-3 1 9.45e-3 7 249MB 21k +pec 0.05 3e-3 5 7.88e-3 1 136MB 1.3k <- absurdly cheap ~8e-3 +pec 0.1 1e-3 0 3.40e-3 341 3.8GB 159k +pec 0.1 1e-3 1 3.17e-3 93 1.5GB 354k +pec 0.1 1e-3 5 1.01e-2 8 273MB 43k +pec 0.05 1e-3 1 1.30e-3 82 808MB 211k <- STAR CELL +pec 0.05 1e-3 5 7.26e-3 4 219MB 11k +pec 0.025 1e-3 1 5.59e-3 45 329MB 70k +(NOTE trot(m) 0.1/1e-4 was killed pre-emptively: extrapolated ~30M reps / + ~30GB. merged 0.025/3e-4 not run -- gap, likely dominated anyway.) + +FINDINGS: +1. K=1 IS A STRICT PARETO WIN for pec at drop=1e-3: vs K=0 at dt=0.05 + (old-harness K0: 1.81e-3/432s/2.8GB) K=1 gives 1.30e-3 / 82s / 808MB -- + better rel, 5.3x wall, 3.5x RAM. Same at dt=0.1 (3.17e-3/93s/1.5GB vs + 3.40e-3/341s/3.8GB). K=5 over-filters at drop<=1e-3 but is a bargain + dial at loose drop (7.9e-3 at 1s/136MB!). K=1 default recommended for + momentum runs; the old K-leakage guidance ("K~1 helps 1.1-2x") strongly + UNDERSTATED the k=1 benefit. +2. Merged vs unmerged Trotter: NEITHER dominates. Merged reaches 2.55e-3 + (unmerged saturated at 2.7e-3) but at 728s/3.6GB/4.75M reps; unmerged + 0.025/3e-4 hit 2.80e-3 at 19.5s/274MB. Effective-knob loosening from the + merge is the cause. "Trotter" below = best variant per point. +3. dt<->knob coupling is now confirmed in BOTH methods and BOTH trotter + variants (trot(m) 0.025->0.0125 at 1e-3: 7.5e-3 -> 1.9e-2). + +MID-ACCURACY (~5e-3) OPTIMAL POINTS -- the head-to-head requested: + trotter (unmerged, dt=.025, mac=3e-4): rel 2.80e-3, 19.5s, 274 MB + pec (dt=.1, drop=3e-3, K=0): rel 5.10e-3, 32 s, 647 MB + pec (dt=.025, drop=1e-3, K=1): rel 5.59e-3, 45 s, 329 MB + -> AT the mid class Trotter's best point is still the cheapest (1.6-2.3x + wall, 1.2-2.4x RAM) and overshoots accuracy. + BUT one small step up in budget flips it: pec .05/1e-3/K1 = 1.30e-3 at + 82s/808MB -- 2.1x better rel than Trotter's best-ever (2.55e-3 at + 728s/3.6GB), at 8.9x less wall and 4.5x less RAM than that cell. +REVISED CLASS BOUNDARY (k=1): Trotter owns rel >~ 2.7e-3 (cheap, saturating); +pec+K1 owns rel <~ 2.5e-3 outright (wall AND RAM). The pec frontier costs +from the earlier k=1 section (K=0) are superseded by ~5x cheaper K=1 cells. diff --git a/docs/autotune/2026-07-03-orbit-compare/scan_xy_mid.py b/docs/autotune/2026-07-03-orbit-compare/scan_xy_mid.py new file mode 100644 index 00000000..b0dc0a18 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/scan_xy_mid.py @@ -0,0 +1,61 @@ +"""Mid-precision dt x drop_tol (x K for pec) scan at L=7, k=1, T=2, driving the +clean xy-experiments harnesses (main_k_pec_ladder.py / main_k_xy_ladder.py) +instead of orbit_bench_L7.py. Differences vs orbit_bench_L7 that matter: +- Trotter evolves the momentum-MERGED pair (momentum_merge each step, ~L x + fewer terms live) -- the proper symmetry-compressed baseline; orbit_bench + evolved the full real-space pair and merged only at readout. +- pec: same pc_step_orbit_rep kernel (no protected_arr; validated 1.86e-3 + at the L=5 exact-ED gate, matching the ledger). +Peak RSS via /usr/bin/time -l (their psutil attr is end-RSS, not peak). +rel vs exact ED npz (t = 0, .2, ..., 2.0). + +Usage: scan_xy_mid.py [row ...] rows like pec:0.1:3e-3[:K1] trot:0.05:3e-4 +""" +import os, re, subprocess, sys, time +import numpy as np +import h5py + +HERE = os.path.dirname(os.path.abspath(__file__)) +XY = "/Users/alexschuckert/dev/26_ppvm/xy-experiments" +L, K_MODE, T = 7, 1, 2.0 +REF = np.load(os.path.join(HERE, "exact_ref_L7_k1_T2.npz"))["ref"] + +def run_cell(kind, dt, drop, kleak=None): + steps = round(T / dt) + stride = round(0.2 / dt) + out = f"data/scan_{kind}_dt{dt}_drop{drop:g}" + (f"_K{kleak:g}" if kleak else "") + ".h5" + script = "main_k_pec_ladder.py" if kind == "pec" else "main_k_xy_ladder.py" + cmd = ["/usr/bin/time", "-l", "./run", "run", "python", script, + "--L", str(L), "--dt", str(dt), "--steps", str(steps), + "--drop_tol", str(drop), "--ks", str(K_MODE), "--out", out] + env = {**os.environ} + env.pop("PPVM_K_LEAKAGE", None) + if kleak is not None: + env["PPVM_K_LEAKAGE"] = str(kleak) + t0 = time.time() + r = subprocess.run(cmd, cwd=XY, capture_output=True, text=True, env=env) + wall = time.time() - t0 + m = re.search(r"(\d+)\s+maximum resident set size", r.stderr) + rss_mb = int(m.group(1)) / (1024 * 1024) if m else float("nan") + try: + with h5py.File(os.path.join(XY, out)) as h: + C = (h["C_re"][0] + 1j * h["C_im"][0])[::stride] + peak = int(h["n_basis"][0].max()) + except Exception as e: + return dict(fail=str(e) + " / " + r.stdout[-200:] + r.stderr[-200:]) + rel = float(np.linalg.norm(C - REF) / np.linalg.norm(REF)) + return dict(rel=rel, wall=wall, rss=rss_mb, peak=peak) + +rows = sys.argv[1:] +print(f"XY-EXPERIMENTS MID SCAN: ladder L={L}(N={2*L}) k={K_MODE} T={T} (exact-ED ref)", flush=True) +print(f"{'method':8} {'dt':>7} {'drop':>7} {'K':>4} {'rel_err':>9} {'wall_s':>7} {'peakRSS_mb':>10} {'peak':>8}", flush=True) +for row in rows: + f = row.split(":") + kind, dt, drop = f[0], float(f[1]), float(f[2]) + kleak = next((float(t[1:]) for t in f[3:] if t.startswith("K")), None) + d = run_cell(kind, dt, drop, kleak) + ktag = "-" if kleak is None else f"{kleak:g}" + if "fail" in d: + print(f"{kind:8} {dt:>7} {drop:>7.0e} {ktag:>4} FAILED {d['fail'][:120]}", flush=True) + continue + print(f"{kind:8} {dt:>7} {drop:>7.0e} {ktag:>4} {d['rel']:>9.2e} {d['wall']:>7.1f} {d['rss']:>10.0f} {d['peak']:>8}", flush=True) From 2324407dbc0d3cb30267ec6b043396ea18779d32 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 10:23:37 +0100 Subject: [PATCH 067/159] autotune(orbit-compare): calibrated merged-vs-unmerged trotter dissection tau' = L*tau calibration: merged wins the loose regime outright (user's re-representation intuition holds); tight regime shows ~26x worse truncation-weight efficiency with non-monotonic rel, consistent with coherent whole-orbit drops on the mid-layer transient. pec's orbit-rep path avoids this by never unfolding. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index e8974349..5c1467a6 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -281,3 +281,39 @@ MID-ACCURACY (~5e-3) OPTIMAL POINTS -- the head-to-head requested: REVISED CLASS BOUNDARY (k=1): Trotter owns rel >~ 2.7e-3 (cheap, saturating); pec+K1 owns rel <~ 2.5e-3 outright (wall AND RAM). The pec frontier costs from the earlier k=1 section (K=0) are superseded by ~5x cheaper K=1 cells. + +## Merged vs unmerged Trotter: knob-calibrated dissection (2026-07-04, user challenge) + +User objection: merging is just a re-representation, the Lx storage win should +be unconditional. Test: merged cells at tau' = L*tau (folded coefficients are +~Lx larger, so same tau ==> ~Lx weaker truncation). dt=0.025, k=1: + + merged 7e-3 (=unmerged 1e-3): 2.23e-2 1.4s 113MB 4.0k reps + unmerged 1e-3: 3.27e-2 1.8s 161MB 18.6k terms + -> LOOSE REGIME: user is right. Merged wins on rel AND storage (~L x + compression) AND RAM at calibrated knobs. + + merged 2.1e-3 (=unmerged 3e-4): 2.75e-2 8.7s 145MB 43.8k reps + merged 1e-3: 7.51e-3 38s 247MB 189k reps + merged 5e-4: 3.49e-3 166s 620MB 717k reps + unmerged 3e-4: 2.80e-3 19.5s 274MB 190k terms + -> TIGHT REGIME: merged converges but needs ~3.8x more STORED reps (each + rep = 7 translates, so ~26x more represented weight) for slightly worse + rel; unmerged wins ~8x wall / ~2.3x RAM at the ~3e-3 class. Merged rel + is NON-MONOTONIC in drop (2.2e-2 -> 2.75e-2 -> 7.5e-3 -> 3.5e-3), a + coherent-error signature. + +Interpretation (mechanism hypothesis, not fully dissected): in merged form +every per-gate truncation decision on the mid-layer transient drops ALL L +translates coherently (error amplitude ~L per decision); in unmerged form +drops are translate-level with quasi-random phases (partial cancellation), +and the readout sector-projection filters out-of-sector truncation noise for +free. Loose truncation: few decisions -> storage win dominates. Tight: the +coherent amplification dominates. + +NOTE the pec orbit-rep path is the *proper* re-representation the objection +assumes: it never unfolds (whole evolution in canonical rep space, truncation +once per step on the invariant |c_orbit|), so it gets the Lx compression +without the per-gate coherent-drop pathology. Paper angle: symmetry-compressed +truncation is natural in the CTPP orbit basis; grafting it onto gate-based +propagation via per-step fold/unfold injects coherent truncation error. From 14f664223da8a650c6790dc5044b5fe3f4580236 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 10:56:32 +0100 Subject: [PATCH 068/159] autotune(orbit-compare): extended K=5 grid - pec matches Trotter's frontier within 2x pec 0.05/3e-4/K5 = 2.78e-3 at 35s/524MB vs Trotter's best 2.80e-3 at 19.5s/274MB. K rule of thumb: K*drop/dt ~ 0.01-0.03. Combined K-tuned pec Pareto frontier tracks Trotter everywhere and extends below 2.5e-3. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 5c1467a6..870967a8 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -317,3 +317,36 @@ once per step on the invariant |c_orbit|), so it gets the Lx compression without the per-gate coherent-drop pathology. Paper angle: symmetry-compressed truncation is natural in the CTPP orbit basis; grafting it onto gate-based propagation via per-step fold/unfold injects coherent truncation error. + +## Extended K=5 grid (2026-07-04, user: "K=5 got very close to Trotter") + +pec, k=1, all dt x drop with K=5 (tau_add = 5*drop/dt): + dt drop rel_err wall_s peakRSS peak_reps + 0.025 3e-3 1.04e-1 0.8 121MB 384 <- over-filtered (drop/dt big) + 0.025 1e-3 5.92e-2 1.9 156MB 3.0k <- over-filtered + 0.0125 1e-3 3.82e-2 1.4 131MB 0.8k <- over-filtered + 0.1 3e-4 2.86e-3 69.0 1.4GB 537k + 0.05 3e-4 2.78e-3 35.2 524MB 134k <- AT Trotter's best rel + 0.025 3e-4 4.82e-3 17.6 277MB 34k <- mid class, Trotter-like cost + 0.0125 3e-4 6.18e-3 9.5 196MB 8.4k + 0.1 1e-4 3.89e-3 869 5.9GB 4.75M <- dominated (dt floor + huge basis) + 0.05 1e-4 1.04e-3 500 2.1GB 1.30M + 0.025 1e-4 1.22e-3 225 923MB 325k + +FINDINGS: +1. USER HUNCH CONFIRMED: pec 0.05/3e-4/K5 = 2.78e-3 at 35s/524MB sits at + Trotter's best-ever rel (2.80e-3 at 19.5s/274MB) within 1.8x wall / 1.9x + RAM. With K=0 the same rel class cost 432s/2.8GB -- the end-filter buys + ~12x wall / ~5x RAM at Trotter-ceiling precision. +2. K=5 over-filters iff drop/dt is large (tau_add >~ 0.1); rule of thumb: + pick K*drop/dt ~ 0.01-0.03. +3. Combined pec Pareto frontier (k=1) now TRACKS Trotter down to its ceiling + and extends beyond: + 7.9e-3: 1s/136MB (3e-3,K5) | 4.8e-3: 18s/277MB (0.025/3e-4,K5) + 2.8e-3: 35s/524MB (0.05/3e-4,K5) | 1.3e-3: 82s/808MB (0.05/1e-3,K1) + 1.0e-3: 500s/2.1GB (0.05/1e-4,K5) | 5.5e-4: 46min/9.3GB (0.05/3e-4,K0) + Trotter's remaining edge at its own best point is <2x wall/RAM; below + ~2.5e-3 pec owns everything. +REVISED HEADLINE: with the K end-filter tuned (K*drop/dt ~ 0.01-0.03), CTPP +matches gate-based propagation within <2x across Trotter's entire reachable +range and is the only method below ~2.5e-3. From 4a9c8dbd3d6b1e967d1353e5a1c86b0fbe3e7043 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 10:57:34 +0100 Subject: [PATCH 069/159] autotune(orbit-compare): retract 'within 2x = competitive' framing; bar is ~20s Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 870967a8..3bff0e37 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -350,3 +350,14 @@ FINDINGS: REVISED HEADLINE: with the K end-filter tuned (K*drop/dt ~ 0.01-0.03), CTPP matches gate-based propagation within <2x across Trotter's entire reachable range and is the only method below ~2.5e-3. + +## CORRECTION (2026-07-04, user): "within 2x" is NOT competitive + +The bar for "competitive" at Trotter's frontier point (2.80e-3 at 19.5s/274MB) +is ~20s wall. pec's best there (0.05/3e-4/K5: 2.78e-3, 35s, 524MB) MISSES it +(1.8x wall, 1.9x RAM). Retract the "tracks within <2x = competitive" framing. +Standing summary: at rel >~ 2.5e-3 Trotter remains the cheaper method; pec is +the only method below ~2.5e-3, and K-tuning cut its cost there by ~5-12x vs +K=0. Untested knobs if the ~20s target is pursued later: interior K (3-7) at +0.05/3e-4, drop between 3e-4 and 1e-3 with K rescaled to keep K*drop/dt ~ +0.01-0.03, dt ~ 0.03-0.04. From caca41bc705e434e98a3e4e662e27a21e3813581 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 11:51:47 +0100 Subject: [PATCH 070/159] autotune(orbit-compare): adopt median pointwise rel metric - pec wins every class Median-of-pointwise-relative-error (user directive) replaces L2 norm ratio. Under it pec+K wins all precision classes (~10x wall at mid); Trotter saturates at median ~5.4e-3. Large metric sensitivity documented (L2 star cells are early-time-heavy). Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 3bff0e37..816dfcb6 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -361,3 +361,49 @@ the only method below ~2.5e-3, and K-tuning cut its cost there by ~5-12x vs K=0. Untested knobs if the ~20s target is pursued later: interior K (3-7) at 0.05/3e-4, drop between 3e-4 and 1e-3 with K rescaled to keep K*drop/dt ~ 0.01-0.03, dt ~ 0.03-0.04. + +## METRIC CHANGE: median pointwise relative error (2026-07-04, user directive) + +New standard metric: median over the 11 sample times of |C(t)-REF(t)|/|REF(t)| +(pointwise rel first, then aggregate; NOT norm-ratio, NOT avg-abs/avg-ref). +Rationale: L2 norm-ratio is dominated by early times where |REF| is O(1); +the mean of pointwise rel is dominated by the zero crossing at t=1.8 +(REF=-0.0026); the median measures typical relative accuracy across the +decay. Adopted after user review. + +All cells with stored curves, recomputed (k=1; wall/RSS from original runs; +old-harness cells re-run ONLY if wall < 30s per user rule): + + method K drop dt median_rel wall RSS + pec 1 1e-3 0.05 1.02e-3 81s 808MB <- best overall + pec 5 1e-4 0.05 1.36e-3 499s 2.1GB + pec 5 1e-4 0.025 2.29e-3 224s 923MB + pec 1 3e-3 0.05 5.39e-3 6.1s 249MB <- mid winner + pec 5 1e-3 0.05 7.21e-3 3.5s 219MB <- loose winner + pec 5 3e-4 0.0125 6.94e-3 8.8s 196MB + pec 5 3e-4 0.05 2.23e-2 34s 524MB <- ex-"star cell"! + pec 0 3e-3 0.1 1.65e-2 32s 647MB + trot(merged) - 5e-4 0.025 5.42e-3 165s 620MB <- trot best + trot(merged) - 1e-3 0.05 5.68e-3 64s 586MB + trot(merged) - 3e-4 0.05 5.86e-3 728s 3.6GB + trot(unmerged) - 3e-4 0.025 1.16e-2 21s 274MB + trot(unmerged) - 1e-3 0.1 5.37e-2 7s 261MB + (trot(unmerged) 0.025/1e-4 and pec K0 0.05/3e-4 NOT re-measured: >30s rule.) + +FINDINGS UNDER THE MEDIAN METRIC: +1. THE STORY FLIPS: pec wins EVERY precision class, by large margins. + ~7e-3: pec 3.5s/219MB vs trot 21s/274MB (unmerged, 1.16e-2). + ~5.5e-3: pec 6.1s/249MB vs trot(merged) 64s/586MB -- 10x wall, 2.4x RAM. + ~1e-3: pec 81s/808MB; NO measured Trotter cell below 5.4e-3. + Trotter saturates at median ~5.4e-3 among measured cells: its tight-knob + cells improve early-time (L2) accuracy but not late-time relative accuracy. +2. METRIC SENSITIVITY IS LARGE. The L2 "star cell" (pec 3e-4/0.05/K5: + L2 2.78e-3) has median 2.23e-2 -- excellent early, mediocre late. + Conversely pec K1 1e-3/0.05 is uniform (L2 1.30e-3, median 1.02e-3). + Same for trot(unmerged) 0.025/3e-4: L2 2.80e-3 but median 1.16e-2. + The L2-based conclusion "Trotter cheaper at rel >~2.5e-3" was an artifact + of early-time weighting; for k-resolved DECAY-RATE physics (late-time + relative accuracy), the median verdict is the physically relevant one. +3. Best-known settings under median: pec dt=0.05 with (drop=3e-3,K=1) for + fast/mid, (drop=1e-3,K=1) for precision. dt=0.05 is consistently the pec + sweet spot at T=2. From 75e494788780e0311164c2d893096b851627a468 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 11:55:12 +0100 Subject: [PATCH 071/159] autotune(orbit-compare): overlay plot of highest-precision curves vs exact ED Co-Authored-By: Claude Fable 5 --- .../highest_precision_curves_k1.png | Bin 0 -> 107109 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/highest_precision_curves_k1.png diff --git a/docs/autotune/2026-07-03-orbit-compare/highest_precision_curves_k1.png b/docs/autotune/2026-07-03-orbit-compare/highest_precision_curves_k1.png new file mode 100644 index 0000000000000000000000000000000000000000..479d93a665f71848ffc2872c599580e05b65d82e GIT binary patch literal 107109 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ľ{MU_Vvxu?rJObU4}> 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

HuD4GhZHW;AmBtiPkKmc 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 l(*L(*_&4KL9i!5o!Pc literal 0 HcmV?d00001 From 0f80cdd0f4a538a683dd0d0fa5b67d23782fc2aa Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 12:03:45 +0100 Subject: [PATCH 072/159] autotune(orbit-compare): merged-vs-unmerged revisited under median metric MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unmerged wins both calibrated pairs (~2.3-2.9x rel) — the L2 'merged wins loose' result was early-time weighting. Merged shows a dt-independent median floor ~5.4e-3 (coherent truncation noise). Both dominated by pec. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 816dfcb6..ff570b96 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -407,3 +407,34 @@ FINDINGS UNDER THE MEDIAN METRIC: 3. Best-known settings under median: pec dt=0.05 with (drop=3e-3,K=1) for fast/mid, (drop=1e-3,K=1) for precision. dt=0.05 is consistently the pec sweet spot at T=2. + +## Merged vs unmerged Trotter, revisited under the MEDIAN metric (2026-07-04) + +Calibrated pairs (tau' = L*tau = 7*tau), dt=0.025, median pointwise rel: + merged 7e-3: 1.35e-1 0.7s 4.0k reps | unmerged 1e-3: 5.94e-2 1.8s 18.6k + merged 2e-3: 3.33e-2 8.0s 43.8k reps | unmerged 3e-4: 1.16e-2 21.2s 190k +-> UNMERGED is ~2.3-2.9x BETTER rel at BOTH calibrated pairs. The earlier L2 + result "merged wins the loose pair" was an early-time-weighting artifact; + under the median (late-time-sensitive) metric the coherent-drop penalty of + merged evolution shows at every knob setting. Unmerged costs ~2.6x wall and + ~4.3x stored terms at the tight pair (its per-translate storage), roughly + ~1.5x RSS. + +Frontier (best measured, any knob): + merged: 5.42e-3 @ 165s/620MB (0.025/5e-4); 5.68e-3 @ 64s/586MB (0.05/1e-3) + unmerged: 1.16e-2 @ 21s/274MB (0.025/3e-4) [tighter cells >30s: unmeasured] +-> merged reaches ~2x lower median than unmerged's best MEASURED point, but + only because it was run at tighter effective knobs (tau'=5e-4 = unmerged + mac 7e-5, whose unmerged run would be a multi-M-term/,>400s cell). At + matched effective truncation unmerged wins rel; at matched rel ~1.2-1.5e-2 + they cost about the same (unmerged 1.16e-2@21s/274MB vs merged + 1.46e-2@38s/247MB). + +Merged saturation: mac 1e-3 -> 3e-4 at dt=0.05 gives 5.68e-3 -> 5.86e-3 (11x +wall for nothing), and dt=0.025/5e-4 gives 5.42e-3 -- a dt-INDEPENDENT floor +~5.4e-3, consistent with coherent whole-orbit truncation noise rather than +Trotter dt error. + +Both variants remain dominated by pec under the median metric: pec K1 +3e-3/0.05 = 5.39e-3 @ 6.1s/249MB matches merged Trotter's best at ~27x less +wall and ~2.5x less RAM. From fe2e1e2d8c5714051617fd8c7517fa0f7603bb65 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 12:32:48 +0100 Subject: [PATCH 073/159] autotune(orbit-compare): fixed-precision verdict at 1% median - merged beats unmerged At the 1% median target merged Trotter wins (4.4x wall, 2.2x RAM over unmerged); calibrated-knob analysis was not the practical criterion. Crossover ~1.2e-2. pec remains 18x faster than either. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index ff570b96..9e434273 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -438,3 +438,33 @@ Trotter dt error. Both variants remain dominated by pec under the median metric: pec K1 3e-3/0.05 = 5.39e-3 @ 6.1s/249MB matches merged Trotter's best at ~27x less wall and ~2.5x less RAM. + +## CORRECTION: merged vs unmerged at FIXED PRECISION, 1% median target (2026-07-04) + +User (correctly) rejected the calibrated-knob verdict: compare at fixed +precision, then wall+RAM. Target: median rel ~1e-2 ("good to go"). Filled the +two missing unmerged cells (curves re-measured, canonical uncontended +wall/RSS from the original runs): + unmerged 0.05/3e-4: median 1.75e-2 44s 706MB + unmerged 0.025/1e-4: median 8.06e-3 280s 1310MB + +BEST-OF-VARIANT AT median <= 1e-2 (k=1): + pec (1e-3/0.05/K5): 7.21e-3 3.5s 219MB <- overall winner + trot MERGED (1e-3/0.05): 5.68e-3 63.9s 586MB + trot UNMERGED (1e-4/0.025):8.06e-3 279.7s 1310MB +-> AT THE 1% TARGET MERGED BEATS UNMERGED: 4.4x wall, 2.2x RAM. The + calibrated-knob analysis (unmerged 2-3x better rel at same effective tau) + measured truncation efficiency per threshold -- NOT the practical + criterion. On the Pareto frontier the picture is: + >= 1.5e-2: unmerged cheapest (0.05/1e-3: 1.44e-2 at 3.0s/179MB) + ~1e-2 and below: merged wins among Trotter variants (crossover ~1.2e-2) + Both variants saturate, but merged saturates LOWER (~5.4e-3) and reaches + its level far cheaper than unmerged approaches its (~8e-3: x13 wall for + -30% from 1.16e-2 -> 8.06e-3). +-> So the Lx compression of merged evolution IS the practically better + scheme at the paper's working precision -- the user's original + re-representation intuition holds at fixed precision. The coherent-drop + effect is real (it sets merged's ~5.4e-3 floor and its loose-regime + disadvantage) but does not decide the 1% comparison. +pec context at 1%: 18x faster and 2.7x lighter than the best Trotter variant. +BENCHMARK TARGET going forward: median pointwise rel ~1e-2 (user directive). From 046bee022fe86edef3aacbb308701c77fe37bd9e Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 13:05:35 +0100 Subject: [PATCH 074/159] autotune(orbit-compare): per-step truncation for merged trotter dies at 16.8GB - negative result Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 9e434273..584794bf 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -468,3 +468,18 @@ BEST-OF-VARIANT AT median <= 1e-2 (k=1): disadvantage) but does not decide the 1% comparison. pec context at 1%: 18x faster and 2.7x lighter than the best Trotter variant. BENCHMARK TARGET going forward: median pointwise rel ~1e-2 (user directive). + +## Per-STEP truncation for merged Trotter: NEGATIVE result (2026-07-04) + +Test of "would truncating only once per step (post-merge, canonical reps) fix +merged Trotter's coherent-noise floor?" — k_trotter_run gained a +per_gate_trunc kwarg (main_k_xy_ladder: --gate_trunc 0). Cell: L=7, k=1, +dt=0.05, drop=1e-3, T=2. +RESULT: the run DIED without completing (~1.5h+, peak RSS 16.8 GB, no h5 +written) — the unpruned 84-gate intra-step transient explodes, the same +end-of-step-truncation blowup seen unmerged at N=14, only ~L x smaller and +still fatal. Per-step truncation is NOT a viable fix for merged Trotter at +this size; the per-gate/per-bond truncation that causes the coherent-noise +floor is also what keeps the transient bounded. (pec avoids the dilemma +structurally: its generator action never unfolds the orbit basis, so there +is no intra-step transient to prune.) From 01cdcca04b855ca5154e1a7ba578565c5064cecd Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 13:27:21 +0100 Subject: [PATCH 075/159] autotune(orbit-compare): real-space MSD comparison - split verdict at 1% pec 6x faster / trotter 2.4x lighter at the 1% median target; sector- reduced exact reference (18s, 80x faster than full-space). K=1 Pareto win confirmed in real space too. Co-Authored-By: Claude Fable 5 --- .../2026-07-03-orbit-compare/exact_msd_L7.py | 75 ++++++++++++++++++ .../exact_msd_L7_T2.npz | Bin 0 -> 2624 bytes docs/autotune/2026-07-03-orbit-compare/log.md | 52 ++++++++++++ .../scan_realspace_msd.py | 62 +++++++++++++++ 4 files changed, 189 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/exact_msd_L7.py create mode 100644 docs/autotune/2026-07-03-orbit-compare/exact_msd_L7_T2.npz create mode 100644 docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py diff --git a/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7.py b/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7.py new file mode 100644 index 00000000..a3724761 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7.py @@ -0,0 +1,75 @@ +"""Exact reference for the XY-ladder REAL-SPACE profile + MSD, exploiting +total-magnetization conservation (the quspin-style sector reduction). + +a_x(t) = (1/D) Tr[Z_x Z_seed(t)], seed = (Z_{j0,0}+Z_{j0,1})/2, j0 = L//2. +H = XX+YY on all ladder bonds conserves total Z, so H, U(t), and the diagonal +Z observables are block-diagonal in the magnetization sectors (dim <= C(N,N/2), +e.g. 3432 at N=14 instead of 16384). Per sector: dense eigh (trivial at these +dims), U_m = V e^{iEt} V^T, and + a_x(t) += (1/D) d_x[m]^T |U_m(t)|^2 d_seed[m]. +Validated against the full-space |U|^2 bilinear at L=5 (which itself was +validated against kron ED). + +Usage: exact_msd_L7.py L T M out.npz (times t_m = m*T/M) +""" +import sys, time +import numpy as np + +def ladder(L): + N = 2 * L + site = lambda j, leg: leg * L + j + bonds = [] + for leg in (0, 1): + for j in range(L): + bonds.append((site(j, leg), site((j + 1) % L, leg))) + for j in range(L): + bonds.append((site(j, 0), site(j, 1))) + return N, bonds + +L = int(sys.argv[1]) +T, M = float(sys.argv[2]), int(sys.argv[3]) +out = sys.argv[4] +N, bonds = ladder(L) +dim = 2 ** N +j0 = L // 2 + +t0 = time.time() +idx = np.arange(dim) +pop = np.array([bin(s).count("1") for s in range(dim)]) +d = np.array([1 - 2 * ((idx >> (N - 1 - q)) & 1) for q in range(N)], dtype=float) # (N, dim) +dseed = 0.5 * d[j0] + 0.5 * d[L + j0] + +ts = np.array([m * T / M for m in range(M + 1)]) +a = np.zeros((M + 1, N)) +for nup in range(N + 1): + sec = np.flatnonzero(pop == nup) + dm = len(sec) + pos = {int(s): i for i, s in enumerate(sec)} + Hm = np.zeros((dm, dm)) + for (p, q) in bonds: + bp = (sec >> (N - 1 - p)) & 1 + bq = (sec >> (N - 1 - q)) & 1 + differ = np.flatnonzero(bp != bq) + for i in differ: + dst = int(sec[i]) ^ (1 << (N - 1 - p)) ^ (1 << (N - 1 - q)) + Hm[pos[dst], i] += 2.0 + E, V = np.linalg.eigh(Hm) + Vt = np.ascontiguousarray(V.T) + ds_m = dseed[sec] + dx_m = d[:, sec] # (N, dm) + for m, t in enumerate(ts): + ph = np.exp(1j * E * t) + P = (V * ph.real) @ Vt + P = P ** 2 + P += ((V * ph.imag) @ Vt) ** 2 + a[m] += dx_m @ (P @ ds_m) / dim + print(f"sector Nup={nup} dim={dm} done ({time.time()-t0:.0f}s)", flush=True) + +jcoord = np.arange(N) % L +dj = (jcoord - j0) % L +dj = np.where(dj > L // 2, dj - L, dj).astype(float) +msd = (a * dj[None, :] ** 2).sum(axis=1) / a.sum(axis=1) +np.savez(out, ts=ts, a=a, msd=msd, j0=j0, L=L) +print("sum_x a_x(T) =", a[-1].sum(), "(should be 1)", flush=True) +print("MSD(t):", np.round(msd, 5), flush=True) +print(f"total {time.time()-t0:.0f}s", flush=True) diff --git a/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7_T2.npz b/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7_T2.npz new file mode 100644 index 0000000000000000000000000000000000000000..3c8c6fb92dee9e890813c8f189b3b22397f0dd3e GIT binary patch literal 2624 zcmWIWW@gc4fB;2?iOMmn|3d*Ag9t-Ov0h$5B_o3X!wsk!7(Ll9)HfiKk)e#CT0JGT zIJrpONR}Phr zhtgh9+5<|%^yNVLQ8r+G4b6KFtP_zd-N$8rrBEoA%YpPtg z&xZ2PK;;uQLev**g3uRm=*xoYy91RsfZDS~^4?p{vSj;4*_cCS71&IiUO|sQf0V`mIp91&2PEIWTkALe+og{a6#SVS@dvb)lJ3s+;Y9)=vrM zvO8#h-(1A;{izjj{%oi`O#Nr5KA1R6-$NYwen8dF-1BDF!mG>eEzA7^X1?2Qf9o@A z20PB}j>~BK(F!>o!^)MPH4%6oi)d%BSK+T1zpP|~d^7+%v_5~KUv#;;j zY+v?{_w>?vtL>XZlULuC-fCY8<-_EsL)D|}gQ|;OycTk3IhWa9?Vepphl?jjt@C7_k-$HpTX*UcDVBynRJ;^8%m%g2f}Pn zH6W^i5kx|oO#$AhdO(c{Pn4hBf{1bDN8O=AT*o*C$1bxx2=0IYLx@&Et; literal 0 HcmV?d00001 diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 584794bf..7e7c3203 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -483,3 +483,55 @@ this size; the per-gate/per-bond truncation that causes the coherent-noise floor is also what keeps the transient bounded. (pec avoids the dilemma structurally: its generator action never unfolds the orbit basis, so there is no intra-step transient to prune.) + +## REAL-SPACE MSD comparison, L=7, gamma=0, T=2 (2026-07-04) + +Observable: MSD(t) from the localized center-rung seed (Z_{j0,0}+Z_{j0,1})/2, +via main_realspace_ladder.py (--mode trotter|adaptive) + msd.py. Metric: +median pointwise rel of MSD(t) over t=0.2..2.0 (t=0 excluded, MSD=0) vs the +sector-reduced exact reference (exact_msd_L7.py: magnetization-block eigh + +|U_m|^2 bilinear -- 18 s total, ~80x faster than the naive full-space |U|^2; +validated at L=5 to machine precision). K = PPVM_K_LEAKAGE reaches pc_step_arr +directly. Driver: scan_realspace_msd.py. + +mode dt knob K median_rel wall_s peakRSS peak_terms +trotter 0.1 1e-3 - 2.23e-2 0.3 112MB 10.1k +trotter 0.05 1e-3 - 3.22e-2 0.2 111MB 3.7k +trotter 0.05 3e-4 - 1.34e-2 2.4 120MB 39.2k +trotter 0.025 3e-4 - 1.34e-2 1.5 113MB 12.9k +trotter 0.05 1e-4 - 5.88e-3 25.8 190MB 337k +trotter 0.025 1e-4 - 7.91e-3 13.7 134MB 111k +trotter 0.025 3e-5 - 2.07e-3 209.4 415MB 1.20M +adaptive 0.1 1e-3 0 5.56e-3 8.9 1135MB 40.2k +adaptive 0.1 1e-3 1 5.19e-3 2.2 324MB 77.8k +adaptive 0.05 1e-3 1 8.87e-3 1.9 314MB 42.0k +adaptive 0.05 1e-3 5 2.70e-2 0.1 154MB 2.8k +adaptive 0.05 3e-3 1 2.89e-2 0.2 171MB 4.7k +adaptive 0.05 3e-3 5 1.72e-1 0.0 116MB 314 +adaptive 0.05 3e-4 1 3.97e-3 43.3 1472MB 491k +adaptive 0.05 3e-4 5 8.90e-3 1.6 313MB 34.3k +adaptive 0.025 1e-3 1 1.57e-2 1.9 226MB 16.8k +adaptive 0.1 3e-4 1 2.32e-3 50.5 2977MB 838k +adaptive 0.1 1e-3 5 2.95e-2 0.3 191MB 10.4k + +FIXED-PRECISION VERDICT (1% median target): + pec/adaptive (0.1/1e-3/K1): 5.19e-3 2.2s 324MB + trotter (0.025/1e-4): 7.91e-3 13.7s 134MB + -> pec ~6x FASTER; trotter ~2.4x LIGHTER. Split verdict, unlike momentum + space (where pec won both axes). +Deeper class (~2e-3): + pec (0.1/3e-4/K1): 2.32e-3 50.5s 3.0GB + trotter (0.025/3e-5): 2.07e-3 209.4s 415MB + -> same split, sharper: pec 4x wall advantage, trotter 7x RAM advantage. +FINDINGS: +1. Real space reverses the RAM story: without the orbit compression, pec's + per-term footprint (CSC cache + transient) makes it RAM-heavy while + per-bond Trotter stays lean. Matches the standing handoff note ("expm's + real-space weakness is memory"). Wall: pec wins every class (4-6x). +2. K=1 again a strict Pareto win over K=0 (0.1/1e-3: 4x wall, 3.5x RAM, + better rel). K=5 over-filters below drop 3e-4 at these dt. +3. pec's dt optimum here is dt=0.1 (coupling: at fixed drop/K, dt 0.05 and + 0.025 are WORSE - tau_add and per-step pruning tighten with 1/dt). +4. Both methods are dramatically cheaper in real space than momentum space + at L=7 (seconds, not minutes): the local seed spreads only ~half the ring + by T=2, whereas the k-mode is delocalized from t=0. diff --git a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py new file mode 100644 index 00000000..81329299 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py @@ -0,0 +1,62 @@ +"""Real-space MSD comparison at L=7, gamma=0, T=2: Trotter vs adaptive (pec), +driving xy-experiments/main_realspace_ladder.py. Metric: median over +t = 0.2..2.0 (t=0 excluded, MSD=0) of |MSD(t)-MSD_exact(t)|/|MSD_exact(t)|. +Reference: exact_msd_L7_T2.npz (blocked |U|^2 ED, validated at L=5). +Peak RSS via /usr/bin/time -l; wall from the run's own wall_s dataset. +K (PPVM_K_LEAKAGE) applies to the adaptive mode only. + +Usage: scan_realspace_msd.py [row ...] + rows like adaptive:0.05:1e-3[:K1] trotter:0.05:3e-4 + (knob = drop_tol for adaptive, min_abs_coeff for trotter) +""" +import os, re, subprocess, sys +import numpy as np +import h5py + +HERE = os.path.dirname(os.path.abspath(__file__)) +XY = "/Users/alexschuckert/dev/26_ppvm/xy-experiments" +sys.path.insert(0, XY) +from msd import msd_from_profile + +L, T = 7, 2.0 +npz = np.load(os.path.join(HERE, "exact_msd_L7_T2.npz")) +tR, MSDR = npz["ts"], npz["msd"] # t = 0, .2, ..., 2.0 + +def run_cell(mode, dt, knob, kleak=None): + steps = round(T / dt) + out = f"data/msd_{mode}_dt{dt}_knob{knob:g}" + (f"_K{kleak:g}" if kleak is not None else "") + ".h5" + cmd = ["/usr/bin/time", "-l", "./run", "run", "python", "main_realspace_ladder.py", + "--mode", mode, "--L", str(L), "--gamma", "0.0", "--dt", str(dt), + "--steps", str(steps), "--pbc", "1", "--preserve", "1", "--out", out] + cmd += ["--min_abs_coeff", str(knob)] if mode == "trotter" else ["--drop_tol", str(knob)] + env = {**os.environ} + env.pop("PPVM_K_LEAKAGE", None) + if kleak is not None: + env["PPVM_K_LEAKAGE"] = str(kleak) + r = subprocess.run(cmd, cwd=XY, capture_output=True, text=True, env=env) + m = re.search(r"(\d+)\s+maximum resident set size", r.stderr) + rss_mb = int(m.group(1)) / (1024 * 1024) if m else float("nan") + try: + t, msd = msd_from_profile(os.path.join(XY, out)) + with h5py.File(os.path.join(XY, out)) as h: + wall = float(h["wall_s"][-1]) + peak = int(h["n_basis"][:].max()) + stride = round(0.2 / dt) + msd_s = msd[::stride] # -> t = 0, .2, ..., 2.0 + rel = np.abs(msd_s[1:] - MSDR[1:]) / np.abs(MSDR[1:]) # exclude t=0 + return dict(med=float(np.median(rel)), wall=wall, rss=rss_mb, peak=peak) + except Exception as e: + return dict(fail=f"{e} / {r.stdout[-150:]}{r.stderr[-150:]}") + +print(f"REAL-SPACE MSD SCAN: ladder L={L}(N={2*L}) gamma=0 T={T} (exact-ED ref; median rel over t=0.2..2)", flush=True) +print(f"{'mode':9} {'dt':>6} {'knob':>7} {'K':>4} {'median_rel':>10} {'wall_s':>7} {'peakRSS_mb':>10} {'peak':>9}", flush=True) +for row in sys.argv[1:]: + f = row.split(":") + mode, dt, knob = f[0], float(f[1]), float(f[2]) + kleak = next((float(t[1:]) for t in f[3:] if t.startswith("K")), None) + d = run_cell(mode, dt, knob, kleak) + ktag = "-" if kleak is None else f"{kleak:g}" + if "fail" in d: + print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} FAILED {d['fail'][:120]}", flush=True) + continue + print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} {d['med']:>10.2e} {d['wall']:>7.1f} {d['rss']:>10.0f} {d['peak']:>9}", flush=True) From ccf7f6519cb8e3397fbd3687fd2883f27f80d815 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 13:35:45 +0100 Subject: [PATCH 076/159] autotune(orbit-compare): real-space K=5 completion + streaming test K=5 at dt=0.1 gives the new pec frontier (1.87e-3 at 33.5s); streaming saves 0-13% RAM for 4-5x wall at these shapes - transient-dominated, not cache-dominated. Split verdict stands. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 25 +++++++++++++++++++ .../scan_realspace_msd.py | 13 +++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 7e7c3203..4ce7d487 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -535,3 +535,28 @@ FINDINGS: 4. Both methods are dramatically cheaper in real space than momentum space at L=7 (seconds, not minutes): the local seed spreads only ~half the ring by T=2, whereas the k-mode is delocalized from t=0. + +## Real-space MSD: K=5 completion + streaming test (2026-07-04) + +adaptive 0.1 3e-4 5 4.58e-3 2.7s 396MB 124k <- new 1%-class best +adaptive 0.1 1e-4 5 1.87e-3 33.5s 2917MB 1.25M <- new deep frontier +adaptive 0.05 1e-4 5 6.47e-3 12.2s 839MB 325k +adaptive 0.025 3e-4 5 3.43e-2 0.7s 168MB 9.6k <- over-filtered +adaptive 0.1 1e-3 K1+stream 5.19e-3 8.5s 344MB <- identical rel, 3.9x wall, NO RAM gain +adaptive 0.1 3e-4 K1+stream 2.32e-3 245.4s 2574MB <- identical rel, 4.9x wall, -13% RAM + +1. K=5 at dt=0.1 is the real-space sweet spot (tau_add = 5*drop/0.1 lands in + the ~5e-3..1.5e-2 zone): 0.1/1e-4/K5 dominates the previous deep cell + (1.87e-3 vs 2.32e-3, 33.5s vs 50.5s, same RAM class). +2. STREAMING DOES NOT RESCUE THE RAM AXIS here: -0..13% RSS for 4-5x wall. + At these basis shapes RSS is dominated by the leakage transient (basis + arrays/maps), not the CSC action cache. The earlier "1.8x less RAM" + characterization applied to larger cache-dominated shapes; for the paper, + pec's real-space RAM cost is structural at this scale, not a mode choice. + (All scan cells use the DEFAULT cached-CSC path = the in-basis generator + built once per step as a sparse matrix and reused across expm matvecs; + PPVM_EXPM_STREAM=1 recomputes the action per matvec instead.) +Updated 1% verdict: pec 0.1/3e-4/K5 = 4.58e-3 @ 2.7s/396MB vs trotter +0.025/1e-4 = 7.91e-3 @ 13.7s/134MB -> pec ~5x faster, trotter ~3x lighter. +Deep ~2e-3: pec 1.87e-3 @ 33.5s/2.9GB vs trotter 2.07e-3 @ 209s/415MB -> +pec ~6x faster, trotter ~7x lighter. The split verdict stands, sharpened. diff --git a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py index 81329299..015f746d 100644 --- a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py +++ b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py @@ -22,17 +22,21 @@ npz = np.load(os.path.join(HERE, "exact_msd_L7_T2.npz")) tR, MSDR = npz["ts"], npz["msd"] # t = 0, .2, ..., 2.0 -def run_cell(mode, dt, knob, kleak=None): +def run_cell(mode, dt, knob, kleak=None, stream=False): steps = round(T / dt) - out = f"data/msd_{mode}_dt{dt}_knob{knob:g}" + (f"_K{kleak:g}" if kleak is not None else "") + ".h5" + out = (f"data/msd_{mode}_dt{dt}_knob{knob:g}" + (f"_K{kleak:g}" if kleak is not None else "") + + ("_stream" if stream else "") + ".h5") cmd = ["/usr/bin/time", "-l", "./run", "run", "python", "main_realspace_ladder.py", "--mode", mode, "--L", str(L), "--gamma", "0.0", "--dt", str(dt), "--steps", str(steps), "--pbc", "1", "--preserve", "1", "--out", out] cmd += ["--min_abs_coeff", str(knob)] if mode == "trotter" else ["--drop_tol", str(knob)] env = {**os.environ} env.pop("PPVM_K_LEAKAGE", None) + env.pop("PPVM_EXPM_STREAM", None) if kleak is not None: env["PPVM_K_LEAKAGE"] = str(kleak) + if stream: + env["PPVM_EXPM_STREAM"] = "1" r = subprocess.run(cmd, cwd=XY, capture_output=True, text=True, env=env) m = re.search(r"(\d+)\s+maximum resident set size", r.stderr) rss_mb = int(m.group(1)) / (1024 * 1024) if m else float("nan") @@ -54,8 +58,9 @@ def run_cell(mode, dt, knob, kleak=None): f = row.split(":") mode, dt, knob = f[0], float(f[1]), float(f[2]) kleak = next((float(t[1:]) for t in f[3:] if t.startswith("K")), None) - d = run_cell(mode, dt, knob, kleak) - ktag = "-" if kleak is None else f"{kleak:g}" + stream = "stream" in f[3:] + d = run_cell(mode, dt, knob, kleak, stream) + ktag = ("-" if kleak is None else f"{kleak:g}") + ("s" if stream else "") if "fail" in d: print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} FAILED {d['fail'][:120]}", flush=True) continue From 06ed1026f6f600713a56c61ff31a80e3a0ca8f32 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 13:41:01 +0100 Subject: [PATCH 077/159] autotune(orbit-compare): interior-drop sweep - pec 27x faster at near-parity RAM at 1% Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 4ce7d487..9447f479 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -560,3 +560,20 @@ Updated 1% verdict: pec 0.1/3e-4/K5 = 4.58e-3 @ 2.7s/396MB vs trotter 0.025/1e-4 = 7.91e-3 @ 13.7s/134MB -> pec ~5x faster, trotter ~3x lighter. Deep ~2e-3: pec 1.87e-3 @ 33.5s/2.9GB vs trotter 2.07e-3 @ 209s/415MB -> pec ~6x faster, trotter ~7x lighter. The split verdict stands, sharpened. + +## Real-space 1% cell refinement: dt=0.1, drop 4e-4..7e-4 (2026-07-04, user suggestion) + +adaptive 0.1 4e-4 K5 5.10e-3 1.4s 324MB 68.7k +adaptive 0.1 5e-4 K5 4.06e-3 0.9s 296MB 43.8k +adaptive 0.1 7e-4 K5 6.00e-3 0.5s 221MB 23.3k <- RSS-minimal <=7.9e-3 +adaptive 0.1 4e-4 K1 3.43e-3 16.1s 1499MB 472k +adaptive 0.1 5e-4 K1 3.20e-3 10.0s 883MB 303k + +UPDATED 1% VERDICT (real space): pec 0.1/7e-4/K5 = 6.00e-3 @ 0.5s/221MB vs +trotter 0.025/1e-4 = 7.91e-3 @ 13.7s/134MB -> pec 27x FASTER at 1.65x RSS +(and ~110-150MB of both is python baseline, so basis-attributable RSS is +pec ~80MB vs trotter ~10MB). The interior-drop sweep turned the "split +verdict" into "pec wins wall massively, RAM near-parity" at the 1% target. +The deep-precision split (pec 6x wall / trotter 7x RAM at ~2e-3) stands. +Also: rel is non-monotonic in drop within the 4-6e-3 band (coherent +cancellations) - pick cells by measured rel, not knob interpolation. From 8d733d0cf0bd1c8933d2d43c1616d656093049a7 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 13:45:14 +0100 Subject: [PATCH 078/159] autotune(orbit-compare): K sweep 1..10 - flat plateau then cliff at tau_add~0.04 Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 9447f479..f0249408 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -577,3 +577,24 @@ verdict" into "pec wins wall massively, RAM near-parity" at the 1% target. The deep-precision split (pec 6x wall / trotter 7x RAM at ~2e-3) stands. Also: rel is non-monotonic in drop within the 4-6e-3 band (coherent cancellations) - pick cells by measured rel, not knob interpolation. + +## K sweep 1..10 at the real-space sweet spot (dt=0.1, drop=5e-4) (2026-07-04) + +K tau_add median_rel wall_s RSS peak +1 5e-3 3.20e-3 9.6 881MB 303k +2 1e-2 4.64e-3 5.2 569MB 202k +3 1.5e-2 4.71e-3 2.4 358MB 105k +4 2e-2 5.09e-3 1.4 325MB 64k +5 2.5e-2 4.06e-3 0.9 317MB 44k +6 3e-2 5.00e-3 0.6 268MB 33k +7 3.5e-2 6.07e-3 0.5 237MB 24k +8 4e-2 1.97e-2 0.3 193MB 18k <- CLIFF +9 4.5e-2 2.03e-2 0.3 208MB 16k +10 5e-2 2.99e-2 0.2 182MB 12k + +Shape: a long PLATEAU (rel 3.2-6.1e-3, non-monotonic wiggles) from K=1..7 +while wall drops 19x and RSS 3.7x, then a sharp accuracy CLIFF between +tau_add 3.5e-2 and 4e-2 (K=7 -> 8). Practical rule: increase K until just +before the cliff (tau_add <~ 3.5e-2 here); accuracy is insensitive across +the plateau, so K is nearly a free 10-20x wall / 3-4x RAM dial. Refines the +earlier "K*drop/dt ~ 0.01-0.03" guidance: plateau extends to ~0.035. From b83ac6705f89ec27758e6fb8aff8938530f512c1 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 14:08:14 +0100 Subject: [PATCH 079/159] autotune(orbit-compare): 2D K x drop scan - cliff is a pure tau_add~4e-2 threshold Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index f0249408..25d80af9 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -598,3 +598,28 @@ tau_add 3.5e-2 and 4e-2 (K=7 -> 8). Practical rule: increase K until just before the cliff (tau_add <~ 3.5e-2 here); accuracy is insensitive across the plateau, so K is nearly a free 10-20x wall / 3-4x RAM dial. Refines the earlier "K*drop/dt ~ 0.01-0.03" guidance: plateau extends to ~0.035. + +## 2D scan: K (1..10) x drop_tol at dt=0.1, real-space MSD (2026-07-04) + +median_rel (rows=drop, cols=K1..K10; dt=0.1, so tau_add = K*drop*10): + 2e-3: 1.8e-2 2.5e-2 2.3e-2 2.5e-2 3.5e-2 4.2e-2 4.2e-2 7.0e-2 7.2e-2 1.3e-1 + 1e-3: 5.2e-3 5.0e-3 5.2e-3 |1.8e-2 2.9e-2 2.9e-2 2.0e-2 2.5e-2 4.1e-2 3.0e-2 + 5e-4: 3.2e-3 4.6e-3 4.7e-3 5.1e-3 4.1e-3 5.0e-3 6.1e-3 |2.0e-2 2.0e-2 3.0e-2 + 2e-4: killed 3.0e-3 3.8e-3 4.0e-3 4.7e-3 4.6e-3 5.0e-3 5.8e-3 4.8e-3 5.1e-3 + (| marks the cliff; 2e-4 has no cliff through K=10; 2e-4/K1 aborted -- cell + >200s, user: abort 1e-4-class cells. 1e-4 row: only K5 = 1.9e-3 measured.) +wall_s ranges: 2e-3 row 0.0-0.5s; 1e-3 row 0.1-2.0s; 5e-4 row 0.2-9.6s; +2e-4 row 1.6-201s (K2). RSS: 120MB (2e-3/K10) to 4.1GB (2e-4/K1-2). + +FINDINGS: +1. THE CLIFF IS A PURE tau_add THRESHOLD: 1e-3 cliffs at K=4, 5e-4 at K=8 -- + both tau_add = K*drop/dt = 4e-2; 2e-4 through K=10 only reaches 2e-2 and + shows no cliff. K and drop enter the end-filter ONLY through tau_add; + the safe zone is tau_add <~ 3.5e-2 regardless of how it is composed. +2. PLATEAU ACCURACY IS SET BY drop ALONE (the per-step prune): ~5e-3 at + 1e-3, ~3-6e-3 at 5e-4, ~3-5e-3 at 2e-4 -- improving only weakly below + 5e-4 (deepest: 1e-4/K5 = 1.9e-3). +3. RECIPE: pick drop for the target accuracy, then set K ~ 0.03*dt/drop. + Multiple (drop,K) combos on the same tau_add diagonal give near-identical + cost -- a degeneracy ridge (e.g. ~5e-3 at ~0.5s/230-270MB via 1e-3/K3, + 7e-4/K5, or 5e-4/K7). From cb8eefbfb383944f64712f014b44038d3d8cdcd1 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 14:16:28 +0100 Subject: [PATCH 080/159] feat(ppvm-lindblad): rate-based K leakage filter on the orbit-rep path tau_add = K*drop_tol/dt (PPVM_K_LEAKAGE) now also gates first- and second-hop leakage admission in pc_step_orbit_rep, matching the real-space path. Was active in the built binary during the 2026-07-04 momentum K scans but uncommitted; committing so source matches binary. Driver K/stream row support in orbit_bench_L7.py included. Co-Authored-By: Claude Fable 5 --- crates/ppvm-lindblad/src/orbit_rep.rs | 15 ++++++++++-- .../orbit_bench_L7.py | 24 ++++++++++++------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/crates/ppvm-lindblad/src/orbit_rep.rs b/crates/ppvm-lindblad/src/orbit_rep.rs index 3acbd0fd..3cccde8b 100644 --- a/crates/ppvm-lindblad/src/orbit_rep.rs +++ b/crates/ppvm-lindblad/src/orbit_rep.rs @@ -648,16 +648,27 @@ pub fn pc_step_orbit_rep( group: &TranslationGroup, k_modes: &[i32], ) -> Result<(), Error> { + // Rate-based admission filter, same semantics as the real-space path: + // a leakage rep is admitted only if its rate exceeds + // `tau_add = K * drop_tol / dt` (K from PPVM_K_LEAKAGE, default 0 => + // admit everything, the historical behaviour). + let tau_add = if dt > 0.0 { crate::k_leakage() * drop_tol / dt } else { 0.0 }; // 1. First-hop phase-aware leakage. - let leak = leakage_orbit_rep(spec, basis, coeffs, protected, group, k_modes, max_basis)?; + let mut leak = leakage_orbit_rep(spec, basis, coeffs, protected, group, k_modes, max_basis)?; + if tau_add > 0.0 { + leak.retain(|(_, c)| c.norm() > tau_add); + } add_leakage_capped_complex(basis, coeffs, leak, max_basis); // 2. Predictor: cache-the-action expm (no CSR materialised; the // phase-aware action is built once via `build_orbit_rep_cols`). let coeffs_predict = expm_apply_orbit_rep_cached(spec, basis, group, k_modes, dt, coeffs); // 3. Second-hop leakage from predicted state. - let leak2 = + let mut leak2 = leakage_orbit_rep(spec, basis, &coeffs_predict, protected, group, k_modes, max_basis)?; drop(coeffs_predict); + if tau_add > 0.0 { + leak2.retain(|(_, c)| c.norm() > tau_add); + } add_leakage_capped_complex(basis, coeffs, leak2, max_basis); // 4. Corrector: cache-the-action expm from pre-step state (basis grew). *coeffs = expm_apply_orbit_rep_cached(spec, basis, group, k_modes, dt, coeffs); diff --git a/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py b/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py index fd92b8ce..5619a754 100644 --- a/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py +++ b/docs/autotune/2026-07-03-orbit-compare/orbit_bench_L7.py @@ -82,10 +82,12 @@ def sweep(o): L,k,T=7,int(os.environ.get("PPVM_BENCH_K","3")),2.0 npz=np.load(os.path.join(D,f"exact_ref_L7_k{k}_T2.npz")) REF=npz["ref"] -def call(method,dt,knob,mb,stream=False): +def call(method,dt,knob,mb,stream=False,kleak=None): env={**os.environ} if stream: env["PPVM_EXPM_STREAM"]="1" else: env.pop("PPVM_EXPM_STREAM",None) + if kleak is not None: env["PPVM_K_LEAKAGE"]=str(kleak) + else: env.pop("PPVM_K_LEAKAGE",None) r=subprocess.run([PY,W,method,str(L),str(k),str(T),str(dt),str(knob),str(mb)],capture_output=True,text=True,env=env) try: d=json.loads(r.stdout.strip().splitlines()[-1]) except Exception: return None @@ -93,18 +95,22 @@ def call(method,dt,knob,mb,stream=False): def rel(c): n=min(len(c),len(REF)); return float(np.linalg.norm(c[:n]-REF[:n])/np.linalg.norm(REF[:n])) print(f"ORBIT k-RESOLVED BENCH AT SCALE: ladder L={L}(N={2*L}) k={k} T={T} (exact-ED reference)",flush=True) -print(f"{'method':14} {'dt':>6} {'knob':>7} {'max_basis':>9} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) +print(f"{'method':14} {'dt':>6} {'knob':>7} {'K':>4} {'max_basis':>9} {'rel_err':>9} {'wall_s':>7} {'RSS_mb':>7} {'peak':>8}",flush=True) if len(sys.argv)>2: PLAN=[] for row in sys.argv[2:]: - f=row.split(":"); PLAN.append((f[0],float(f[1]),float(f[2]),int(f[3]),1 if (len(f)>4 and f[4]=="stream") else 0)) + f=row.split(":") + stream=1 if "stream" in f[4:] else 0 + kleak=next((tok[1:] for tok in f[4:] if tok.startswith("K")),None) + PLAN.append((f[0],float(f[1]),float(f[2]),int(f[3]),stream,kleak)) else: PLAN=[ - ("expm-cache",0.1,1e-3,10**7,0),("trotter",0.1,1e-3,10**7,0), - ("expm-cache",0.05,1e-3,10**7,0),("trotter",0.05,1e-3,10**7,0), + ("expm-cache",0.1,1e-3,10**7,0,None),("trotter",0.1,1e-3,10**7,0,None), + ("expm-cache",0.05,1e-3,10**7,0,None),("trotter",0.05,1e-3,10**7,0,None), ] -for name,dt,knob,mb,stream in PLAN: +for name,dt,knob,mb,stream,kleak in PLAN: method=name if name.startswith("trotter") else "expm" - d=call(method,dt,knob,mb,bool(stream)) - if d is None: print(f"{name:14} {dt:>6} {knob:>7.0e} {mb:>9} FAILED",flush=True); continue - print(f"{name:14} {dt:>6} {knob:>7.0e} {mb:>9} {rel(d['curve']):>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) + d=call(method,dt,knob,mb,bool(stream),kleak) + ktag=kleak if kleak is not None else "-" + if d is None: print(f"{name:14} {dt:>6} {knob:>7.0e} {ktag:>4} {mb:>9} FAILED",flush=True); continue + print(f"{name:14} {dt:>6} {knob:>7.0e} {ktag:>4} {mb:>9} {rel(d['curve']):>9.2e} {d['wall']:>7.1f} {d['rss']:>7.0f} {d['peak']:>8}",flush=True) From b4de269c22dc883c7ee97984903f73bca04a0093 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 14:24:40 +0100 Subject: [PATCH 081/159] autotune(orbit-compare): tau_add cliff is dt- and drop-independent - parameterize by tau_add Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 25d80af9..fd1f1e39 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -623,3 +623,27 @@ FINDINGS: Multiple (drop,K) combos on the same tau_add diagonal give near-identical cost -- a degeneracy ridge (e.g. ~5e-3 at ~0.5s/230-270MB via 1e-3/K3, 7e-4/K5, or 5e-4/K7). + +## tau_add scaling study: cliff position vs dt and drop (2026-07-04) + +36 cells, real-space MSD, dt in {0.2, 0.05, 0.025} x drop in {1e-3, 5e-4}, +fractional K chosen so tau_add = K*drop/dt sweeps {.01,.02,.03,.04,.06,.09} +identically in every row (plus the dt=0.1 rows from the 2D scan). + +RESULT: the admission cliff sits at tau_add ~ 0.035-0.04 for EVERY +(dt, drop) combination with dt <= 0.1 -- rows at dt=0.05 and 0.025, both +drops, all depart between tau*=0.03 and 0.06, exactly where dt=0.1 cliffed. +At dt=0.2 the O(dt) plateau (~1.5e-2) masks the cliff (noisy row, bump at +.04 still visible). tau_add is an ABSOLUTE RATE THRESHOLD, independent of +both dt and drop_tol. + +=> K is the wrong parameterization: the correct invariant is tau_add itself, + and K should be DERIVED as K = tau_add * dt / drop_tol. Recommended + default tau_add ~ 0.02-0.03 (one octave below the cliff). Caveat: the + cliff value is observable/scale-dependent (momentum k=1 tolerated up to + ~0.1; here J=1, seed normalized to 1) -- expect tau_add* to scale with + the Hamiltonian coupling / seed norm, so expose it as a direct parameter + rather than hardcoding. +Secondary: plateau rel at fixed drop WORSENS as dt shrinks (dt=0.05: 8.8e-3 +-> dt=0.025: 1.1e-2 at drop 1e-3; dt=0.1: 5.2e-3) -- the per-step prune +frequency effect; dt~0.1 remains the real-space sweet spot at T=2. From 14bdef3bbbc67a94efced727299aaeb01ebd32d3 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 14:48:21 +0100 Subject: [PATCH 082/159] autotune(orbit-compare): per-dt heatmaps of median rel vs (drop_tol, tau_add) Co-Authored-By: Claude Fable 5 --- .../rel_vs_drop_tauadd_per_dt.png | Bin 0 -> 57724 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/rel_vs_drop_tauadd_per_dt.png diff --git a/docs/autotune/2026-07-03-orbit-compare/rel_vs_drop_tauadd_per_dt.png b/docs/autotune/2026-07-03-orbit-compare/rel_vs_drop_tauadd_per_dt.png new file mode 100644 index 0000000000000000000000000000000000000000..5cbd1ac657d05f896b8f7eb20a1d3f20a785b295 GIT binary patch literal 57724 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 YWsdR=uOO|?LVrQ|gu23u Date: Sat, 4 Jul 2026 14:53:01 +0100 Subject: [PATCH 083/159] autotune(orbit-compare): correct 'plateau' claim - measured knob sensitivities rel ~ tau_add^0.24 below the cliff (no plateau), ~^1 above; drop has near-zero effect at fixed tau_add in the sampled regime. tau_add is the primary knob. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index fd1f1e39..a202aa5d 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -647,3 +647,27 @@ both dt and drop_tol. Secondary: plateau rel at fixed drop WORSENS as dt shrinks (dt=0.05: 8.8e-3 -> dt=0.025: 1.1e-2 at drop 1e-3; dt=0.1: 5.2e-3) -- the per-step prune frequency effect; dt~0.1 remains the real-space sweet spot at T=2. + +## CORRECTION: "plateau" was wrong; measured sensitivities (2026-07-04) + +Local log-log slopes over all measured adaptive pairs (dt<=0.1, real-space +MSD; pairs differ in exactly one knob): + d(ln rel)/d(ln tau_add), tau_add<0.035: median +0.24 IQR [+0.05,+0.37] n=68 + d(ln rel)/d(ln tau_add), tau_add>0.035: median +0.94 IQR [+0.55,+1.54] n=152 + d(ln rel)/d(ln drop) at fixed tau_add, below: median +0.03 IQR [-0.01,+0.25] n=32 + d(ln rel)/d(ln drop) at fixed tau_add, above: median -0.02 n=17 +=> 1. There is NO true plateau: rel rises ~ tau_add^0.24 below the cliff, + steepening to ~ tau_add^1 (with a sharp step) above ~0.04. "Slow rise + then steepening" is the correct description. + 2. USER OBSERVATION CONFIRMED: in the sampled regime the error depends + FAR more strongly on tau_add than on drop_tol -- at fixed tau_add, + drop has near-zero effect (median slope +0.03) except at the very + lowest tau_add where it re-emerges (~+0.3, e.g. 1e-4/tau=.005: + 1.9e-3 vs 5e-4/tau=.005: 3.2e-3). + 3. Model: rel ~ f(drop) + g(tau_add), f ~ drop^~0.3, g ~ tau_add^~0.24 + below / ^~1 above 0.04; whichever dominates sets the sensitivity. My + earlier "drop sets the plateau accuracy" conflated the two knobs + (drop was varied at fixed K, dragging tau_add along). + 4. Practical recipe (revised): lower tau_add and drop TOGETHER so + f ~ g (balanced); tau_add is the primary accuracy knob in the + commonly-sampled regime, drop the secondary. From b5b35ecc0b0b82f04b21f71fd7408b6ae82d23d0 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 14:56:11 +0100 Subject: [PATCH 084/159] autotune(orbit-compare): addendum - efficient locus is ~fixed K at fixed dt; K' = tau_add/drop is the dt-invariant ratio Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index a202aa5d..7bc28002 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -671,3 +671,15 @@ MSD; pairs differ in exactly one knob): 4. Practical recipe (revised): lower tau_add and drop TOGETHER so f ~ g (balanced); tau_add is the primary accuracy knob in the commonly-sampled regime, drop the secondary. + +## Addendum: the efficient locus is ~fixed K at fixed dt (2026-07-04, user) + +Balance f(drop)~drop^0.3 against g(tau_add)~tau_add^0.24 => the efficient +descent path is tau_add ~ drop^1.25, i.e. K = tau_add*dt/drop ~ drop^0.25*dt: +at FIXED dt this is nearly constant K (data: good cells at K in [1,5] across +drop 1e-3..1e-4 at dt=0.1). So fixed-K tuning accidentally tracks the +efficient path within one dt; its failure modes are (a) dt changes rescale +the filter silently and (b) the hard cliff is absolute in tau_add (~0.04), +so K_cliff = 0.04*dt/drop moves 16x across our grid. The dimensionless knob +that is actually dt-invariant is K' = tau_add/drop (= K/dt); the cliff and +the efficient path are both naturally expressed in (tau_add, drop). From 129b84f9f85a697cc5ab30f0a6acfd3d71ba3544 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 15:09:48 +0100 Subject: [PATCH 085/159] autotune(orbit-compare): dt=0.025 verification - K'=tau_add/drop window is dt-invariant Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 7bc28002..b1bd9ed3 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -683,3 +683,29 @@ the filter silently and (b) the hard cliff is absolute in tau_add (~0.04), so K_cliff = 0.04*dt/drop moves 16x across our grid. The dimensionless knob that is actually dt-invariant is K' = tau_add/drop (= K/dt); the cliff and the efficient path are both naturally expressed in (tau_add, drop). + +## dt=0.025 verification of the tau_add / K' picture (2026-07-04) + +drop K tau_add K'=tau/drop median_rel wall_s RSS +2e-4 0.625 0.005 25 2.27e-3 34.0 881MB +2e-4 1.25 0.01 50 3.34e-3 23.5 882MB +2e-4 2.5 0.02 100 8.84e-3 5.5 327MB +2e-4 7.5 0.06 300 3.13e-2 0.7 177MB <- cliffed (>0.04) OK +1e-4 1.25 0.005 50 8.79e-4 151.6 3.0GB <- first sub-1e-3 real-space cell +1e-4 2.5 0.01 100 2.87e-3 36.6 837MB +1e-4 5 0.02 200 8.84e-3 8.4 357MB + +ALL CLAIMS CONFIRMED AT dt=0.025: +1. Cliff at fixed tau_add: 2e-4 row cliffs by tau=0.06, same as everywhere. +2. tau_add dominates at moderate tau: at tau=0.02, drop 2e-4 and 1e-4 give + IDENTICAL rel (8.84e-3 both); drop re-emerges at low tau (tau=0.005: + 2.27e-3 vs 8.79e-4 - f-dominated). +3. Efficient window is dt-INVARIANT in K' = tau_add/drop: Pareto cells at + K' 25-50, same as dt=0.1's ~10-50. In raw K the window shifted 4x down + (K 0.6-1.25 vs 1-5), exactly the dt ratio. +4. Cleanest single-pair demonstration of the K failure mode: SAME (K=5, + drop=1e-4) gives 1.9e-3 at dt=0.1 but 8.8e-3 at dt=0.025 - the fixed-K + filter silently quadrupled tau_add. +Bonus: 1e-4/K1.25 = 8.79e-4 is the deepest real-space cell so far; +2e-4/K0.625 (2.27e-3, 34s, 881MB) Pareto-improves the old deep cell +(1.87e-3, 33.5s, 2.9GB) on RAM by 3.3x at comparable rel/wall. From a1efd792a9e83ac038a3b4deb2b82183005989d6 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 15:44:11 +0100 Subject: [PATCH 086/159] autotune(orbit-compare): max_basis rank cap is the primary knob - beats thresholds 4-5x at matched size Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 29 +++++++++++++++++++ .../scan_realspace_msd.py | 11 ++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index b1bd9ed3..07677daf 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -709,3 +709,32 @@ ALL CLAIMS CONFIRMED AT dt=0.025: Bonus: 1e-4/K1.25 = 8.79e-4 is the deepest real-space cell so far; 2e-4/K0.625 (2.27e-3, 34s, 881MB) Pareto-improves the old deep cell (1.87e-3, 33.5s, 2.9GB) on RAM by 3.3x at comparable rel/wall. + +## max_basis as the primary knob (2026-07-04, user hypothesis - CONFIRMED) + +1. COLLAPSE: below the cliff, rel ~ peak_basis^(-0.2..-0.5) with only + x1.1-1.35 residual scatter at fixed dt, across ALL (drop, tau_add) + compositions. Basis size is the first-order accuracy predictor and the + ~exact cost predictor (RSS and wall track peak). Second order: at equal + peak, low-tau_add compositions are slightly better. +2. RANK CAP BEATS THRESHOLDS AT MATCHED SIZE (dt=0.025, drop=1e-4, K=1.25): + M600k: 9.21e-4 127.9s 658MB peak 547k + M300k: 5.73e-4 58.3s 455MB peak 289k <- vs threshold cells at + ~300k: 2.3-3.3e-3 (4-5x better!) + M100k: 7.22e-4 18.6s 265MB peak 98.6k <- NEW FRONTIER + M30k: 9.90e-3 6.0s 218MB peak 29.9k <- cap below natural + weight distribution: back on the + size-rel curve + uncapped (1.3M): 8.79e-4 151.6s 3.0GB + M100k beats the uncapped run on EVERY axis (8x wall, 11x RAM, better + rel). keep-top-N is the optimal size-B selection; thresholds are not. + The cap also bounds the leakage transient => much lower RSS per kept term. + (M600k > M300k rel: non-monotone, cancellation noise ~1.5x - don't + over-read small rel differences.) +3. ONCE THE CAP BINDS, THRESHOLDS ARE SECONDARY: drop 1e-5 vs 1e-4 at M100k: + 1.10e-3 vs 7.22e-4, same wall/RSS. Keep mild thresholds only to cheapen + the pre-cap transient. +REVISED RECIPE (real space): set max_basis to the RAM/wall budget (the ONE +primary knob), keep tau_add ~ 0.005-0.02 and drop ~ 1e-4 as mild transient +hygiene. New best cells: 7.2e-4 @ 18.6s/265MB (M100k), 5.7e-4 @ 58s/455MB +(M300k) - both far beyond the old threshold-only frontier. diff --git a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py index 015f746d..675ee6b8 100644 --- a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py +++ b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py @@ -22,14 +22,16 @@ npz = np.load(os.path.join(HERE, "exact_msd_L7_T2.npz")) tR, MSDR = npz["ts"], npz["msd"] # t = 0, .2, ..., 2.0 -def run_cell(mode, dt, knob, kleak=None, stream=False): +def run_cell(mode, dt, knob, kleak=None, stream=False, mb=None): steps = round(T / dt) out = (f"data/msd_{mode}_dt{dt}_knob{knob:g}" + (f"_K{kleak:g}" if kleak is not None else "") - + ("_stream" if stream else "") + ".h5") + + (f"_M{mb:g}" if mb is not None else "") + ("_stream" if stream else "") + ".h5") cmd = ["/usr/bin/time", "-l", "./run", "run", "python", "main_realspace_ladder.py", "--mode", mode, "--L", str(L), "--gamma", "0.0", "--dt", str(dt), "--steps", str(steps), "--pbc", "1", "--preserve", "1", "--out", out] cmd += ["--min_abs_coeff", str(knob)] if mode == "trotter" else ["--drop_tol", str(knob)] + if mb is not None: + cmd += ["--max_basis", str(int(mb))] env = {**os.environ} env.pop("PPVM_K_LEAKAGE", None) env.pop("PPVM_EXPM_STREAM", None) @@ -58,9 +60,10 @@ def run_cell(mode, dt, knob, kleak=None, stream=False): f = row.split(":") mode, dt, knob = f[0], float(f[1]), float(f[2]) kleak = next((float(t[1:]) for t in f[3:] if t.startswith("K")), None) + mb = next((float(t[1:]) for t in f[3:] if t.startswith("M")), None) stream = "stream" in f[3:] - d = run_cell(mode, dt, knob, kleak, stream) - ktag = ("-" if kleak is None else f"{kleak:g}") + ("s" if stream else "") + d = run_cell(mode, dt, knob, kleak, stream, mb) + ktag = ("-" if kleak is None else f"{kleak:g}") + ("s" if stream else "") + ("" if mb is None else f"/M{mb:g}") if "fail" in d: print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} FAILED {d['fail'][:120]}", flush=True) continue From cfafbc0304e47294576e59a1ac8b875b7961252e Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 15:55:26 +0100 Subject: [PATCH 087/159] autotune(orbit-compare): tau_add vs max_basis head-to-head at matched size - cap wins accuracy, tau wins wall Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 07677daf..5cdbeb6b 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -738,3 +738,29 @@ REVISED RECIPE (real space): set max_basis to the RAM/wall budget (the ONE primary knob), keep tau_add ~ 0.005-0.02 and drop ~ 1e-4 as mild transient hygiene. New best cells: 7.2e-4 @ 18.6s/265MB (M100k), 5.7e-4 @ 58s/455MB (M300k) - both far beyond the old threshold-only frontier. + +## Head-to-head: tau_add vs max_basis as the size-setter, matched peak (2026-07-04) + +dt=0.025, drop=1e-4 unless noted; peak ~100k and ~300k classes: + + ~100k: tau-only (K5, no cap): 8.84e-3 8.4s 357MB 82k + cap-only (M100k, K0): 2.65e-3 18.8s 281MB 99k + cap-only, drop 1e-5 (pure): 9.79e-4 22.0s 266MB 100k + cap + tau (M100k, K1.25): 7.22e-4 18.6s 265MB 99k + ~300k: tau-only (K2.5, no cap): 2.87e-3 36.6s 837MB 325k + cap-only (M300k, K0): 1.40e-3 63.7s 459MB 289k + cap + tau (M300k, K1.25): 5.73e-4 58.3s 455MB 289k + +VERDICT AT MATCHED SIZE: +1. ACCURACY: cap > tau_add (2-3.3x better rel as the size-setter), and cap + composition + weak thresholds is best (7.2e-4 / 5.7e-4). +2. WALL: tau_add-only is ~2x cheaper than cap-only at the same size (K=0 + admits the full transient before the cap acts) - tau_add's remaining + value is transient hygiene, not selection. +3. RSS: cap wins (bounds the transient): 459 vs 837MB at 300k. +4. SUBTLE: with the cap binding, drop=1e-4 HURTS accuracy vs drop=1e-5 + (2.65e-3 vs 9.79e-4 at K0/M100k): the per-step prune pre-deletes strings + the rank cap would have ranked into the top-N. With a binding cap, keep + thresholds MINIMAL (tiny drop, mild tau_add for wall only). +FINAL KNOB HIERARCHY: max_basis = the accuracy/cost dial; tau_add = wall +hygiene (~2x); drop = keep tiny once the cap binds. From 0abb9eb7eb8d0ff5bc045e5eacb8e8ea7bee7b4b Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 16:16:29 +0100 Subject: [PATCH 088/159] autotune(orbit-compare): framing - fixed rank, churning membership; max_basis as Pauli chi Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 5cdbeb6b..9e296613 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -764,3 +764,14 @@ VERDICT AT MATCHED SIZE: thresholds MINIMAL (tiny drop, mild tau_add for wall only). FINAL KNOB HIERARCHY: max_basis = the accuracy/cost dial; tau_add = wall hygiene (~2x); drop = keep tiny once the cap binds. + +## Framing note: fixed SIZE, not fixed SET (2026-07-04) + +The cap-primary mode is "adaptive basis of constant rank": leakage still +proposes candidates every step (the expansion machinery is the engine), and +the rank cap selects the top-B of old+new on equal footing - membership +churns while size stays fixed. A truly frozen basis (static Galerkin, no +expansion) would fail once the operator front leaves the initial support. +Paper framing: max_basis is the Pauli-basis analog of the MPS bond dimension +chi - fixed-chi TDVP practice, with drop_tol as the (inferior) singular- +value-cutoff analog. Convergence protocol: rerun at 2B, compare. From 20fdce2e1c01f71d4a4e054b48b2b08059b64373 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 16:26:45 +0100 Subject: [PATCH 089/159] autotune(orbit-compare): 2x2 at M300k - pure cap ties cap+tau; drop confound resolved Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 9e296613..8732aada 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -775,3 +775,19 @@ expansion) would fail once the operator front leaves the initial support. Paper framing: max_basis is the Pauli-basis analog of the MPS bond dimension chi - fixed-chi TDVP practice, with drop_tol as the (inferior) singular- value-cutoff analog. Convergence protocol: rerun at 2B, compare. + +## Follow-up: "cap + tau wins at 300k" was the drop confound (2026-07-04) + +Completed 2x2 at M300k (dt=0.025): + drop=1e-4 drop=1e-5 + K=0 (no tau): 1.40e-3 63.7s 459MB 5.53e-4 74.4s 430MB <- pure cap + K=1.25: 5.73e-4 58.3s 455MB 9.73e-4 69.5s 429MB +(and M100k: K0/1e-5: 9.79e-4 22s; K1.25/1e-5: 1.10e-3 23s; K1.25/1e-4: 7.22e-4 19s) +-> With the drop=1e-4 confound removed, PURE CAP ties the best cap+tau cell + (5.53e-4 vs 5.73e-4). All sane-threshold compositions at matched cap land + in the same ~5-11e-4 band (the ~2x cancellation-noise band); tau_add's + rel effect is noise-level, its wall effect ~10-25%. Hierarchy unchanged: + cap primary; tau_add = modest wall trim; avoid mid-range drop (1e-4-ish) + with a binding cap UNLESS paired with tau_add (the bad cell is + specifically K0 + drop=1e-4: prune deletes candidates the cap would keep, + and nothing pre-filters the transient either). From d4606586c3814ff8c85ba9eb135cd39058e886c5 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 16:52:37 +0100 Subject: [PATCH 090/159] autotune(orbit-compare): concluding summary - max_basis alone supersedes the threshold scheme Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 8732aada..4a99de95 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -791,3 +791,27 @@ Completed 2x2 at M300k (dt=0.025): with a binding cap UNLESS paired with tau_add (the bad cell is specifically K0 + drop=1e-4: prune deletes candidates the cap would keep, and nothing pre-filters the transient either). + +## CONCLUDING SUMMARY: truncation schemes (2026-07-04, user-approved framing) + +How the threshold scheme works: two rules at different pipeline points. +The admission filter (add_tol = tau_add = K*drop_tol/dt, PPVM_K_LEAKAGE) +gates the LEAKAGE stage - newly proposed strings enter only if their +coefficient rate exceeds tau_add, keeping the doubly-enriched transient +lean. The pruning filter (drop_tol) deletes retained strings whose +coefficients fall below it after each step. The knobs decouple: error rises +slowly (~tau_add^0.24) up to a sharp cliff at tau_add ~ 0.04 that is +INDEPENDENT of dt and drop_tol (tau_add, not K, is the natural parameter); +drop_tol controls the retained tail and hence basis size. Both are indirect +ways of setting one quantity - error and cost collapse (~30%) onto a single +function of peak basis size. + +Why max_basis supersedes it: at MATCHED basis size the rank cap (keep-top-B +over retained+proposed, membership still churning every step - the fixed- +bond-dimension TDVP analog) yields 2-5x lower error than any threshold +combination, and bounds the transient RAM thresholds never touch. Best cap +cells beat best threshold cells on every axis simultaneously. Thresholds on +top of the cap trim wall by only ~10-25%, their accuracy effect is within +the cancellation-noise band, and mid-range drop_tol with a binding cap can +actively hurt. RECOMMENDATION: run with max_basis alone (thresholds ~0); +B is the single convergence dial, verified by re-running at 2B. From 612b773e91f88a2ca0d8379b7493a29e39eaa9b0 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 17:08:38 +0100 Subject: [PATCH 091/159] autotune(orbit-compare): correct MPS analogy - chi_max with negligible cutoff, not fixed-chi Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 4a99de95..79baf4c7 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -815,3 +815,12 @@ top of the cap trim wall by only ~10-25%, their accuracy effect is within the cancellation-noise band, and mid-range drop_tol with a binding cap can actively hurt. RECOMMENDATION: run with max_basis alone (thresholds ~0); B is the single convergence dial, verified by re-running at 2B. + +## Correction to the MPS analogy (2026-07-04, user) + +"Fixed-chi TDVP" was imprecise: the cap-primary scheme grows the basis +freely from the seed until it reaches B, then saturates (peak == cap) with +churning membership. The right analogy is two-site TDVP/TEBD with a MAXIMUM +bond dimension and negligible singular-value cutoff (B = chi_max), not +fixed-chi single-site TDVP (a fixed manifold, no growth). Notes updated +(sec:rank-cap). From f243ad31c16371b5240a870d2e1f0397c1355e4e Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 17:15:35 +0100 Subject: [PATCH 092/159] autotune(orbit-compare): cap-primary pec vs Trotter in real space - pec dominates every class 37-46x wall at fixed precision, RAM parity or better; the earlier split verdict was a threshold-tuning artifact. Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 79baf4c7..b2f94b57 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -824,3 +824,32 @@ churning membership. The right analogy is two-site TDVP/TEBD with a MAXIMUM bond dimension and negligible singular-value cutoff (B = chi_max), not fixed-chi single-site TDVP (a fixed manifold, no growth). Notes updated (sec:rank-cap). + +## Real-space MSD: Trotter vs CAP-PRIMARY pec (2026-07-04, final comparison) + +pec grid, pure cap (drop=1e-5, K=0), dt x B: + dt B median_rel wall_s RSS + 0.1 10k 7.65e-3 0.3 163MB + 0.1 30k 2.49e-2 0.8 218MB <- cancellation outlier + 0.1 100k 5.23e-3 3.1 250MB + 0.1 300k 2.66e-3 10.5 428MB + 0.05 10k 4.68e-2 0.6 179MB + 0.05 30k 1.22e-2 1.7 223MB + 0.05 100k 1.50e-3 5.6 283MB <- sweet spot + 0.05 300k 8.58e-4 18.7 428MB + 0.025 10k 1.37e-2 1.0 170MB + 0.025 30k 1.02e-2 3.1 233MB + 0.025 100k 9.79e-4 22.0 266MB + 0.025 300k 5.53e-4 74.4 430MB +Cap mode moves pec's dt optimum from 0.1 (threshold mode) to 0.05. + +FIXED-PRECISION HEAD-TO-HEAD vs Trotter (best measured per class): + ~1e-2: pec 0.1/M10k 7.7e-3 0.3s 163MB | trot 0.025/1e-4 7.9e-3 13.7s 134MB + -> pec 46x faster at ~RAM parity (both near python baseline) + ~2e-3: pec 0.05/M100k 1.50e-3 5.6s 283MB | trot 0.025/3e-5 2.07e-3 209s 415MB + -> pec 37x faster AND 1.5x lighter, better rel + <1e-3: pec only: 8.6e-4 @ 18.7s/428MB; 5.5e-4 @ 74s/430MB +THE SPLIT VERDICT DISSOLVES: with max_basis as the knob, pec dominates +Trotter in real space on wall at every precision (37-46x) and reaches RAM +parity-or-better; Trotter's former RAM edge was an artifact of comparing +against threshold-tuned pec (whose transient the thresholds never bounded). From a8c84c779969b83d9b80e03608a8ce11f56e6ad4 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 17:19:07 +0100 Subject: [PATCH 093/159] autotune(orbit-compare): drop=0 vs drop=1e-5 at fixed cap - tiny prune is load-bearing Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index b2f94b57..25d69aac 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -853,3 +853,21 @@ THE SPLIT VERDICT DISSOLVES: with max_basis as the knob, pec dominates Trotter in real space on wall at every precision (37-46x) and reaches RAM parity-or-better; Trotter's former RAM edge was an artifact of comparing against threshold-tuned pec (whose transient the thresholds never bounded). + +## CORRECTION: "pure cap" cells were drop=1e-5, and that matters (2026-07-04, user) + +True drop=0 cells (K=0), vs the mislabeled "pure cap" (drop=1e-5) cells: + dt=0.025 M100k: drop0 5.90e-3 10.3s | 1e-5: 9.79e-4 22.0s (6x worse) + dt=0.025 M300k: drop0 1.50e-3 34.5s | 1e-5: 5.53e-4 74.4s (2.7x) + dt=0.05 M100k: drop0 2.64e-3 5.3s | 1e-5: 1.50e-3 5.6s (1.8x) + dt=0.05 M300k: drop0 1.35e-3 17.6s | 1e-5: 8.58e-4 18.7s (1.6x) +Consistent across 4 cells -> real effect, not cancellation noise. With +drop=0 the peak sits exactly at B (no clearing); with 1e-5 slightly under. +Hypothesized mechanism: a tiny prune clears stagnant near-zero weight from +the retained set, freeing rank slots for freshly proposed strings; with +drop=0 a zombie tail occupies the bottom of the top-B. drop=0 is somewhat +faster (up to 2x at dt=0.025) but strictly Pareto-dominated on accuracy. +REVISED RECOMMENDATION: cap + a pruning threshold FAR BELOW the working +coefficient scale (e.g. 1e-5 here) - "near zero", not exactly zero. +Cap-primary comparison table (previous section) used the 1e-5 cells and is +unaffected; only the "pure cap" label was wrong. From ccd6f3eb997d691c51a1d9b1e44bc38c1f7312c0 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 17:25:33 +0100 Subject: [PATCH 094/159] autotune(orbit-compare): drop sweep at fixed cap - 1e-10 behaves like 0; effect clean at 100k, muddy at 300k Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 25d69aac..f524e0df 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -871,3 +871,21 @@ REVISED RECOMMENDATION: cap + a pruning threshold FAR BELOW the working coefficient scale (e.g. 1e-5 here) - "near zero", not exactly zero. Cap-primary comparison table (previous section) used the 1e-5 cells and is unaffected; only the "pure cap" label was wrong. + +## drop sweep at fixed cap: 0 / 1e-10 / 1e-6 / 1e-5 / 1e-4 (2026-07-04) + +dt=0.025 M100k: 0: 5.90e-3 | 1e-10: 5.22e-3 | 1e-6: 6.72e-4 | 1e-5: 9.79e-4 | 1e-4: 2.65e-3 +dt=0.025 M300k: 0: 1.50e-3 | 1e-10: 1.85e-3 | 1e-6: 2.57e-3 | 1e-5: 5.53e-4 | 1e-4: 1.40e-3 +dt=0.05 M100k: 0: 2.64e-3 | 1e-10: 4.53e-3 | 1e-6: 2.48e-3 | 1e-5: 1.50e-3 +REVISION of the previous section's claim: +- ROBUST: 1e-10 == 0 in every respect (peak pinned at B; similar rel): the + beneficial prune must act at a scale comparable to the bottom-of-cap + coefficients, not at numerical dust. drop in [1e-6,1e-5] is never worse + than 0 beyond noise and sometimes much better. +- CLEAN at M100k/dt=0.025: {0,1e-10} ~5-6e-3 vs {1e-6,1e-5} ~0.7-1e-3 + (5-8x, beyond noise). MUDDY at M300k: non-monotonic (1e-6 worse than 0, + 1e-5 best), spread ~4.7x ~ noise x2 - the "consistent 1.6-6x" claim was + overconfident there. +- Recommendation unchanged in practice (small nonzero prune ~1e-6..1e-5), + but the strength of the effect is cap-size- and cell-dependent; the + zombie-clearing mechanism is supported at B=100k and unproven at B=300k. From fe72f75d9dceb92cc2a84472144c6a25d7414d69 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 17:36:47 +0100 Subject: [PATCH 095/159] autotune(orbit-compare): mechanism resolved - cap is admission-only, drop=0 freezes the basis Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index f524e0df..ae7ffd6d 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -889,3 +889,26 @@ REVISION of the previous section's claim: - Recommendation unchanged in practice (small nonzero prune ~1e-6..1e-5), but the strength of the effect is cap-size- and cell-dependent; the zombie-clearing mechanism is supported at B=100k and unproven at B=300k. + +## MECHANISM RESOLVED: the cap acts at ADMISSION; drop=0 freezes the basis (2026-07-04) + +Code (lib.rs): add_leakage_capped admits new strings only into +room = max_basis - len(basis), top leakage magnitudes first; retained +strings are NEVER displaced (cap_basis is a no-op in the normal flow since +admission never overfills). Therefore: +- drop ~ 0 (incl. 1e-10): basis fills to exactly B early, room -> 0, + NO admission ever again -> FROZEN static basis for the rest of the run. + Explains: peak == B exactly, lower wall (enrichment idle), and the ~9x + accuracy loss (5.9e-3 vs 6.7e-4 at B=100k) - static-Galerkin error. +- drop in [1e-6, 1e-5]: the prune clears the low-weight tail each step, + opening room; admission refills with the best candidates -> membership + churns at fixed size. This is the actual algorithm behind all good cap + cells. The prune is the CHURN VALVE, not "hygiene". +- drop=1e-4: valve too wide, deletes strings still carrying weight. +This supersedes the "zombie-clearing" hypothesis and explains the entire +drop-sweep table, including the wall differences. Notes sec:rank-cap +corrected (the previous "top-B of union / displacement" description was +factually wrong about the implementation). +POSSIBLE CODE IMPROVEMENT (future): true top-B-of-union displacement +(rank competition between retained and proposed) would remove the need for +the pruning threshold entirely - worth implementing and testing. From aabcf9edcc0548cf76cd75bbd6060618ce1a6e5c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 18:01:45 +0100 Subject: [PATCH 096/159] feat(ppvm-lindblad): admit_basis working-set bound on pc_step (top-B-of-union displacement) Enrichment may grow the working set to admit_basis >= max_basis; final cap_basis keeps top-max_basis by evolved |coeff| over the union. Default None preserves old behaviour. Benchmark verdict: NEGATIVE - the prune-valve (cap + small drop) matches or beats it at matched B at half the wall; ledger documents the boundary-cycling hypothesis. Co-Authored-By: Claude Fable 5 --- crates/ppvm-lindblad/src/lib.rs | 26 ++++++++++++++----- crates/ppvm-python-native/src/lindblad.rs | 3 +++ docs/autotune/2026-07-03-orbit-compare/log.md | 26 +++++++++++++++++++ .../scan_realspace_msd.py | 12 ++++++--- ppvm-python/src/ppvm/lindblad.py | 12 +++++++++ 5 files changed, 69 insertions(+), 10 deletions(-) diff --git a/crates/ppvm-lindblad/src/lib.rs b/crates/ppvm-lindblad/src/lib.rs index bbc8c78a..b3742588 100644 --- a/crates/ppvm-lindblad/src/lib.rs +++ b/crates/ppvm-lindblad/src/lib.rs @@ -1311,6 +1311,7 @@ impl LindbladSpec { drop_tol: f64, protected: &[Word], num_threads: Option, + admit_basis: Option, ) -> Result<(), Error> { if let Some(n) = num_threads { let pool = rayon::ThreadPoolBuilder::new() @@ -1318,10 +1319,10 @@ impl LindbladSpec { .build() .map_err(|e| Error::Internal(format!("rayon pool build: {e}")))?; pool.install(|| { - self.pc_step_inner(basis, coeffs, dt, max_basis, drop_tol, protected) + self.pc_step_inner(basis, coeffs, dt, max_basis, drop_tol, protected, admit_basis) }) } else { - self.pc_step_inner(basis, coeffs, dt, max_basis, drop_tol, protected) + self.pc_step_inner(basis, coeffs, dt, max_basis, drop_tol, protected, admit_basis) } } @@ -1392,6 +1393,7 @@ impl LindbladSpec { let t0 = Instant::now(); add_leakage_capped(basis, coeffs, leak2, max_basis); + // (timed variant keeps the historical admission == max_basis path) t.expand2_us = t0.elapsed().as_micros() as u64; let t0 = Instant::now(); @@ -1412,14 +1414,23 @@ impl LindbladSpec { max_basis: usize, drop_tol: f64, protected: &[Word], + admit_basis: Option, ) -> Result<(), Error> { + // Working-set (admission) bound: enrichment may grow the live basis + // to `admit` >= `max_basis`; the final `cap_basis` then keeps the + // top-`max_basis` strings by evolved |coeff| over the whole union + // (retained + admitted), i.e. genuine rank displacement. With + // `admit_basis = None` (the default) admission is bounded by + // `max_basis` itself and `cap_basis` is a no-op — the historical + // behaviour, where headroom must be created by `drop_tol` pruning. + let admit = admit_basis.unwrap_or(max_basis).max(max_basis); let tau_add = if dt > 0.0 { k_leakage() * drop_tol / dt } else { 0.0 }; // 1. First-hop expansion. After this, `coeffs` contains the pre-step // coefficients followed by zeros for the newly-added leakage strings. // We rely on `coeffs` itself as the pre-step buffer for the corrector // — no `.clone()` is needed because `expm_step` only borrows it. - let leak = self.leakage_with_prune(basis, coeffs, protected, max_basis, tau_add)?; - add_leakage_capped(basis, coeffs, leak, max_basis); + let leak = self.leakage_with_prune(basis, coeffs, protected, admit, tau_add)?; + add_leakage_capped(basis, coeffs, leak, admit); // 2. Predictor: `expm_step` reads `coeffs` immutably and returns a // new owned vector with the predicted state. let coeffs_predict = self.expm_step(basis, dt, coeffs, drop_tol); @@ -1427,9 +1438,9 @@ impl LindbladSpec { // we no longer need `coeffs_predict`. Extend `coeffs` with zeros for // any newly-added second-hop strings so it remains a valid input // (pre-step state) for the corrector. - let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, max_basis, tau_add)?; + let leak2 = self.leakage_with_prune(basis, &coeffs_predict, protected, admit, tau_add)?; drop(coeffs_predict); - add_leakage_capped(basis, coeffs, leak2, max_basis); + add_leakage_capped(basis, coeffs, leak2, admit); // 4. Corrector: redo from pre-step state on the doubly-enlarged basis. *coeffs = self.expm_step(basis, dt, coeffs, drop_tol); // 5. Prune basis entries below `drop_tol` (protected words never dropped). @@ -2047,6 +2058,7 @@ mod tests { 0.0, &protected, None, + None, ) .unwrap(); spec.pc_step_complex( @@ -2156,6 +2168,7 @@ mod tests { 0.0, // drop_tol = 0 → no truncation &protected, None, + None, ) .unwrap(); @@ -2168,6 +2181,7 @@ mod tests { 0.0, &protected, None, + None, ) .unwrap(); // Apply symmetry merging on the "with merging" run only. diff --git a/crates/ppvm-python-native/src/lindblad.rs b/crates/ppvm-python-native/src/lindblad.rs index b22b90c6..12eeaaf0 100644 --- a/crates/ppvm-python-native/src/lindblad.rs +++ b/crates/ppvm-python-native/src/lindblad.rs @@ -217,6 +217,7 @@ impl LindbladSpec { drop_tol = 0.0, protected = None, num_threads = None, + admit_basis = None, ))] #[allow(clippy::too_many_arguments)] fn pc_step<'py>( @@ -229,6 +230,7 @@ impl LindbladSpec { drop_tol: f64, protected: Option>, num_threads: Option, + admit_basis: Option, ) -> PyResult> { let n_q = self.inner.n_qubits(); let basis_view = basis.as_array(); @@ -256,6 +258,7 @@ impl LindbladSpec { drop_tol, &protected_words, num_threads, + admit_basis, ) .map_err(map_err)?; diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index ae7ffd6d..8d4c7107 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -912,3 +912,29 @@ factually wrong about the implementation). POSSIBLE CODE IMPROVEMENT (future): true top-B-of-union displacement (rank competition between retained and proposed) would remove the need for the pruning threshold entirely - worth implementing and testing. + +## Top-B-of-union displacement scheme: implemented, NEGATIVE result (2026-07-04) + +Implemented admit_basis (A) on pc_step/pc_step_arr: enrichment may grow the +working set to A >= B; the final cap_basis (now live) keeps the top-B by +evolved |coeff| over the whole union - genuine rank displacement, drop_tol +no longer needed for turnover. Backward compatible (admit_basis=None = old +behaviour; regression cell M100k/1e-5 reproduces 9.79e-4 exactly). Tests pass. + +Results (dt=0.025, drop=0): + B=100k: A=1.25B: 3.74e-3 31s | A=2B: 2.96e-3 46s | A=4B: 1.38e-3 89s + vs valve (cap + drop 1e-5): 9.79e-4 23s/288MB <- VALVE WINS + B=300k: A=2B: 5.51e-4 157s/583MB vs valve 5.53e-4 74s/430MB <- tie, 2x wall + dt=0.05 B=100k: A=2B: 1.99e-3 21s vs valve 1.50e-3 5.6s +Monotone improvement with A (converging toward the valve result from above). + +MECHANISM HYPOTHESIS (boundary-layer cycling): the union scheme deletes +A-B strings EVERY step, most of them front-layer strings that get +re-admitted next step, re-accumulate a small coefficient, and are deleted +again - each cycle discards accumulated weight (repeated coherent error +injection) and wastes work. The valve scheme's turnover (~1e2/step at these +knobs) makes near-permanent swaps instead. Lesson: LOW-churn evolution +accumulates less truncation error than aggressive per-step re-selection; +the 2TDVP analogy breaks because Pauli-dictionary "Schmidt vectors" can't +rotate - discrete swap-in/out has a per-swap error cost that SVD rotation +does not. The valve (cap + small drop) stays the recommended scheme. diff --git a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py index 675ee6b8..559f6915 100644 --- a/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py +++ b/docs/autotune/2026-07-03-orbit-compare/scan_realspace_msd.py @@ -22,16 +22,19 @@ npz = np.load(os.path.join(HERE, "exact_msd_L7_T2.npz")) tR, MSDR = npz["ts"], npz["msd"] # t = 0, .2, ..., 2.0 -def run_cell(mode, dt, knob, kleak=None, stream=False, mb=None): +def run_cell(mode, dt, knob, kleak=None, stream=False, mb=None, ab=None): steps = round(T / dt) out = (f"data/msd_{mode}_dt{dt}_knob{knob:g}" + (f"_K{kleak:g}" if kleak is not None else "") - + (f"_M{mb:g}" if mb is not None else "") + ("_stream" if stream else "") + ".h5") + + (f"_M{mb:g}" if mb is not None else "") + (f"_A{ab:g}" if ab is not None else "") + + ("_stream" if stream else "") + ".h5") cmd = ["/usr/bin/time", "-l", "./run", "run", "python", "main_realspace_ladder.py", "--mode", mode, "--L", str(L), "--gamma", "0.0", "--dt", str(dt), "--steps", str(steps), "--pbc", "1", "--preserve", "1", "--out", out] cmd += ["--min_abs_coeff", str(knob)] if mode == "trotter" else ["--drop_tol", str(knob)] if mb is not None: cmd += ["--max_basis", str(int(mb))] + if ab is not None: + cmd += ["--admit_basis", str(int(ab))] env = {**os.environ} env.pop("PPVM_K_LEAKAGE", None) env.pop("PPVM_EXPM_STREAM", None) @@ -61,9 +64,10 @@ def run_cell(mode, dt, knob, kleak=None, stream=False, mb=None): mode, dt, knob = f[0], float(f[1]), float(f[2]) kleak = next((float(t[1:]) for t in f[3:] if t.startswith("K")), None) mb = next((float(t[1:]) for t in f[3:] if t.startswith("M")), None) + ab = next((float(t[1:]) for t in f[3:] if t.startswith("A")), None) stream = "stream" in f[3:] - d = run_cell(mode, dt, knob, kleak, stream, mb) - ktag = ("-" if kleak is None else f"{kleak:g}") + ("s" if stream else "") + ("" if mb is None else f"/M{mb:g}") + d = run_cell(mode, dt, knob, kleak, stream, mb, ab) + ktag = ("-" if kleak is None else f"{kleak:g}") + ("s" if stream else "") + ("" if mb is None else f"/M{mb:g}") + ("" if ab is None else f"/A{ab:g}") if "fail" in d: print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} FAILED {d['fail'][:120]}", flush=True) continue diff --git a/ppvm-python/src/ppvm/lindblad.py b/ppvm-python/src/ppvm/lindblad.py index 10e3100a..084a896c 100644 --- a/ppvm-python/src/ppvm/lindblad.py +++ b/ppvm-python/src/ppvm/lindblad.py @@ -233,6 +233,7 @@ def pc_step_arr( drop_tol: float = 1e-12, protected_arr: np.ndarray | None = None, num_threads: int | None = None, + admit_basis: int | None = None, ) -> tuple[np.ndarray, np.ndarray]: """One predictor-corrector adaptive step. @@ -253,6 +254,16 @@ def pc_step_arr( ``num_threads``, when set, pins this call to a freshly-built rayon pool of that size — useful for benchmarking parallel scaling. + ``admit_basis``, when set (must be >= ``max_basis``), bounds the + enriched working set during the step instead of ``max_basis``: the + step may hold up to ``admit_basis`` strings transiently, and the + final truncation keeps the top-``max_basis`` by evolved ``|coeff|`` + over the whole union (retained + newly admitted) — genuine rank + displacement, so no ``drop_tol`` is needed to sustain membership + turnover. Default ``None`` reproduces the historical behaviour + (admission bounded by ``max_basis``; turnover requires + ``drop_tol > 0``). + Returns ``(new_basis_arr, new_coeffs)``; the basis may have grown (or shrunk, if ``max_basis`` / ``drop_tol`` pruned entries). """ @@ -267,6 +278,7 @@ def pc_step_arr( float(drop_tol), np.ascontiguousarray(protected_arr, dtype=np.uint8), None if num_threads is None else int(num_threads), + None if admit_basis is None else int(admit_basis), ) def pc_step_complex( From bee49078df0d8dd7b0638a3a55f73f1662634b37 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 18:08:36 +0100 Subject: [PATCH 097/159] autotune(orbit-compare): max-rel analysis - valve quasi-freezes at late times, displacement wins worst-case Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 8d4c7107..9d5324e4 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -938,3 +938,30 @@ accumulates less truncation error than aggressive per-step re-selection; the 2TDVP analogy breaks because Pauli-dictionary "Schmidt vectors" can't rotate - discrete swap-in/out has a per-swap error cost that SVD rotation does not. The valve (cap + small drop) stays the recommended scheme. + +## Late-time / max-rel analysis: valve vs displacement (2026-07-04, user suspicion CONFIRMED) + +max pointwise rel over t=0.2..2.0 (same cells as previous section): + 0.025 100k valve 1e-5: median 9.8e-4 MAX 3.80e-2 @t=2.0 (profile: 1e-5-ish early, then 9e-3,2e-2,3e-2,4e-2) + 0.025 100k disp A=1.25B: median 3.7e-3 MAX 1.13e-2 @t=2.0 + 0.025 100k disp A=2B: median 3.0e-3 MAX 8.1e-3 @t=1.6 + 0.025 100k disp A=4B: median 1.4e-3 MAX 6.3e-3 @t=1.4 (rel(T)=1.0e-3) + 0.025 100k frozen: median 5.9e-3 MAX 5.3e-1 @t=2.0 (catastrophic) + 0.025 300k valve: median 5.5e-4 MAX 1.05e-2 @t=2.0 + 0.025 300k disp A=2B: median 5.5e-4 MAX 1.30e-2 @t=2.0 (tie) + 0.05 100k valve: median 1.5e-3 MAX 3.04e-2 @t=1.8 + 0.05 100k disp A=2B: median 2.0e-3 MAX 1.20e-2 @t=1.8 (2.5x better) + +READING: the valve's low churn (~1e2 swaps/step) is TOO SLOW to track the +operator front at late times - it is quasi-frozen on the front's timescale, +and its error diverges toward t=T (mini version of the frozen catastrophe; +bigger B delays it - B=300k valve stays ok). The displacement scheme +refreshes the basis every step and holds a flat late-time error (max 3-6x +better than the valve at B=100k), at the cost of a small early/mid plateau +(~2e-3, the cycling injection) and ~2x wall. +VERDICT IS METRIC-DEPENDENT: + median rel (whole-curve typical) -> valve wins; + max rel / late-time (what matters for transport-coefficient extraction + from late-time MSD slopes) -> displacement wins at B=100k, ties at 300k. +Neither scheme dominates. For D(gamma) production runs (late-time slopes), +prefer displacement (admit_basis ~ 2-4x B, drop=0) or valve with generous B. From 03c4854eec4bf85685f4a4ff7bbde21d4bc316e3 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sat, 4 Jul 2026 18:15:56 +0100 Subject: [PATCH 098/159] autotune(orbit-compare): rel(t) plot - valve vs displacement late-time behavior Co-Authored-By: Claude Fable 5 --- .../rel_vs_time_valve_vs_displacement.png | Bin 0 -> 143134 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/rel_vs_time_valve_vs_displacement.png diff --git a/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_valve_vs_displacement.png b/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_valve_vs_displacement.png new file mode 100644 index 0000000000000000000000000000000000000000..f035c2ca2a21e15702a3af0fd29dc97b66bb7d03 GIT binary patch literal 143134 zcmeFZcRbbc`!`;)$)4F1ij3@?y~!w*Jwn<0*x8#?)#7M(D5Fx_w~B2=kMbn;gL}BNsw#L)@r@kun^Pp%Xj)nlEdGOy_z7B7MM|0?!jHV+ z>>8NH^b^El?zEhgrr!7BoTb2ghaQf}je!9@Uxy2f;0>IxyDfwqkrYb*`LZN@LuBUC z|NLF74p*zne?9{JiZu#0su`ZKQV}Os0{pSZ?o<08d?1`S-zVYtfh<>(Z=$TlVhh?4TlaaTI zR~q_v2V@3GuZeb-KK`b)a$iMdJiqUq*NYIfWM)Q$>p-4d!^50(XXo^8{ gRkq=Q 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�HC?n=-(#N)^;D$IZ;=@eS1*q{+nRYO9^O9UkNd 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 naC-bq6<33z9VcE2$hv=^U`<-b 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%0A-^_f;5aF?FE}=#WSm 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 literal 0 HcmV?d00001 From 83610e718122cbdc9411a882a52ba3635fc5a36f Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sun, 5 Jul 2026 08:30:04 +0100 Subject: [PATCH 099/159] autotune(orbit-compare): T=10 every-step comparison - displacement wins both metrics at B=100k Co-Authored-By: Claude Fable 5 --- .../exact_msd_L7_T10.npz | Bin 0 -> 52544 bytes docs/autotune/2026-07-03-orbit-compare/log.md | 28 ++++++++++++++++++ .../rel_vs_time_T10.png | Bin 0 -> 171212 bytes .../scan_realspace_msd.py | 22 +++++++------- 4 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/exact_msd_L7_T10.npz create mode 100644 docs/autotune/2026-07-03-orbit-compare/rel_vs_time_T10.png diff --git a/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7_T10.npz b/docs/autotune/2026-07-03-orbit-compare/exact_msd_L7_T10.npz new file mode 100644 index 0000000000000000000000000000000000000000..624722c0a29231487f1e3aaf8ee6ae5d97a78a28 GIT binary patch literal 52544 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 a+FaR;Kexwp3;!Rp@uPTNbW^33tK^@)UjCQ> literal 0 HcmV?d00001 diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 9d5324e4..c16f4c5b 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -965,3 +965,31 @@ VERDICT IS METRIC-DEPENDENT: from late-time MSD slopes) -> displacement wins at B=100k, ties at 300k. Neither scheme dominates. For D(gamma) production runs (late-time slopes), prefer displacement (admit_basis ~ 2-4x B, drop=0) or valve with generous B. + +## T=10 comparison, every-step reference (2026-07-05) + +Dense exact reference: exact_msd_L7_T10.npz (M=400, every dt=0.025 step, +12 min sector-reduced ED). Driver now takes SCAN_T env + max_rel column. +dt=0.025, metrics over ALL 400 points (t=0.025..10): + + scheme med_rel max_rel wall RSS + frozen B=100k 3.17e-1 5.98e-1 53s 238MB <- permanent ~0.3-0.5 plateau + valve B=100k 8.67e-3 4.09e-2 66s 279MB + disp A=2B B=100k 3.88e-3 1.44e-2 177s 341MB <- best B=100k + disp A=4B B=100k 4.67e-3 1.55e-2 340s 442MB + valve B=300k 5.95e-3 1.53e-2 302s 460MB + disp A=2B B=300k 5.71e-3 1.44e-2 669s 625MB + +Time-resolved picture (rel_vs_time_T10.png): the valve B=100k error PEAKS +~4e-2 at t~2 (the quasi-freeze episode seen in the T=2 study) and then +RECOVERS to the common ~5e-3-1e-2 saturation band - once the operator +equilibrates the slow churn suffices again; it does not keep diverging. +All adaptive schemes converge to that band; disp A=2B/B=100k has the lowest +long-time curve (~2-6e-3). Frozen never recovers. +T=10 VERDICT (B=100k): displacement wins BOTH median (2.2x) and max (2.8x) +at 2.7x wall; disp A=2B/B=100k even beats valve/B=300k on both error metrics +at 0.6x wall and 0.74x RSS. At B=300k valve==disp within noise, valve 2.2x +faster. A=4B adds nothing over A=2B at T=10. +Practical: for long-horizon runs at tight memory, displacement A=2B is the +best configuration measured; the valve's weakness is specifically the +transient regime around the equilibration time. diff --git a/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_T10.png b/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_T10.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9248e107ac2112fc524219c1de732a7593a6cb GIT binary patch literal 171212 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 t = 0, .2, ..., 2.0 - rel = np.abs(msd_s[1:] - MSDR[1:]) / np.abs(MSDR[1:]) # exclude t=0 - return dict(med=float(np.median(rel)), wall=wall, rss=rss_mb, peak=peak) + stride = max(1, round(REF_DT / dt)) + msd_s = msd[::stride][:len(MSDR)] # align to the reference grid + rel = np.abs(msd_s[1:] - MSDR[1:len(msd_s)]) / np.abs(MSDR[1:len(msd_s)]) + return dict(med=float(np.median(rel)), mx=float(rel.max()), wall=wall, rss=rss_mb, peak=peak) except Exception as e: return dict(fail=f"{e} / {r.stdout[-150:]}{r.stderr[-150:]}") print(f"REAL-SPACE MSD SCAN: ladder L={L}(N={2*L}) gamma=0 T={T} (exact-ED ref; median rel over t=0.2..2)", flush=True) -print(f"{'mode':9} {'dt':>6} {'knob':>7} {'K':>4} {'median_rel':>10} {'wall_s':>7} {'peakRSS_mb':>10} {'peak':>9}", flush=True) +print(f"{'mode':9} {'dt':>6} {'knob':>7} {'K':>4} {'median_rel':>10} {'max_rel':>10} {'wall_s':>7} {'peakRSS_mb':>10} {'peak':>9}", flush=True) for row in sys.argv[1:]: f = row.split(":") mode, dt, knob = f[0], float(f[1]), float(f[2]) @@ -71,4 +73,4 @@ def run_cell(mode, dt, knob, kleak=None, stream=False, mb=None, ab=None): if "fail" in d: print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} FAILED {d['fail'][:120]}", flush=True) continue - print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} {d['med']:>10.2e} {d['wall']:>7.1f} {d['rss']:>10.0f} {d['peak']:>9}", flush=True) + print(f"{mode:9} {dt:>6} {knob:>7.0e} {ktag:>4} {d['med']:>10.2e} {d.get('mx',float('nan')):>10.2e} {d['wall']:>7.1f} {d['rss']:>10.0f} {d['peak']:>9}", flush=True) From fdb90ed64d2cab58f642e6eebb96201c4808ab91 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sun, 5 Jul 2026 09:20:49 +0100 Subject: [PATCH 100/159] autotune(orbit-compare): raw MSD(t) plot to T=10, all schemes vs exact Co-Authored-By: Claude Fable 5 --- .../2026-07-03-orbit-compare/msd_raw_T10.png | Bin 0 -> 132188 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_raw_T10.png diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_raw_T10.png b/docs/autotune/2026-07-03-orbit-compare/msd_raw_T10.png new file mode 100644 index 0000000000000000000000000000000000000000..395a8b21aba1dcd1b486c371aded1d475c6a6e2c GIT binary patch literal 132188 zcmd?RhgXx^7CmYM4=7;41_Bn4BE>?HE}~TFy^9nf5PEM>kfI1kSGx3$l+XhzN)Z8p z1SIqh389BTLc-hO+BgasG(Sm<*ih_Iue@S>eG4#-Jw)OC~bhA04X6fPL=0t&G$7nChWVt{?b}A)=7lIV$M`$9|;G^xint^f_`hi2w7S>{F3KpX=rO zj|r&L(0h6(=PD1@zqsetx+py;`7u|S8V)EV%R84DF~4l@&&JKkeS`&;3!>}kF~3c5_KAjsGAI86`Sz6*&fYyDzztnfsL6NS!~~vCVrkfGvMC2 z^XF0Zfux-unFsqX94A}YUOkm%zjyB*8Y%nU)Dxu#F^Umi_)u=noXuX)Fex@Ui85>Q z`c%@jS1i&h;*7vwWE6X~pDN-!(fksf+2|)-Yr~F0p>}5?g5|@};?Ai(L)rHA z<4!nCNrjV}1XyMC%1AZ*p=V)WZVBPjQ2pl5+o&q_bP0ILrO?7|59Hm^xJj|)xn?wK zuBmRJ&UU2A20fiExo_K(E?GB1<~1QFV4I=$^PZ6 z;?;f(PFq(uH^YxiA+2r1!1j;R(a{wa7k?YnkS&9(cX~PWf;S3#5_!?`&u7aC=;%f5 z5DiF*60~O60>(D}vBiniYcgOf%KJmIMNmW6w1m#u1OnwHNnFY?5y?P43Yd)≪+} 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

Ei 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

`kuso`xrhu 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Ð&h#lzeYA#TWz00UN4B-m`{CgGlQbhBZtz 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%0Am8ap*Bx+vTIhbS%e-8k#A-L17*^wUM)P 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 literal 0 HcmV?d00001 From 2d1a273381d9296e07d5639090133c0f232ba7c1 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sun, 5 Jul 2026 09:42:32 +0100 Subject: [PATCH 101/159] autotune(orbit-compare): frozen B=200k/300k at T=10 - size cannot substitute for adaptivity Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 15 +++++++++++++++ .../2026-07-03-orbit-compare/msd_raw_T10.png | Bin 132188 -> 155420 bytes .../rel_vs_time_T10.png | Bin 171212 -> 199718 bytes 3 files changed, 15 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index c16f4c5b..6c73583e 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -993,3 +993,18 @@ faster. A=4B adds nothing over A=2B at T=10. Practical: for long-horizon runs at tight memory, displacement A=2B is the best configuration measured; the valve's weakness is specifically the transient regime around the equilibration time. + +## Frozen-basis B scan at T=10 (2026-07-05) + + frozen B=100k: median 3.17e-1 max 5.98e-1 53s 238MB + frozen B=200k: median 2.10e-1 max 3.30e-1 111s 296MB + frozen B=300k: median 3.87e-2 max 4.69e-1 180s 397MB +Raw curves (msd_raw_T10.png): B=100k undershoots the plateau (~2.4-2.9), +B=200k lands ~3.0-3.3, B=300k OVERSHOOTS through the wrap transient (peak +5.6 at t~2.3!) then wanders around ~3.7-4.1 with persistent oscillations +(max rel still 0.47; long-time median 3.9e-2 = 5-10x above any adaptive +scheme at a THIRD of the basis budget of valve/300k... equal budget). +Frozen error is NOT monotone-decreasing in B in the transient (300k's max +~ 100k's), and no frozen size equilibrates to the correct plateau cleanly. +Adaptivity - even the valve's ~1e2 swaps/step - is qualitatively load- +bearing; basis size cannot substitute for it. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_raw_T10.png b/docs/autotune/2026-07-03-orbit-compare/msd_raw_T10.png index 395a8b21aba1dcd1b486c371aded1d475c6a6e2c..a19b3fa52c58cd2644c8c6d65cf6c15b98b2033f 100644 GIT binary patch literal 155420 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%0A+D9AzIT{W%LdMd!Fc^AN{8E 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 literal 132188 zcmd?RhgXx^7CmYM4=7;41_Bn4BE>?HE}~TFy^9nf5PEM>kfI1kSGx3$l+XhzN)Z8p z1SIqh389BTLc-hO+BgasG(Sm<*ih_Iue@S>eG4#-Jw)OC~bhA04X6fPL=0t&G$7nChWVt{?b}A)=7lIV$M`$9|;G^xint^f_`hi2w7S>{F3KpX=rO zj|r&L(0h6(=PD1@zqsetx+py;`7u|S8V)EV%R84DF~4l@&&JKkeS`&;3!>}kF~3c5_KAjsGAI86`Sz6*&fYyDzztnfsL6NS!~~vCVrkfGvMC2 z^XF0Zfux-unFsqX94A}YUOkm%zjyB*8Y%nU)Dxu#F^Umi_)u=noXuX)Fex@Ui85>Q z`c%@jS1i&h;*7vwWE6X~pDN-!(fksf+2|)-Yr~F0p>}5?g5|@};?Ai(L)rHA z<4!nCNrjV}1XyMC%1AZ*p=V)WZVBPjQ2pl5+o&q_bP0ILrO?7|59Hm^xJj|)xn?wK zuBmRJ&UU2A20fiExo_K(E?GB1<~1QFV4I=$^PZ6 z;?;f(PFq(uH^YxiA+2r1!1j;R(a{wa7k?YnkS&9(cX~PWf;S3#5_!?`&u7aC=;%f5 z5DiF*60~O60>(D}vBiniYcgOf%KJmIMNmW6w1m#u1OnwHNnFY?5y?P43Yd)≪+} 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

Ei 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

`kuso`xrhu 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Ð&h#lzeYA#TWz00UN4B-m`{CgGlQbhBZtz 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%0Am8ap*Bx+vTIhbS%e-8k#A-L17*^wUM)P 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 diff --git a/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_T10.png b/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_T10.png index fe9248e107ac2112fc524219c1de732a7593a6cb..ba6727de43614db0226eaf3bfadb76be9984231a 100644 GIT binary patch literal 199718 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

8zwh;Y|wL%MazZ?s=?$ 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 literal 171212 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 Date: Sun, 5 Jul 2026 11:22:21 +0100 Subject: [PATCH 102/159] autotune(orbit-compare): valve 1e-6 at T=10 + combined 3-panel figure Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 12 ++++++++++++ .../msd_combined_T10.png | Bin 0 -> 307030 bytes 2 files changed, 12 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_combined_T10.png diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 6c73583e..fa22029d 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1008,3 +1008,15 @@ Frozen error is NOT monotone-decreasing in B in the transient (300k's max ~ 100k's), and no frozen size equilibrates to the correct plateau cleanly. Adaptivity - even the valve's ~1e2 swaps/step - is qualitatively load- bearing; basis size cannot substitute for it. + +## Valve drop=1e-6 at T=10 + combined figure (2026-07-05) + + valve 1e-6 B=100k: median 1.39e-2 max 6.96e-2 59s 271MB + valve 1e-6 B=300k: median 7.67e-3 max 3.24e-2 207s 432MB +Both WORSE than valve 1e-5 at T=10 (8.67e-3/4.09e-2 and 5.95e-3/1.53e-2): +smaller drop = fewer swaps/step = deeper quasi-freeze through the wrap +transient. (At T=2 1e-6 had looked better - horizon-dependent ranking.) +The zoom panel (msd_combined_T10.png, 3.7-4.1) shows valve 1e-6 drifting +3.71-3.95 around the plateau out to t=10 while disp A=2B and valve 1e-5 +track the exact curve's fine wiggles at the ~1e-2 level. +Combined 3-panel figure (raw / plateau zoom / rel err): msd_combined_T10.png. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_combined_T10.png b/docs/autotune/2026-07-03-orbit-compare/msd_combined_T10.png new file mode 100644 index 0000000000000000000000000000000000000000..daba87f44e08c628f2b4d8ab119bcaa15f5dbbef GIT binary patch literal 307030 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¬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%0AisX{ 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 literal 0 HcmV?d00001 From 26dca4b7b46be4633faa08ed038f4ac6c83e6484 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Sun, 5 Jul 2026 12:04:37 +0100 Subject: [PATCH 103/159] autotune(orbit-compare): threshold-only runs at T=10 - fail early and late, complete scheme taxonomy figure Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 18 ++++++++++++++++++ .../msd_combined_T10.png | Bin 307030 -> 366056 bytes 2 files changed, 18 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index fa22029d..155fe476 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1020,3 +1020,21 @@ The zoom panel (msd_combined_T10.png, 3.7-4.1) shows valve 1e-6 drifting 3.71-3.95 around the plateau out to t=10 while disp A=2B and valve 1e-5 track the exact curve's fine wiggles at the ~1e-2 level. Combined 3-panel figure (raw / plateau zoom / rel err): msd_combined_T10.png. + +## Threshold-only runs added to the T=10 comparison (2026-07-05) + + thresholds tau=0.02 (1e-4/K5): median 2.48e-2 max 4.19e-2 69s 519MB peak 142k + thresholds tau=0.01 (1e-4/K2.5): median 2.15e-2 max 3.29e-2 376s 1014MB peak 475k +(T=2 peaks were 82k/325k: uncapped bases DRIFT 1.5-1.7x by T=10.) +vs cap schemes at SMALLER bases: valve 1e-5/100k 8.7e-3/4.1e-2 @66s/279MB; +disp A=2B/100k 3.9e-3/1.4e-2 @177s/341MB -> thresholds are 3-6x worse on +median at 2-3x the RSS. +Time-resolved (msd_combined_T10.png): thresholds fail at BOTH ends - +(a) EARLY: rel ~1e-2 already at t<0.5 (the absolute-rate admission filter +bites hardest during the initial fast spread, where cap schemes are at +1e-5); (b) LATE: both threshold curves FLATLINE at a wrong plateau +(4.07/4.09 vs exact ~3.96-3.98) from t~4.5 on - the truncated dynamics +reaches a stagnant fixed point ~2-3% high, error frozen at 2-3e-2. +FIGURE msd_combined_T10.png is now the complete truncation-scheme taxonomy: +frozen (catastrophic), thresholds (uncontrolled size + early/late bias), +valve (transient episode, drop-sensitive), displacement (uniform tracking). diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_combined_T10.png b/docs/autotune/2026-07-03-orbit-compare/msd_combined_T10.png index daba87f44e08c628f2b4d8ab119bcaa15f5dbbef..1f0cd6f9cf0caab235d480cc555f266a347b6da6 100644 GIT binary patch literal 366056 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 g&N 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¬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%0AisX{ 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 From 41e609e80b1a01b3bd427a9233141759efa80729 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 09:19:17 +0100 Subject: [PATCH 104/159] autotune(orbit-compare): dt-artefact analysis - valve dt-limited, displacement anti-dt-limited, residual ~4e-3 floor open Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 155fe476..acea22d8 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1038,3 +1038,28 @@ reaches a stagnant fixed point ~2-3% high, error frozen at 2-3e-2. FIGURE msd_combined_T10.png is now the complete truncation-scheme taxonomy: frozen (catastrophic), thresholds (uncontrolled size + early/late bias), valve (transient episode, drop-sensitive), displacement (uniform tracking). + +## Is the T=10 saturation a dt artefact? (2026-07-05, user question) + +dt scan at fixed configs (T=10, B=100k): + disp A=2B: dt=0.05: 6.20e-3/1.54e-2 | 0.025: 3.88e-3/1.44e-2 | 0.0125: 1.86e-2/3.06e-2 + valve 1e-5: 0.025: 8.67e-3/4.09e-2 | 0.0125: 4.09e-3/2.76e-2 + valve 1e-5 B=300k, dt=0.0125: 5.38e-3/1.54e-2 (435s/459MB) +ANSWER: partially, and scheme-dependently. +1. VALVE was dt-limited at 0.025: halving dt halves its median (8.7->4.1e-3) + and shrinks its transient peak. Its churn/time also doubles (confounded + with dt error - drop is per-step). +2. DISPLACEMENT is ANTI-dt-limited: its injection is per-STEP (A-B strings + cycled each step), so error/time ~ 1/dt; interior optimum dt ~ 0.025. + The universal band at dt=0.025 was the two mechanisms crossing. +3. Once dt-unblocked, B still does NOT improve the valve median + (100k: 4.09e-3 vs 300k: 5.38e-3 at dt=0.0125) though max improves 1.8x. + A persistent post-transient offset ~4-6e-3 dominates the T=10 median: + damage done during the wrap transient persists in the equilibrated state, + and none of (B, A, drop, dt) measured so far pushes the median below + ~4e-3. OPEN: dt=0.00625 valve run would test whether the residual is + still dt-limited (confounded with churn/time doubling); alternatively + the transient-episode error itself must be attacked (displacement + at its optimal dt already does: max 1.44e-2). +Best T=10 cells so far: valve 1e-5/100k/dt=0.0125 (4.09e-3 med, 131s/276MB) +and disp A=2B/100k/dt=0.025 (3.88e-3 med, max 1.44e-2, 177s/341MB). From cdb001bd6d6981223ff410691a7ad4325c90290c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 09:59:13 +0100 Subject: [PATCH 105/159] autotune(orbit-compare): dt-scan error-vs-time plot Co-Authored-By: Claude Fable 5 --- .../rel_vs_time_dtscan_T10.png | Bin 0 -> 185199 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/rel_vs_time_dtscan_T10.png diff --git a/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_dtscan_T10.png b/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_dtscan_T10.png new file mode 100644 index 0000000000000000000000000000000000000000..ee353afbdfb94293a29b2eca912c419d792fd814 GIT binary patch literal 185199 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 literal 0 HcmV?d00001 From ffbfa85b66a4e3812e436596a1537e393cf28f6d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 11:38:12 +0100 Subject: [PATCH 106/159] autotune(orbit-compare): displacement B=300k dt scan - anti-dt trend damped by B Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 10 ++++++++++ .../rel_vs_time_dtscan_T10.png | Bin 185199 -> 237252 bytes 2 files changed, 10 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index acea22d8..5d6582e0 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1063,3 +1063,13 @@ ANSWER: partially, and scheme-dependently. at its optimal dt already does: max 1.44e-2). Best T=10 cells so far: valve 1e-5/100k/dt=0.0125 (4.09e-3 med, 131s/276MB) and disp A=2B/100k/dt=0.025 (3.88e-3 med, max 1.44e-2, 177s/341MB). + +## Displacement B=300k dt scan (2026-07-06) + + disp A=2B B=300k: dt=0.05: 4.70e-3/1.38e-2 280s | 0.025: 5.71e-3/1.44e-2 669s | 0.0125: 8.61e-3/1.78e-2 1048s +Anti-dt trend confirmed at 300k but much WEAKER than at 100k (x1.8 over the +dt range vs x5): the per-step cycling injection scales with the +boundary/basis ratio, so bigger B damps it. Displacement dt-optimum shifts +to LARGER dt at larger B (best 300k cell: dt=0.05, 4.70e-3 at 280s). +B-scaling remains weak in all schemes at T=10 (transient scar dominates). +Figure rel_vs_time_dtscan_T10.png updated with B=300k (dashed). diff --git a/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_dtscan_T10.png b/docs/autotune/2026-07-03-orbit-compare/rel_vs_time_dtscan_T10.png index ee353afbdfb94293a29b2eca912c419d792fd814..faa334239dea3c4281e53197587c9e3d0975514b 100644 GIT binary patch literal 237252 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

0(eN9|eM{ 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 literal 185199 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 From fe43d426b95c003df9bd3ecf39381e1012fe7cd1 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 11:42:44 +0100 Subject: [PATCH 107/159] autotune(orbit-compare): late-time floor decomposed - revival component + transient scar Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 5d6582e0..f34f8132 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1073,3 +1073,24 @@ boundary/basis ratio, so bigger B damps it. Displacement dt-optimum shifts to LARGER dt at larger B (best 300k cell: dt=0.05, 4.70e-3 at 280s). B-scaling remains weak in all schemes at T=10 (transient scar dominates). Figure rel_vs_time_dtscan_T10.png updated with B=300k (dashed). + +## Late-time floor DECOMPOSED: revivals + scar (2026-07-06, user question) + +Exact plateau t>=4: mean 3.9738, range [3.9405, 4.0021]. A CONSTANT +prediction has median rel 1.84e-3, max 8.5e-3 - the size of the coherent +finite-size revival signal itself. +Scheme late-time errors: 4.0-5.6e-3 vs exact; 3.0-6.0e-3 vs the SMOOTHED +exact; correlation with the exact wiggles: -0.27..+0.28 ~ ZERO. +=> The late-time floor = (a) the revival component (~2e-3 median / ~8e-3 +max): coherent recurrences living in high-weight scrambled strings that NO +truncated basis retains at any feasible budget - knob-independent by +nature; + (b) a residual plateau bias ~3e-3 (the transient scar proper), +improvable only by surviving the wrap transient better. +CONSEQUENCES: (i) the apparent "non-convergence" at late times is mostly a +metric artifact - we were grading truncated methods on reproducing +revivals; (ii) for transport physics (slopes/plateaus, thermodynamic +limit) the relevant late-time accuracy is ~3e-3 and the revival component +should be excluded (smoothed reference) or pushed out by larger L; +(iii) this cleanly documents the method's fundamental scope: hydrodynamic +/ dissipative components YES, coherent recurrences NO - worth a sentence +in the paper's discussion. From 78af50e703e0027ad918b7facee9236ff2ec1887 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 11:51:04 +0100 Subject: [PATCH 108/159] autotune(orbit-compare): revival mechanism tested exactly at N=10 - truncation is weak dephasing, compounding kills recurrences Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 28 ++++ .../revival_test_N10.py | 145 ++++++++++++++++++ 2 files changed, 173 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/revival_test_N10.py diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index f34f8132..8d6b84a5 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1094,3 +1094,31 @@ should be excluded (smoothed reference) or pushed out by larger L; (iii) this cleanly documents the method's fundamental scope: hydrodynamic / dissipative components YES, coherent recurrences NO - worth a sentence in the paper's discussion. + +## Revival-carrier hypothesis TESTED with exact numerics at N=10 (2026-07-06) + +Setup (revival_test_N10.py): L=5 ladder, O(0)=center-rung Z pair, exact +evolution; full 4^10 Pauli decomposition (per-qubit transform, round-trip +verified to 3e-16, Parseval exact). +Coefficient structure at t0=2 (CONFIRMS the dust picture): + 260,830 strings nonzero; top-100 hold 21% of the norm; 90% needs + B=100k (=10% of all strings); kept mean Pauli weight 4.2-7.4 vs dust 7.5. +SINGLE cut at t0=2, then exact evolution (REFUTES the strong one-shot form): + B=1k: future wiggle corr +0.43, amplitude 20% + B=10k: corr +0.85, amplitude 43% + B=100k: corr +0.99, amplitude 94% <- one cut at 10%-budget keeps revivals +REPEATED cut every dt=0.1 (100 cuts), exact evolution between cuts +(IDENTIFIES the real mechanism): + B=10k: corr -0.14, amplitude 5% + B=100k: corr -0.09, amplitude 22% (uncorrelated -> noise, not signal) + and the late-time mean shifts to the exactly-uniform value (2.000/1.993 + vs exact 1.9386) - the flat, slightly-off plateau seen in production. +CONCLUSION: truncation acts as WEAK CONTINUOUS DEPHASING on the coherent +recurrence channel. Per-cut amplitude retention is high (~0.94-0.99 at +these budgets) but compounds over hundreds of steps to ~zero; the same +budget that survives one cut erases revivals under repetition. This also +explains part of the plateau bias (truncation pushes the profile toward +exactly-uniform, losing the coherent depression of the exact plateau). +Paper angle: implicit truncation-dephasing is the flip side of DAOE's +explicit artificial dissipation; hydrodynamics is immune (carried by few +large-coefficient strings re-selected every step), recurrences are not. diff --git a/docs/autotune/2026-07-03-orbit-compare/revival_test_N10.py b/docs/autotune/2026-07-03-orbit-compare/revival_test_N10.py new file mode 100644 index 00000000..4760c10e --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/revival_test_N10.py @@ -0,0 +1,145 @@ +"""Exact test of the revival-carrier hypothesis at N=10 (L=5 ladder). + +Protocol: evolve O(0) = (Z_{j0,0}+Z_{j0,1})/2 EXACTLY to t0, decompose +O(t0) over the full 4^N Pauli basis (fast per-qubit transform), split into +the top-B strings by |coefficient| (kept) and the remainder (dust), then +evolve both parts EXACTLY (no further truncation) and read off the MSD +profile a_q(t) = Tr(Z_q O(t))/2^N, which is linear in O. Prediction: the +kept part reproduces the smooth plateau; the revival wiggles live in the +dust (individually tiny, collectively coherent coefficients). + +Usage: revival_test_N10.py t0 T out_prefix +""" +import sys, time +import numpy as np + +L = 5 +N = 2 * L +dim = 2 ** N +t0, T = float(sys.argv[1]), float(sys.argv[2]) +pref = sys.argv[3] + +def ladder(L): + site = lambda j, leg: leg * L + j + bonds = [] + for leg in (0, 1): + for j in range(L): + bonds.append((site(j, leg), site((j + 1) % L, leg))) + for j in range(L): + bonds.append((site(j, 0), site(j, 1))) + return bonds + +idx = np.arange(dim) +H = np.zeros((dim, dim)) +for (p, q) in ladder(L): + bp = (idx >> (N - 1 - p)) & 1 + bq = (idx >> (N - 1 - q)) & 1 + src = idx[bp != bq] + dst = src ^ (1 << (N - 1 - p)) ^ (1 << (N - 1 - q)) + H[dst, src] += 2.0 +E, V = np.linalg.eigh(H) + +dz = np.array([1 - 2 * ((idx >> (N - 1 - q)) & 1) for q in range(N)], dtype=float) +j0 = L // 2 +O0 = np.diag(0.5 * dz[j0] + 0.5 * dz[L + j0]).astype(complex) + +P4 = np.stack([np.eye(2), np.array([[0, 1], [1, 0]]), + np.array([[0, -1j], [1j, 0]]), np.array([[1, 0], [0, -1]])]).astype(complex) + +def pauli_coeffs(O): + """(2^N x 2^N) matrix -> (4^N,) Pauli coefficients, qubit-1 slowest.""" + Tm = O.reshape((2,) * (2 * N)) + order = [] + for k in range(N): + order += [k, N + k] # pairs (i_k, j_k) + Tm = np.transpose(Tm, order).reshape((-1,)) + Tm = Tm.reshape((1, -1)) + for k in range(N): + # leading done-paulis x (2,2) x rest -> contract this qubit's (i,j) + Tm = Tm.reshape((4 ** k, 2, 2, -1)) + c0 = (Tm[:, 0, 0, :] + Tm[:, 1, 1, :]) / 2 + c1 = (Tm[:, 0, 1, :] + Tm[:, 1, 0, :]) / 2 + c2 = 1j * (Tm[:, 0, 1, :] - Tm[:, 1, 0, :]) / 2 + c3 = (Tm[:, 0, 0, :] - Tm[:, 1, 1, :]) / 2 + Tm = np.stack([c0, c1, c2, c3], axis=1).reshape((4 ** (k + 1), -1)) + return Tm.reshape(-1) + +def pauli_matrix(c): + """inverse of pauli_coeffs.""" + Tm = c.reshape((4,) * N) + for _ in range(N): + Tm = np.tensordot(Tm, P4, axes=([0], [0])) # consume leading pauli axis, append (i,j) + order = [2 * k for k in range(N)] + [2 * k + 1 for k in range(N)] + return np.transpose(Tm, order).reshape((dim, dim)) + +def evolve(O, t): + ph = np.exp(1j * E * t) + W = (V * ph) @ V.T + return W.conj().T @ O @ W + +t_start = time.time() +# round-trip validation on O0 evolved a bit +Otest = evolve(O0, 0.3) +cc = pauli_coeffs(Otest) +err = np.abs(pauli_matrix(cc) - Otest).max() +assert err < 1e-10, f"transform round-trip failed: {err}" +print(f"transform round-trip OK ({err:.1e})", flush=True) + +Ot0 = evolve(O0, t0) +c = pauli_coeffs(Ot0) +fro = np.linalg.norm(Ot0) ** 2 +csum = (np.abs(c) ** 2).sum() * dim +print(f"Parseval check: Tr(O^2)={fro:.6f} 2^N*sum|c|^2={csum:.6f}", flush=True) + +mag = np.abs(c) +order = np.argsort(mag)[::-1] +pw = np.zeros(4 ** N, dtype=np.int8) +tmp = np.arange(4 ** N) +for _ in range(N): + pw += (tmp % 4 != 0).astype(np.int8) + tmp //= 4 +tot2 = (mag ** 2).sum() +n_nonzero = int((mag > 1e-14).sum()) +print(f"t0={t0}: {n_nonzero:,} strings with |c|>1e-14 (of {4**N:,})", flush=True) +for B in (100, 1000, 10000, 100000): + kept = order[:B] + frac = (mag[kept] ** 2).sum() / tot2 + print(f" B={B:>7,}: |c|^2 fraction {frac:.5f} min|c| kept {mag[kept].min():.2e} " + f"mean weight kept {pw[kept].mean():.2f} vs dust {pw[order[B:min(B+200000,len(order))]].mean():.2f}", flush=True) + +jcoord = np.arange(N) % L +dj2 = ((jcoord - j0) % L) +dj2 = np.where(dj2 > L // 2, dj2 - L, dj2).astype(float) ** 2 + +ts = np.arange(t0, T + 1e-9, 0.1) +Bs = (1000, 10000, 100000) +mats = {"full": Ot0} +for B in Bs: + ck = c.copy() + ck[order[B:]] = 0.0 + mats[f"kept{B}"] = pauli_matrix(ck) +res = {"ts": ts} +prof = {k: np.zeros((len(ts), N)) for k in mats} +for m, t in enumerate(ts): + s = t - t0 + ph = np.exp(1j * E * s) + W = (V * ph) @ V.T + Wd = W.conj().T + for k, M in mats.items(): + d = np.real(np.diagonal(Wd @ M @ W)) + prof[k][m] = (dz @ d) / dim +for k in prof: + a = prof[k] + res[f"msd_{k}"] = (a * dj2[None, :]).sum(axis=1) + res[f"suma_{k}"] = a.sum(axis=1) +np.savez(pref + ".npz", **res) +print(f"saved {pref}.npz ({time.time()-t_start:.0f}s)", flush=True) +fu = res["msd_full"] +late = ts >= t0 + 1.0 +wig_f = fu[late] - fu[late].mean() +for B in Bs: + ke = res[f"msd_kept{B}"] + wig_k = ke[late] - ke[late].mean() + corr = np.corrcoef(wig_k, wig_f)[0, 1] + print(f"B={B:>7,}: late ={ke[late].mean():.4f} vs exact {fu[late].mean():.4f}; " + f"wiggle corr {corr:+.3f}, amp ratio {wig_k.std()/wig_f.std():.3f}", flush=True) From e19cc7ac1a9acb8f784145362849e6c33411e16d Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 12:15:43 +0100 Subject: [PATCH 109/159] autotune(orbit-compare): Trotter+truncation dephasing test - same erasure plus spurious own wiggles at loose mac Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 27 ++++++++++++++++++ .../msd_trotter_overlay_T10.png | Bin 0 -> 303337 bytes 2 files changed, 27 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_trotter_overlay_T10.png diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 8d6b84a5..5debafd9 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1122,3 +1122,30 @@ exactly-uniform, losing the coherent depression of the exact plateau). Paper angle: implicit truncation-dephasing is the flip side of DAOE's explicit artificial dissipation; hydrodynamics is immune (carried by few large-coefficient strings re-selected every step), recurrences are not. + +## Trotter + truncation at T=10: same dephasing, plus its own wiggles (2026-07-06) + + trotter mac=1e-4 (peak 111k, STATIONARY == its T=2 peak): med 8.60e-3 max 3.08e-2 37s/134MB + trotter mac=3e-5 (peak 1.20M): med 3.88e-3 max 1.68e-2 623s/415MB +Late-window (t>=4) wiggle analysis vs exact (exact wiggle std 0.0141): + scheme late mean corr amp ratio + Trotter 1e-4 (111k) 4.0042 +0.60 1.92 <- OVERSHOOT: own coherent wiggles + Trotter 3e-5 (1.2M) 3.9932 -0.22 0.59 + valve B=100k 4.0058 +0.46 0.67 + disp A=2B B=100k 3.9889 +0.21 0.81 + valve B=300k 4.0067 +0.30 0.65 + disp A=2B B=300k 3.9984 +0.24 0.25 +(exact late mean 3.9738 - ALL schemes sit 0.4-0.8% high.) +ANSWER: yes - Trotter+truncation shows the same effective dephasing of the +true recurrences (no scheme tracks the exact dip structure, e.g. the t=5.7 +excursion to 3.945; at tight mac Trotter flattens exactly like the pec +schemes). TWIST: at loose mac Trotter additionally GENERATES its own +coherent oscillations (amplitude 1.9x the exact wiggles, partially phase- +aligned corr 0.6) - spurious revival-like artifacts from the Trotter+ +per-gate-truncation dynamics, absent in the exact-in-dt pec schemes. +REFINEMENT of the earlier corr~0 claim: correlations across schemes span +-0.2..+0.6 - the N=14 late-time signal contains a partially retrievable +low-weight coherent component on top of the erased scrambled part; the +dephasing strength ranks with discarded weight per event (disp most +aggressive: amp 0.25; valve intermediate; loose Trotter least, but noisy). +Figure: msd_trotter_overlay_T10.png. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_trotter_overlay_T10.png b/docs/autotune/2026-07-03-orbit-compare/msd_trotter_overlay_T10.png new file mode 100644 index 0000000000000000000000000000000000000000..6a75fb5dd09c55a844de6212b3bd9164186d2fe3 GIT binary patch literal 303337 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%0Ac*MXdWwIskbML;% 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 ^muQad;} zc<1sV${y9eE%jSd zuN%ETzF}EAk&&230`oxmRtWlPbKb5m#F!O#NZc_I=4Co`GSSawNoq)JjX_7U1YnX? zzs&=#-UB>Oo7-%VAXHb%V7e5(D#LS{R#+N2E7qHNh0ikoxEK6(pJw0 zP5VND{}%-YaGFTo3$Pf^tFlNz+2TINCm}K40VaqO2ypZFuV0$W$DsA6)kEPFISs$i zT82AxhT%=rt!G-XYL$PT-q`@s($dF@sU|RGW#t+$F+s_%4Kk!`0Iqoz#*Fb6a95DJY#?da@5s*D}7 zS_`i>F5^>olL=F+CJVZ0L^Ch=DeqTcB=KlUBh;ebG&ez(^%#w$Alv_C&bWf$v++-N zT_SpKO|ITCSTtrMUO1u|NMM2xKzVtpNYbKsVIE4pu)}7P8vscedRw!Y!uH$Rd`wOk z5vPdP5Ac$Rt%hG$e$x*^oUvh*(c+;1U79>ToFguEds;CymGxTE04no`hN*n#^;b#y z`ww-wTYKBy>aI2Yr)FkiIibamK?gEiI~DdXM4hi3cR+37`!nu1Wq@RW)#t zWR3<1eYuwg~(e8-QH6L0Mv<36zP~3%QKH{eG|xW zM0%*U@LwZs>>eod{{r0cOMd=+fvt#-u~|!5#8!rf*eQ8?MlHTKmBk?Azq?+5mfCA` zuzoC2-iGJE1j%?X~bRXB|xBWMCNwPW*Dd)aFAUgvG^LEv@!D2d-bf!z+80B1z zO%nYGMmOvbcrfBpM0BFqykfCDb|RXeCl--@tE2A9EE~z*D}4q`G18F#X>fsmZDRF+ zqu;dzVX4Ju8#MVg;`{Htl#}IZihK&!pgIv?=DOqizsX?FKnreqw@9m^+k_p)njRs_ z$hBpReHubnfb;tG>yL?v)$=9)4GoHg@uxM(m9+WafR0VsQ#I_Exjn+EdLXA&A5E~miIv#=W zslmsy1k%)GueiA>I>o5Xp%v%^nuG=y<8=2btS-FE`6W>lQAC>ii+$oHF{5WYDc zPZsvz0u8HJV8aU<219DUgRFePpV`gBx0tqNeOv!a_qKU3bX)tja)_*J%F402PY)Pb z+KsS%M%-8BED&3jBIwDpwl%ZIv%Ua@I{^9j9{}(70Ka?k>Z*ERyP)gx`wfg&XA9wn z6gS0+P-QrP)6(#Ke;Hx+Jmho@COLEg#5NqLvqtYp3URl9XQm7UE!Fa%3o8vE`H7-I ziL6FnGwmn>QbXFP15y!B=d@u_#449HnMSA{zT5w&dU!m`k&fIg>T|gSVhi_3Mr!H@ zphUxRf(=@@!lfdJmw_m(b*ju*(VpYcqc#OGV4Lj#EDcvcBf1+QVpzTa8`$%M+*i{E zRUI8G-@?)QboyFv_-3#VFP)d>kIjbU%*=%fjHlpjjVXbFJi!9uo+9=MQFe&$VB+fH7%?KSZQlCKyG;H@!`LkCz~)X#0{+}kIXO8&VL$mj zB5E<KiR=4jck5Bst^!0^S`eq= zM|g?unE1el*?#Qhli$k5eXIq7pz<_8xVk)k2Py}<6otnBCly}^JU@PfTH<5?Z+Ni% z73f7UKX~v!;d9v&A7HQny96qnslTF1N4L@$TEXGeu9d!?_ZgWCY@SVH5(llY$-jrzkkcL zL^0bQAfedz0?$y9Cguzc1B-18m=u`GS!k(09G>(7iRn!?OYO_$RcPSA}lNp z{;x#r(%M>nfF=61CUY8BKi~i}SB7kSZJ{zk1O}@}9E!jQ2GaS;zR$@ESVNo)7XFmL z7U*oGrU=jmHvxRbNCSx3bi)uf56J>fc~7;Lwe%B5M78gtJjOjbbu5tTg$yPFPu+?D}HwP+OfH;77 zRW{Vz_iEPGj3;O+4n=RTot!>-f}db5q$ni7lBA>U_+wyyxjAa?_k z!@D#PE`daqJx|!P@4e#Gx4#g68@OSPm`f&faswTWZD1`SvMx7so1>W<(WXlnhkgN7F3Hy<^fh{<-?=|s~yH7`Os%@-S3 zZVi+y1!Lx?uQ3P5M=v0V=^ICx=>RH&)dsW~gC|z}6(~CE5WYM(Y`mXg@4PX+NB5UI zhBoYSq@%dZgUH-h8U4nD;rVL@Y}<9cpVESlc-#9a-z(eG^>b4NO|JOc_2bzKQh>1J z=p%rb{3>hLvlt01r+HeaQ!;vyjDWXbpBY9qpn5s^fJ2)vb=W}tfBf5(zQxS^-lt4V zT$7?%wnx5n7aoU6O@@^G$JDNCh@xncEHa8{7pcMsP7m6 z7H(tYUIk9FHA^^@r^R1@pGB!?Eom!vVgNOfun>z58le`-5OuV0+Ccfoi=*|lr9U_o zPD|Qi_Z)bhdq-hqso$a}2xVcVbwq~~JmJ++2ipNKojCJ5wRSMzR{xFMXa2BqK=rnuaM^5v6-TI27?2dcD238Lk`fRPRZbJ$do zkADW16(u1AvX%m*>8l&F6kpPac#(k+E8ya$zx;4%F%Li~$LGrkK|>$Lb{FZK*K0&n zh_5Dkgh1|B*Va;I!CC4TcVvHwVC_MfmvQ({&F2=tG^XTF4rad4)Ic;j+eG%kHrS_U z$3s@6q~=apatfpx7-`&X@lsAmh)H#^HdykRCG~%QTy8i1bTkzNRG$NcX^;WUdQ40V zADv7^*C1&B8YoSK9G#q}v&g`Dy9Yg2H@X2QP}Gsp*$o(3jctxL>1tl!LT zdjRF=yYEL5btGWxkr`|)^h>Q<-(1&YEdgdnQ_Y*b#3FNAfeG5<6o8dVPQYP8Gz2C` z8NV+o)H9+v0sIo{<2i8igzJVMV^fm6vp`2yWZX{mpO_eld#ysmFE8Y}J@t4UU12?j zm3PgII%S7)k|eN5GzKj*9ZR!xG}=-hpJG?igb@41{>5&3Az;_20>v`ELd9NdjKjT`QD=!<{=+1(T45GzepGd3OcF!F`|IBD7%owfZ? z?5X5e8_%m|ar)QqfOSc7D^eIpC?~4v@ue^I@JC$ zn2Njz14>#%iPQ1%v-Hv+bS>$L*F;dX5h6doyOx1+J;;E2`?-jpqM~9Pa@pM6ToH^U zxj8;yi8=6tHP`TGI{ECoIuN{;uiz^aJbED$wgA+|+7uR^#~Y*b&5^Mm+SK(>*0=)# z?C)wM#BXj*H!Smf#X@kKK>hA?1-yRj95Y*w!TE(A9v-e;^4~WYTOl-v#H9#Z1+nc} z4MGU1`k0ah%;-UIq3e8rdhxiI>pzpyupoqCmafwfk6CFFf&l=$S61Bsu7MZ=1blBJ zks(k}B(iO6N+F*5-39EDBWWHMQ6|L0ef6a+S* z|NTALP{4Qm?^bCkL0$OYPr{sm$JhUUGG+)!pa1>n|NVz}2g(bh#dJNn8|JZ_Z@_b% zBEBcu&zn{R>aDLD0HVsac}f3i!wW&YmHj$J+!EIh;^gAW(S_iNaKFJ^^Z}%j)rJrV z6=AfrGl`P40buP{vW83I`>=<<6Z+df^^uFzG%Yqh-lSMwULH~Od-B-G-~DR%zrXsx z=LwH8Kv@5~{y*Nz|Ly*#Sq91l;r9Q%LSQ}dH1I!jSzzy|@IO8&Xhm><+Wmjat^?o@ z|9vVJ8x+_7{pA0zAL{1l?dubFbmRilt?Lk#_S=}V3vZD1KE6A=f%u$M(D~hs6UZ-} zmNg~+_iWgfw^P5(HzVpJMpo9H{gsO;GH$aVmz4iKu=+qQQlU+dS9BDVG=F&OI-RRJ zLI9jdflI-_J!XB+O@`yW#g>YQ|9q@z$JXN8rqBU@>>MzAtltNMsKN)xu6x)bI0FSK zUGHl6I=$>_mqUhG{u_N3CR_8$zl;Fj_Sh`?&2zdq6#S(fBLo{Y|JyQSv-y(sfux$i zG2k{F0FTRnK`ZaR_`l5^tM>xA8{5d@nfzBoTmiFggU{ancawOV3~IFV$P~YV0~-+T z3;g@75WK!mpFX8Fl@t~Z#+yB%r+41s`Uffk8QKUl@H8%aR5CgHeO<-BEQ6mEL&h^Y zBBBFu3_}-&%UPVJiSNO&Pb#*xM6+V-ppAMDt%(h$kwQEEJRE;VLw8WZT!Gadl3FiX zs1$=UnjefM+PWLG7HRAH#>1P~QdrbU=mBqSI&bU3g>Ny~ZS4}XpZ@hyVZgJIQAF2J zkOgBr>H(|}8y6RdFqRF3V!g1tA6A_>KQ$)Y)CU_%8*))sS6625ceR-))GF<-F_1W`st#^*fN{9;Vw3Jt}ol=wp}I_oV>*N9rhweWku~}za`0ov%(!j82~KezdUZD&)&&zN+{U@kwOSD zq7K;j+y`3b05B?ri^a~rw>re)w^G)_b+28HTfY%*h-eS0JwJs=(>uH;yu1^-J*_W3 ztx0_!3iwn=7;h6UBj-)_sdJEKc2AtJwf`*;dIG0`Jh*G#+Mb)r z3?CUPk&BOtJRgdlTg6uD4w5THypipC`wLqoEz-r8|E!MKYVd|BCyGzZ2{P>4(Sg;G zwKJKRulJ2N7!8x3;tJ@*HS3#F)hS3hbd0SV!2`g3dCD6KOv^YYjC=YYJu%Sh8fA1o zgUC(P)Hb_O#B2L`85*LpELM-IzWHYldEx-)ciE|X(iw*yR-ChSd`3kN2rn;b@F+H< z7{*vlIm~{el7?D47+?JGDWiB^S%hLCWff3qI8=Pp2e~1OJZ>0)*s1WOZ(;?=|NEs8 zRiRKJf@6La0*Ga{Bk2MJfSIejzDOCn!2kZ4f4R1hx=n5S+``Xq4+0a~rab-e;7G=X zFC=KHJ7;Tti$=yl=_^nu2X%DsvCru+{pTVRYnzL|Y3n$y$d}@4ArbOSq}}S}OLQ=T zXp24IIhL0IFV9WzF} z{B!Pq)j`Bq!x4i*7e35qMk#;ZqLS(i7)1sL6EH_`F2P5ZSr5_B=W!->Hv1Gd*?aqPYRBSi0 z^ofCW6As-K7(vp zl!OM7Z+SC3IjX4)3YQtj;-E$y{y~=(T?@X?9R`{-GO&fZC$WypABe`=S_{x1kUVhV zD}iV#OJc$S-P3;d!C6QCt6zoG%7qh7`{a`yLatBF522oYN{20INHDg6t=5Kr-SWpc z5g(i4CiPL5faWNYMcQCN!RO8k4ycqP-qMa@HYTML5UhNBg2DHGX;}|9gyA z06L;I#NiNBi74l%X3A!r`s>N@L$dw^jQnkUOrx_^zC0dFr6BJ~6`1XZI>Yhln2n$U z_x{%KkVg2w7WU56Ae7T@GmLo&wDj=2>{+(^-eaU-RFsk@u9pgP790xJMH-ufBWoXW zk#phCeriijr3f^14XtY`Eho1v5i4c>=k~{bgDfDn)SP3+2M%V-?Svib&sH^9sHRkI zX5WuDrO)Y2+s>K_p^AJaFnTNedwadMI-kz&%fE}YVKYo$vOTkHW4|u&lxuK66>6*l ziJU$S8SIdHDr8*Yb+7+OZcApxwofSq2vFXgX0z^i9sL_N1p#{k58Vrz(_z_bP+128 zVk~AiUYg~>)}h$S$$LLT(+iW&<)44APkU%;-|S?mlT=^b5Nx{cGSS$Pm71czD#d3U zuub>_jOkIQ>9p|X8h9LH`%UCU+_)- z1YUCS8n%8mG3f}Q&`hq$#Y{A9GqWNc)%n`u^J%ag=^6i74w+(Ec=6d$UOoF@6s3oSw+6!0Q%a zVbp_QCeQpis^wbYKv!CAjWVhsVLs~Tq~+$s+$)rQl3BsqT##Q z;_dQHY>9uD(csYH`R#ZA_aN;A7anL=Af6gsVTg53etlCU)Wbr@pOaD)v#3bgQ3bWJ zSet)-6bzFDE6+&T-Vp5@Mwa`v2#25UTi{N0TsR}QH0u?xM~x!ZYZR@Q+&S2t3F9@4fw*OKLw?cF>3YX0x(fr-u0EtFz!qWawy z!^p^poTt0VWcUS3!@AYfSsJnlwsajkWcQkSiJI-3hwg|fH@<(m+|jK-0fznG;y}TZ z%n#0*3$K@|xcwWuu*UH(QB;-Cx~VZtqHRPUmi-{rydf&RRyF7geg5XH@@OMN>s1m& zf8j6Avt3tY+#;5{oFz6BvF)8LpvJoK{W&^d#N(2);PS!wK#p-a{-BGZgMbnD%~8BH zlk@;3>5a6>lSd3saJou4yrcpyIpju?Z-0p4Zk(bu;3Xg_G+<8Mj67HK-inD)JV=r{ za@1rky(U;nA_*|fvPXlc!64jrs4!vZwhvM1xRyV6{lG2D-Qi=A3b=2v`)H&-SPhA_ z?;84ZX0;wuW^Cecc*@CdeM=xbAIQ`pNFWORzK`b4mo%9y3Y_Twrg{0-3|rl2!=58L zKcX83(XzhtuS(=}LkLN=d2ZGXPfqXEI$y?1^2V5wjr`yUyfZ7$-t zYm%IS9ii1W@7Fu|9trq2?N;cOW4m9WER~4_ zys2nE(!N`FV`l#zcs7ZClYbnLib+GcNN33m1_L0CdJu*@|&PgQ1{`VVoEoRh}j2DB2R(n;^xnZrT0s^;T68QOw@P;=DHlc z052rCKnMI=ZI*IM?Bmc|k>sXwBr3bNoAt697t4j5QJ)do zx7D=n-;n3A`;xf7BUvhFKyq`LWDi9gY`v~Zh&^Tn%^5mu-#yvWZgj=4p9bmiaO_tB zH7Pld1Tw?3a34zkvXO)-hJ!bs^G}d+h71F_MTmudn{p=pb}uzBe%Z6A7CUhbC*I#Y zaiM-LWd8@FHORQZt?4A={`E4}Qv5B-)4-c?;Ww>=v;LuO$m-q;O#^o$>dG_jA|km# z<<(qr;wfVYwl}(iMMbM?q-%pK&kl&og-m`EZydDAnYLZdh>9%6ua^4X-RBr{``f|z z*7QcXHEo^m`u1akKWFI4;AQo+|7a+Z9~^J$tUe^b;KL*eI~7`^7y7Gt4*O4c=Xg*| z^raMiA;XxfKI^HgU$n%0iLu&_a4BUDI9vSuIcL|uw=@ace!P`_DEGB5g)H=`{V$@I z6*xIi&sersTK5}$iI<8VdIN)*R<`xi>mRON=Q4%O=Q6h&$KY#DdY zmKV4U-#y!oNshy^$q(;M5kUj!9r!b_v_c`qD9hpo4(+6xiCDYuu|QCL+z}n?(s1r! z6``Uvi(5*FKJb}s@0yHJYwz}ULn7eD_Cq028rOaPO{t}z^?+JYxJB+mf07u~g(kJ> ze+q3wgexCN5I9={89Abq7{+!+j3@~AI3~jrM6LB4P%@_uxqLObqg3X26J%9CE7VVH zb;J~4%wE`js5BThZXLt9sfmLk$%qVMiEwF5pXUUKjUabZ&U4r-9JLycUo$NHvq3Dd zHo0hNGYqs6>&_c(g?AgFD%IrHWnBhbVCiHA=po>Q9p6N;l~S%5sJRD)aOs!cc@oAE z)K8aH=fcC0{7y~W>F#83|GmOok12C!vnLCNv4T3pkSzGT-z*F%+7B8gZ{>ROOMSwi zYaOHXU_GH%ryBh?LjtUw0Ox@0CG3-cE7IlOGYW_+6}E0VW9rXTV){B!f&>#xj0Y_jUZcRyUbmZwXZNvW6>&v4YTK@t}p0Sr{1 zA`^dNVV47D=UuZO)sP82F0ZaQs__jfWrUVwquW>UF&s+2;1f4%mXq;Oabojg2R#~7 z5iRj6CCr+=y(ODO4s^9Sc$8_$rzdn1z$*3HHZCpFm5Y;7QcfN0CYzQ0z~ z+OO4Gri|2g)3950mvB}a;%Sf2(>C$6YVMSg=S^SN@bt=~p?Q`y${u>E5Uumvmh7L1 z@4%{~=!aOONvx+(;e~}K!EZFnavP)MX~!b7GEsPcB@msZp(r#oj?O0puW8x6!V{oVz>te9)vb_sOMnd<=|JtBh*$-_2WihID$-pWuO{y{=2nEyS}FX({1LS zJKBzQ9#PTk`@%$mZcGg`3QKiDV;p|Yfz>z^eU|C>v0C9aKJrrJ%z8N9z7@CC^XL>8 z&waGYMz%V(WkkC*+?t~D&q;MJ2j=a&c;f}Bov*%!DTRrjVoTs=OySC&c{VbRu<{0U zez<-;MTxa8GVQoLFQ3_+*!8e-;Fv!~1~kQ^)4>Lx1N;5u+#D&J&T+XGN(O4;@L0gGW}n=FD3EG~iWsRQ+V8B9qKcQbNzH1mQ`11jY&HDmd^FhnJ1JOtu(J2ZEFl3;f*l{snH z5d$xO*Dw$u!X`pUpgfl|zUA7=M(6O8@>`0yL0FqSlru|opSoA4p3{4elA8#p1qU2B zG>^N)SnbgFS1}ESR}^wF7p?B#5$l}0l-i7=UIa_zH_JKB;2YX`Ud&EuDW3QQY4b}+ z8`W z&{BoWa>YY*7N84&m7Uq*(rwt#wzf6M_ zwXb;HQdUskbjGWM4o%VdW3-&%phzr``%S=@pFq}T{z>Yzfvi0&h^KYKLaiwuvwQg1 z(3zpf07ewLlzXKtQ8m!Q7GYWL|KpE(R!=4=s!pXCO+~{uLygHEE~tngzRd%|!S7W@m%XG&!aFGpuK_ zF>G?glayx-KKi%geU5C_0UO7PXDe*ccktbK%q}*|6}@-KKLIi7E+A@y5)rzi&T?X~ zt&mbVWF~Rp|193@n~{9^K#Ok?qh@dc$UHV7?@xH`(UD9r!oe?bAyX@3DkmX!1D`(C7`;>@bSJ$^0 zOn5ht^5iBg`#i$dtvGwrI!z6E8hAa$5;U>(?q6%%XXwa?)zt43i zH1wv8C)E-9kq5gW-47`n-xxP7)t_6e5t|@pv1yh#G_YNv#0cPsNk??mBxeIy zmVD$jwnU{>`Dna*X-t1NggNhvxy6#C%u-N@mpsD{Vp!VeY%f)T!WlD^aO{WKq2Fj+ zbp?%jzIDWs9;b7@Y~_qW$-zchXrahwLV2K$q)dHZp@n?vh&|HNb#svkaTj9`H#Ew? z;th28WQ^`wHjl;czn;CvISy*c1EdwCb4X1ky)R>{N%{K(8&5WkdD$_TPg&i^SkkD* za&qrOFE(2tGurHQIin=vLEn4%PY)Is)^usUJYp2FPl^?3{`(>@V)w6hqx0N6X+sY^ zX81^mP)$_sxE==2z=y%y^QMHbSx$m*FC2en#^*5yG7yLx>O$Rp%?pO5BP4D+NTMH< z;)?$xY!B-WY$$IU8_h**wRdM1GVv$3J#WMW%bg1)J?(WnY&})3@83pMn{k-&2qz_I z1WPJ6)j*gC+ z`4fZLZMPLY$KoH>q{@Z@@)hY0^p;PazkC+`uER+{)fnm95a`3#Z5X0q0pHL@p#%Z1?7fT0=EZA{LONy`TS+43@urjkqPAz_JOeFAq5PIYnV0&NY$hVp6{J z^j{mHkROQYuAlin^@@jl;V^q5YrrtDAVw@=w5bkX742Ipm&K*CO0o3aZHU4aGv}4O z&vII>-8L3hXqjr?dH671xbsvCUo#7*F_o?;sg@quHvC$={k@fCG(DDE1SRQ9p^EtG zgGPJxHzU?_PL}`E%`EyAZ=!EGREH|V?)~uzR}a#=TW2LGEs(_oL}RBau^QvC~MY ze6tf!)E+3Y)&F(ihse3B)ci&(Z5vD!?N?$-niyR0Uc&EDQlBZpZJ*yNcomt#05S10 zdem=bgLK_MCW)og9>AU+1+f#!^=)=z_kGaP!t-rtWPn8~@wNGl3lsj?!_^TaGk;%W zfokD%jDGX=U*;qoWT@M25c^${=dkm7)B+UII%4-zT$&b}+5Ec-p!)e;1rT1@HTt&J zsZ3LGLyTV|+i)&F!&@8N+ZY>$Fm){RxSL?VafSCTz;>l7Ofsfv;1}1NLQHuk@;p>i9udYuY5H^)jBtFSsG-{y? zI5I;XFG1dR$uOT7L8i(GsnwrK<8<`WxNANJMIf@~2~25CtcCUT-i-VVKDbPJR|h$7yWWS{|_;KBT^PFKR*l8wlpEfUj$BKBw{|7 za-oR!yQJ;RWsvNw|9){5~Z2#m9XCR zUL;yeLhs6JNqz)|*hm(s-Z7<8hVA$C3+Q4cwUKJ51lDFvW?TDs+*D>aR!3=W zJs^KMQ;|Dnl0YS7>VM%^H5-aUQprm2x*C#*x^;#2_x7q|Zh2}w)tKX5jmm}vi#%IK z9kx^n8xNg`>h>z83Eaamhh-kgOlQ~c=w-5Fw&MAsFpDOR0p zlV6}m3SjO|js#i_ptP<-%@!W8_>%Bns(juHQeuq=lchiS?YYeQJ)q`m^=>`1nF*(m zoZXv8Zyaq#7i~s<$~xey{n5iN;vIjHZe*{@ie=YEjOb3rDT18qNp!aHW-z0YHtB99 z0tmwL{2&R}=BXDaCRyaD3uqDW(hE4M?7WnAaA9h+rKVu>Dwx(77A<@16-xrO3ONn$ zQ3_N&IGUk#(#p^`%(`n|`J6)~g#<92|f z{);@?)2H9BL0Z@hwjE#xrshI04BbU$%|cJJV#m){Lv*GHoI%U~I!Fzihyt2=hM z*gTH=kAOMUR)Q;}@muJ&N3a;_Q`#{Md%taFr!?PTVZ**fLYQDld9#g_Mn#XnvTRfU zH!C!{l9V4(qna~hgZ+yEn1b9vpH|_{Ihfs~-=sh8B7GZ2PZ~h2nblV!n}0&3BYo2K ziHzV?YI4A`*^(~WhY8r{kubOoQyeS+2?xoW$QIyZ_U%d#1^d{AC+K}F)k3cXE|g`{J!$ucrQmJ)3cM>et)I?r zrX#gn=w3yHNouNRdr6R4P9&sM<5q3SEBcq^@Y9f>AV2r}hH;CPg<4Q;W1~N~m)!4I z%a_P^fZ|UlFr#M6KW;qK_xo~ole4rg{)UnEALyRLoa53@xPIrkLg8Do$c$bimZwiS zYj%``EJI8UM%#pF%%pfi?DmrcNs2WmK}#$rK#x}=6^TwJuK8eoQIWcv4`$O!gckXp z?%hYs>EY{Zg`1)LO%mhD?-|TbutUpB_&!@tT!t+D=`+UV`|i`$l{e^dt?KQ35;1k# zO(3L;GR)O1Y91v6$B1}U(Ma0t$alE)K5{sIqlo&a`91pynbvKY0QTGE5wpP*9AQz) zsdY;O@(Qw(I0Z>h-p`s1)r7y9Kd4lclkO_6J-2cY3mu~FH6}K6d`8iy;xajE-`Q}z zHavS}Dd4+(_|nG?xzwux&9iNvkiNUtzBkCa@nk@HHC}BcZS4-AA-UnfAGKr- z(APU&j8=j^rdk}A5BgA-rgFG!dFyArjKKzDoehd9@#({ScXTmS^2lipDN^vAV`yf? zG{@$*7zy}zOG=<4)i0P>)6e)<+yf5Gu4tt_U9I_n{x$3JcJ z)-z;jPlr=&RMHyN0_qkliGqlm+Z1mm+}{;9`~^uQUpAslPi~b3EG0GHN5pgfpvG?6 za`xVzTvz-EX3SEx)#)!piqcgG9eaa0T91tv;xH8ZsL=fSZbytvt}R|1HML$w-W!IK zo-Z5v*^lZ#R<9ojw^?^v`HQe^Ra;Bf0IgyT$?qyX?sjiW-FU7PscJ(ClUy?w^dH1T zpFJJE2yl+khYsB%$bm9E^29A6SeCUE*q?kmHS>Ntwowvm|12N-=Aj5CKk@!+RAt`; zvHjjzOi|w0giYomDOUCZ`Lyk;cgkV!>7G8o#(t*Cw-M=wM4lw@rL&b0Ezg2gRaMdi zVQm{0#NPVu!ro>sJU=p~XR`TwsV)g~Ag2OyckQ<1*OESo;d5k7V!nGkyd>Eev&04_ z7x?lD7dbPke4n1}@Umd#l;f9LI|%?J4Rs5HnUkaFV5`5nsJs-DQ(h1H_mA6dxSyml zwop5y?R`?>FKVR6J7V|CR4ZPUmQe(!F}+e(i%NZfW63l>brck94~=51_i%aI|DYiD z6H&zKAb)KtnT_+h)2YmEyG!!boWieo_2mRrFlJPLE+~05+UL~6ppRxHQ3jS4n`@SPIj?_PTkr7~Zl{gT=h^(( z<1e)apJUBDR9`E_Bjbm#%=iFaa?9w^fh)nla%CF6`_Y-p=Wk_U)?RnmO@geDcNL6J z289XN>P?3+=yU+GRAish5761!R$_^uejiSeoP%`^`Isv@So~nvU^S*~-0fjxOUsc^ zT;2X*%$EI0+cK7=tci~Op2QSu&d<5wvnc5-WD$+*t%6gU+u+6J0>_+I<1dVK*r-Q` zAJ1S+=c)V~vnx}0QSg@I9$l97x-XB8IGM41LK(j7m6|xc9E#@C@^tQPfrqim^BUc3 zn=)!<2J(&gVLoZ`_6SuDD=o3e;=U1=E|>}I*RMW@ToGvZo%fNVUT>-{U7-b})Ld1N z@eM(!7BQyQwGCqAg%XA|R}TIRbm{DOH%6U%dQe%4u=1&`SPnB6a3<}k6DC_cbzq|q zefqFRk<6bGE!WjuOY-ZLJM&!rr3m#Kj3Y&{uDtS7O;dbsL83C_aXb;G-zN8Lw@6pH zMd<4Mu*qhJ54HD+`C>0LwO95aT6(i4n=Xvln&T7VR-Uhs9ox@LFnOf~6iY{`wyZb0 zQhxo68&AQr>fa^`Bb=_jYcvjk76^j5Vn#)%Jn;j~SQ8~O+?cCWB8s2|S(g3e&-w@B zQh}a`zO8|u=1UU{FBGwk+mYzda+U&QmY)CFpuAeiqGlDBDk3R?S5hVI@Rb{5urw)c z=Dny*Y<}Hd| z7;`xz#z5S`^(U5a>qX%Ja?E7t^`W*k)A#nj*AJY=0?yA#%uBez_?@rI**>Ahm-(2K z^dBS*@{HE(SkZ{cmcl8MqLa%k!l+W`yqQCHaOKk=BBTMo9;0O+yr~^B;D*(x&9`zl zGsOs$nLzWGd2UB&awg6Dt5|Vlvc5MAodpSLWDZ$Kl$K8#;Hg%j>FLQ?E)5sGbL53q zDeft$lO0FNsI|D)Lg`OuthMl_Q|~$ln9@(sSn^lOvZvZ*0K*IzF}@$)4C-0oymjlA zGBj!QOPVkF8Q7mbUq<+Rk>TN}`BE}3s@M;|GjsZ~!5+?M({nHb_8uiN|Jy;mi1rWK z-p4xFryDgp=A8HUcUs_~WOUa#&n9Q^@kG`(*tA%!epv2Hi9a9hLS<7E$^mPjMlN^t6G!SyZUGnQoG>wD~!wJtHeH_xKd<}2O1 zMfTGDgCkw-Z-Y&B?O3;2^cS0~(9m64`1D~~aFg_DTfF%9FgwGg_n(;fU`5RBgA6+R z3)hN_KQLayYx8i$M0LWz=35Hs=y{r>@-_5e6%&p1`?Uu*6A28WX!5k;SitoKb!Vh} zXn|e261FpLOAJaANyo`T3QehL%2KY_{sxZ8CFEneUXu2(N_8Mg++ek}d%9m{NDr!r z%*_h9-nYuy&TBDF&N9QypKJSv4(~h!Y742Ty?I>d{L-vSTD~@BZxZMgT zePwLhLW1ME#bVYJ&AR2NF+NrJEyZUz(Bpx6BZ{NmGk(_|crENFXRkt}#RwCAtdbE- zw`*=F|N7}<{6UE0NrcRHCuXPO_6j>%Vwmx156r5~Y=+u3>2Szp5l72L;OI9erm&~H zfTdeho%__8qkL|kwe$KLE{rdRW?81tmn*1?S5FSOABxbTa?+{diU{Z0Iy>NPVpUds zko|UG{g_>^1nsHLwJAfw=1Z71!`Lzg2iNuZ$f1F1Hh~_Tt;+v>l#P|(uw%SGm_zVR zO`X=2Ix(7BoyY)wX>?s*Mj^z@$(3U*WVUed*p;Fo4}Ke+F>-&_X?@bueyIG!U97~U z;OY;hE5Y{FWy`=vjik1Zun#?#ZE)-0_wR(@zZYLb&IhVy7dYfnzPpcBEjCMEq~BN< znKm(^P{8duwlC!YlUxi}Q_Hx~AOoQ?ysRfzs0P1kYv2{A zcd8x^kfTy6-VR(dsSOTu?j-VS^AB83v;RuTWzmh5y`!_`3JY?4e(pc=%XkX3JfC!S z^9~C#zAZ=fD$x&IEkBWsArCM*qah^ZSFo?Cf_Q027y1P~AINGW{oB|SnzDp^v%ani za&f~8X2()^+=#>6^aboz{giO3yq&vt;7n?*_T8xV>I84ROjKk-S)OZS-Jk%BK)HmwiEMqxow@iro1)LIlVeV>?MO_(Gm;+$hy8&xCtb=6aTVFz-1Z%C7x4Wsy2 zoD(k5nl#M9mB66zgkMGdRn%8?xzE;Yp%*GJ)_hy8*4mK`%*bK6&aolWb6Xd5b(qE% zi~{qoXg*$xSINS*Z*OjGRBxxguRAr&Gcqx?=WJCkIYd`#X>9-QIs7A8fYOlEunf25 zZcesodpnJ*wLL3FMJN9w7FOAzXV~%dDq8AgAtk%@U{Bn`LzSh|&r>U1x2%g{BM;;b z`msCkY$@Jcwu(jZHIZw;%TeXmt-HHTrQq;zD(b|+VIGoGf8p)ymtl4?`i$msm=vLA z9ak{uk$2Z#372Was04X`?JT_$%l@~KfW2La**tpb#Z*$Op!23>YRy!O|1M7ju$s|hF?=}pT$LIX^Ff6lzDmhHy8iC~j&ekQt1 zQ<@8w{+t{?F(8r6uW$21Pc_YRKDS+rhc2_14DsFiS=h3j-Y1KcsKydXuSDY#t?!zv zPA@A}Py#`$JGQ$oiAu(~PMeeEQc{+S#W4PHeeeJ1K`bc}Clq(_ox|-k8D4yvf z<8%@s+aJ7ZHSzYHxK6F<(51siJ`Sh;m~$0^B+7P!+;3FBnYvZJs<+8D${=l!5p#OV zT-cp{dlS+nw%Sg$vIw42=loDit3}!Ij4p8_TR}%*?6ml(mZs*`Na3M2 z12%UDHl-O08e4uN-3UlunCv)94Gxi$lcK?>j_&w|=wz!T{qFP#=1le=>$Lho#Za6B zENBinaJk4n$J64`4-%4WPYV?vS2~&E;!BAWjD9R+L%qQpvyiN4WwI{TO z%(2DA7QIU43gMMd4|H>XPTqzu>_+jE)W5!5pX8F(OGwX3f6~*P;`ljW;K#wZ6h?WO z0=G<)`*Cpa=>>pS9tmj;E!Xf!pb;UD!WS~D%Vdx^`*vm~fIc$NWorUxC#y$&&@O*0 z9ZfCy2jBR-c|2<{euk~K#uLxZaD4X2xSRx{A@%6Tgjf^(c%YOHF^$izG!S4=r=+CF zIttn!^}_k9^aVxx*xQyD)XV7&z!S!RgpKrFHGa#T0_$VlL+D=Zr~IGn~VI zuaOFV$ALyF+LU?EG^;XYN3f{f=o!4flDgFiIp*%JDp;-0?he!u(+tw^E%e8zSu$GJ zIj=aP6IKOKd0O80vNw<40wju1=7q`<(h7j-hx^ zlY0CpGXMjbUTWWOYV-0e+Ej|eAN;mHc;|)_YbRcgsy}`TWQ_ICR9gw2taX`sN zbT?)yvNZaM)2AXW-k<5YwxANnKlTIe|9m+--lo@$i1_=@mCxRU+<*Oyk`Goj1Q%^U z+>V*Zx_k=KPakJa3Mxn<+dGz1$Barv>d_<6_u5^MdGTZp=Oixo0={gE9ib&Wp7;8O289vHj>@*%o1P}CL{-2$M-w)XV|CxLM zDx&@CyI@n>Mv`U*V?a}V80q9)1|c!pAJly1$8{*FY#6LVwgH|RVA0$D+wmE|(0y8c z2!o09=FKy~zv}9Spxy#o6z14lEVI{We7G958_Qc<1_oVU znzI&1Kk}U^KMoAy^5|((aPLWzkvME;;QX(EX_vEWzW+fhzW^TD9r)!X6Cmww2afNH zk1yW~(?@00pQyO+^JO^k@gK0Rpl$o9j^g?%c6+e4s>TGL7nN6;>y6d5@aTY2A`k-| z6~Amj?!9wS{PxO*z@o!u25ss4*PW1d(rCD{8V629q~UilN0?4NV6X|q_x;<>NIrZR zqK731y0RFaf@+k1y%BkjEkMp~b5QvDGLr$xtYHxeFO^7(NZ2wM8E34|x2rq2RR&|{ z%cRT88v+qA*@?(lxfyGA8;Nhm#o~g$iVR7!x5L5gzt*{ z+e4Yxhf^1<#NDF@;^Z**XtX=*IPS>{@#KCtp;~VMUne>pW*(79`@LlQlsH5s%f%BI^e{~S$KKwX4HBuJp0`m{Atgj zh;eNl1d-lj{wv>Lo5fqpwWF=%Q6TrO9AhBE_{?z~F$S?mAV;j>%F9ohEm*u1#?r77FP}F8`cAZnB+K|^2!w^$XHWSiFwb@LiVJ=*!i6O&Fc&plV&c3 zITe`y<$5fgoomXZJ#HU<`+6gO`(`7iojM5FqZ$t66Q>VA&59z_tSm93!WO@~5@{zi zK0)x?#u8lo@;t1m%lPA;boqXxaPf>0a5NVP8@MxY!MDH{{{Ut`V)npT_7U*NY~awl zfeFWTYi~xbpELFtVuGTV{r6Wa$|*G`EUtQe0cI}Ug4>Rsh}61L>b783Vu{C#Nr?^n z!x)DhFXj}WrVZJN42}eQXG<|2-{8+eWzb|wVjQNYC1U^dB#eoV(E+A3smA9+k=u(> zj~5kQA1b_FRC1(euMd5rUDz!pp;0S`8&_;ZZC!wm*9`7)z^Ka26{xB5z&!|X501m5 zKUX4ULLVd@Fc_|kINZEqBi>k4a+Ufz1!iPt9&$DXMT`?N0#O7Z0SJfylDNOL)n>T)8j?smG%i9S(I zWJI~lG`j+m(%pR9)c2{k)$&|T~Yu4`H7=}f{)t#d}bu+ zq8fNhYT&E(n4XTI(&Jq?Y+N6_wJ;C)*^hjJnCM!J8tM;D zBYgzWZ%VU|;UF%H7cXw|zE>TI$g%l9HzR$uINMf*cwZ(~|6FV`mp9GxV%L3#q2EaE z1N=;n#ixHmja6*^Uo$xlwj?j>uiN#vY}vBKT+Z&>7ySmLO#DH;=Sf?`{?Qykv1#~!)HvapC>Il9{Zj)2D=?O%mfzMo3X0Q zjp#ThGKMrRZR9{PEP32~|2+6AJgA(z88IVM5H~r~tfLp_tiwOvUxZqZ|D;VuVl?hQ zc{27G-lz42b;SY)-wuprHsggr(Hfwt2zcX9z@m46!|nwVS|1E5oJM9P;;ldLfqOq& zh9|yWWfI#zT$qcwYm0Et36rts$UZFw72n-bY%UAStFU`YJl@(d5FKX~sSU$pqp`T6 z+GHp8i*}hn1_K?@b{m{Fn+eD;_>)jKT6qAo7Xx_zx5ee=a@(pL^E@-sk}xAZ(F7gi z^&Pg&V^-j%8n-E@AD0ko2AK+YYjY9qSe1i9w+H1d^b$QfGo?|0k>UKOHsm)72-f3n zA->_eH~E4|NFUVD=asLsC8#Asa~QY`#?O3PG}SVI8IElc8mwPgS&dmmt+%Q;CNl+( zjvvw}0Q--Xo6skU+pQBBE(RhQkaU^AB(o<)!o}ut)Qv8kZdw!6t}8{=;zHCcErL6@ zp$!XvA9J83Ud*V}Ly}CekwHiHF;@>%k=7}|C?a9YU>s=A#qRDm%wGUs1SfGp0<)fzw%cfIRWUW;5DWuU?I1%a%2H-*2`keBtm1z2hw( z{yj7kS?&?|;GqTZ)g7Tu-hUvnM>HPwx%&44)T}73{|t^eZbyu;+fY(cf=!z?AtxsX z9#88B)WHMJ>}cDJYtyrFcbOM%3wV8V5prtWcxJ*7B)h`*^Jdh6ld=DeC*t#)UWL!& z#fMkDfQ#n*6ON!D1jQysVduk!V#fmqVcCzH;q&<5jB0!^{>Af)keVHjVMh!{`G1$1 zX+>|XKuu;WuAj9W9|V;|?>V9m?mKC+2{N|J;5~o~z5_nL5%}pT|Fp&L0&Bkq4!;)| zcNDr)w9|oW4;gFvGXC|o`N%1$#^%x*{Nd?2COi7C2aZBql(W9X^Mkx%yqr^r?~5Dv zsQjs<0%abrDbWmge$p`XaXAs|XkSqIrV;({Ygr|JDXlcm%Yb7bzQRBgGb4GqXY@dv z)-Sx}_tLY0#1)k_Sj_&MmDN~YS%Vc7{u2A@x}e)@I}FF(LFL1I3^Sx#!;HqQdc)am zEoRsW`uy3Mm37zr8#AK)ndt$X&To>|;*-o|48}~*N7py> zvJJ(I$389>vZ9@Mb%)`NvLBhL$ue<1C%1oQGmEqpPxM6(Nj4W8GSr-KuU=NXUc+U z{NDYs$8jSXo#kiWqv8)%)&D>Bs1dN$9T29Zq?pU-(W6a}am|`FTMg>c9A^BD$=`&l zoH2O7k&JQ+_^!AdNB^<{?@k%nC=k_I(=I;@1uJr}{-+fJoH~cTpGF)voJrtY;Rou&Tn{czJC<$r@vi|kAKU> zrH78f+5`ul+mw$&cjLaC><713N+J%*NDl7VZv^*MY>%-CvF370UGL7kS~q4Dmf_2S zQgdD8@v=1+4$Wvhdib2;a#J3=Pg;^Pta_Qt7q7#+dBr9m){+f1jf06SeI61UWlDbi z7YCA^4kS1n_5BIs9d-pL$V|xNvQjZBzM+>T1E&5SlR8-{ z4H!7&ph~=0UJJGBOHsYF2-Qmq;ocOK-B?nC3ic=eG1q)iM-5K$ms5{Qg)2MW1TIBH z0Y(uCV+Nzm*N}l^xBJiRDTA?dVq#)UkTwv+b;P)kedrjBvO7$G@u)fF_^Id|I6v5c zNe7N-_JF17fnHh; z6g#Ppe{{zX{EQD6FaZ7g_eXwyz6mrI78Y(bUzNwg;zA3Hi!9_;TF9#cN@~mDi?4=l zN;<4qCyLgW;f6H}u|xl4>^3|dqcRg=@8l1E{!NGf`z+K})F3vcVS`z0l(C`mL3F5H%+coANJpUFs2R-b7o;o5^&^$z}O>!cP|0Ta)630!2iwwMjz@Q1SYvZx(naqqj&6& z-G-%`QKsLWzX^_wmGF*8VskhQtFhsRiGy(P;Pf5~mh6-qZ!W=#+#bv-EH$^8S@ry; z0&^J@6NO{5Qq3hem?2%O*zLi$MdhZHeojd_7L_-YxzozZ8jK8jKXyur$HKBI?2s6X ziHUI-6&Hh%@zExL6|NI!mdA(k?>3_Ji*>MS8-kfJW73dv#4tG18wW49XDn+TZ-Tl1 z&)$2$$yJsA|DWk~XSVlVvYTvr4+$Zmgbrdwu%e=Zidet?{@A`2tmxNfmU;zHFE!?Ni)^k|RI&)Q+TdqVjl=`%dg-p_=`Vx5`^(G+IRCtPPH zfnW$$w;vX2E*~r|KOEiw+`b?@R178%VoPrz#L@&&X(b^Q2(2(9WcNX4@j^cAg~H|& z(;PqswZjMXK^N2qJ7Itf<}5wZ%TtkAosRU1RA>`Y3vf8I87?q#IGjln7?1haAhRnR z8kpV->Ynis>B-5%m?$uo3SxLsPg-=AeW1-guE0n+V-%?x1TEgU#MYy6$EHdqFcSB_ z)x-tH8HC5`!jXUNVC#z(_C+74eNWu;yk0L395@hh$tGi)#soGp1MuDQJRJM?DRehk z+3nOEJ+^#$ArwhOHtQ>`k%2ZYsdMLa))A z)aWnM;g1JAD29NQUM12(;_qe(%CYCAb|_U!EW2iGA@;1Ox&pXkC-BNWz@dML_tn1$ zw7d;m@jYP0ZDcve`Gj)c{i3x8-zv{TrCE#Le0UjdUR{K5zf_0%1}hXDPIUPNeD0kt zTw0Tj+c%bDO*;@`c)c&^XF!l((#&-d%oy{wV@jfBQe7G(0gaOa8N zo$kd;16JlT9WB_I!s;onVywVOxirsbK26Ul3oOqzAh%?@umtDqNOtVs zGRAf!m#QQmDE)v_-jBnDHCUrO!MHsoYEe|xCeqDvAK&pZ7tpnm|^E#6eiWH71~FdNiJ zGpdnp5L+58_0eUzQH>mv7TGBpsCaHs&J2YMj2sSU(ga2b(ZQ)wCa&`k>B%qj;JaDz#MTf9&WcV zXCr6&bNGpO;dgqGV(_3SCoC`)t^!hv<2vI=pSic~52+B+6QYZy5@@9T2Fbx{1f3X_@%j1#5b?q$`K$=w!9VTuAvGD29CE=O?+ zlIAF+>ZF4npwS{=M^J;KC23F{ABLja&8njRZd()n@MaS(t;xYh))r%9Rn{4YP=|sc zJaWUm=&$QU=l*7x^3$;XOV^J1nvP)?zVqyHym3N;vGSk2E6C@z~T=8&wUvfZUKCD;DxUONB#xe@Eahj8k0?n%Zs14 z_OOb)G*+y2yo?MSKAiGddxb2!$ zBWpjbDqy)9No;&&z#1tKLe;KG(Ee=E)K=@Bt`*2Lb5`~PN?@~4uL9XVZwo{3i7gH4elI59<%{A!^1kvjY zpxf&UFa7BC`msKy8aUCOq{t72Wm5%vYO#|LCpRpNd)|{hL#!Z8nNEWWy@nOynGO>s zGab4{_SwBS)@fz^(}rFKYYAWD#v?NJoxHvQhck(Afsw=EoHLU1Nf4qPX{uaEaDj313%xj7htcrM?I?kOYrp(9 z9>xbCK!N`Dc$ed7sB-o2oD}oh`FovWCB0Fgj_~Iy1MN3X_Tug*4zmy@2@2K!>?IZ0Se1$X{(jWg*TdyX-bp7xB1;E^ zbV~eHmBx~<`4^|7rr3{;1A}n;gDlMY^}1fxiqrK>!1}<-LgsLs2ow^1*|$G{$8Y^V z`m%WK+mAz+X2kN3UNYjj^!I+dwGsEfbt-P)^U<{>`2Vh*53Ndp(3*VI{d6xZHa~=h zVYv48!mwH_^6<)o#}M!ZF@JqN$`)rrK_z4-D>vg?KLvLD77&6!`!3**8-RLhe}e7LW*2aop*v8uEZlq1g>3`RsC8YJDgv;fyE%3}p!9(b!6^}XWxtg+95 z|9$=he)M7;3vs9CTv?lgj0tY5^MP6}$CgYpYYwU`K48VuJ;T^OY{z@DQ{zN2Iu`!F z#!lvJx-7#4&3Sf-&UB~{$M#_d{@XXqMBI1R%#SPBv?)CWZw}kA!en6U8`Dy-I7P>{ z$y6dx-oG7Pu)Rj%(9z>sGcOHkH&j5G$-|+iI|ii!<<#_JpG!y>{O96w=2j-LvCS|QZ+#hp8hMeB^X{PN3rnDjY9`SEt`+7-F&9dzQr=PAn^@cGXkz&6)c zF&HR?TC2dP@7p+TB|F!lJ`6ox&(>4lQwihRyfKfZU`W6f_q~PY0VnHVy>|B{sLUQa z6q_?Wpi6w<50^sKFABuC`#4}0orD&P1$*}FNt)w|P%4#Jy?QlsFrF!t5PjgU$0Lr} z>@O`FcfTa39=QvD^?C!#dqhwt`TIB2VoPoA2-kFbdppa~=pUsTDZRxr3Im=|MEBLJ z;m68=4*xkih^9VA-1Aim8T&i8t}bRpRwm*y+4t8s@cftm%GT-oec+KVV!;io*lo(^ z^w66p@X)Sq490|Hm1P?6qxUStMU|N&LM#XVe3X4~nM#iAFD`>mqrfBI+5sW#kRzw) zyfry2pJPVBBprj@hsE5Cw3Nu42VDJApyJZAdP^$S@PDU!@wd)F=G>4d(5Ud$vRr&H zCmqT$_6OQ0-)!i|qr2Le;GCFulU_G>eM8RQ64%@R8*wU^Opy#u!h6WiQmmH#`|;ABiAKeMkd=o%t?xWOcmZ%D=g16 z!QT^|scpTd`;Q7;v&ud-~GfPym(Zs zT24@|#Cxt=0ArGhtK^I>DJemIem)Z!X@Vp1yU<^}Dd>b*2;pyv6bLdIUV;j}atFS* z(Fnh;0#6<8!>h-8;HS#YK>;ru>1K@vCO0g}$Clb0EXXsBDj2N%c`_}E#0`ktsm~lbpb3a@UD^^d?Y_(LJmIqy-7Hv)@^m;KL;XSQpIG(8OC2a2O_tr zxEgalhC{8(!tO^}&Q#|kO)ApFwIm|a`Tbaz7513x=4g;xZ()H6wfSZ&EHJa{G&vNf ztGG{&W+SzA`ON+7Yquk_(E@MdFnk^MNRDgJX;4gW&Bj!U)Kti7&9D_1FqE!AkIRSC zgD#vNa-xkbT`Z+cBJ>;XZ5?JUmVC1o^Ycuo$xA^^t_kz=QkWQfw#Dx_oMdnZ<0R1C z-Hn=>nuyxFZQC|%+O+A6--p7ze*W{Hqb_eIQyY3v!ZC30b90g;Xm{wKmORpunC{qKznS=jPKaXOvsJN5O&6tjt8pG<>4 zD$VeR2OmWtKfWBaVp(B6(sGOO%#mI^wx=zU|1TDDKddN8!?NNu=G@ISX<05n5?QFq zWUtMGXCK&#y+=FIQJe>dDc)H~+Ukc^72&SS<{{TSc99zzc=Y}82>ju62gZvFka}%7 z`rGU{@opCy_VmK%jvsu<6*4T?kdI3~JPElIhgyIazYa9L7QIiY6GNuge+f{Hf6RZQ zz8!z-5(`67rPVu&vvFHt7R!xxuF!z$#bez}Y&_Bt8HJ5-Zctv$%}j92nsC_r`GWQn zaxqfA#%KF1EJtG^8o7)KuwN;Scj`_D9Q{_j_|->XX&;1hzy`0)4X@qJ_SHnbJ@_yb zF#_O$zrTf!y-i3h&O&NQCNeAYkiDP~N{tHNYwE-w+hg(;#)yj7W~JhW>{P5a8(3BE z3+)!6$ph!U9@t)PMaUI1X;7Jp)Eg_H%98qg zML&?>LtBv22GFLY@Y4)d zhQ?2O^S_n(xVUXf;l^U(n#OZjbm2%9>F@^<46XxfppeE0BL319@1h|87bhyAc3EX`1&3NL8 zCnC4cMqs2ISQ|HP#PQ=|NSV=SgvaASARu;R?z!h4{NM*az+}P&M$Tk$`0!!$^z>lo z+dgCsi0-)bc@|_XHn9+C&bhOD_ih%_D$)46cQLTN1<%}nD^$u1eBuqUBf9*`VywHV za@_apxo@i;u&4>C?x1$>!C!@}U}|lu3o`K8qU`hL zIHRID+roul$jL}zZzA+D7Z;eB*hmgX8k}Cpr1(KWz+S5pFZEmT!hi)Go@nUXeKke6 zB`+%85BdU3d{}PMM?|*s6@f6=*p2o*P3YLugo2e7Sn=^_AC|<#dkb%$(0hH?^0&Ba z$y2xe9*6$B7oAH=VD213YPSV)r2^UW3*o%97C+xSpFJ;IrNp(_sklBX6>CzXqT-nh z=IDH8a|h7x@Ly6QL%7n-C{8(?QDd88&N=XF%dD^T<9Ejvz&Ozj=6JzD(9AG z8Bm^OL`9a7xvR*XW|||yV=VivPMmPMamwXoA=o5Fwz_@nd>hL@7MC+8w8V@37Tk8M zHBwEzL@PQSE5eRP5*|%XJF=8=T zkqL@swhzn|;aMUu?18tD1jk_}ItrsWI^}vLo8-{WONVw|Dio&p$u!CdN!7GZ_K0FG zwUa$|cI-~{cqE~b!mCN-Eep4-l##hc=OSES9337aeU7~L+G|W)q&!uW%j#_Ty!#Qt7USu&(y3_n$=n$xdXI>Tt(+d=f2*ExTss4Ii|Si4~Fo$e;kO2i!@vQk58?^g8b-U=}bva zPsh4->zJduv9S?eZ!~nMLI~h{{vrHYnTpeL73?xO%h6aBurT){<#ep7s>1yrS;6-4 zH|zWG>WNT6W?<)Uf$hH(!=^2#fyZwFDlUWLihJ=_Zz}F@@5B3Y((r?-==aRisImW|1?Rn( zNnx5EA6-|<8s)p(**t)4C;OS;C=H-!7e3r!W$o9mH!?RPxf)4q+)$M{<-!FCXKPc9 ztbMOCpH-cHvERxZ%3+9flJa;n3MR@bW_qW>@&sEK7dnOkD_Vo zQM7D70gok`D#PAui4zz#DLQCV4G0B-NXbow)~sjuv1ZaiMFlbh0ij^D@;Md0d414^ zKdvZ6{rgwJuTx{$Q@gR|AMddD={b5D!m-m>I&4Sr{uX@VXM;k~8~U zCt1!EstQbPS95&fF%mUMY+76>hQrq8n`XV}w8Cs)EpdXP!{duMA89$?5bug7K{EP$ zh|hC-@p{7hU!J1HKVk$%+CS)=Q=nC&K%+*6N-;u2l0^JoySRT)L`(aS3$2o%NCizM zm@kkDlvL#yS!na3LeZ5->*sR(%odbsS}0fNvO;e{P+%d{EO#S?Q`1C8_^>25wfo2b zYf`_SicD#%(pd3EwMrh&!5E)Mo3@cCHjZ`co ziYwwCzvY%&@YrLIu|Xd>#U=~xVB|~|`}Xa_;NT#3y%|F0um(XHP_@bdeT5m9Tr#q% zD(B3ha8?pQB!>31qy86fq3()>c^%Cbs_7E9T*gmsRo2IgM!F+l0Sd{(ZK7<;^mz%X?OQ;L>jc8^6YK6;e^A(WtGh zMIa*!7wxKJDS_5@2XV!AF%;F9roqkMUJcDCp-GfCu;&+h5w!YP0>qrVS3osNK2RE{ zeDmK&@Z`P@cAEy~k9}qhs&dY}pv-8{;GB+|*4Ea@BnUynuRklyXqKz+J^vt5q~3ZM zv)PP!^X4(JQu?gq+&SD~Va^>IR1G=3EN2n9pHg)y=DMI(m2JQq-+B}!7u8_l`_`WI z3^)DFp(pC$J|uSRwKeI;`1pcRT?6#|*vH=ecM}f1))x01%F~!vX-0lkD)K5*kyT`5 z)v(9K(hj_O4{+ic*c1jloc|u&U-Tgit3*LeE0u$T0AEdM(zb8nBKDl?Ep0PK3czz1Z`o z*O;(4(9kvN^C*wvT}SSV`z^@Ds5XvXm6U{!qjoo|qW#v8ow+n)i~A4-{vdv^^#pnj zx1#&VY51K{A>^}f{}6eLqb}bAPwm2gAKniC;&KeZ%M#3YdnIYFB?FU)mrdOYv$L-x= zJ9@l+R>j>(mApd&%lk}AZz#mhHyW7?pGY$zkIsWOH+)VHx_kkg_WO|*2qD!ULU~OA zGRmXlE0ZOfc&A4;U zPoWoGq3H6;Zip7eH~=$lp{wcy2FX;}H@47AtiU)HAHS#+f85^8LNETl>oh)lNd*&G zIMagzkGvUKUpT)XkW8=huV>DfrY2DwPDWZ<8VU*u@Xdw}CN8S|0{?BefdqMV?+999 z4a!G|i{5b6cAEIh$jD$qBTdFpmEwt3D!%rYpBQmpC>Uby!HEi3^t`n9RKj=KhTyOl zo|8jx?(Bx~qWn>xA4_^3xvb3SX|_cwP*Z`Jmcs+A5lW2$7u{5WMVrQPS*8}D_4)_# zr}8`SxJ7_d5p~RHLO$Gz9w-8(fF|C7ccGx)f~sXw``jfJ%&qZuqv&jWtG*wDPG7_k zx3hVWwI9ED5=H4cTw0xtO*PqASDtaf#flH-WguOp#2bS)bcU-_6Adm8Yf_%epH~;+ zqxta_$&=xCd9eHbS4P}#F3v>h`Wh6iu0rAJN*2DHxIfXLYBUa5ow)T#Glr8CX(5WV zYF5bRnoKiRU$LCMHysZ{&AsS8+={M)El95^z~0s&ywf;6R74#YfRB}1HJW}B@DJLLZ%P54J+&i{DCkFQQ zV6e~0D!UFrz_1*!r6@5ZgqSEs`^{K5eL*;>_`(?u%+Cz^4D{oSUku|+q3byb0+ef( z1cF#0k(QKu`CP8~6o#IiGI}mr+8!iyH1*k8(T^jYRvhiH#8nZdZVnS9`<<)+l$5)d za>y+X3yvf{R%Fet;uRzUx%@%6yi(|YkS)oTN=s@a7&<+E=-dGmd;CcA1TgFkU;sf_ zWq?Bocr%btM?r)5~w@C%8i#p*0GQg?`$5~UMHM0`P*8$!j6mLfRorJ%}47pAT zvs}*79Te#`s7ldcL52Y~aCa2q8zK#<$9HA#-}*9k9XKZ^P$( zUi8tvIS#gu{uVh6-I3eJuUdk)KXm82!ek#W<~0z9#=orO%b%!#N*#9UdJ2 z&u+G!mam7=5w0GcQ3YgGqq)AGiHymh$pE^x^!WmKyju)UyZX2Xu!|kY>b1FJ7Iz8x zf~@+n_+~PgE*rf-3sq_U)$0ur7uo$ESU4d5Jy0> z335_hw>Y0Q8laP4A-Nlmc19h7?L%%nvhy@+T9q8@D>9kbxM^P2gvI5_gz~CUqy4AB z<;Au^8{QhWV~^Fz92*i#Vyf3tL6-a9I)=X~fKqP&>sD2vRHtFBq%s%g(k!_8tSH?u z9~GA^Lgi(Pkx`kORQP5tT7MAj9$%!@J3UyOqQj>Ovm(!ADhR|oOk_p9|oOX7M@L_b=-aA%(MHLYj7$d z_mEOXVjG~Qf)H#egPw9rYE($kYmuTC2lHuqavZ9W7G9@;J_(EDM7)qrUJ@@QN4O+( z(7s4%4~}+N+3`yihYz<~V2jC3NA6ZSo~b>$yDbuiTaiu0E5tBSYE&^dKUE9O6jURZ z1VJ$esF(|sL_xL;i-NAONGRPWJ?==j%|vj2kcq43O0qMw%oBvN&H_QJh&G*)Dp188 zkEt>_KD@q^xzut@w9n}9mEK-7dwig&D{3d;$19Xyw$lc5b|Xb0N3KSN-_9?=Qd9JN zWe)_|;dUV_!_Q>sI925sSWCIM5Q0AlZ;K6{`XQFTG0+#ywHUN`;oQ^1npD+VU20;X z)S6Ng6dB1K>NJ7F1pA`Yq(z=u`kiQ}oUFrcbXmmQtkQC<9IbS|cUavxB@aQ62M|)K zAZU~jLZpDpfEbgk%;Coqe?Q9B6@dVhMlG}s@q;OXa)b_x{Rf|11#p2e4lXdBC3oI=Ckt)( z?QeezwfgL#f8#V0qEGJ%nJ z=-n3FxHNxSg%-|LPCT;*zHsMf(+ACv1;RbF`PZ?Wz7!rk8dT(j1hii^b+ORKyrBRV z)r*}|jb4fM?;E>tkYh&|LJslxH>}EGc?6R|RSm!KR5aDcPu{l}7gt5ait`CM5m&8R z#VSpc(CBhS_j~fR{XuDlLng-)$`tGgX>nW7hGHSW3RqF7Gr2n}Dk_*@c_!@t{cAY% zkL_&T+CGSz9{3!zrioQx*OZuGx~xP@XAlrD^v^nEe_<))-8#BuE=JMAc3*_ zlm*?5R&+I4Sg3R?y)8EMG+SAdpc>${iHwxc=|vGcDD>A6-!7YTTG#^`6o&bnR_IC`Pao8iAC%uf|Zf6G4B76*d}Z=w_kd85KE5Ey-dbZZt9^_i$cCyu;Qp z>_xyEfctPiT<>&2<_$2j7RmqWJR{44N`vpX&nA~KQI1+=eA?6K`#KyfpDP&;Xw2#j z0=^L73oq$5g$lFp5dQws&%i>7!=^FH*GY2`Y(2ar@lY-kn9fi4(F6^d3EAhCjdU_c z5yEFVA2b>bva+&}ot@6oK#s6~%uw#wFwZ&y9lEab;28piM=(;2lk`p#|eL6s* ztx2n7IcLe)tC5FTF{7+h1IuMe_eo27UhIAJd-xPUuP?yP2`ZTkTQcL13r|nHqcIVC zFa*2H3vGhq?6K}ae5a`kS!yLJ^%~|Pqhd6b1}*04H7L}onbVjvF=Q%5q{1{2uy|P* zb+TeHRH>SpYo8bvFHcc3p;298g1XQMRlX7OG4f&3F-cBjYHN}_PRA!rypZsCddP{r zT|=-9INN00y-$!nQIw(LB3L>PDDF)P;(>y!XBD#g;8w&gs2uHd|zn zlb1KT>qvTx20CYxXE7O6Ws|B^OF5!uI>W=GTd_Ik7pizp`GeG9fzdCh5D(sw~s2PjLDCWVL8umW2HL_lo-vWfALI$%hLgV4Xqq-Mql8i#|8@syk zaA!a3oL#@)DHeyJQ0vRHVRH?`Hi`}{c!LOR3yYTu8N7>hNsoJS^L*y9x`?)?n{$KS-?`u_w)pAWhQE3~Rdp-#_$GAkEqy%K7jf;FvCiNad*nE4~8noEk* zxTL5M{!8<5xYL1mTdmm9Vnu6=+fxk3Y+(~B8l@b|3yrv_)QmMHW)!DQZADG`y%fhg zk^lNJcwaw;-^ZlMAmo7{v^F<9NknWq1N8U;thEjeqnC+JA}vlYb4ZRyqr)}gnEi2< z+DU(62lCy~inslV4CdY_*Ulnu1M?U+JZU})81~NKv zD$Bs~YEsTwN{>OynU>au_VBfNO03Px1XgDv5DcMt(1YVWPMqv>;?#f}rv}|{k+Pcr zi5%2OoScqO$hV&5?Ub`{Qk_c9a(GJjiR=049$iliX_xwVwB3_K*XSS+ z^djUG#R7^`kz!SPd*gF3zEqJ3M=*rGKoEWY5c+8u2%*;>jNC^{h1G&yM^x-RIw($L z_4@*>?TjflMd)NQlxvi@IbDw%Qm5WUJ}W4pQsU`QT$%=<#{;3m4WUbH@J5ddD)#6; zI>1`wyppblEJq7jwg$3H4P+T=$ViNffr@rH`)qLbSYhw6pku%e_o@nXXPHn>eIAb= zr@a9PS{Z7O)Z^j@w?Zl{6jUnkm-SynDC}U>I=v_}>5v_g!5k2v@rKayp92U|S`&i~ zA%hlvwF-Wv623tYpDg^rY>)b9jl!#%$p@+U15^?V_aZ73qg=_BGO>&SHJqzId1@`(>ba`DOvtC zni=JArlW&VCIs2cI^l-^3qkb03L&`|cFCDM$axSeFiI4MLI@~j=rb#jYYAew+r#p% zjaxA`Q^N#CHtT2g18Ea?W8b_yhY5_t;|F@Vz<7bNbqt|vPcvK3TV4p`;NRJL(2xV0 zu>wOK^`pL)oOyJt);Yv|%jgl1&U`#UWEAUBx-8!1mPqKpaHOLuUu=dfC3%SK&$hO) z!5^_G&wwvneC8FFCky(%+1c65!9yZre}6x&3plVW=)qsrsc4p~A;@IdrZix;LWeB@ z2QCjdp$~0S@i7C&58O7b6I;-jAOb|2v9Oj5ytmBl93?%G&{PKy^iPg}98)r!4s zc6h?hC~`>cY_+ilv?C`)ja9`dSY2$ws$vt;$H-GU83f!u{O7~JLohM_l}v`*WhMAZ zmJy}dMxZzo?Y;ooDa@Icz972%L6$3VI2eLH;rhUG64LQ6m%*rzBV8d!fl7`-$dMP6 zAv*|U1Z7C`3urw!%yM`ZE{LDRe)pekY~LYK(dP~#=#LKkM1ey5ZT_6%L4JWAm(5GV z=E^i!4q9q=CU%>B7N?JN9)toi$dv+neH`=?P!(@)khOqKJdY<%5)d6v z9Dy^YLbF1zf;!UxO{M|5ycDEY<|41Q1SKo0nD{u;pnQw-vh}P1S&{QZx6Oyxk}2h${ml%U^$>E zhbA>TF6cKM^dZ#gW|Nmfrwee#IBw}DAM`<>c0#=CbW1C`db{EBx#4g+;k4S}wmQ+V zpaA=Bz6irb8Ss?mh_CI7nXC$Llfi^ZRYf3(%l@{V9jWC4P*R+Z)puPLnVe!DW9ijw zo3itnBY==Iz?OnTT*}-52v$Gb)JLKGqe2KYZRCc)mek|)gxBdlFRcrJTPDCI6X2H1 z;8D_TAm|~(j34d+AG^-S&PxQnA@*AZQ&n&oqVk#C?uTA`_K~c!6)rHIA@|&K4;zg9 z@P|J{aq;Lmrlyl1I-a|6HdQ~Gjo)V`aN@)XKo-Q0oKHa>l)+_iV*_=V^m@KMCJ~x- zj-8Z{D3por!LD>A6BvWO5L6)}GV;cD71~P!upSrB5$1pnx}3}jA4@l7W#hN+bfI<7 zg>6m42x(0$7Z2ycaPn_EBkP;qmjU^J*tt_IxB!@LHbRDRvsbL+s8*+e+#rb%+ za{wQ{G#&kW`;l92LS|mdn7PY(4xVD`6mp+)P4$T6;Zokk7wg2L6qMuZ!B4E2Hv0<+ ztQ0~{xs?^&-S~E37~ADKJf$$gE|bG0lj9kc39l-RxGCtsmXPRrq8yEMOj41zva&KZ z0WcalH8m)Ey9!TywGw5QEI`e*D^PvSa-_ukJ_JRE1p^^?T>+Ml)9a>X06x0i<3~q}8%6WekzHcK zm6YeMv=DtQHoW%GarRt#o)pF_@q13Y8qePym_vDRKLc-y6h|OWjbYNPLsS)o+8XYZ#8+ zVdkcB^jQ(|1t5gexJYO`a^z;pn8+$m)xZfaPVa4kOreBK8PgO>oP1*k{Jo+beBM<{ zvEuF}<8M4xWFcW+_J!bg&_Fr7KWNgRDN61jle-2X6a1`dX-QQX{FYoa@0Of)1<1Pj z6A(ygWHHsW3_%D5;qPpOudRu>A=Rl`gggrLA67s{S`~#@mn=t0u0Q-bDLz|(-|d3s zg#+luNgSuVoPG8MHKNAow+e!BJH6Ca&$ z)w6;@(&q{PQQGA^z^3=s#Qi=EdwOvE?Wnt!BprLW#eV+srCC^dd32mf$KwmXi>4PD z`P(3J{Lr~FmK{$wvEN66q8aG5DpkB`W!1H%C|wlo2T~f1cb<$Ef*FmhA|p0`bbj1@ z&;I%#D=aqRbH=Qv19}w;9INW?%Vpv33NA!Zc1T{ANZ0F zSI4CvYCSrD?T?H3q!V8(?dL?{yfj?)iTE^V|NP!AcK#aq`^5jv5B$GXFqotLgFVkR z$L&9He>Uc|%dRNFvMtg5XSm0SfB$?xdoo?eSrg)y?Dbv`{JXZoF>J?{+dqOngBqv% z$YC9Vke-iFdOj3Xv@Rq-F9T@LPM68CuuhK0GgWAbnLk|8?8SBaoDjVy^p6&@4^t7m z=&?)UVo8w^8`tGBceSwFfsiMF$KDW&H;u93AcuPWuuM3>g!=QXqrW zD_L_z5td(D#&TUt>0zGw>Aunb5Dk^u+|Xu(AiFsi$6Ov9bvUtMUOHA6=FFP0u56M7 zdM+@Y0S68oz#snb2NqiOwXc0`QZ_(r(s&x+jD{3OO(D%3&UADz%7p;*E(O#TA`|3pkhNRzsjNdNqXf@b&+hMSwXuQqnG|}_EgZiRsRVWIKenzE|NHz2 z))9YvPdo0uV%`~jAI{{_^x6@&B*CFPwEMB~r356syZtCyH>W~M| zDGYdBu7^)1V?v`pA?SwAeNyN&Rja1gkCvk`B{vnHc;WxyrEmTN`~Ug|yKmn^Z=m(v zlX(AM?m+IMk}*G{wjvd#Ev2x%(#l-NLyw+B_Lr7HVHn>rchv5}hYp`&MLUvFqE)jz zdLPJ5XSv_TazP{(h9T1P47mEUl&vvL_Ynl&_$fRm-+@;!!W%Ne6EZ^X*8*>>16JP- z7{w%ZnUwEIEr*9hFQ+JiB^38&XkuIg1PxvTz7QNfFUzMl8nqYa#|exysQb%T-)15t ziC8MN7~-l_)4CiAa=|EMP-_&CK{FME*ie;;)NU^>DOSOi7i5X;+bu4%4ZGmL4K|ef{+;oIOGW5EGSeh0u=x%?a0mrv@Mw}p{LEo1IM*3_l+Ey-u zZ6H1bG8t?;#Xy5pzgl#II6@(KWCFZ0z$+7=GpJBonudj?sW7CdQCdmTLX-s?@=>!c zk8Kb7JjqCwN`aog;e+uaXX5cWe7F-G&mKpAZaVB%8*El9QcNb~SEa&ybs4Luy8q#A zIQD;UO~?sZu)u_sx2B@EyB{IH4E4Wym#&DA>$FhlG>}u?IJE{UtsB{wRx+0$g)PgJ z3Mln}5D*{)WC+sFH_E2DYu`_yrUDybw*7;0wa0|=GC?bT(ulU*{Ew_hO8M%@M5JdJ zaP>xiPjzncN~Zyv70x3EqQ7gl9v%B_@L3Z==1-6Gm!>FPn76SEru;Ov4-I#_aB}DP z>73}fu>vFQKaKn1bB2zFD8xmNrM@;Bnh%YBos%f3joYCA4ht5Hm?2UC)hlMm)w6zVP}5!ztf<_Bj30N*4$M5RwrKTKk>Q^ zMJ~F!$;3Kua)p?zHs;mx5Rhr}BG2iS>%UG`X!v z*Fu@Dg{spDw2dF_sW8#G`pji8ol1dQ78S-_lV*#!IGJ#P@eH8Q=wL92d+)uM&HlvZ zvx-d?PeLJuGE>;pSdIqCJwl=Zbq2^8IT}*##j)}cp!;J}AQ`fe@Rnl5v4? zl1ZFkpvt{_Z~GUUb-exKM`1`2@I+W(>}$1Q!TS6$-%phr6)exR&)qm=x-`^#NHk79fTCQ26e4`K&@3|*cOhhI z1yVK^CLIX=&(lXS>=Lh+x2!3~=IT+ZBTNHQQc|#d`Euq=Y-nh}hb$Ic6?EZcg`T+@ zH-_Dd5{G1J?2>D-Nbq4{TL(HiI+!D}w6rvm+9VdGMuqEt{Yg}8UdSp-dn`^2)OVrx zM8~)SBl~=p6vB7f2G7YM1g%~SJyDO$Pt-C|sK@KaA)5<_>@E~()wnf3>a-}+jjZ&$ zBt?g-GtIa%(~KHJ@(Pk?P2OTCZhaJnzB(A*{S9#RNg7Ftk8OVkc<0x^f*XO=pTU;f z*2GmQB`1aGwDZH`6h%jm%a4@w_yHveom9Akghol6OeUt0kQj?6{5-eKmoU6ec%5E3 z!j(fJM*E4OIQK=CSaKuoc@Di77KOlaH{So|DZJrR;0D+DVN|}Z4p`rME$%+!@-^7~ z{3r#QPWQzPJV_*#pr3R+aWR=ts57cy%G5GfDE$UvOIX(_p$iMmbd0~%(2rle-iX5v z3lMXeT2`EjFI`r}Dshjsf00vhvhj5~V0)ttp5ueafB_lv#Z3RoY#q#3mO;B9J@T0r zzHcpxFRDh+>t`Zjz~^Tn=s|ygJx8umK%r7#&}GH0Jv-T0K*Ka^0ZV?kZjA3Hil5{H zq?8P6F3F7)R-xaG1ahB;LcN1bZ18&nY&#|jHYA49pPx>jCE1QJx?}H$_v%Vev&N7`zJmjnUI(GLPe537`={;-NeF-i6#JY z0Vlo}Il)K!d(v(nD~3zxQdDu;m~6E7NJ!N{?qx%2bpIRe(E37E9=^Xe9}P|qbLOAw zb--nGz)xzoGF07qo}7AvKy{3xx2qAvMhO9jLz- z45Bv(*pdj|2|p{$iTgT$T*`?^6DbNnMw5P0Q-vE_S0L|WHPEC-`!5CCJ0aACuhEgW zm5rFxOH0^pTB8c{R_BbE^h?|g^fCJ;XLMvjqMw{IDl}jqr@}<}_{TqvhaY};+~=)W zv4XiHzx?GdC(Y|fn6e2xV81+no&m>$JX#afm)mNc(_Tc2J z;_P@&x)&QRkuyh6ZEfuZ`ed^Y8Z>O%wk__ygLgd(Pq!UcUfzf`3+wTx-hUzh4GUlU z;Qxyc14)GCCi>wnmeWL;r9wsz4?M;+*mg-E@oY{YY(+}Dn8 zJSDm-i_`UZ>8^`ec-c&WaxIdhk&2>`M4IRo{GHN_z4EB=l_vyH5%Qx<@MB@B3G>Yc z6q{05uEs>H9fNrKvwwuSAOr7x@N*OTJl;?Ut-~%H{#PBEg&*zJ zPZZ{$^9GqKi9|#e7VPxHoUKD+1z{UW|L zu@y0dylH1wfwp)@)~eDp+;!PJ ztgnnOY;rD4;eIIG~&|HGzdq_AiQ06xVx?J^f(X- z=Ku|PJ)~H%_4hw?C#tVo#Y9u0eOCkid)GtAtja}ZRX#GS@{n0AE{$0!al$ffJ340L zg@CXy5cwx6^u+F0R7E^8oQ)L+VqX`ovK=c5ve!t5mh|*Fki%~_kC%difOe0MiH;>Y zHEImeXo+`+?ReiIF{R5`WUG}pvOYdP@?Sd#;0=b5tx+-2lEldrr2?k#x~FXb-eCtz zC*T@#z&+#$FYRpU8g#%t?7*kDeh*4@bie=4=O4h~f4(#Fdnn{^r5g}Xs}NKxvG_|@ zqv-mTY@*N>2%@8X5IdjR0j0-}HII^uI?Cg}`y?!d<4+#{pk)wiO?nu!%`oPe@uEV8 zZ?^X#RjFXVU8zpP8e7-Wx*E9})wq?tS;)0N#Dqo~UkH8@O~oqDBt%l!6U!4%Vz`n- zL~3$YB#>N%a-EVbNl2W|%*Nx$G)daf%<1LNVm58s#019IUw=L6x6lY@|+|FIA!Mmeq1(RzgB=bw zaE^7fBtji&RgMAPW-9`NZq^|<(+m2oYfB;m|^oHtwhK@OX1NBr3@(>Mut-lIK24L3w3Or`lA#YJ(I*m z>35=HE)+#@>eQ*Y9H?}bYm>!)AF4v#tx)0}s&7hBIu0k)oen(c_T$RZ!pPwDonbrP z_4y$G?QIwehVZ-7y{yyj35DRKq8#;|(3R)l@=PwJJvL42b1{ zV>o7avz&{u1A)IR94P=#8RkOZs(XQrUk48S4cPY=z!G-l^&SPD|1$9EJwWYyfTbS+ zir0>AT^R-XZAq}8mgshj#gwVTd%hB%qfA0_f{Cf^Mv8iueSAK1nuWpxBytGSHISC< zzVMPJcy2YR;qnDo&c^3rF@3jKlrdQ>(iUg1CP6tZy?su&JFHMx zg7EjaU^&%??AjtR?LgS+Wj);kSN8zgsBJ$M_x{G*RHT>ZAhkFXm6t8T;t#GL>6V)y z$sBK&p7)xY4SSSL3a^O08t#I^P z+4479Il5KjOcI0yeCW#$BdsIqazAq2G90^hnJDPXW%$#cIW@#o`Z4np_B?1OVll*D@q0Sw4-k@1*f%nu$cWU{~ir;2Ra;axyMEelO}52`kIX3-!Jr0uhoN(L;snNA^~eFZDkPxTEubdXgr!+2SZ2~=af*Iim%#-= zpAKyJGH}rsfyUQ>y?>?zqT*vd2XOEoVoNUvmfiv^`LHNXP7x&9jg|wD7)!WJ#OLy& zZQC*UUf7S)mkz@0@+0e)pTQeLK6bv0P?5#jqFf_Bvc3$<7U#za@nwrAo*Vakv!`VU z_q|q+T``r2iIpX3_{tUYrd(L0i806SZaDY$LP!YpR_5qoy0i$oMOh=lFed_~J34&$ zFs#<`^WG8ky`?;?l+$&(LQYC@R8k|cabRG8rD!6zw$z^+51CvJZEgx{62*pv!vQj0Q~0BJ7FKuTU3 zQgYK^%r%S495YnBdMoD)NK+|sRi+u2C>*fbJTR3PK$~vFX}1q8ZZGy9Y{rhajziTk zh#x<_H}16qk9`psPhg~?Q3+MaJtjSDdC@+VokbeNq${Cwy+(<`YggdCS1lJs!Zag> zjaod>Gk$slk4}wMpT0cqzH8e0Q0w+0Q>{dnT7@i?68TyZ71hX6D@W}c7{cM?9L~AI z1;#1jd*AyWzW@F2qokx{giyI^)hgV0!#8>Bi9mDp8c<+Gd;Gm@5 z;|Yw)ghDT8DlpQZ>LY7Q@U5rCA|C(T(}r(dJ+}LeGkN^ya}Th=+oBJw!`3W4eQ22`yYJKTc?iuUcIYn4>CWVsi~;q>$Y(cze5 z(%`FGW_|&nSfP>JKjdg6p|My9uy#$z#as!!P~fy&iEb#-1qFs=a-<3&CRk8jM{-1U znI@Kpa^Jsq;f>dhVZ+_mu}af4Sh%eq69rl|s`MIU@90J9&R!@5K#>td&YdNY$5eNo zwosDz>Z`;y)C}x@7&!bm;0TMZbl)346kG8+N|Gn$Yz!BMnXb5o>}YuT5G&HswDl+g z?x>4|q{)SKr|{Ju-GaJq8%rNR$A~1tAMJ7AoBuwFA3R@&8fw1sBrA__f$ZW zRom+O@aMN%u(MgLlr6EeD3u9|7gtRzt-@qLmFwL{`{6p+&+?HbqM4Tl<3;(<&PzKh zVUZxg?Zk-_qq_SNp%A&Ms;Z=g*rqciHqvLOM&FetP&zw1v{9j)AQKT|v9=Gu-Zjix`|i=J7^jtGUj(+j`T%iM55e-L?#~XO1VGPN|t*scVV<5uyeqM?nA9mr)Zftt4~j1-#0e&b}ln~ zx}WWDl!ioX1F*IavI_IIuA#_z`KAXxizPR2K)GJSTB%$C*Kb}P@qT2Pxbgoz0avOX zt~3MG<=I&Bg==6723bXG3R&)I=wg8cTkgINd1eFK?`WGCl`;&vJnURV!X9O35DR*V z`3%W%NxR~b%6u#?ieBH$fgnCA7oe5PSS4&0imeoLN}6Jp)DpR~czRzaIkTTxb0(q- z8wqlhJb5PO&v@vehp=(uMjStWoVg!KM4;~@b#Cst=N?>t{q-06V{$kXb1<@DHWwJr z2Z;k1eX%$I^#_z#YB_~}WGzKorV>l5Gmujzib!KYA=2kk=!LjpNj?jOb$A18!2I>9u|N22bC$3L| z`{)3I7O`rtesLD7+!yz`0zusKOf($sd)L<@MLPpTuL(kZ3>rYwpqxSsNobUEv(bPd z4?*OGXu`!CnShDSzeeZGRhB+f$>h)&j7ZDOL@M=N6iPOjaJTef#}EIF;r*wec6qVg z8^Gbm-o}<6d>9Mfvl>617Zr4cYf~`L<6$o3;GhQsf3HKWhR{hnx=%N@Fo=jS7*wurUF=aP$2nXqq@AeT{@3rqVTE4(x6XO`UiG3r$>zL<;-JmC8t1IEjDru3CmwpNdAB*?TN_^!>kJpP5|C zv?Nh6F~tHo)Bfl5ALH&j`1iNixnn%&w}=%OI}bGDpC5=9Rtb$sCyJ^WDbQyaQLwxm zoB!YY;-1s7uL(A{1G+Q=g6SDhoMSlbR1)w7;Ow_Ck&pyK5)N&hL%8zCw?ZD1{@{%t zK82%C?ily|=(Vw!$t_!y!5p%NY!i&xsW7r7> z_RJGlPbJhjq3`nZpZ^?BKKUfe_d*U6s%ClDU3cNS>#n=dACbcuQ(*LQfpJPm%;}`f zHL=bz4QeYpPs38Cz$2HLkY1o4*S$!nVk)TxdJ>8+Ob`m^yLM3?p4iupe!Caj8~br- z&Fo2fJYA`Oaerhce&PGqLDnb^UIdu}eW^=Fz1En`;(qb+fDNWLH;MG?daf}in}E8@Vl+7dMl432$%YzS{nL*|2Ag#3r{6js zeZN11;E)Ht7AuDS)qwO5RiCwc>w=+B0`smEn`;O-`V?^N-&83=e4Ku-<~POm++9G? zYEfvcxfaNbFK9E>IQpz3gaXPhS99G8<~}M|S&=klh*qV*jY|tyYwma8iM{Pi)Ejh) z$2EmgfBTtZ_`!20uyI}{u340a%NOLFSFy3a$Bw7=x8w1>?XZW7b;JsbU%Ipkm(9;U z{|>M|7d$72;XXM8-)S+8Mnk>YIO%1V53|IbMYCikO_aeMDH*1#D{p>a?tdYP!KX@NpgVAC|ewq5A_N_h~eNJ=u+fB8C? zV#1Iqq&^Y4R#KR~DL;)BRx=f(v-5H+nU#6C`25U1ie%Zit-92tkYw@ zG1kLNdQD_qd`^nP3K^}JtN_-3=|X?gX~m2Y80o_QkAM6FfBoxUv2Wi#c3-j!9o;uH zG=!ZycVgGBUHIiMf60Wp4}IuExb3#vuzL0C^HyPctP3xNNK+dNya&@p~d2ddPjNYyY$8YOB! zTRyO|kO_>$zxH)-fpH2r`qZxI!2kMrz<&?0b*rfc0i|)&Yn8+!9sSsNJl?%H-e8#o zEPtoi$=6h-jtHrz!Y;pkLmZ^36>@z4hT2&<0FQ;fpOn*#LJLV~l&TA!$$6B*GO1}a z8YVU__{ciczGpRF`|cAs_S8=HywmTT!~+-K!yFrHKYt~=Phn6Y^Aok`yZ9d8L$VZMG zi8zkOf+lHdYin7beYQgapcFz)QB@=~lCzQ4C&Se!l8EJVL>-1chnIz~#{Dg&oP``y$To#DCvzebiT9I}&5$KJ+EfM#!Pc;J79_%{ z^zrNTJH$>jT=G9RVeK7PF}Eb$Pa>E+Tv3-5k)qEM2qL2*e!@0qQ8Bjs=oa`KB+j|T zip7IcwPJDUwYr#K7`GjQA@*1-9;=JBq2~B&*801yjl2EMub#u+KW~k@PpMNgp_Zxu zlh{a~d-J#6i{&4S)*)!$+k~fX`#plbK=`)}!0-04^;im5SK`yJekUyaxS4=6uxA%M zgF{d%Ldetxp)3kQsSH7>2tuU{uPcKHz4a>~&j^G9?DeZk`Y`{SerSv;XbdW7^hzi- za>xZI5TeNnazO`y_NRfr1;p3U1Qr{|hsQE!y3Wd!%f<8`w3N|OmT)`v@o*dQc(Ugz z;$O$sN4YQVap~_!&rNvW5$_-SnQ8ncB>%pVCB}XZ{jRJ9W7bD&!O?F=gud~FLFqX$ z>-75bMC1w(a&UohrU{JXO#I#Neutm_^rx)q8Fhp*GBU7c%^Iv+xe`m3EMXNMX-14( zisT-kMjiaUd-t+-^ypDM_~3*1)1Ur?tFF2VKl;&+uypC@)ipUB&cu;A7YOCm&%3e^2Z25^u2d~$h{Q5=%JGx#H zjZP1`>Mgi*P~4C5D$OXEKyjBi_u|DPE7aciS_2F5BtCU<8H&!2cwh95%P{}uHF*1f|AU?*r`f#3W_nvX27KxpAYJ;bMy61rUmqc+<8q^FniEa1&q!a*!tAO%NKZC#-^`QqGKC}%vajesZgKfjC z5_G2}I?*7JqE+I)AyOEhIsA9d~hddO3 zJmiC15SKC`BsPSXB;wdZ=;_{%ewl#uv{Yneq$96;+%OmvmcNr_UbVmg~QCEo&02I($GB8wt6RLZ{^;oZ%{+ z8eebv{aO8{v0=|=0#%ros?3iD33+s$iiN(l~ZDE2Q34W5$M@v=Yz96#u+`#K^MP8TI)r%_@9!x3>#=cIa z5`gdjDn_saK0VRky_3g)lhK2d`RTv%q)SCDqYfy7lm|v>QkR$ zPQ=ZdH%~~oxc&Cq*^*}5DD3!&C!WAdFTI3UUU>z7{No?-=}&)p3cdk{GrN%n&w9a) z<$*nH{j_2QTklMfAS$T=b9d?Sn%>G1T}5UMa?mGu}C7=1xGb{^|Pg;tG%d1DJl zs$4xhC&gZvzt;)q&hB%)e?=jF@oEG7K>`0g)QL~5AKyXAIXg}~vzHAPh(+&T2Q)kt zd8|KedD7R!hV%WSYY-Qoh>8lUt|=RL&`edvJ$2%KqRiH_A_}pP^Xc(DZET$cjypER zhab%)NX#Xd6A6wq7$;{V6?r*R$SEWhhO7F{Cgktwfup`31*_wK+pa^c%;l2)!Fd>Z zte)LxeZHAFlqometRbU9tU^uA(GN7fBIavs-Uj%?4s3EPNO>Cxa$;mJptws>cq~{h zIvz=6NCG*W8eTcfoQjRF9cH0?iBQNM4d7$*mraJam%a>~yYb@D zZZ!2pT}UK6QhP!S?qO(@a%37c(5V${-4_VKeTbD*Du zq7gy6Pjn`Bi0(vRy8}W(==F%tp;tmvkqT{1Iy=uOQq&Pw@MMX5G)YGWgo(I~sVX!X z8l?0RGYS&XNbK>s#7gZxr+BPL>#_H<$HL3RM(+{yK^E{JGvGsJzypCCLVgcqQohug z2y=2t0wf8OO13VOtDsOQp{MHG4G{*_x zo#;*SP%f;-G)5+F!&sr3mh7R?){*3X+9u?Jq!tvH^t(&9Ig<+&F;r;8ZKu?PZ>tm5 zrRT(~vt{CX!s}vhv!yEGeZ|VH^z%qrcpY_kBYYe8+MyO0Y2Lva{>>zIS;ce)(Dh8_$sIh6{}6kE8z%izn21 zzi9>V#GP#2t;vE@H!?4xTCHXwX#_c2|J5^yssa@2LDV#vzg^Ly~VmZuCpFYh5$Fm_23PQ6oi?ui2c!P5zhYr$Ywx%c3pOu=cUw1m&G5e)SOEhlgOA=17yz!vZ?`d5iC{}et-F|;dcd+7Fwu%?^@K}v>G`J zrZ)LL9c$IODXfv;*w|~wTMhl#acU5|n+M@c5DmS7P*PXoNCaf+mDo_8ip}%Vv7s^p z8Ito{@KBv1=>x=mno;iy1qArJy`noY9PT_?sB;9RjHOyo7o~`;Fa?SX?Rj+xlGuOn z;K8`-=x9*o_yr3Vuw!{j2nHz0o+#>hCE+jjw$vtYn>9!DSeRsHg^!bd8x~eMcU(y7 z3%EUlay3FSmAI6v!%J1%x}elTrqq%>6mqo=3XKs;tpQ413RJojwhpCE6n|9VB|Se@ z2#yneRWbKT!msrB6ct2cA;ZBW0%UNE$3h9ui&>8qGePN3}UE|&SJI&7%S#M_MntT@4mE*lo)k6+1}b7oL-`_u1=E;UM0o+dj*+1=Ug z{?z43J6@FYO3H~!Ve>DnsK(<3Lr`8O;HtFo^Qy5>s{LYTN^VfG9B8q;+cdzoJ5iIH zf)B3b)emE#-#05Oi#3Tt_yIz4jiJvuT~t?vcYZaAa|UubtGYYOpCiM zI>kh1kuT}(s-PED0WUr+^Fk=`!t3+G?eW3q_aPYYBNPlkM&YVL5OM^eL#T^ zz>pHKs(=$=H<=X1O2vQVDx~-V5a_oxnqwXt`8@GHb&Q}8^O#Hym)nK<`UWWc0k*v( z$Yc;=Bo>+=EiEfUcB&ib*d2C?g>!?&IK|?ccS&jTl)+ZP^C zffWHk!z*KkN0Yck)jMM;(`)dp^1KQEP3QhT2sBzGfqP9ZWHEv@iCsT`MHD=VZ(dyk z#Z0SUJcUq-1Ipz_DPYLWNJSH<$i$geXqCuVR{~GB9lcwdAozpuyL>qG!cH8P??Odo zB^EAT1pHG#@B>vySw1@}dXGSt2F$-sYy=4ieJ2oX*#+x?w-D?&1_QdF*N&WQmdgZ~ zQar2y7AjK!H17tQF)g7ZjfU0Z4z15__c|+N6nY8YNJmsSl8`wgsf}+Sj4)YQAnARU zP4vk}FtZ?`kMfPGjp1g9xvh^`H;AHP>}~dV>|-(OXW;UpX)KynOc8{Uxf;)g5TI}= zSpHzCnAViJNhbpJfhSb3B38T%ocjS8=l)9O+!LE1SHS7^!r}73?r<{KE)_#1qs>h1 zqf>eVtJTU{EVN%pVj~rJrA7iZkEY_BPyBxWxCN``8q??u&EarnvcTBm&qZoyIa?pf z5X1BMMSW@=j6x^`ODGGsbv}(?s06?oc7J!1bxeU#rj$dOr9+_C#X_VNf^gR1X;&=B zflj4>+aJVphr001D{COC(PCT;*^)DZU-$`Q0V#;0$quz^;{`p4aWP1QxH(=`mY@L8TyiVbz(;3Py zDdmV7E&m&<5IT_@ap8)h41viXf;Whe-G`vVhmh0H_9^yf`p#^R^Mt7~^kK2;nq5znx13YDrL{^CLBS zUn=Y=y*CL+7Zeg-<@CE>_}`vHLlO|B=5RPzODr@tk!tBP5lX8@`Hrbc(EbuDI7*`9 zOchr-(+4`<=$uwpSBDK7HcYRHj|&X{B{&?;IU#jaVnd547>eKmA>aiZ5P$5RPC59tjJKJ4vwAO1au&XK4QsZpA(*rlV6c(hKWJWv5IIB25G7?(Xim zfzr6|Vb-GfLrYL_;{x<;Z9>=cb?^;}VZr@<{cM?YM2;TkFj|WG;}UMs-8@dL|5pLrh5+N(eO-Z%bjQvCofLpX87`AsB+U*$VgZL3rwi z5F8#oT$l1BYD!E{mztm{HnGA_i4}Iw&JC7Chz$BM(AUib$;?z!^f3w@A0c3d?~i$p z;lY0N_jZQAWNdFmx`qmn34qCLVxkp==SISAM~JcGMxVH(?W&ry6{sl} zEe*=g*40R_p-C8O4Gj$}(v7wm<)bCxkWOav0_DW7(IeLY*J{pQrEQ>d<<*42!rlo=~9(n<8e2Oq@KPd|<0$B(m4 zIGu1ugH9%6Ju z>fCU+b?9!kvQE}m!jCG?0QX^0gb@0@ke#K#NZhzIp9ze_vxhplz<8c8<);I?o{Ze? zPa9dxhlC;;co9KCz<2+76jdjjICY>OTRvTjstHsWcI=22cQLLL3&lu0f20fby<(i> zCG)cQww?rNz+7Bh%o_D|Xdq6F2IdoSo+z{`6WimmNI?s~WnAm9lny$0<$N#e%^)DWXyU$#df!g=1 z!GfDsqhNXY_+mH-L557R%~B}!fv0g8?qdUR*A0o2Oi3V@yQVS~nldvqrDiBh>ht6V z3k#?T1btx_cFvhqMQ?0uM6l_ zF_VNwDuP9g+-oznFG~Gur_(t?NIaL{izAAT(r-$+kR_;JP3}g?E*{KhVU+ zi4!N-aT)6jCc%-43ZHF3;@QUZ>=lj!b+j+L>@p@SPIUI`taE>GIGiz&POzaEfl*qU zshzr+0A0jl1x9^|n67?c$jIEJ6vCFLZ$qQI8g82pwgC^!lxuMm)OpdcYZ4eye)bp1 zi>tDbrdMIu<;ROhyYamnYN1l_ec`;&7|p*pkh(0Xdr=Zm-t4rXq@HqY0s*ZYr4uOn z;U93r+b|pvp~t6iLR?$64eEmv3dpp_C;D$P_)aYDGMO~;5M4jC6D&WeMa%5gq z!dlSdNB58qdG%^`cF1T~V&K^ZIEHQLeEJx41tz4gDMsqjd>AV;*=r-)IT(x##*#q- zV>01UT0dW|5DI;6+fmOPicMRO;N$=O7L3_ZS8mNUD^UN!0apFF`kLifaN{Zztf=4) z+i=G#t(K@y%ugZ9rQOO`Ov zi!=4EMrt&%K|&9uh@gp%bAg0Qa(`2c4Uv@uBU-2P6aD?^;I^mpD+z{F{423dCn1q0 zzNpdfMvYwWbbX?w)aY2Eet&F}qHSUuUCYSy6WeIJlUN+vXj`7^{%|IcXheRjXF<%`#I3#&3S}n>cpt7(2+n{`Idjv5|62 zaceV&a{(QU;TnI0RN#RNjOUNUSu#UO8e0Z}3fR19kn26LD*FJ4qEGiJ%a{VAD$f`% zFrEV>CSJ2B50CC{Vr3F# z#0!RW{E;vv@z(3D$O-ER1sCN)r5RuNaqfTm$91Y-I@XO-{i0xb`TQI#ESOlx zHRtT0?U|90!5TpWFDX=z+GqlxM3E0HxX-gP^d@%OplI?xB#!9E17BhT~l6cu!}nJg88rYsdQ z#mpQ;lW24J@L?v#j|GV$D^{$4+04&f7ZS;BNG?(;3`1fgZM(_H6&M>L8|zl1^J(mP zNfOYg(Rqm)O`g!$@=V1fNkAh9I-RGf(K`4iN)ujFAwEiCCq)oQ&^{qu$D~}wQk$-he$LrJ$8uX+8=9J$#yuZVKa2#(yu67Q zP@JvI$fMx-=bvXM!p9$f99La+)rI~z9L}63ViAvVFsj0d;<@O5{zy!0t~6?(&NRR` z;6zWa5qs9G$1k$3#qAw7_IOvL1vP6&zv$7xQf^R*iTuw|U?gr_TEGNGDNLFRjOWhD z7xv@XJO2cYS&y6Uza2H@-H=hPF#vr@sz>MKP@UDq|-s4*JbZg3`z(b#Bg z+fIWfjcqixZQHhOt8vos+qv%Nd-tFI>5*ffYt215<`~xIc#3hK4HS%J93ZEe?Jq4R z;c|?dq5H)mn(okuL^Lh&Qc{0px0k2yZ<6`i@C81&)KD(cRzGbc&m4WbCIm~23W-J| zaFT*BchHSI_#OY*vbx_i&u69E%WCi~s4@H5&N3|v`{6qm>skBN_PR!GMtw7qwdzRm zk!vG-$L!7>F(#bz0{w(RPEN~`(}f#4BZ!;}pTkaX?Ipi%Gp30{W10onS0PORMk#)7 zxK(kf;e7+cm~nZRh8DX5p6bP4LJq&XGg{mx7ybgncsiTOLr!)qVw4#Cw4M=J@Tmo9 z%2ZlqOpMk7Ej223<)3Vb=&Ea-1S@L6abtX1MyzZ4(bJx^*VEHel4XqWd5GX^1rGyg zLfR*WjfJ2}OKZ=rKt2YGWQ8e4vB&X3kEfD+^hTdr0szpe79wG(Bjr>o_+%(Su{3kV zGmPOk&PtF}ZBWAN0qK|4Vb4e`%U)`I+0dGvoIgKyr7@pd@+<{98CvfQG1_a7eV&S%P3PjNyL}B+$}fBS zZ0wxL<|>G4wIDKqo(z^xai4`{lhMY%@=$XX2;{e*{<)!D<}aUKj!fwOsTS$nJ49nYFC(^(xo4WV_3z`6u!@Ik6>m19 zB88Ks{3gI5{W(Ovu2PC*CpL+?`6_R?I2q2fv(J+7{Og`m-LjRvb%|g(MIkM$jNyG_ zuYqBiE5YiKdj__}_l5Hio}eJ-9|$K@F;(I=Cn17^^S)5{$YplFU#<7G3v=-Q{NbC z`yjs?!_f_te0dhL5-Z$IClnX(#;c%Cp4xP}2niI!Q#l-P-trn<5Bml_Eb=8)H*x}i zcRH3ibk&x_hms+&O%*GvW-)gn5U~H!zgyDhT!9E+>qy1Eh1{}e1V-?YfnW=$*;N_= zIuZL`O|Wn>w|C=S8-Clb1Y|~_>1TJ+pDw@K0NKG z8eqwbaD>B;Sf5-)Jm&^0#Ar?&GAU$d(@4-$0QHMufUt#QH9ze6*I2Ue?CdMH5|msz zMVC$|LK1>|NAY$Y^m~d{R)gOIP3ZwYCwj zziADlP$i=`W+U>x`*;(0Zl96Agl;=^B9OL@4!Q$~btJjp&C$B}!t&K{PDFug%UBE- zHIOic6wyPIQ3q0GmbkvnVrvaowem*1iUUUW_25qO$Bqhq+UkC8TH8e>y^OEj;)hn)8im*KIT5EDEdJ5q$xK)o9~A7KQYUdf~y z=yAz3d}$HSVB$Az~KmXoadpvWgoxA@&xtm zzVJQS#g~DfP}I61218d4d#)~d+%Y{fmk+*IX|thM0Nn>8cIhY7OzNH5$+FxQaV z;|?ZE3D#BF!NWo5%70C6!gG6v!2;@*sb4$NMIB&M#>Ui4wKYHzofr%1D;itH?CEHS zXi)u8dugoOO3>cP85}Po08#+$FBWy*(Vz;Mdb6Zt#>$II$Mts3tO6TOfs$%~;6+tMB_}7xVB|a2 zVGk*1onaXLRCCA#)C?!h{hAZyPLEMQacmU@#(OZmlZZ7#Alr|_wn!tB&~ZcQXT*@m z-R4iGWaK6C-<2$?JCj*rs9>XJIo-V*wvT5EmyPz4@t<$gM@C1Ng+If-wznJbC4Y-O zZoM1a#_D{8`h8cbTP+I}Fx(e7Lhc8Mmrnc>;NtvBLMeAI2-Q+?slHH*g-s*>9tyny zAD{v??~V5-Vv=~2J^1dKwa5x@z;e&3RMt;F9-N4rxTxmt(uG?cN%TOFYjE#fl^z{R zbZ6gi{e#pBSC`j6OO>Ys;NQfxyA@jg<-gvLr$m;;5_zKI1T6$(HPKB}I==+N>M&?u zjhfLy;*YP*b2T-~kX~kkEb|R3X0#MBgTZ6mk{3PE(qMO7yZu_(J54cA4Zwo4Vb1w0vfy`U^ ztK+~}uQ)i_3%GADA@#Qj`dfWxbFP_NT7=dY*E?6n-;ab~q3R0NP9+>y;cC1ZBc0e~ zUN~^U1dBd(#`cr>r+QYABp5wXEZcNA zmco8J3V*^3!?W0)!xa3kG4I8HctVl9O~N1-AawM%G}lHgHxxN5{yCe$c*G@3&*aXJ zif``L5ykn$d%PkmD}>57S->dp`iXWYwrsNpCmnv%kqiE!_3!te0$GBL9~CX*|HAZ4 zf0bAUG9$tfnsgQ%*;=>jTZ~Ch+&);f865u%N`S;WlC3)}r~o z^;a+mZd=y)k!SEF*z9vcf9r^`D_)+95sj@@9ZV`ynT&OqDi*Gtj zQHWhmZcL7&GAb}ORv2??K53uLSvcZ=ZsU|7iR__}EBPTRVsMc>UtC(mty_^yy`z4c z#nix^BN+l$b*I2T%t3gWT%WJXp^^UAjzCF=F1Uz1%$j=Sfe+tuAmK}v{x?tbA#?bA z`XcvAuxv=;R8hd-_LD$`=rE4tX*{9#0ITV#Q{E~2et4Zm`Ptv8Yb)(Ma%vT2CGuqp5120Wh09#8&LK zr`Z@EcybHAFQflNl^p1c&-CKCzs>d|M$q7HiAYWtb%2DUkNwV&vSiykqstZ`Y!$7Z z46RQ6$@zKpjH!_lURHZM_+%QD%H=0nV^8>;l|&>y5gmzS;=I zse~Yx?3#P{DG`cS?T?AW617k*!P~V_=&0+ zj>2q;KT?c_Dq)VY7M%JO(VSn{?aiQnz$iN*?wTEfgmR1P=g(djE)oO{62ITaYjA$D z_*n{Sx2|rJX5K9Z{h@gkq)0)%$rDqoQQ;7Z`x%K2RI~MpB@FcWjM>9&H|qEjDI8}f zC!wiU@eZ*w&Iy$FM~%@l$l^IPuvM|*w4NKok7eX^3e+qv9g_k+FKnWZNC(>|=9+Th{Y8dDGqCy^lXqk)gsA=nX;S&Se*>Bj_QlU0^Sj8D zAf|@cy3SE1noN675lV$RNtL7hKfCRZ7kBk#pAbwv;w>mFDzv+Cw@bYUPQ1g)9|{?A zH;#h$_WWme`WHGE7=oxPny&Kcm07fb_hYPRDMTwHe_P6e*yX3^$8GVR&H5LzF2&yN9B=74;c=Pa{k8 zP((vkC0~rDnm6EZ#$MFmdq_lFOh!;z@5K80*&{sXE&+u@9PU89oAhPoSHNLUeX8l` z$UyWRd}=>-7vCWb0o1mGdT~;h)`o}iH=Sf6BJiVWEi)@$Vp$5}{RfNv{Y7XYMSDmm z>3?604SnfRR@Dv&B6NrO=wd^Y1@$&}fs;`*Bf*E0Bzs4v!G~kjOobH=f^9~_^Lo-y zf3*V>8mCq>Gy*4^R_EifU^NdAfXbr=`=tj6eAg>PjvgLv0aBFHhBsSsK~SS%lbNUH zY`fpD>BvK}0VL0wA$grRL2mC~CuaK?SAgR@qwCi%ple?f@~x|-Up?BgpFxnCd~2Ja z+$!B^JF1L6xs9aB#!S3bdWgdc-L3)JKTFjDozrlo&9_gc>T_(1#qgQ28029PYyFe)1nEG_z!HhLF7Y;xvLN_y(~uHp zJk8Jh76{3hl!#H3Sf?>AebI5=_;L)%Nl8)x}TM^Os_Iv-xE~ zi1LXE*#+vd(xReZWqTreT{5W`ua(b>Z{M3DZ)@#tnkGwC_&a%0IWdcuCbWW3Zxko` zudc0QPmQj2`rDfDg8=ny(;*QC<=})Yt;iYS4I?pRX*MU%iP2F*Pw)zobRrWgqyYel zgXOa6$v!eNa@joTi3E?uV8lJDX0;|BfCTtpBS8W$w;^aZaV#p(b;$*mtR723q2bm! z=IwnLNtjXiF-!wk3tbn1u-G~Z-ccl*Ce`SSAO}V0XL3U7gY?#}rfOPvK#|$T3x$#3 zbfB@KV!JkAx9WjWQ#}R?E^4A^D4_KQ@>Z4!c_+(_L@@N|XSN5c0_jy`TrZ4~MyAbyFC#CbYA?Q)ld2Sl=KcEpIL2WODsc$*lUD$YhAX(uP@3r=k-N zbPx}nSnm1!EM1*OCo}X(PQ1Beo1zZY38SQ^sKY=^w8%W=@E_NPenaZ;L{iJ5C}8G* zif8^w^iabq2%-WQVGt4Mb^fSXYYb#{n_?U_kd;SL`(p+tM#P97^*IC{lP-zv84Ebx zG1ei@?<%*S=xN5D1O?pik89;M&@`@DbPf}7mcy3o%oX#<1h_8&Q2MUDuFzy=g(O$d zw^@R4xNc-)S7}j_nYPf|Ih{Eg7fGwfq-?FR-bHR=*l^~x6S}^Gu}_$F(A(JeJu8Qz z7LmV|pmY5z0rx0^?_>eRwrI57pUZ1TRcYIfSfL>0iTB zK-^jlYon1PP5ev3inJM)5y+HKnfE6Vp3!sc7IL*9Xbv4mLnW)PiVkmN%&}COZ+Yrp zTpz!M6EB%68EmAdr>ChhOW;OsX)SyL8t+imiQb87RXkeAPz3FLYP6wz`Xqd8U&b@_ z<_?ha55AVum|{}w9ohkAc1xmu`{@`|jU=X#F-f~%)Rl!|W`VvlF4A9YC<+(e-{0?1 z5Zjw9OEM$C7r*UcOTt+`^e@B%E<4ODtxGLoKzQS=8{HogXO9`|R7=KetkidfaqDRw zN-pY43-(u#tO}v%PDy~9v>v$*=SDBo0Mk+BUxOV|d4OxMsLp~qrBRfSNIcdn=91&p zjGL!xAqdf-OqaRZf4%}@XEW!OvY}}-xAli&sPX{SLgKY0BNa_ul)2=18C1CrN0Hue z1|d)gY>{vr`2cCYMQ)|kYz#u8 z(Zf#Y1(kU-^KXVBWnkOOQv})k=0dxwS2mBPDVTK0M4HmOnaUQD-XnltG5vtLb8rDh zXIH?tM;Z^w2U`rz(oA4ZQ?5uG7b1!#rvxr?C6|JVi<~S?xlmAo%5F;j?K;ucIwH{0 zo+AzZltph__wDGDBr&w1Yt}$A?vbEmBpxhKEopZo@9X1ZvypJGha!5~?rIvt+viF9 z{h2p8k}>q>#rxwe+uc)~|6&o>ozJ>lwiU*R(jztKehEPRVrsQqP08Y}lsi$d>2w0W? zcuCMBP}vzU9C;i#46{L&dK(IG03!z7*@klw@7A*wCIg@z}Q zmUps03x!&p$D=quKQC={c5z`c{`W>`H(tOtPRLY|-!?{QSN3h$4-V`;oY+cTpsCj9 z#ULwBZM451vdFBf+Yfr#+mVj?bz~-ADj8;M8<++r!-x3J0rOy3RBZE^kc7FUY!OPs zT`3FnZV_uP83hNEs;(j6^yQ(Y)esn_(m@6LjQ^SS7a(mZI)(&pqH0&` zfVH&GtJ_riD8eM2eAem;52W@i_=GYFk&O%f%${=*T)48s?c&?hUmZwKmBI&iPzlV~ z=^4Fs##<56LdXZHtK|ZD`+@yOM84;bliMwcE%nq< zNYR~nw012$Y2Wri-wDscCHLtSH;_?Y*T$pd-c{dASZtTsxl1?d&$NsYWqqlCk4Qu% z95Ok`B#L3a(S3X_jUo%S>WUsFcqzRhJ|z-(D*H8W7cz#xY)A8R80< zluhVzU4FqIGB)6iQH^@oiIm|H@FKlq47m`=3GB%wK+3y6*KhQcB%`CbA&r{VTh#+q zIXfm0+HS@|zkh*upFwZp{^emB{}2yFlB#B}(Fj6ws5h&(II1`NQJMs8Eh2$y;n43Z z04%uYh|Bj@F$b{%W3R^k5lAswR3VZ4JQOcdv%Bg8>$-4PqGT1Y0C~h_pdp|`6R0|B zJa&ht4(E-6AdvNt*Yi!l2R4PAT2kf`asUHm_ZtC*0KG39o77lwTED$e1e-Gm$!TJ8sJh^Sk_l#4D3Vg;BQGQJ5;VNM8BT81BSf9mb z%Qf)!Vd6k4MtaAUm0}u^;7d11t+wrVFd4J^+oh9gc1l%xMO@AZK0u*zySJ||&0bVp zL!KU@8ni-x1c;eg?;IYgo%C)`3*WJR1t~pXhQ9Qk-SeL)gr>^k63V>jx#48c*JaJ0 zi&WdZT$(MuZR7z_`J!L5`B#i%1~C>X26wh7%p0*sIua$D`;XP_zxJdYXA-nauo=YQ zgzWrCy*H4`?kf97*(0nVdHLj0Q>kW3$^*`DCH%mrLUi!;jg5&ClZ=opK<<@^g^jId z%DkkFQ!{QZjx(#G!bVWyWps2j*)gWX9Vo3o3cn3%(~=_l-3ay_K$6xphjhQX`6wq$ zPC=oEkk9jp1^6@Ff3SE_Hc-3 zfKJgxvEEp~*t8#FdSy@Rmc?xzZ8RUguuB}q_aC1utYf7FO5m95eVaWgYhzjL`+d`b zxg&e>-5#yc0b+-PM%k*nvJ`M5rM<4^oBg5PSJ?U7<0mYsKLTNufBM5Ba|N1N*9U<% zDkqEafw+BQA#!lP_81oiuxaU{vI=PFDt@Sc;MT_*M+u9)dqeyDPQcbh!Be#!A21-<&SX3`Q zWRTPaBuj6&pMRaNDztkfApZ^)ZxPS&r_cc0keWJccMmj@XcFOyC^J-ajW8y$_t&{v zZeV!CO%!}LN~g^5v@-o@8{81Vx)m4Y_K9phS0V{?cV^TGH3Tx#!F6M3R>{8vXb>R- zcE%c_o{#i|lcpIbF@+?-+8o-T+2HWy8fHXmohO6WTp)BHaNHoyzl4HTg zRjQICVWTA_BQxdI%y@@2MI92yr(<9+xoBNjP{Bm?cX*9u7Gsk7RdiTD{8VqP@*S*=3@H1=kS} zNz;N*m8SndisF_j7Ui_qIncT!nBamK2ZIB3pf`9~VG7wl^^z+UXCNwRcVO#sJ;JMq zwCv0TV4HD=2#TTo8jDpx>>T0fX+Ls?zKr_yGpC7-pdJg0xYNQw*<2gipeHxcRBR!0 zZIMvD(+z|1q9+-L)QE$7u+HzP)TvAX@csUxsH+ouTvD>)7Po})h0|6UX=zQ0U^21M zWR5wToMdDWVOWfW`uJNPks#>XYjTXl40W3?7h&Uu`)Si8(2e37$&hlh24d&GFW3aX z>1P6O#qq>_R8gQ%GQwYbRAcWoc{%O|(_Ig<%>pK(T9CKVN<*`z!+bZ6cl}~s>O+d) za{fxVO;e&dFx5OD`d76J&`tG!kzkzc7SU}2b_YVY_^wEewjrHDwx^eubEsWU_=$LA z`GC~SV6dAIQfxV+S}s7#wia9AhX`$vB;)k=y`EMXgQZ(Q8MMR^kWdGJlzJGsi45AI zVT>I~0eqRovzfvz+O0pU7v|?Nnm_*#qwXYC4*q?Z?m|h<5R0OztsQ~!RmILe=EE_k z;f#c%W7GJs1&IA1|HsN3q!o?^I}99$X<&R7FE;l8Y#1Jou)9Ufgmd*!z2t5Ca`*xo zQ{htvS@hRE>J&zm#GeRmOl#+oPZ=jYMO{aKldOE0QdCdt(a>CO#we)ggF1H4htAb} zVjAlAG_02h#!c_F%hCKguHdDbknSmfiGRKBSi87~p7Av2ZwREII0RtR7uavm+Z~7~ z3m#6!bj1u~m{VE8tC9iAx>Ie3E@l7YU^?)m&PLCk@a6u_-mE>;-pZ}I50ypSZLP{_EgMyg>qys|jJwOMP(ff}Q?P*zqj{cqt2JWM1x|Dv~ zp2CQ*V_XU1IkG~zX>rc`DyL{9+F){~Cht(zg5(b+8i3H!ZxHN3O)d;68lez*nz(m^ z*u9-5R^%$Btc>x&FLSVwJACu4`|m?7PXzhF`Fd+&fc&f{7C4RR-l}b9L>$$R8rawn z{#QrZIS!Q+ZJ~rL6JBaVX z4y7DR?BQ(ovpo3)--w zva?Cpu4F3){GgF*B*zuvyZ`xLOJ;D`lkODcQRjy6ABRzEwKX&(6e!4;J79vPqJG>oqW z8OxahbV3yt>x{J8d+26mW%^2Dhdo*kVzE7unOG?F$5_317U5_yezKL zeQJNY6V^SaFOTaR45JOfkP<9Gd|6$I4CUUW_;BgsR{LhUL7oaw17WnxdU9X4ZlRL9 z9@9@T$Ch6-BPt0a%O+bLXwa~jgC1&E1)6b%3Igo6r*FCM8kYeNVDykaqNr~iiGy=e z&3Gy(?)@B04H}t)JId1n2uXB!Nm@wY6`a*H87|m?>paQc<^EW#LA?<-Bk#VHCaI2@ zpqL{sB$pAMuJ_f7jem~rsWG1+WkM!zPv}V-ju9u#>D|_o7n++`z>)Au31AjFi zCatc7An_l(EaG|H23El-44Vi6vKUmLlwZgO68Dm4rQk@z-hY*ov*pOKu$2K*@QBko z63JE4Q*>t2;aG`?)MuByUt;33wK>?f@K7GB7gy4*hHM{)j^4d6YJ`@7|DsSNwx?UR ziGdjPU7@7AkP3xR#%3-{W-Owhblh8-q9sa~a{=N92jm;?=(RcwH_%4DjMj8pt}&M0 zv$VApGc`R_KUB}-2|<^Xp-(Q7K=Wha{9(=fRcW?9#6c$3(Y`{K^rOHF`i7MRP*e-_ zkThcz%bQA_fTqW&kz2Ry3gq;{B@RnqkO=|&hd!~3WLcNE8+ybaoFncF5s)~9IM@-F zKjOS7eqAdHiuXDu6~nkV!x_ytr)YC@V6u_WYFm>HGDpRRbzqth@tOX6pKbgM+mNB2 zj_hbp`P9&f>*hgB$&&)<9UhM0?@PjRhSrcUca&VIx5sA-JyI8y(kY`d-s8AKuq~Icawjyj>CEw6ZwG~vJ*bC@(1k5Oa z5@!fjJcb8|JR%Yju#PaYR6`O!42}jO@RGZR6bt^BPp~IVBZ?F+j^_7z-PV+U1i7?PGR;22Ci*S~o{JTzl}pTlXi$m`p<`aGNqXCn5T{ZY;QM zwO!($nV0;w3Wn1KJzpwSv2eF7tHDXSHqZSFjIOl;P1@lsM`qNac5~BJoYdEbe$4AL zOg~CWyWakhn%-OvwOF=tp7@@V9$3V2$Rys7Pp4dL~;P@)i?o7WKUp%O^8 zh$Ke`^zOX>Y6`P>1lec|tcT%GNOxPY)ruMr%1ApoJ6CH(#GMPL!Jt1$Us#~>nb!ck z$^R8B-yV{t!FMxwf2q0NT2{6X2yz=_M~(w3d6ypz|5BCm7QM`v-eh?2-4{6mOlXn8 zc}1LeBPk#fW1Cea2b&8ZS#)+nCI2(-3VAntIR1rf7~lqVkH}H=*8KYn{*H`(5>(Pf zz5Tc92k=k8e=UEV#jvRIul-s+71|0uSP>FIIjnz*p8tAA!{_i%W#T$B&M=9fnW3th zq}V^kiY&324W=mdHhGN_X!3GNxU%3#RO-g^NoPkGET2;KW%lOX7uOL8^%t{?LEVD7(daj^KYP2wR{uq91m5A844qtYHPy+m)` zlO6}(upZGIIckxMWAg-2!bDLV0$eq=N#wCU!~K~xW4Uy1k9m%FXO+IGWkSEqR%@w! z2C*sG_Q-~zjdRkDo!-}m_AUHg9D1M&E++TPxCZ@xZ$^s&9XFGM?iXFUXD9=yRIPMi zf<{B;I@Tq6b7?y54Dwa|1bt2^w{*|}vFWHV(u%dbz!oL+9K2uW91AoD_L{oMA^2!m zFhC0pLHk!e+#DoqcyDiSnf!!k$!E_7C@pchyp!2@i1ep5ax>Y+ORN9o7+8@&fFb0t z`{c4_4}D5pu3r0j^J$^6%I)SrT%5%@qrql9^kYxB8UMH$z#w;B?@#;S2K92fb)YVp!# z2Q_|o9LW~Ix|WE`^pLUA!ikd1&za3c3kw(LuvT*&rd`76@bMgf=rr?lQJG*p}VW)$9mc+thnsY*_X8_mkk1u_?T zrV|%l#B#4BUbg6#c-S6P^uQxW=&HMIE=ULxCA!fb%43J)M8{;LS}DpX@OIy|{k1t_NN%E)JKmpmWV2NQsX%R>Bb zQ6y6a*l?MPQKqTi^nojtL1VkSNI~XmM-)d_x#yYC(@s1d6SvFRHFaBG^P8KRI0%+0 zav<7Dhv6z6jeI^i%X3I;bh+6xDJ0ePX_ZozD}9y!EkU29+_m&-v-jqc1i0l$aoL;% zG6-oca-9II_w(BD=QnbgI6rxZ+>#zn)`xUL(L#~2$)EkcTG*`L947v&Wd3_`X$YW{ z6`#PDq@@oCi-6({`fL(^lmd*}hg19bLip;~lH#2mHfz64#E z-R)c(=akC8z#eg#6KU&_Ti1AALk+BWpuzRb=Wg;WL+h#ur%FxL(|^S$q~{;N4-c8o zrQy-osmIS6Cm65i#HD*M;16!X$`5H?x;#ov7)KnW{x61oycQ?lM~VU|B&j50&69UX zfoBJV5D8RlA$=ctFlrVpy|yX2n8ZGd4CVlQnj7ZnbyHbdkP00d6kSg31Y1Mb65Bs; zvJjobNi04;fOzf#vzmC=YT)#;Z=LYM%zt^hZ-Jg>{<1V@zO`7-Z}3>`*?u}?$y6b0 zvn)-{2TL{f(#)1P7%S4L_Rh%<7tk0kmHc0q>BG7w(onFAtKebrl=_T$em~7-*5u6t zK`lLYa$tL`pLXUt`Y0G~1gu%5n;?AF+bE8fW?ud1_#2r5f1MOM_9j8YZX*)B7LI}b zpA8c#4;%YcNq}BKF3*A#Nt6~Hv@DlY(N{WX>XO8w-TS-s#nM%8x3PNHg|QkOeq_Nq zS{}h&@Xn03ioZD^75T2VEu`;Y!GHGM;t+SR58B%B{WPp)ELRHUMC7w7b=q_H4pvA6x}- za0G{Ezs3wc8(uTU{)#bM!^6=2fnI8Fz3@2U@lXv$Ohe zY-M{4*2jJ{f&TGnv2)^crWbG{aw;l;BO{Vp4#N~<#Yvf&ALa2@j2NN*C0O;&4irJM!e*N-m?bHbg-ZfYFRy} zWsjpWtn}b@b2x;2YCG!%$evu}et$7WOeoRR!KiYo=OuTEK*G_`0WYHe1(A;nN_Ga% zMSpq$no1D)`T5eq0P*g?M`_FZ>prWnFlb#>M<-H@$kRzMdk&}*>7Yafyh+cZ;fA5) z+ObNmCz5~v$;05nK*%pXI+F?8Sa$w|HzN!fu80q>v4t7Ja4Br2txrr-4I3`y>-81k zmm^dQ?K*AC>()LLM38!r+*U z9_0dvO>b zSyd=aE=d_@o2R5OeMvaopL(P2@S(uJm;DGk&{}gG^L2S&4($BBtNpmpLTQ<#Wq;22Q434awbH8H6%mTbXn#=DuS zqk$07V6}*7VR{er>KYf;1DIq+0A7Sj{J#RkS|Lv@{ceZbtN#}|ftFhH5YSR%w_foF zSb_}yUGLMexbxVw98+q!ALlDxF9ZL95)|uqMc6-RA9bRlh3}rWKIsUO1&k<8pZ{)= z!N+7?^eQq7`G_|#tk(@YIGObUJxx`7%?fW#!F z@7pI?Ywm%C@&06SnsM(6UM{eKYsP`S={bvBH_T3@SieS<#jW~3Hv@=xE<~tdO(;)I zmq$f?yo{ztnsX19)@D-~C`~R&|<2R~dI#p^a5_GyqKdY{l zJ6;xiz7TaS&$)5jNT9&R#}{6>e9QZX1+>3~6_iKpD_vqP&47N{3If2#sB^|a0XF~- zFHJqllJ<a8qABYHQ#@~5>*4DSvY%<~53(@oM*Ka2HSFj| zpWvMMk3UKNqp|j3mh=%!G7e}*WgbFW{>6Q@v6@hy|K9eOO6unhdBbk`GnbfH=69)3 zBTM1Nj6+WwpLvV^2=k08$Z#E(tbhf?bRLtgCDvft#)1L~_<$50A2c`a zy=l%4w&ODpVz|BJQc`UteuGBgd)W#H+8l{wm+_=crZ+%ikf%Ju;~N%x!$_NCRk zZGza2gO;T3_pY{Vlz^`fgmk^@u;}wJE)F@3GrU@8^N9}ZzF%rM7k#tonI}psGt>)gjw<820 zTTyq#(2G1C?5`JRySK>Fkny*eiIm?I2~8HR_j;E%^wu@Mt6270P_{nkU40rHu0;Fghf;kb3J!F9sN$bRh&^aZJoxNs z_r3=eTKpR%)h-1bHOtv4V!gV?S+4M&oX^&6h(U3;=oI}T!KF$iVgxH7r9dPzbPyZD z&xibDedk}(jO3u(d>YbA=jS(-fovwZ(?5rMi@)IHI?EaDLv8lb&3G<<4SYXYDD|JY$1?5`6Xpql`Pwd)*d7i`JaV zYGGoRlTfwo@`p6;g~#7O#lFuu#Rz?RGZs^MmX5{5MEK#q@bK58`76=7c6Wtz)0q#O zspi0E>@;PcZ3f!<_kU;v1QEF%VB8F>cGMz4%S`$p^SN=`C>s`DjeoBp+p|_tl%&9u z)39I&F4}FzvXkzz(G6_#)AMEVUiG0h0aMQ{yShnSec|r1?|M$0c(P`uT}#>}*v4II zt`1#l`%c^AH5xCZt@x*Ltjy7_L3XWY_YNud7$ZSeBPBsuMCLKh|3;ttM_b zzGFFcTh~#0pjOOL7A?oWB;AW&)EE1izm}0i7~y|8s|sv@eLPUkU21=Qpb5JgH-CTS z%kzA_Tf~16oQnj@U0v5Jtb~rk2-oJ*V;KnQ!9n#Kq0MiZ{t7O-x%qcF2e+)ee)pFq zfkKcd8M#)}T(`VkD=$@}L~FaPxa%zJU2&5!y;F1V-+&!rfGncQcdB56DVWJ{8y~+nq*pR|F-E`cB@KjU4$jLK)$Y z$NI;*_G-4GqT-KV88;K$$eImS-Iv?F+-E<(Kp8{j4yx`@0$-l&DJT#bUWuv1BFuZl zO8BS_+hA_kbG76YwErZ~bUa*~^t1ny8E)Mn8}98)9c6#d8|HDvE9emRl&_ zHH3LwK}|=8fE&SlmYW@{A0kuH%Q0Ps;AQXLzI5s=xZc;|^@N0bi>g1fz2+mSmLPA? z?c;l|c~jjUEO$FpqwTPYVk0>7_#I^OI%V_=*tHb3uEv|sXLEZJuOXC8KN&lpW|#9i4Y{GXSrI!ypGlsdX|zr9%3Bn&Ph02j3- z)>En$X^~PWRtgU0;LL&}iV05hJ&FS#kT~Fnsc*-4SW{R+>Bk6{+~ z=Ala1k{T=YuV_rAr}KAhU~WzcYBh%DD<7i`3TR+(Ft=q4PAGVRk5_|3vCE8G38_*> zy^`2S7+*;SVbFZZM)tp(o=b4|=n@w`?>*P_sMd!v^z2$vs>gR`sHQv*L6{~fn#u2> z7(frBZL-Q|_HYU&yc=&irHv02_(Gguw8(;cub|scz3}SzhX%vtT>oMUGU;x_@T8W& z&F)v*dLys<+ea`XDX^&gUogYoG<)p_+eNb*MvJ@ZZqDXNDe5f(p(%t*PA#P!PgCmt zs(VcJ+=jcm!}kvKc%$y1)M!r)ul!>yr?ATnfAZg*9?D-I(3u;)tiD!Gyu8AaS9dXsip}9PSnLiWv=gi(Y4#Y0Xmz=V4 ziT{2Bx)a!Lg?6jmFh!!?T#@{TltfHo;$n$pX}(nA&Oxee!YT820AuuaQo5j4Z2$#u zB5dj%j3r+`^`)p&#=!y%;c@SQY7f=*KQ91t6jij}Hs4=$ z!zv#Dbj+YXEZQZojzh}MuKGFA*x2~-tacJ)xj^UU72KlHg`HDFIvy7yZ~*~2{R2ny zIb1u+H668AN7hIZLCE-Ji}G_jj^k<3blgKk369fe!T)S!&KhE1Z_lXhdgLp!_)9w<-J8JrFO^I`JvMXw_B^cl0(b$A_e{Ww|9p< z_(VQFH=?~M)r6l5Q3n!)BcPN<{;It&5bSHTJr~M6ZiS2wt*9=Poj%NQ>T@e>BYQZ9 zkU0D@m8EbPDRJ*ZElK(B)Px1FK?|pwoqQR;E;#oN4-J873UfHxcFv<5B`s^8 z03_kvDiaeE^V#$2<{M=xv54jk>!Q{yWp_|f9{T$mfYvpxq6t0)AZmGS);Y==DD&at zcZr=ZB7tF~_^(@j$VOpx#3k5Xfd1bwt*m`#ADg_YT<4hgz$)OrzhZ>rU(d9Ii>8ub zR-owaYfePvydZM@fqN%h!Ly`78W_y|vsjls8~d8L+^JI>Im>PpH&JG@xawu@$97Dy zo+ra)tfi}Uy+h!-HPwm2O8!Ov-{~vgS91`rMp?V7M-VD)!oi$@x;m?aRpd7vuk{Rt zu5;dE-j?4@VO{rTA4w9ah3(44(g79iOP>JBAHN)tmbyA68!<64GB!39LYIYeG=W?g zR(LqL6oR?nPfAUIj=-LC+EK^zMK3UvpaP~7Dp=lr}TYs5jZNBs`H27_`>x}mt9v;A?1g%+)7Q~LFf3p9I zSKfQXp#pW2G+T+~%J$SBVBlntS2nTgREDo^jCmW$l*^5xD;V-n{1|F|T_=_=V!lWH zKAD?qP;D86nzDd1{}@(_>b0un_j(xaE$exbE%E;`b(K+7^-ou%8>H(ZAYB)fE@`E^ z;{wv%4N9kogh;~`xpYW(cXv0^NO!ykeg12`eBcwTb>eqsX7Aav$5kNWex3^WUX1%L zrt1?fGr&;7*T{^we{0z=oPC0*Txz7OFso(`ldhghY{{c3?bU3^uh~+Q(DJ54;%DRJ zYvShmY2}Agc>(Qk@JLq$?0fC+vWrKk^;cy=YhM!lyb~^+Nyq?l@m`ZbME*8jUNk@X zTpori?ir#CiW_ybLbPZc-ey(%u2|QF@%GmNB@!+Q&TYvWs{oZn);oJ=th%`TLLrob z{;%_!tL-aO4AwGe7b-<}X=vUmu1ERmNhB10a}LTCKLmW#p*Iy^3zPW0+hY%s2M_TREb*?Z>#&IDLwqWlRE>_SGfC7q5UEpQ1Y!&qJOcc#t{mIJh6zQPIs z{As^pDv_%kfPoaXSP-FHqz)B)b+j3B`7Sehx_S8W=Cz9zaKv1%mGa>Cz;!Z34w@OY zMVB^uZU;Z0#vP0r=S460e!4jEwe0(t z=2_Oaarhg<9o15a?`E_3?YZFpPy~%jJy2eK0LY9a0r$iAw~~=nNhqv3IVs|)BClRa zXmCVW&dT$79A!Sj`#I~D1Rou#`oAs8%M-P*V2Fr_7*Q27*yS}gu1Aqq!-SVg&^g3Y zueFIgOqRHspCBR`dT57K`=bT6BDxO6JZz0~M^a>HYM0HfwOBVoM`cSSNY`84p& z)oGY%u_3R^X@;h&+ndK!71Gi>L}r0J`}us^aAK5V$Iv_6K^Yp2_48LV?_rvl8x!{v)$ zDk`|+GR80gY3}x zJi!dNpSvA+C^Yi?5|)amg!;SB`r?~I^Q%di;#7q0Ox(EgZDkzz%-`ZyfMP$@g z%!Rnv_TZCJzS{bQJ;yI9+Me?$91 zVE!hKILa&a4neeqN2IG&$e56Z~k-g1UeO}OypS|<#U2VP5GUe zprB&SMUtqiOUnt8f9O8l&pZo+?Yn2Dbwp!IK`E!KS+k z%kiT&boL(X6p_0lct8(8U-FujRURqo^!H$UTQK^jX9}6l3)c?PC?>@f(^nEDzi%QJ zTk?>M)TOYF?FHP63tXjhMI%6N3nZ9IG9i}q;Z<@%kx)qiQ$HX6=^Y}~4{1^|Ye7l80? zHoJcb=m5?DEy1V3Jq*B+F(h&;)fvmc=U7sEQLEW3B#A+OVs>{rrob>zxg#2h2EOZ% ze_PT4gA~15_xeJ{uwwAhc8X8AFFB$UiwJ8vjT|&*l?FaT_c=D|w|KN1i`bif$_?X`1_x^vnCwu2#r$><4#4rG&X|D-1!!4l~mf(WJT< zfwZ&>JVc4P7wZbxw_W9@8P(Vd}PKPXZP`KRySTf(j60ghwf zz`($3EH#Tf)BeO>G${^8oeEhz*Y6)kHCwke;H{t`tYeEGdp~@Q+f)28Wu>%#$Xd;1 zg`G;0vT?x|`)Rt&mEfHD5iTK^@WTOPVD~}iY9N79O69}HvOJC5D!0=Km+dz)IG0^F za=dzdCgr~<9u!cCU8%fYDefbi3}HWH5J*Q`pFKd{Fc}?G^e7c3^AclU%D0)K=Gxg_ z@C%h5vL?*$Dy20$RkW?OtdzGqogTY4lg!SQ6?|Rz&4A^+ttmiFK=-u?K)_osvB-bm6(Qq zdZo>og>*iiV3<;LGyzz zleab?R|BA5V2tn$3N3A4#pDg+7@(4A+n@ba=A5h2c+xHMP&R7%c(*0ekL?QpB6)+$ zC((MLVKd0p)%5|as>T-KO5Ax*CgLaf1SBiweQB)1Z_p~O(;mAT50_1{P6<4?`qcDx zZ;XxOTVK-W%aaiB#?~%1dn&}MbZTunnJ7k=H)SrtI#(FqJI&iUW@WY}`)5a#(JTlz zmiXT$aCHm(a4P4UjBIPUHc?8bMK^MtJ#q280@rZSJr18%3pn~{qAsw)8U)q7&%Pdf zy4a4K{f}FsD4Z{9We^r*)33u{_J3@|SO?}6Mn9+<85?J(4zRS<0)T~_kx?c=R#&Um zDMxUkx`qS;Nljh-+CCHp_PN=~bp$|k#kN-`zNI591D`cu>}C%?F0c9SM0VSy59e8S zG3SOPvT02SI=_cH09bqxp={)Y&h|;HfNyk+@vCwzJyk3(&+1Hax=OU~8Uj+G%#*V; zWPe=%U(rRu`77!7#>4lkR_!6e@*oTbo z#AmIChXw>Z_qjXnzM3rYqh&@SV$pi3m{H`o-em-g4cDxOkZt_fx^YlOh+Z?t7QT9U zakv=ieOQ~@IekB&s%Uh$P|JxypdMvBRsak00q955&5b;!&td#Ul5=~QKp{!d;S^N} z*#~tHQ5hNaxoqPl1Yv1#r@F$Hnq=&TBCy(XO>Wj#&Twmfw32>O4mUd^Elgz_tj?U{ znbijVU9npYZ;6jasq<>!GE|^4f`gNlP}Q&M8ISL=K#e?8MFDmRT344X0?wPMK!Nir}L|5=M z`fHvRjHA@7Sh>`58MDvj7a1XHo{KZtDOjxJJ(4V90J+V)CW~IywHGdP2LI)Aj+4M% znkLwI%|~LlB54dVBP&j0b|H2sYT9?^2m|W~3h(MU5Nc&ATBe9<=DyCc$Dlh8?~3W} zFJrDoW5&W?Z^%O3w%Ozh9j*SIxloKj@hsE;)mZXDJ26Www}6Yuhj=xBs~H2Cm3!bb zs>tTKb`??D1nA({;~uE|3c9XoUd*2h|Hp6ke*{)yHI*mZw|s=-oT%T;FBmB?Y*tM- zWJzYnf=9+WQ`994)NH!H(0w9OuFl349cN9ytpdhKWFUZP!D^tF5Mqa@dF#)p9Wie& zynX)zPgU)s6cpn=^AH!zo$6&+!fD3)1!|MBchO?%E@sVpeuA+>V}eU+`_{G=fO{Gk zSd%Rsph)q_sL9k-=7k^1Mb3^2BVv zp9Ft*d&^shl=B^OXxS#InMd$hE~ia71B9htSf054bKSJ3NNK7gm4^k_NQwi_AO%v~*8{p2tV+*cse0^NSYZym{!#NK_lZwG3UG_mM zk?~XjK-(=&!t%Lo6(-*~E<-gl-e+&xcxvbK!?+<;k@q?{qDx^UjdujD+E_9EYmU<2 zXXr`CkvsZq%Lv!qZ{yz&QFN|ftQ6c5nJk;97!_2tSyfVJL((3%BuDY?=P#Z^{cjlX*}^Jh0Is;b8TwN)Tr633tg zFI6&+SjldF0+WFKu;eVwE`G0;67fmJSUVgqAsLx!PW^e~P;~a6=C_ZY>l;L`6)D&| zus69-Mq$UjNe>UF*xwU_ghV!sM>Zs0eNcPe>FV%dvc<$%)OJ6qI{9`Bt7DEP$LW@` zAM1&L-F`!HDx|Y?VKQ^GOmG7JedEk=@v!r*c!Abm!&*i(jZxdqd-1L0&lfGE;;vVm zawLiIW)mh#?_PS?yel--u9p7}DjLf(BF#d`OK`>VsnK%uVS3cTfdu6kD5HOXKPzm-<+J$Rt;rUC)DzZ>p)b6fp~;D z2;$feLoE!SA;l0~K>J+QKZEI5(VUT(t?|s_wT>>j3bAghV^|h)f?3PnoqZKOfuY@2n($zSGn zSpQY3_ziWYEmt!pF{>Gmcjmu_*_jACO~YWA^zR}+j!uFhY8SwnF-M3>h!ww|@5QYx z7gJ0E<;bPGc{R@HSz5Y~B(Se=Vxh@>ucF|u<+PdaMXYNcvT1pg20cp+GmRY$Y&sZA>g{v`SJ~F%pQ$4>{kffkb}lv= zlm8DmpStvaRF*S-+I6wCe<}jdzaD3!((~usxQHe#7N_cp@0&ixiW}5@D=h_YpWnn? z2)L}mf;eM&xoXLgMKqCMsdxm$bLCm(RlR!?muP|ffHnab#5a*H_MB&D!>>*sm$sXp z(Yv}G6F+#c*Vs&eI>e~3e)k)~(c0$N0b>1yG9CCwym_|!!V3*#5B#vl%d zIoJ9Yl__{<28^y-pMO9!xul+RQq=Aw=1~Dfx)L)_`7;N$q2iiZsOMr6_n)xNtRlH- z3pr>CtT5$^OW$nnKZIebhvfQ{av|3{GYb?7d9~army&B?rRnA!vU~=y%Lr^%>A>rq z?Pb-hnA618y(E}*%L(=}b0Nmq{ki%W7NB6V$o&aE%jvM8p z(l8yva?Bh zN`sv_5WfqpYKs)HL%B6910Ni$u?m~uWTzEm_DbK+{!7)lW30jnVdr?Aq2)J$N@{8o z7KWCeGD zE}jTgPs01je#H3${ZjEbx4tk%v@cElx zPfKxXm3@M6oe$4Klg1WRWEb>gL??+n=fuTwgV3SA}lh}+GQ3eS_jKLd(#j5j2d(-@iu{*7!P07Y&=0RrI7MieEZw0mXGT0Y!6H-r$fSt zMy)YWUMG+fQRW^+f~^mpp&Sr88fDX>h}Nx}r-l^rc#QI{tV}EG2Lf6_I?wfvMX=`i4V6eA#cEzdugRZM#b4>xbb~#S6NBQyZJ1~g7r}(3C zVw(UlN|g-gd*vrrVhRxZg1lTfh^zja|I2WTxT<~i{2Ttc^EfXPE0G+;I}1lv(6x2B(TDt$B&X{1qjiB#zPsyc$)b;Rn39{ud zET~>44~-i$CU_2}#@AG4kY|8zm!7<2b{Y8hJKeT+MHSC@&Ylee1HtF9lCmA$?%|5o;B5old_tOgBQSoT!eLjX}wSg@te z3`YZ;qI3!Hf*Ju-OT1Lj2evS!%~^JD_@~cuEO4MpH6-%9YXCjSL)t2>)U@KBG;A>T zg=L$wX3VF)>8bnN;Y%ZTyZL3p;Uz_dWDx6=LB$61qk~oyu6CJ@THS&Z?@*IY&g8X( zT_oO=kW6PT-Pkkn<#)CBC)gwprwf7!hNb_A=IK#Zcq!^#Qfu&G=~+9TE9Dw{)um%g zF-8_7(&dtXvP7*f4JPOm;EgL>gpk)=IN6!#*+V5jdW$qL)SNB(q*(gyoAQrBt| zA3VT~AG9hi&xPFe{e*9ta;Viq>DOkg?%X(_UcQOU_8Q$&e%?i;8h7Ly%t@e=U1E6iPT=1q#$XedG~HMM_&0a3c-XFb{b{fb z=z%VoO~1!4B#7d!Mva~1mry5#ToP{x13dUQ7{n&Ov$4W&B$6GnQ2#+SGeSMc8dM_q z#&loOcY{p6&Hz(iw20hbOxusIUc?MrLu{hWip5Q)@Si-QW+4pu&Pe%M*TY%e9e!6blz*G5c_zdpZv-c9BY6%Pp30+hiBSB2tWRX2&0Ga4Kw!ulD9FVc zlz%`4`CS>2C}9E1lw*W0l59+Fn;&mQ?f|am@aR@-VjWOUtk6ne<}^gWnOqVQ5xJiz zB%tNQLN|W$b$r?gl9{Emb@nc8C?w^w!{%0dLqQ%9(GxcMY07#}*!10db5t&iDvOLPTREjS22bLX{#kTji(EK;N3T@b;JLXAvkdiVal=yH><>3KA)4R>DTx>xb&39VlqE^d$KVyAno zp^}UE>4ii}LCb#qAyuxNx&BauEes?uB+TX|G?+u?0kIL{77-SH7qS55pXCcx*M0uYm- zcnOkG@$Irfa66KviPPB*=WtP2=&`qMQxmOD5ln9@Md8OY8MK59_6I5oqN+%u`>#UBK>3k>j)*h#Uwi{E;?WR(c%m8@+ztYNEP34^=1SLINn`X|iSjICaZ?ows7e znVpUVkX?{YQEM)30?dDEATpe{-GPW;U>&cF1B$VHpn8$h9kkNLxMO?I{9n>4M(a|= z6t`PLUc{?wwFDKjBqd*OOS8g*V&4sb;efW3s`JRNKK#zSLdY?&21T{3*X ze5w_NRO_2pNcUp#e<~zG&#LTyjSw(Ut$&cXp3C8(WbamgoDIvi(v90H8DNxb9a?u1 z@STIy?3LphIBTV|VN){AL-)ej8(jD)-jG&etRUa|X`ULlr+^Ms@`LJrQjLDp4()E5 z`}26+PK5DkY1-^REz{)DI2vwcQ$U$$3rwB4CMxA2KtzbY!Ljt03cX7Ckc9%>(Se+w0v^XCGV)Z zQWA9CRcinmSr}yDb9@l;-23PED$8Oe6WF+TCW*JiL1!4s$}(SO!ej`N=xmFgoy1!; z<;7;5)c8?!sd8XNNM$(aXGS=hP%%aBji|qpB0fG|R0Ugqd4VyP3R<{7bh}%wMqYLD zUOC3p#cdAVDDyQMNu(;={j#8rD~y2U`zk-Cz=%~DdL+&I*`D2gs(Id_Cel&tIq1rR z$m)R2^QOxA2J%j2d{5`!gLfrZWP&UJ4N4?T(pSh0HcJg83c0FmQOiewm&KD4@&Yid zNG#|92DDYPvpgxVZloyqMdZ?!Yeqs|VKI*+0}Xag$UdL#7*gPBh3y#cU7BFBh1y)+ z`nir;su|iZnOv#uQZ0-(NcqIoK1GG*GwMMkt{w+JQEN=RC?A`?X_~LxJU)bt@gv(k z>>4dJKWekwb<4x%Z~UM;qaYroguDfwXoX-v8MkpeHpPUl2cmr|7<)xA!A*R4QoI8sG?Q8(_m#_ucg=hs_MwKSy3t67h-u z1=MAIU`_!6T>~>f7qmTH0w}2wpCFi3rkXZiW}rs<#df*`LMJLJ>WOPb)>x175v)SV zTffxynwV0!M7s5uy3pX32m|AF8V7_s`m^|-14&-1)0SOCEP&^!LEH&bP+@}9KabW4 zUS=nc$m(77*p3q_|LQni=A?JDpd;wp$uK}l9&@x|F(G&>A9%6d3+vTrT~|8ve?)a0 zNvYs9E;Aavpa~nZa`5+}K741pz-=p_2j~91yrTPIiOR!GK4f9adcxykcN82(Px!Bj zAey#)-lc0-iwIN;?-UfefG%V>pY!k3lZGef_flXT!-CK0V9)SycTx4ylQ_$)0STGM$a$$&T+|5N?)Y=}t?Vf+-oL;o6UjggbRAaCo(Fd5T6XUQ4J zjB6}RkQ4>Jd-xA?%(n!_KpiGMyC7~3#5ycoTTWZAIaSg_W!f5N} zvrg)GS8_seCs+B?4u9Ntj;`O&2i`IsH0myEO&0E{S*oFskj1=dL^I?1k_ZY3k9>a6 zqd%D00rq)_wAA8#+132#Kwewx?xvYkKBkyityQ}~jlJufhniEA#OKsEk2757ZlfWo z>r>V*z>tL|p(hj>JHH6#%5bpx?eqKAqVc-JKS6(i8%!4|3Rnmq+x;{W9D+qLx8EOr zVd+RRs-o{tAu-_wXCiveSGpw^nB%}Nn5`TiXXpJPd2&%0Q4t9r2OfNezTk?h{*lbW|Bfnjsp0AZf+4W}AOX@_gXqQ*c^F)lvdWlXqU zm^2~le$&m#g-R^S%|p=O&gR}vZlQ)!^AEq<+};FjQq~>;TAB``w-kXMK_6+5egcYu zv!7r<1$?*T^uv8kRx<_7WS>Lw`JvI(Rt#=w0^=~ED$9ufhlm9OZ4J!j1~Ob*|I{A$GssaQ;2mv4+)GuT<65gG)876x;5m{wYC8f)qKhEv91hxtUNQ%CIFMf$j)XCF0bOdT+ej!q1Tu8%dZPRF!?wixyu^NyLJY-9kWSw-h77f-OFk6gZbR) zsFY`+N&$GI?RccoHAe72V<%HFC1}6h?p6JSLtevG#Xy9j!BQAFj*wuh1Kx_DEvqe` zwbrAyl(623DOTTLtJ&@tqt4ySaKZTjQYHCM8&EyT%0z5!WwlY7IK}y04hD>nj?YWr z5A4EAMVCB|Ly;Pozz~dVZp+9#qFoFb0^{s!h6+-iub02C{F};7&Pr-`aVX^4<69Zk zO}TAu_KC?gh`4>z;X((4i?b~ZvC!Pjdk>mkhqiwZz%bEo@@MTM*~zN$B2?lX`$RCR za4m?#ByUyYv&W!QZhdr_6MDQ^d?&TK=3sH;^!Q<++5x3q@^5C?odUQk2A#gTHdh?w zz>lMQ=bGTUNdpqj{K>^N+F%_9L4ayw_f%uTmsE^Tv8u*gH~0AB@e-S<`YXRZuXqbX zkb**DH!dl`O$W)Qn|=cPe3R<)#$w3y?cUuywD>#HUSjoKF1qn>Y`0k&+SaA|`n9#! z`Xm`(t$v&b&PB@SnWX*1MF$mgNwNd47^1W`;|6G>BfHJ`QvJifyM&gl2W~X<^ttMy zSv4$AF%5Q7mwCLsX<5?8>@5T!n|-FPsHiBZ+X&;InToC7oV?d6boK>sVjeW;KL?SP zLhBTY+bx6#S15fm94zp}01CPNZ76yz5@xC!j~m-?*NA0rSlH{V*PaU?fA0$6iLlnK zn1J2jy$#D;I)of$C|Q~aA0uu%6v_ciG5t$+;=%0#$!guxD;OGS61Mzhyn!i37R0ey@E zViX`nfpB%Seqa}k_a!@=e*hICR`Pz;$H<+Iv{iTIy?nC=j+ovYVSEp}V*x~OXf!vW zCbvya9(o3ak5?#cHQulI$B!p(l~k3eszVI~;d&n6`0Jf+VAnnycAQjJUyy$imyie1 zAgxUZu+!;*1hdDgTW=M6=|3$S&D1vXpFR95*=Oks85B-FnpRW_#|V33l$~?UpO!_GQ#rn zttv{uW}G)0{#mIrmyC2+dI-@nSfO?rEii5iTuyFKqCDc;G%`FodZTOi*%R}EM|YIz zJIfa?P0z}q@-@C#E_6ap)gZ~6t5++?n~mE^?xakz38m^pyOQq$s(VFw>GQR77TBrI z77Pjt|MuUrK~P2gTqbW!Ev<)g{|N`&Fqj&VW|aK5WY`OyWzkp=B?{WFmHJqHMP(&clZ-GiPwGt-jKPl_ymLPk)ta%OIQsQS;rOP@>qZ|QJ!-V4$+&62 zM;*T^ab6db1W7iN2cO!J%v~1&UZ6%Si|F4pW6l$G@9RxMy(OCF7$AB&gcej8_*rsc zZVB^B)xWgttf|kyG4k6ZDgX5&m%QX!7?|{)1{|Y6LONJ9IOBrmL#g4wl1rBhd7542 z-FXvzHe@R`vzkUL4KPw{QW7yAM{Smsv!Pa0xRY+hd&Ngdh<4=pu-{_g9@km)$Kr3C zFT4B-(R{xSZVSof;qO}%Jk%ldQ{Lljb|)x}G+kqQHdJ27Xz9u1m|8?2cUiEDiHmQF z!T_@AXM>a-HVQ|kVVJVrbm0)LY12dRD3fiB=N|3f(DxO{+Nr?K;TJFY00h4)PmTm2|GQ&_+C>Q=KFB~JR;MoFpOwvQ+L@1tPL#~V z-oncANvWwmYYO-s=>;}*6x$gt_>O@IGTlPVmoNXkwfj|EZA4%)m>kEx?uIz!XTy#a ziJ9`yh`;x6P5U5lsa$iwZE?{MH$6lc8V4cBusTQD*&KKERQsIr<+o+m9XiY4MS#NK)`!t?~;C*1aoSR})Qq^~$ zteF8nIhr#v*H>0_f#%`kJZc=`k%_K6v<$YnFMcxu5)uI-q-IHvhLlx5_mLXRCG9nC z%HQt@r4C5fY70W0sdHua1BL|F0P%lL!_#mCJ$x)cQ5FT-b17qE z6O;WGWHP0M?^?lm@q$`6hpe0wPYIV>%dWu5Um{~vnE{l9P$CuWN~`|hwmz<$r;buo zVtn>|a@o9hFj|(g^tykYVYnJH=p8!ey4^p;qj6K+y(EY?Bwx~ZppDB;Ri?;@p$w8Z zQwRMS9UTReCcK?kKR4F4tSmRoZLLB1h4F5$ig_|J*+EE*9yy=lUp46U73lt$nVR;l z7z3Om{XGj050UrfVFKI+U`XT5w^@-sa|w8O_FzK+`;LPZUHOS$@KVc#M2O79feKbu zyYFvL*5kP?jbw&2m2N>qp5m&dzyD33mih+fvbe_j?H_dL1ip$iK-&bcYN>CuGW~p|L<=U30lgCaz0b);FQ)}i z7VdwUm%)#RgW3l?U9+^0&)xfyUgP8n-5j4@yz*1qC=9ONgEhGKGdI0-@um!uKDp2_ z7_Of|@}tXnIZKcf3CEu*qmTAUXLHzC&?ApbirOL@pJRc?i;eoN_C{9@wWc62&#GYU z)Q9`G*3nXdK|w8VwsSD&p(gF7V5>#_{8XMflv59d&;KS;(+hxXVO%O}Yik=PGT-3& zOAy5G!XQVt*={3lJlNIK^G=H;(XBa6q7@(P)sX*|VZ*eA*rtPshrYOTdn{S`g^+@s zb$&TmKUYreV*5?l%_1#W@|uuMF!0Oh@kkf*RwV^Xs8BtrrML-rr>&{)ycSrfvMB^( zQ=O8rK_}3rotfg4wfrH?x1=By0Otbe}JJh`mh`mvicNXc}azQ~;)7 z!dG7=zkHNK_({$CFAVMG)pgQ?jzx!dT&QWpE%mM6RR~97*WuAC2ySjl*376~y^}D< z1$&V;_>@ZWGlYLsZg}91C*m1z7UH@kdvrT!D?r_iE^O$^UY$poaRqNPUo zgpdHu98myX*4nyFL7vCUG&NRg#Ph|!95HoIKlYL|{jfouL#qS3x#1PW;yIIICA@dS zr^bs1<{kD)$rs&zqfX|Ul$2#J53D*xcdkwkcb;@2uLO@h2nt&9y@6jF)~eMmaZ`oU z%aPfua(wqD>YiqJx9acpwH*2S=zUf=gQnbK*aicu{l@{l5WgaJN8L9y$L<$H5iN@}mp zm3;TZ&V-CRRK!FrUWz_jGUFQ%Zu|2+7PPhdjgE_LuR|T=e9aHc^b<@HdLvtfc0~W) zf;#~2r9{96!%kpfG=6^Q?uwGKQ zFCG9L!dp>MIAC0Ilj`+rRSnMczKz~EWndF~em+x27gHcy7!3GJ)>LrIr*~>%CFA|R z7{r09#>UiVUYi_B?DR&(f*^HgVqG-Dw*2rw$K}cKdl6v4M5u$#uwbSnp55CSn`P2E zHg={&@?&fhT!N@wyq~Y_A9i^Yo63n2nY@45)pxIVP6M9G$(Pu-CGMq`h(j?xXrAx4 zS_`JQ`5(jMeu*$Jbk`$p*0^1Ad;qbWFPiy6skr`jO(cZ$t5J!`UKklUKNn9^K>js5 zfI22|fCJ7K`qWCw6wQef2$Tme{4ep4Efb_Zhp1DcV+y|GYe0apN|hYnbKE)QP?s{* z<6A#Gc>XFD*-yo{@U>=}i&1Ya&&%vR4L>KY_Wc$dMM3MacS%-y7k$qlsDT(WKRx9i zAkWU;nVc&U*t%gIr~#*HEZnt!MD!uj+4r4}q8b~w&!0Spy3(d{poA;;812tTh>s<@ z44j+cO?veYSNC3_hK1=6fUO!niBecapQyBbBW{2U@43azCt3`)+A8{QY3N2jQl{VGSIMBa zjlCGTtt$X~S|EAZ`fD0!itfMRbzRM+I4rNIkil1%`E{CLCAVHmoD@=Koc=f42FO;U z5TBl&&Tn{qjf(?*hXrW+wp;~X3Kkw2U?=ni&secb+>-)_pH}CG3iTO_aool-m!4(0uR7KqZ#I^!C;kEPt(!{so@!Z@7$8{^5MmfoVZscinU5$lza%7KLu)6D z?h06r3f{WT=o>eFD{t1<8U5gk%aT3=x_5n_;P0&vi_R2?q)c>fy=njDU-@vmO9;0f zu1-@##rDSuQHMW#d;hsqBr_taWUSMCx*l~52^fioW1m()U|!@yXCAtw--6r^0@hAS zujPQ4=|7E)|0ohdAOhp- zye6n%WmlAlhL`eyCotz<&csBDYLzckPWt*aU|~V;v8nJ!@H;*?&8KBLOZgBg{5pjCr{UUn-JB9o&>E3@A5&NIWbH_9FxTu?mXPK%GCX!{ z`X*!+gR3C_%>I25y-#0YN**Ftp;`gT{E1FGB=n~2%tZn1?rFaw^}x|ll07v+g!fH< zpM02CgdH9@0!@NLVx?}c_-X1myysnxQ$!d);AF8gal+?SmC!YDf4(!0?CI(G@U~9$R9o`K7$IMrteQ_+Qj$ur z;n*uGgOcIQK0`BCYQh!%>gpfL&zuAbiKk7NKu#_ue|hvYMGnYA>7T^*fT9FMr04J{ zl~7)Sf()EbiWKEVP(bt^4HY%^paT){)BEA?y+msZ;)>!2uI~~M9eySdV z`CP7-Sl?MGeaXO9w6Y(w$beZlNB0HWRHWVv(an;KdRF~F$QaK>n~8JUh2w3nqM?-j z_j0?n88UNffU#IPa#z~4jk{%PL&_5L(Sr7eU#0-&jgOXqiAt5vH@M1@^_#mRCF0xC z?Ej*SE)Zq*ybq=bl(l~hOxoU$@_TZ;%{xyNm>FQi59%lCPU%RNdA_@D3}Lqgm;O&(6k-`7hm zP2m*~?X|0L=t-%`VzE1~-l|u6jGDC#u6vyV-`dlUXo)Uj)VYLg1}RQ~HyOhhVh+cpnGUbmc=$c@jc30m`WQ3#4yNAT95r!`XdEvF-s4#pmM- z>c^cwSckkjni`r0fz|AuX!d$X2>DL^Ls!h|q1!m#^A3+2X18Tb@lAEec9Ew)PU&J4 zx+$0+qdH<69Xt0#La8QD_HPmL*X~cYa&VzaxWW~qrX3U8H<=T$nvq{M-P%G4lC@IL^ZMu^|0SqqKbm;f##@j<#$`<^n=f76 z6;8*p5ZW9uRPcbQGJD%lK&fWG)TY+1rw`LZT2ptbPls=2U!XA3MbME!yRc@x4 zYjL68+0B%@3$OrlKe|10>hwPN-^VA75EY6=@fGi9XXp%I>$CzyIZ=ImisFV7nJ3bt zTt7K%E)nHVut6+yrtBhu@4lM{7iIuiHd4QK*tEGw0vddUnS=ndqvWcJ#DPD0Le8gi zLdp3PS4yFIP!^@mifZ+?PK6&eqs&w5VLIWbq3eRtThI_u6Fn*3Pp^x zBLWi=5UkFcXLMd2uXDI;E8U%!_)BVNBw`R7dLMA{J^TGMYXKPVld2B^y(0~B`7m3Q*oO?P+b6WT02LP_Bzekb;7 zey$jYR`pI@n=xXhnmU!gz7l2+#qT#`rKtzUL!~T4SON}|g3DEl#5%H@W?u6k60q@9 zX-pd_Mkn}x_*;@uXV}HIgy(lC3ST4qX*k6Klvb$K^Q*GzDpCCgUdk%MLocjVcfQK@RLJfl)N-1t%!m1n0lf<6lK9k8L9DQG z`6DOQXjaYf>GB#>*PtUdM_|>}yY%9Z;Y!OlUB^j*OKLmFNpFm7H8OJZQV2jFPQunW zSQ~k|6q7#Axq6;JB8Elf&IL})-Q@An1~jR&mEarIqf1pVa$< zu3otq{(SUemknE^O#OG}1Q4Tuf$>tEB2G0qz~ZHH+JITS6Rf)fR;|MXpUN3 zZ3Djsc+9f1tE+GNcx}ztbIvSE+Uz8F``aaI1xVn``XOL<=?|5l;DSF%<7}Aq(j!6D zgF9l=<2bT|&OU62UE0IR1-fT&xv$xy=l%?kzHd4tc`-$kI{Wz}N=1=|&$(VVap9+- z6x`J}yDb|x5?FdCW1&r&QM3)q26~E7tLbpDu<m3o0f2XLqw-Cyxl# zT9&Vv8%!4>0~}qh02$a~_8!hRB6vvH_CCNAPetAs> z`LV3TS6H1awYdtL=KU;vUQLt#M~~RSL0{$*b?QU{3t;RjO88o{c@2S-@ML8TES)O@ zJX1WqB_uyzwWOw|Mga>E*SAC-`RL@5M)LQ7F*Njaz=4Dhw>~rTtwJkd)-E7+ba=eK z6pc^vQ3c%Q}jb5k~UG4JtAsghNq z$PS0P=ZujaXpoeO9GE+Jrzv?p%N<4kwuG*#^QudpYfLw|}4zZ=Hi!x_uJFT-K98zvJ6@vGS@1gMyAFo<`eI*90ul{8IFY1bO; zYD>h3KH08{bCh|pw`n}$B05IK#`~O*Mh57N^LA)hPd=rQu)~yR;z>IbkEM--R~xxX zo(a>_fjc~zyc`C_FLe}sP`Ru&R_NFbemks&I??u!+i)Ad+qQgQ{TmgsUrqp39?y~o zynZLZ7{xG`G^l7WM?{E0M;YM1HF{sJ0S39P-wgf2pH}s%{*;T2D@ri|M3{dED@&vi z!i;6AEa>rbJ0U^!hjstQ+gFBF)qVSlba$74bgOiCNK1DqO1E@(H%JPoAl)F{DJat2 zO2bAv@7&`1{?EDhdCrIP;jT|So4xj$YtAu8{N@uJAH3Peq-Bp0-{=p0tq-tHsHO5Y79q^5OD&=6Q? z?c|NK?&D~Ak(+mtk8WocM0*_Es~$U|IpY4zcCI@=aOKpp3szqdb| z=DTmKa}g=r9=u(2FUT}z?UcHBu3pUPxGu}0Qw0YlhPqk=*)Fe)eu0!?270qd%YNW% zX@m6fDdyQyk-KXr_r{VEGyweCY$?)NK0O)2;oTV{@P(%VT95()KLFq~&aYOXBWG@x zOjIiGgm~99%uBSqeaaROIS$vQ0~0fs#j_QCK}*e>j&V?`hSA zBCVPwJx&IC?rq`|hUOZE3TEY__ndhjfQ-d*Qi->B_?}w62nA1780VNgg%KvN72S7> zYNk0ir|dWL(@Tm3HQ>vTCfLIw+uN~d=w#AH=ggNW-~AcMCL9{kT-@-ht{8HGb=MqW z?{sgz(R6w;ArHLT+FJS>L4c0ag34+VlYHsg6;?V+gZ9nWSR4oXt5*xgQ@f5f*nQef~jThDuCK>^?i^ z@m5z*Q<*G?N9Ng`OV*!}Fr;x9Tf+jwDn>es!We!Kk5er@X|J0%d$MDqSNCE zMIxbbUND_8z274kfOs-Fh24lv#6Cj8*|~;nlls&1K441Td^;)qF&v+s&NO9+hKbn+ zG#;pKF;(P990&@>rO&IW!GktY0SVhZlZ*O!+~`CGBcdC`yz8J<1s4-eqIh!3nsqHk zuw}lrSs9u}t1KrkGpE;(o&E8Ug^Ho3>rdty%?C#FuwG|+cV$sYL-vnP(i2CRTE~HN zg%;>=KRWJq$0$u4N+nzz9P^jCNDrhAsb_a3u^8yY>XQn6t^uQ$JxJA|5fC7SR=nqg zZ<9mp!g3K$0$-*-4@xNj^_MhLUL{7bRrKl!YFF&Aj}UP9vMBEAaSh$pg+~{cUQj&m zD5J@F?$o6?ZLB(JI$!dGMw2{%67hz@EJir=yeR8?V<}PP9V6Z^)}9g7Giujm$uEmG zG`5IQ#7or9T`#_CKfh@@`?wHP(hWcOcnd+Yw)EVzpsMPqrhc!*5%q^Ni2^d0Xcw3C zXZ-V4kj;FqPrd3CURb;tejsO9Ua$CysUn~<`IB-^49FTLE)08M-xY%H=-my?Y6D4M zi^L)g+2?&;=PRL{AlZ@_$>(aX-qEzC!H3gCSN)0b$@q&j9=pXEOrb}Xfs8*$cvY}h zL|-E$pgQs&2OIh%o%N)6hs)8=|_CyJQ@;Y}0;)7qGP?MXsKQ3aVT_*)RO{ zo@S^D{k8Jl>Wi1%ek18b()Rmbewl)ZLb)5@umlo)JOE0&3x3?{i;Z7!;R?lSjBua1_K}M!qHIJFt;?hRz zHwS^J7e7s=D@+_$`CNRnPW1U5*O9=+o_uZOJVAlRcgrtc>OR~UGvA=YJAdWD>tdpK ztFI8HBqztWcG8@p7a$YEaQ8ECE8ML@*|hrBJ1^w_S&tQ)B=pLF%IHu6=xLwh)iBSJ z_31{o@2$JLR~I@@CLSA#X~htfp5^pcj_=~D`qaW&D~?X`wA~#I#=W8v;}6xe2xVdK z8&}Le3!1`lM|qJT{;-pBKUaZE{|!qv%VAFcwXYXj+0^K+DFcmghhB?^ULS9%spVaP zxQ=kI0TJ<(v9;O2z`&7qiHw%Me$@H-`BTH6%N>D74azyf1%k>q-@215 z^F}a;G;CiEH;2H`6v)2N!_ue#wFJ{&oCU(s4p!Dkn8eCSbEc zD*Ae}?ye+NGQ$f}?z?+>xOTX$OKO&7vkYv%MWf5G=V$xs-|xOLuVIAz^+S+3_zLMl593J!jS*^yQFf>`{1$~jA-1oeqg6!;6DbDIg1iO(E z8QD5G702#Btx9hHn79Rf=({fzI1_ zFox)lA2k{rzBzbls0Cx94845B>v8-#ij)WARrQyiDGLrF^9lyGr3CxR>HTgV+QGQ8 zMQNc|(!ZaR-@ootka_(Oq+WIbPwjA2hBEiVhwiqe6?Elzh*4I}8Z;`+K;#NE9>B-Kh98{6@D% zsY{fC?ITIpFqw(AcC!d^V~|RvZGF|$VL}fo>6owz6f@`oI{}7s!SBWo4t<}bWpbKH z7l&Z9XsIBi+8xhCGghkbXk#Ya+u8J9f-M5wdu|NTNG4)Vo%+^B)$*w|K!?~%o2vg~ zcc=Mu)@oz@4X2C8a5~pfS7l*?L({@7SARE&DQE~#Rnkwj&2l2~s|CF^qcGM}yF=EZ zt59`q^<1_&*(k)ZfRuU2vf>e&_^pB$A5DO?16FyYX|!I(FdgP@IS)7-cpnr4 z97*e&$DFzdQJpeU8-RO;3ere~jZKAV!#ZXeYNy1{77;5Mm2DS)zmtY@k0w(etA0nu z#7ynWyJ@5^q(q31i~Byq^RW-7D+Gg#*AHEUfJRtEYM(iJpm*IV5lYj1XBN>|KjOg_ zUZ4L)grb|Xm>jV934Fqkutp5^%Hz5k%ae~n#_SMv`aNa)*b-$aHEb3k=brfsUkD<^ z*c@F&Rn{RZ$y#P?ef}fYze<`MEV^~L=4NqXQk{8$Rt+=aC%(6MExOUg33;HH;?Gv7 zeE@3k_=^eNl-ec2(9{N7C7P~ZhIXzttKC%){t;5@?M5OFoY5H#j>}KGPmDj*J<`o% zR}M>1o$X{ zjoxjDbLu*g8!rb=(1}twT{p|K5*l$~3!Sk(Qhq?Ut(20iVfMUM z$~G1gv*UXD6qD=z77uEKD9Q0vKULV5S^TkDw9JH34gG%cvqKC@EKsRv}r z%zwLQ>FoJWv$Q`urZD->gD{9{4O0bOMNy+Qk%_}+tsV?T&h&s&J!hhka1^V=9dFip zNu^kVS2Cd{^5(BI^x5yV6o)C3s3a=}QQMSZfbSd1KIX>IT*og&9BNH(h^}vF^V{1n zHfQ>)W+A?<+frHb!6L`cg?D!DkBm@WL35*eV9bJFK7011Yh{=cy}S=#o3q22n;Z%; z97B6qTrTH@g{viH%5X`T6odW~`Ebc?yX5Qzn)eWn>JF#z<2(YyD5ml!-+M|C#u2!H z+sUGGNk(|5u4=MO=vPUvN+2YuiM$P8xv z!Ne}fnV)X+X&fdbIQ=lxM{dvzv;EX^h?w1}+q4UQ4rA@}T5!XwDNc1>19JQ4_W}|S zSyyfM0NZ8BZ?yPTyDa$*;H9l-5bCevJ6vx!ED+3DSnK%Jlk9eG&t|zWxOUnw!NyMd zai^VB;g8b5gM;pwNN7Uun7SrM5zvg}J6c=eRR(P)R;@^Ql)P!M)zavxQ;~M^MJg+f zSH8lGol#n$A88ibo#XF?t@O`=0iO7BQp?y8qYfmn2auKY&wejlKk?F6A6<91Qw;CP zxuTc&rs?zNt@B(v{NlrO@xT$NQUeak^5J%_=FEc+4(QU`>Ursq7F-0tT*cM!j0#1I zUdqf|Tee_<`~F7b_WK(xo7t{so!SIjdb!Xw=ZE~_`CHN*X3qT!oxiB=Id*NIzPAg5 zLC|Em*ETL-NRs2bOq>pWb6ZQlAT2@m5zkz>YvqGqXK7O08<|40&jRO5GHEg5^T>SXT~2R1wxbd~e`Mz>?6#oy`JPIYSzm_bd`{q4?2VcBg{CN8dk363;6Q1q(X*pdSRRn_Pp>!v?3A?rG*FB|CrziCyc_ zA1PK4ze4@*;x6|<7qnvOEF2wJ+~HvL?k}-F(!*e!xvlTNSfr2Vk?+vX8~yLd_JA&ryxQ62$&6u(jXW{?s>ROX|<-G6PK1H}YZJno ztLZ4^rrw(J=HFc<2AzYf_^F*_#DX#6>0iah>YtNx{}s7RF#b{EaC=qz2Ct3ChyU*F zFz9-j2h=RAVC??G&n_wXpyrwtOVtU0x_$mfM5yY9T+h;(9!UTDUU+||qZ+oCp%mTs zy8(NBss|g4J?p=V_^1zTgu)q^{62D`qg8(;ckC6sH-C5Z`(7Xm=|b!9wyC~3GEl*| zzy63K6H!aHX#1uHBQr~(I@2x2KN3td1?KA&ViY2Co_*o*3%7C6m*y0os{gZBE5V=X z=Uh{h=C3eyKqrk$z}VT76d`JG znee~=qt>|pxpB@Qk52l(;$;t=qhY&v+rxwog1>J>ZQ4F95A}@ge14OD1%=Yym&g7y z)*%Dt;^4H_{`WAC8E75F+N$JWz?5916AIF-5@QXwRSb=4^R%L3PgNP4*3JHg0$~BE zz}|_zJqG94gK?FHl9F&N1gIc7ro*&ryWxgbk6-VOckp@K2R8%WTBIU)!5{in^ z^ArNEyE==od75>yG+1<#GSUChRJPXfw!zSpFAys{0scFHmLfopvFSb6-Pu}HXmpQe z2IYD!F>Gm^nYtLD&v{=_ahMc}%GMy7ZFjsmO2la@X=Tejs)HEynqyt6i|QY_>PG3E zbO-G3O0)Du4bm}W&@64^{y3`s{{FbquOR!LcL!0|#f3{4pq5{}0eFyga)Mpk7%)nD zt|Y!^75xfOPu;5=d$UMq(y=Y)C$I59X_=T5(7H~sEU}QwibH9X zt*?E3p`sXV+NMEj|6iHKn19~sF+JBgt`@en-lFsiic)Q>-IpukM?ogsvuVlOA zwiayz+!9?%j-nQ}JK<#M3!i|0)lx?^ew2mDzm&;lW@eDfo$?{gt!i32waC+PkU**r zLL=5zFE_VyMqf>lWPU&wAoMvp72jp=cN0EU{@_|rFX5BM@wcLA$pj|+CoF(`81hAO zJo(T&JnS27URfS}EB(aeWZl4xNxK^X8Uid14$eAk319_B;Gjl=5-D=}-g?!*V{@Q@ z;{- zL!8OZ`&!alD26nl5pnpfP~WdUHnxi# zfOyk1i+cc6##j$HhKDtcVi#=tpb&Vy9pFObZu0)SX+b-aa2PW{>Z){l_LGp1uzs7r z6>vrJz0*DJc>0fJr_L(_ED{1>DUabPx z{_)(=6BOSfAtS$mP=5UI0dC3rENi|M(o3r6<$kZcKAPQS|F$x^*gP@lS-A1j<7 zX595(=sbTZeK`Q#@67UtZUJ(Z!urjkNcMW^?iMIz#;yTya8dP<=O2w1R@n7gU_WP@ z51eu`VxF*m2km$?G&F9vr8!l>YW|7+9X0nxSC33gOl;hSJnKNy>ycJuNuh^-Bh){$ z3`HTAJ%4=WG`7zD%N+^rI8kS}^aqM$i+Er8U*dFAz&iLk8UT3E1$NB%OOFI*WPIXt zGXOHH?cn}d6Koe{{lI?*8>aiOl?7j@h5Cg5T$WJJNP;h*b&^B|}l`{!~I)cpVR(Er`rDb8I+s=X~3eZ73*flWd(JHzu= z5dq>gZ5ta_bte3I+cO;lOxWH>38|@}*VkTmZ?M@WDLn!%uc)$#B%$oo7Hd~H*gy&l zkO5+GE@&yQ_fi}rh4uql;|S1Tv1U{l@Kxu_#OBchs;Ia=z&j5za>5$9z#aw2^|m~~ zO#hHvkK!&RUY;E+(FN;5Zzq2{?;ngxc&Yp?o$I-97|<}^6OU`IB*u0A;@!+Ef1fL* z?4hhyt4hcK9c4lSHRj2<<;eM8|AsoRx-00f?FOr=3zVan;Cjy*q<<|hkNWsSEmqhc zmFD+gqw+??LOaYP*N3vF*S9%jAOTV)9t^OqklS zNfcxMzbAR=O?~J;g4-y95GA%ABe35Nu;rTqi{W(I7u!KWaL12@_HMCU2>zeRPh3n? zw^3sU2_h zCb(xmWNgo$P&7y`v>%IHjarc?lPIP`&SVqUEJSyK8x`>{Br(hH8k2k#^yMg4u}Q0;5T{dFeqls)vA;U$ z>lPl}bMy`4Cx!00e|M4Ui_WgD4F}-mj39tloz%q4D+{nolVqiDHJf!SL9?^z@2t8B zK74jQ_}SNsfsH&d09E?&fFHz~91x7j=s7_KPW9Et87HDUk6|j^%vV&<S>QGl#> z!`WcESru(#cG{)a&H7@4r8rY&?O}{MOP>Yr*Pk4yK(189+EabTMYvu4Cj?$7WPQT2X}U0k5n#iL@? zlJvG|pLg+wleE@VD<6jW?YGU)0q=Z)7B!U`$-AvilLj|u6rXx?9t?uX<++w%Xu|;C zTXVcmr?GqEbAY@EdKExHheE_bmfB?zs~D4kI(^=GiZ9CRVW!5BNCcq;lJASLCz3!5 zLo&g(RU|`g7rfvJZvC?*O30ATjl+REY%Vq`*S&pHO$AU~SYd|!6z?)qb*I6GU%}+m z&k{|sk5i(gHbJ1=Q=*pp+S3K0b>_u#4pQkwB7!@7$ffnTxLuHv*8sS77rhC!=^Wa zA&(hfjNEIlLM!8TB1zELAucE9Kx7ZXV3Q~%CAEpn#FR8pFS(Fa(2nwLMBXiS@*$fM z@oM<7B{7TbVZ&j}P>7KIl`kGLewiOdD&KKfe@!Q8LSUzuiOL)Gh5awb-2v(>F_Wvw z=oeM#kfYSeH3;hEYG!LZv}u|~fzN@z`kuHsl|=huS@`i!z-d$=7ZJfW=aQ5RfA00=!CzK!$hxx*r(-P(N9_|2 zCFrHjV6X||DZtpzF(@GrY$TghRxyB3j{V6kXlMnY=53uD2NCzqz4Tk3Jr2Xw_oZU@+Z@x zK2t>q8deB)*MF!!+wP=ZB6hxBkLd7Ttb&(=3a>3wNK`3A*rBruWcPh%95{M3X;-3? zNI&ItJkGCrp@U#K^^4|c^_JuGK)AFw5Vs35^Q~Z|j;G!jbltqIz9f>j+;!VNioZ2Z zzMndND2|b*l#XO@J8CkG$!z6T=xiA@EH4GB*-79dWg@K(yQdH zZK;)!2MSbhd|KaaWtNlUHP^qZ7k~pD0>!{Dm7nEjUG9pBj>s-|KFar1L*eF2RL zs)sPwvM8%pP8pbWJ^;Qf9#jM#0d2u}VOqS(`dGg`V?HL4Z+=ZbVj4@OD#)2+j*|n8 z$%umYAC157@wH3$Lll_}W_R6KySkBT_`PT2c5&&zu}$>kFDUyA>J*drSLGAoQ&J+# z8;YU_eN&W~jxtoacqmahvg(;p4XHoC$eaC{aMc;5J1=1Iz&0}h!#i-hcM@v{KRu+o z{X4r_-K$6f8|7%+kL3qan|zF6+Ho=aqSqAJUo4*~@S_V)rw3AEB==9g!4`aC{%At{n83Fs;NmQhN?H-)arz$k%sh7Zg>E)dPtMPa%Z;E&XnkU6BdPm@wEJyeNhNV$|9DmCB^GmILODejuD|sXADAVn9PnZ2#(&AA~p?UL}ufU2U zvxL)MRdoZ6BPA;o5e1{w6qJ7ZngzGn=t%@mHDbxO(W+rHrYUVBmQvc>8f9YUUm ztli`&_4)->U|h@t z*OvS3Bdu@lmAnuI6r7ut+e;VxQf6}VVKZc9)l=lv+V-7w!b)EM{(g>tiYBY8bi;I< zFc;da)!2J^4u&%mZ{fkkMa#@W6zsRh7lwk@TNF_H*SacDuh=Q%gdkeHMZ!M7R85f1{KAB+ z2+pMrc7wtFCE(xcKQqT4|PZXL?Qw_{hw!V+d}~d*0(Y2bmE1 z^@uTV=O$Z^DgOh(&>7)?3HMwTlew&SUXVR(Z-I=NTF&dQr0HSZNM;4|ntz6bLczqY z)q$zIva)j2(AY>KB&HgVGyC}QW001c`{-v;P44*x`JuMH3Q*8@)uZ2~NmX@zwGZ1_ zcZ_7pySKVa;2zFTm>D0{D!kqJrMCCUOWh|M#tkM}E^=Bgq$BQAvybyjYQLt-mLIhBA)BjB?L=g$<-}ZqdHK=)JT6a)aSGQQgLs2tKMJ&T~^fPVJ_Y2V|EOc5;%^~ZJ$0-(EQkL#pYbE~dINZK}q<=(K9(+~&uzdr*hUqn%d`RQlsWNjs z;YE$80tu`2v;v3+KNu`OZ!4KKtf~<#$exb0}<+`!A|WONPES`Cg>@ z#wE9TBs@^cW%`{~ptqDuRdl1FTS|Da9o<4LzSS3|iu z7Ni_iQv6}fm)pfqnsm~=v7M7FSI;mH996V^L&K7wNYmy1T{mL36rIfTi@s3%=6Sla zB_URL9!1$C_T`1}Mr8(j9rgy1Z?L-*4I)FZY_b6!qC|~VLo&T4cK+~76bxPTP0u;_ zgvg#=y2P?m#U$%M4z-AH`;;0~19y69R|iKS966tkTt?boyMxs9m!X4@iB>f-wo2-P zA2Bki6n%4gsD~LdEu5dUrf%o{IH0O$9Voqz%8l`;WT4^2!<6e67FE{F;yp5hjgi0s z2y3){FvyB=y)HuPP}88f?`yt-1$wO5)%&pV9a*VfUK+YtX8EBU`J~f7&SS>4GGg=a zVSOUc62`exd93w|np^!{!h%LAKgii{0nHsbPG898gfDbvJqa|0IvJ5=3MEb#-*Tc- zShrphAo|>GWwQyralaW=o4*+0CT5Eeg#=smEdwoE&!msny>tCl403*K@d9#mVivzn zdU*t?(`RvWwTaEDy0;SK&?BNzow6qF(_1k&atc0ozRPW~3eT2?z2Va7L@nBHzpqe3 zpxl*0KhH`cQN`vL^4~|l`1C}}+na2nILQU0sYvy6{CQ8wt)u5wE45dZ5T?Os%2&tv z+n<`e`V^AEn-%N(pS1zuuwt1WTr_G3;FP&}dN}5ECGORxu5Hs*TW-@Sl0t4-V|b4l zsXpfb_JkjGg1Kttt40x?)J7g%Z_t&fL*B6He&HaX&B zwU%e78cP-~TZ8RJU-x6@VTbib3ChUsRZT6mfj3#e=<$^Pe zz)I0-jCA|9&s=Ai;no~*w@1t^%?DWOOY3 zpi#|~Pe4+Q(b$bu=v+W?>zFs-ZFacVG6q?eX{xvu<i7sqG_80PMRTUhM5r>u zW~DD6rer#GxF17*tG+XcD4Ktw&CF6UrM*%yojX~?c>uBExY)nA9oqG>W8JOg?#A2- zPO9{N&%^wj9lW&apQFZc6vKK%sFx(@H(MgHPJ06xtY`=zzZX1Te2YD6Ai#-!aGMrg&+~ExM5lXdw9{(TyYm~Q z?MJ^*LrwJUUjC>p7(oWE`ZR`C|5ACA{5!S9$6W8DQT=n3gV37Mx3E>-DBba3!5SKV zF%i7IxG`z2*e)asa_VX0SsvEQz~Bup^mNj;W|+Zn8kBmbECDBa}h@;U;c}T?UR=BNOG;oy9yceMvr?Hr{W;3j=40 zN_o#GGe2}whi54I@4{qh`|Nu=3`XCCSp$rU|_$g|N*8S+) zl9gAR^wj64Tk9|Nx#0jpav)_o%m&Az_8gP{4Rxd}Nhhy<9yc z9rUz&U#3jtbKB{`yI|Ozb^`c0AxKZR1GdkK0H>7aj(rmAA|fcp8@KIG)yM|(t#wU7%3$+tVFUHjR=FgwQU3Qp8e0M!66;Yq^=ihetoM+_#aIN>p^tY`Rg>r zX0O0;w9vde{iI>7w6w6c$$pG91Cm49Ycl!%9OGOOOH~hNXXRCykY8zed3UZ|{m>(o z!$OUU;EW0fPXub|Q|Zzn^ydx8V`oBv#FhR<8#WriCD3I3P2^y(s_j(rfQqEn(e1{f zL3keRg)4H^B&GPzMp)h|N1n_HZgq148m9%Zuh-;VQkG49)diEtT3^uj9ZB_*x!o)? z?e#K`T9jBwsq0#}>(L13f>4gUHA|=Z&Azb4oV1#`e;2p;A!_qOjGVg8I}~f9Mi5g% zo*IRk$xh2KK4(_L&89-}%H~;1MASI+sf=6_lkxgN0)A-fQ+l zeF7D?uiu^H=wtj$n-n4FxYR%5ooDd$6xo$Ya$SmZKn`p45=})V?&)5K|5nx!zp5K0 z8{SUXmNv;q`OwhlEm^F0t&we8T)N*VpXS{+5Wc3-(^8qMlhvpW8!aiQzu~PaHknZi zYRu}nMUjQL;ZvDyuCI^PDMf1TWh_lcMex(3>2evixr^8PD!e6VWmlD{Y?$w_6o@l( zG5)o$zPlErd^9RJgZtL!6%JP}akk}4o z!XBARW#xqi%4AIeaVC~cLW+ROn*@%2>+T2D*pqf|AARvnu>NR^E}RrQ*02{9AC z*8Zp7GD}TAyNgue^s5dN8MQ7#{%x<0e0INQJMS^ZByh`8jff^Gixp;F@7j={*!CYF z4h4j*1Qq*?$t!tSoFe4x)+3O#xe6aT4?p%$P4e@<=^?$4+dzeO?v}uyX&n0T;`Zg3sKc%vEB@vhIWwOy@ zecY*Ed7H;8`E@5cz1F>OA&s3`000^xAUX*9@`|H|^AjDr2oo31-PM-)3?1uizn!mB zv3{b1Y0hhBCWv=oDNaSwLzkC+V<>L=gB^Ql)>D+@{Gt|cHJ{omIUgcLBPysqD3&kG zm^HNNAnZx*ujE^&n))gFMVr1d8zt=kA}Z+)N}h0p~w$j7CPf^!S`lMuPob!(42*mZMzB^%;A;hOkK#5ONIW(4#fKkJ`xiQufmXlIO2uUUc?WNIt6K z!J@_3^0$%rg?aaeof>VBt-K4wMCQp80}}6gFfzu_n}%Q$l>(6xmDuRN^GrthBbyMV zlf_J{NLVZ#Q(T>aM7DUlw}U9%m&+Bxf}lUqx%KXYy9-PmYd5}v^`t2a_2M|!MOl59 zZ{leDzAWP;T>E_bNN-KZ#Uu7q2xpg>YE8~3VB?Y~VpO6@K;OT}13gr&K&DD$dVM>| zOynsM;U3>c-eQsr9ts)p9Q*Eq(3Q_(Eh^@3^V;_%rL)LowylqZ2d)Y=yHu?DM&3@D z-Vy3?{KC|t-pO;&)-VkGZQ9AnOh-1#@56!|($`q1P(#iT$eNE5lWEyL;rukK@N|qe zR6G@nx(#bgk~9}TlmX)NSxjrqrE#T_$s}J;JIjCUsG(y^mwvwWqXLP8`$hu&>Z8dT z;cyiB9RBYksDU-}4d1nUz&I0S5`=FSBMxCA?THamQcv}l%;^RVvOh6Dk-E6U=#1A241@Ph zw>BYs@nH#&#FlyP$$X*9MWolC#rtFGUG#LBBenj;_!g2!304q+5_~GDI^sl0vwosSY-x_{HrBD$CcUG z3t@Ay9X~aG$KNgm|q%ETt-pBo5RZd z1Y~##AVe8}E)+t+Cp%MXgUsdK{qZy)i$4tH{=k^^Ms@rg&fqlfj~i(XmlTs?VPVr% z434XWxOrJ%95E$hTHiG|)|4D?y`hXkjn!D`PoXy7XO*Zu=z3G$p^9`?J1N~A%3z@h z{ew+-OalOn5+Rm{X3J}z{e1V78;GRF~CGc{a!V4l9S#872Q~W*6WPBFd z-cb%Cv*yq3gZ)Ny_rV5M`hzqx|2XX>2Q(0hB!^i><1kou*J<(@+#NLR$%k#>^ts4K zy4WDA=zUO^nk0aoxDb^hP>G*8uM3NibLgLQJ+c`i@_TJG&46jzlv71M%4|>C=-1+| zq1{Y{yR^$Fnw2j`TB_`o2Ge3D4w}yD=J7xB}}Tki4d>hHA8ujJ{vyE&N= zuJ53bY9&KJ zX9!~b6l%0Qe8Dix9P?1+@=W=14TD%Tpws=_z9Kv&#I56_>bko0WAC(`im5!k@Y&PgEkFo2Xr!QHTPkR6l+Jo~MoAi5iTZ<+ zd$44_&XZkoCJ*`iXmM)e0m;~>{4lOfm2?Vv-_#vutBsZ1t}jOi_TFk}fB;%-0i8n6 z`RI;Ha;N%St=LwXu~~C!z~8h@mZF>-PejWoh;hKIl7H-%Vw+rH`U_;E_U{ecJz z@gLXSOVZ%@q(aUlEQ~f(N6k{~+Tq%1F`ncfPvl}q@*}j*c@QxQv(9|2{`qPD-obtb z+g#vWq_zcBx zC&_INEw_-|BRk$oWxU>xQZ&@-$G8VQsR*k>NqaN+)AluJ;LQ9{TaiQU!eNsAJjWLv zHsZvGftq8VVOB@d`FD$JS4B$|HNSZa(tSUv1YLZl4m4A~@Fp*v%5|6jz`ZG8Uvf|n zF)Vn&YgOax`8*k(&{kvxvf!r)fBl3Nrfn}{eW@PMv6jWAnSUSP;8dGCUZ2TlK3&d0 zT#~%td}$+5YZ$r0W8n8)EKnuWri05j8!q}F5(T1rJK42^ok|e$0VY1|fIQ^9#{Q$n zHH(qO4kfNkgjJlXeq_Q!RLkEi-;?>VbT&d3Q_Uj3+s`rJ=9wvgV30~^G76wO-|6Y# z=I)vvF5PXxHk4qbeL|PsZL{l3eK|3$PHRYv&xkxns3TElR(HQk)w6=MHtpKG$ zPaMh8hKocpU4kjN+@#PTla4TQ90kxl=d&Bzqw>!;pC4Ry)xLK2P-R}tn_afvIKwBR z>pkxYmnCxW8BEekiHY&PRo>=u8|&s3bdr)TZ;oyG>eq`|T`~Eli`f_{U4$|{;=^~; zwG$cn>KZGQcaJEx6x+JhA9S)BGgt@s*LHB)kKA|z52$!G*>8Q9Kj z+M3v8D@cxrl8J9+?_HfKMHw+^AT15`=N!|w14Cx`{MW8|2s<%aVm7C~`y5}eiVNtB zH>O{QU9=cIeqr_2w7A#LfP@BPd${oE;-*$|Ydjb0Qnp?{5&tR1hH9G_XQ)IAVz_SH zb<0*s8yhtebJtBIgEFBy_1J6LRm!3dR)b;2fl^Os7+NXPzbhb3PLrR1sKUmH z(4bFX4O6z|Lt1tCCKq47@rANtC)sFIn1=ywS z|M?m2gro^dhS6oWU;>?FkF+_JE}V*H(V&dzXNZX6>=lNqcZ%W$EFXCJ`s3X>1sRdd zk{?bBPy3M?wGj`(X*`v?evw6Bq)}Wcs1Po*+Lcc4qP!W;6~B)x{)>vmlDa)x?rgNR!wCLuyGB5gk} z+}xVFhIas^5EnN7OAC&!5ufrPFaFQ@c>y>hne)EJ#G2g~Z0oDbFRH0_O<>(EN{LSn zUIB)zRp}IXT0TKJXXx!yJLoTba92$R_tiU+7;fmqH4x*51|^?i|~BEq6C#srQ z(v`$q2w@b6-OBKIqraSy_#WL<*3}*f6Yq+9vt<{??G3~rxFSI z#-41G*C!UTKYn!J)YFB3^nds`T9eAm5e}~?TlH4+HOq90R%~g(c4fJ&Vwdmi!^-Dj z>S0&}k0j%gFp+amv2!HmP@9I(6Njbt@QY3~qYCY*CI*6W4asmDDvXu`0$~-DP`~?=2j{9o197=btr4WZkdj!us^vj8Mz}0;xf#xnvuVEo zmj^e*uyAHq4IhwtdwZox(j7sA9Fjc8_5S!*$geHhLO``{GoV;Fc6mmEZj<@zTTX02 zwg(C)CufVtwUN&St!={!f-Xgio{gCHO-p$#@mS#T?gqmPFTo13+5MFUI4IoT@#8Sw}V(FKgcX^;2&k5w|@ z$6vxu^bv{l*I{Kod^}=a*Dw$@wXSoh_loPblC4QcQPvBeGA%1$BR_vc4{K;e4SjLZ zP!job$~vwp{1QK3tDbNzLMo}%PK~`=vo`sj7O$`Nj9(kRx=EozkQ@qQFM=!wzi0rK z&p~|pFVw~(X<700#gB;=nluQ%GbDurrSqQk! zpC@OCJ{*?rh5HfAmB6GlUa_vfqd=-yR;rk@@&3@5+{|3=QY$4jAxZ|G%}rZ0Ox;g) z10QM03yH_a6?3)V@@ks(BYs1rWHjBvW7R-m63Q6T&cI7rlldI6@q_N8Ah+{I5@O$1 z55?)^=tCr)@JHdu!fq~gBcZ!L;lJLPe5T*4MCnwI^l|G6@(eX?CQe+Ca}sL1D$;94 zZu+=+l&u>W9LERV`2PqUpb1CE6h1f3@ZI@3bvVS{X515jUop4m%t4ztkd7=LEbc#? z!SiCNJLS+#(4Lo{UW5>3PWdP3r-j!WO)3LxJ)T-|}h4;hpbwFCwBYmHPir=$u62yvaOF;mLp+>!V zDP~bfR#W@R`j!{*X_<1quxU$lkKJBJI0|`hFXNjyIc2{>SdvBI5u&ncopXz4h#7;= zj>%>ro6h!EvW(aliqDodIz00H7csSy9?Y!wyFRzqYOcprs!wH#mHpw&EYjP_+CD3g zhK2typ|g1z|B<^=4s#%#zd)TAYbL%lFO#D4(YU0~v%oIX>%su3Wto9TvTA;mw0lWR z1q)W;QGmXzdi8;d16H9R-1x62*trE)d^j3ry~(1p)S@NUCl=KU!M@iC(Uh_3Pn0cS zc$6dh0-e+v3A@M8&9!zQBd63Q-->c66Gc0J8BcWc&U4fHbvQp$%beX25sC6z z=4mBQ)|aLos2AXP#!UH5@Cjz%FHF1E6ee;uFB8YLD_upWcBOR5uwMz(oKo&4C3I}G zaXtaZ*q6gE)wd?$Yzv91KF4EWVv;`!x`gp?jFOpU##tWA^x31KP^PCEcxYwO@<{J9 z)k`nREe2~k%A2cBSMPk_fGzeu=$IB}V+??RcA9;lUO-$=GL}8IVAUvw^;$vsWq>eWluJpcg1=S4sFZ!mwfA?En zemXQP8*mI*4wqeMZZwj>I6&Nw*E}c ze>RZbWo9-zsE(Gti7B4&Vd2sed0*2ENyTNfXu{q#jS%&y;X z*z?gBvHrVfB=F1WDUZO(j7o|5sXzt*4bg6P4oYgJKXRyg1cS>IyA>`TOrMy5-=A z#js`_#_d1-1+p;4io@w}gV&7-wae|n@d}-<^tpj5w@*i~RDkKJA()vKN-Yq2tHfPh zZNk2_MJUTsH$PS#E5KKJzp__ivf!=}VYus-$*8ZdZ@!jtOji88pbEQNgzwA`mgD*4 zC`4SO=f;Hu>C0@VG%#!|ZIw>Uj}L%sS`>t-f&C&yegGGa7@ z;qJTd#@lbdjf8{*WM^l$QX7&%PfAJ(^m;vBef8B=DoH{P{_)2jojSgiD_24wXg%O2 zuQ`4CbW~JSV9%aCNKH*ePho&y9KZnD2O+qqda=d~ZLk1W8#J&u+?bQD!Us3DRx0;( z5GCNBpX8vvjG3%+xNMA=8$-9YLR-#Pr%6?F-}?zT$+$2mu1snk3>F`6z}C-mVYe{J zy@Uvza!pE)c|x8Jq6QoL??0)E=k}=ycw)hzZoQsqPZe~(GNCAv3E|irA;4dMVoDqj zJUI(0dHbsM3k5RRuY2PP z;BwW+K=k=f$Zij$pSNZvFwoyfE#3;EG9s!HSriKu@RTgatlfL@0OZj*zS0g^;i zd#Qm=l3IcnA%T2OEaNqH+9dm&uO%`jX)FK=Hv>8A{NJk&9ySjf-J|ifa~gJg24mI4 z1U!COTCeylb{D0MW=b@!Jyz9zprYFi{W1y}nIvZS4n2PFYg&OcaVU zQi72YA!n*&&J$r&a-sn{zsrZs?7}sF8;g363(x;_0^7><&CeMgz{k@|QxK&PHeXBR zv;EPi$1{c1D6=^b!slYg*fbibGk~6hqrwQ?Z^f-V7RjPYz`QsJliOZ^8bIGhUnWMp zZZ9Pn-C8?bIvaDVwK3$Qj(MyrCE28ZXGlk(zx0}TLrNK+NOH>-^9I6)25?bbN9T%x z6zLv7X9-49=1f$BL}B>y%P-@RM;>XHfF#OD;_uiKu-R;wJ9jSiirlhg3&xM{*)V_s zf^h%?Xdl*-jZlBds25+3=V4um8hj2Ln;)8r*r2m}qV*LJl5W#S*>L+xQ%G6eloiPc z2w@aujSd$oZ4T&NZdlzOq)3Di8?=-tIUk)SA#up}OpM|Qq*J31a9Lb4QKN6L;*a;U z&{)9`4kRIU-s-{N33`V}dHDMi_~~dR5`rbz`pEQdP0H%uIYHAj`LS|@tR8~fzC400 zr|K~xMnMCD`YPzLzk333d%=$<$3C>p!FQ$Bg88rQLYyNXpNL*Vh^LYHL&j3z^49=i z-%!#K5dSDbW;;s#lVm|c097E0GJ?V4u{%Baaa0*$J*lQ)MIN)CtRcU1z`}S4V&pwP z0M%ClIlsW0y%wy>gRTB#6-Poe_C{d%b>|!qb3Ra}Hsh^rg;;a63N9bfNXTiDY)#6i z2ZhVAsZoy`vr6dS!Ua6s6&;F|;Yvt-AuSgZ$hfmAUx(wH%TadHuj2E1JP44wFzb%7 zh)8K&65p9cl2f$?WLFz-s8manpBs#RGF=7>(phB~DX73ig$~JlHGOG!v_EA!ow`x4%O4Zr~U z{dLqH1_;LUNHCIM7vgt--@^{ztMErGrTEF_*j2auh{pSHXKbU$= z3R1^~(RS*f&V(0AYOr5tKErY@ki*7kF&~en#$c#Sd|pac8$Zj2y^tx5lh2KXe5OA% z%jIxWC1b&1Ux{429E^4*&c z)kpu3Kz?tx+6I^2PD=`j6rZSK zNO|1=`Y&v`YDzA8;lKO2#*eb#C^y2esSIoZhY~deTs{YLZpnaHF2ISc z6{ssQ;OEzlVZ{@pn?GkyflOZcTs9>F|IDdF;M+ArrbUDB_h}Z3z5sH6rD@f)oSJO0lYoi$0?G4$K1R|-E5&$z z$q*zCSK;~68nDYuaOLT7q)baUa{ajzgTPHUQy;)KQ_A}xY-T6al_o@{1~!i=N6d-E zmXD4@cl0QfaY9Uf?K+rvTx`m&g~sflso>5IX#R)R&Aq%3M6 z=V!WkSsZv{XMr_t6<8_r01mH5l=r2Xj3RpCpwWolxfQ#o3`UVaj9mqdxa_rEc>S6Y zn4Em3Z#lu+<@GqAH`DF6dL7)M|S;jHpm6tDs5#7M|z$MpMg?Ov@3 zHFgJ#ZVxQJ&Fps5ThcQJa5?x}Vnp-v%dB=_#XKNV+V0{YQ9-&*WFvl%zFU(M9+QJU-h4}{6i!=(rvxV18mzDv`K=ttoPih- z8KfK-WPF%qT)5#tqQximad>f4C_EwKjvi*5_Cv9TyEC6kQKGtq6qXf#r?vaqla7X!3f zExip4JU^Z=-bOpzo9p1MZBbH0zyes|BCv-BfR!d2C?n~Qr17^E^mpAa10FFlt2j^1 ziNzIzL(rGuaeI-usTL-+1Cy?eX+@$mINb>5vYXFG@;M)?(ov=22r(Z495%Qt;FQgU zeHuNsSv~kFDU?2bzCaXat{*B$-8Q|?xgrAWME?Mh9CP08Mr3cT$C#y2h#As5CAbg% zT!6hLdJK(_;)AQZrdajVTIu;i2BhTr=U&DH(>%SQ7@P7mh*t{n?W)1(5AYhDaD7om zY7l`?0k|vu=al&PN09CN58Zc&R9I|y6uIsQ%uWf!zZWK+dys(E3`@NMmPR9-W(V9( z7bOa#CMH81EbE$&6KS7weXFoaKDZ0R!3q}i>iO&5(Ex9b?>#vz*d|KhN)&dhUn1Yj z%iGHFlP}?WWRw)IEKa7$%uQg~v=HTd2XWRH;8>XF5x4>qVIJ`p*pjaR*nLA)QR8&u zUp0E{HZi5UA{Gk|c{tdXqsGxTLU$qq1Q;GEMS7S7$-yEd28$u>C5wcf2Jv&PtTdzS zkQRnKGrVk|ZjuxYHWxG&C$tt9bQUMwchjj-*P#$`kr2qoB1sNrS~np^vj=QXYoA4z zJQ~i3ad1S8g)?+8+yU`zo)6?&^Hy2mEjGbhZG*SLPOTD}z=8>Ub{+)m90=Km!Dlln z=O(yWK`^PVg>~pkAXa(KrG(_1FW9R_)}M8h>m-MoHdldN4m&@Y80*+ zp*mxnMbf69sn+9=h3QKII4nFDp}@2bRF9W3DB-eK4bM?+GnvAQ5`i-#v{&2Ao`S*c zL9yM{yp=dyxHU+Mku4JIFDs}=wX^-w*$^%pf2Q~s|F#%xc&L(@SF{8<(?YpyMDe+} zUMa!MKIo;~*XB$88Kg~w)lD}-Kx%Xjlxu9L)Z0;IbfD7gK$YEvMz04tc+ov=WZRGn zI8aJ>P>Q(-lJF5O=OaQcKzIOi8z$rTYZ8*Q_d2T!^(H5^`6zO_A$5Dfc6(v5xnS0s z@!wD(JRK}vCknWD*J6XNqyYi3LC{18VZR5MA{EfT^@d%>#dsYhB{4qu0}96T0FoR{ z&@vtRbcn@%m5<4EZmETN|XmfBs&wmGq|7u7^8AqU*0QE+`*4j5c;Z>Rxl zMKo9{Ve>JkO$k9%x*XD=-kbDHO;AvRF{|1Ht;LBzvJ&3Ow!yurj+vl|Ip9oZlE$5G z5B8KWtK8GuNoDSfU=iP;>7j6MtOe@r@MP-28Loi%*oTnqf2o~3 z!~NCG=p>~e}Ux0N8oCU=oYZ`F-VTS3)AR(VNY7X zlu}=yNyJ*66))ErVDWh{4ia+lx9|WA7V)tnBLvlYJGSI&u&Y>)%xV+8l&Z)?PH)Hh z9RC7ufRKwYIWy5BldCYffKI;1<8%{oAt!1OzJF1rH(+(TQEPCZ#^7i^PP%FBV5uD# zV&)*x#Rkhq9unev*P%v~@=hN-oOz5y)e{%Vqp{%s>J8Aly|}MJ ziyM>@+^>>>*GE*=eE}XaUfom+XnmwK>AR+dfR);J7s$yX#b$#QSym@9Ee_QBssmbL zf<(}YU?c=0AsB@$7DPlb#%4k6yCtou;Q@{l3oVU(B;)j+vyzXa*8YK;!$)mw0iY;|V3uQ`YEYI0_g5vu?!G>s-b zEjBkBuz9`hX4e?(Zn~8+R^@FXM8ZQj=@;aDL@R`dQV8fq_DO$uAwfKs>x~Z78JWJa z)@Y~wCi#A8|7mo=N}JxCxrqMF7dwr%i*C5Uo5W|JRY0c z(RiFrtotJe<}bEG;Beyb)e~@dha<;wHdc1MI*M8NvuuRQiH>Zdyf>L+~xpVBBg1ry$R>73L20?6k(pO0{lXM;C16pckT>W}H&uR(}#6WBg-5n)5Yy>T5v#7aC8>&BJ>J&GI6cw=`p z7L85<_q2f=Q6rY@%!R{jL;4kd8xfwHjk;qUd&5Pn*>^f7r< z5HhYDiy_M=KycCumycW&4GV#CdCK`UWml=-N{K+@=Q(iIS-{V+g2&TAxgrIuE)H(L z*k6VZ_t((-_k${w+HI<%`jg+Fvd?jf_4N8JTNXeT27O*-zusB>W*!bR!E8Ex{(_f|G+ub}m$IKe=It7g+)~PIB#V7>$VXxG-#T8dO121WEZ& zN|-IE`BnhAr~}o7u@>0>HgNb8z}{kQ4^eR{{PtER3=LKk?lvIR!oij6wqWb5i700CDDkXw0PkKu3Nm5q z#h{16fZ5R&+@4)Z%j>?-n33i5;=PR6PWOWsD?AQ2wIea@scKd&ibsS(ad`qw)$J=F zAwJngD@F$REjmtVjQDRs3;$UkI4mGuBtWuQh(RHNP=)w?cE3>uLCRr+-$~1eRVrXr z3R9k`bGo5(xo9X}h0TF7s{>^=J0?ViLM0V7lPJed)xzfS;;>ISOAsUEV}e482?`0l z?Mvs~#Ww%z34h>y#cJ#;VzydC+Y6oqq}z%N6d^81g4iH2weleCcaT&-+w@?GfR;ED zu{~R3r(*#}jTuhgM(k9Y;p4|0@WR4n!4)lqGfE1JN(3zjXf!#{V6vl;kaPwc4cM#F zS>bG6Tf2=CP9FhzkzLv!_ASJ|gB%y_8}(LHX|445 zNFPb|$@l16Q)~qeqb6>ySkUvKY$` z0_)}_2x`#66)y+d>4JyHMTLNe|1;R}hPoQpC}ntbNIX=6o@?VSrt65+L*v4M66ro# zB7Ht^sfD~y<)Ot%Ll@5V0&>=wQTM-Nbmc^l7y#upX>AUc$$OE6QT-n!@R*s^F5+P$ zn-$Y%SA+)u+WFVNeiSZvag)S>QnMWy5pw)`&*WCAm3;}NS&i8AVKz6O(L&)tz+a!rj?ySPDZ}TyHPBbPg={b+g#c%G$iAp`@WvKAp4WrNce2>+I z+E)(I>s^qfK=7@Do3Hh!)@I?W1LcSa5Ms~cGy7c|K-<07k3z!w1A)9ZnFm8NfSZ16 z74ES0R2^>l^f28g9(&i0V}g2WPnP5O*SnDU-5y%{92g&p`;NWR{5@12F2tdawjeYu z3c)GikcBHD3sXQK7lFg)HWSBe-^9?YHe%nKzoYU{A>CZI)+CQAEDR$?k3{Oy(NHW& zx?rIM9=jVgpPgt{QVP?Q2)Zt<(+2Rw19bHlhiPa>T9^#q-9CX%6uJcR&jp)-ZT|*p zj{6@E9}dj>HxM@&y$#}fw&+L!s_e|~G(slEo9Qt~6n9P8Pn5vL4Q3S9n^2{*pi=9f z$dIigU&8YNl88N0D8l4QznY3G;~`>92qI#I*m>W3(4S)bK+_kG!Ikgc4!*dHWP?=) z?0F5?|1RLN`qhslY-Q|fAbxtMJU1QHChAXW&)2q6;7UfSC@D|c+;hEdyfvBd{_z~x zWt;qm?VbRw^KN*!N=V0rK{hR#F3NTmR+9rizjg$gO6D^g_U?eCq7>CnT#qdpW};3~ z$UnPz3_{x|Sv9)c_-kGT*48sYVy~q|ZtC9IW*>XMtmn1EZ2Ck;jrpCKU(E;okn&Bjov2%`cd7$y@VMIu0gNYH5lv8O>i z;XbNtz)6!8Sw<_0t^V}(CXAGev0+pSE;KI2aEfz*-Q~vKA~iN;*I`#d1MO4VLYQ2L z!I5%gLc4;JRiw*=qNM5US@!!!bDi=GoHs$2&e}(89xY<70u%Z zLhRKU3E60+gky!qN(oZp(My8AYV_@sqo;!`w1r3olx!sXRq~{w| zRaL02_AhPBm@$Li78SMj(CM!@n-_xX*J^kRO@M+&ecjmU@-BJHP;b8PD&VcL0RlF- ztKz^Sa_x@($K--*ZDq5k9DBF|?CBx>j$pV{;QGA=-cv?w;<@loC!>t{zblh5F}`mq z&PtDIad=%dUB2TA*ci7g3gIaXfmmR3VpXXcW{;Pa2E7}jMAB*Mj;>rw^-edgDQ<+? z?V(Ccy$_rrJW~a&VbhoLFu269Qq%4>b&NMZSk{V8vj?g6>;bO+Gl-h zFYc|-QqRSkgCw{sw0BBWU2YHbHaDYgw7Oc|8f;`j)HE?7o2S)%o6|!lNn|m`LsWUb zAt9f`f|$>Nh{vWXM=_60NnY}ssAPNuJ6TYvgop|iAy~q+uYbN%1P+gll!-xzNRy-X zNHPAn=QG%KOrJ99?%5b~@7(5+{?2_k8^l>(LUQaqui4Mb8tD!%>^n!FltL_C=ObrZfTG&cKnzP&7kmdv+TqJPrrz|-LYm*hB%F0>!k z!n3cjSvAGVkb^Tdgc8gb3PdG%!s^6!qm6E5KE;1ayd0&#T)C*#{}82dUxnJ`#xaWn zM|@kp&4oKcq_`u*-|xLzXF!qNg=ta&rptr~Jx}G-7o&GvXF*ix#Ij~*k&as7Se&g% zJ#t2+go-gLT82?kG7M5l5aesydlSSy!&`5Ix6%r4nVH%(ongbpWl_5cGKXa)NIJY` zZB93;^bS<&Y^c!LQAsyupOh;1RsaX78X$cmV_m{WxJ&>Qz2!q{wm|!5CLOQ6{kJ8s zD5YSzJ&505fT4$rv212KhFm?q-PiV#(rA+lULxGFxrvVf?bGPr;6=5=g(F5g4iP14 zjR}?(ge^z zD+@!14yF6Yj~~adVZ+XN&d)#pj3rB!&>w}U8D+BWPn>!h&ph)Co_+S&R*&)de3X}$ z<6=NZ7dr9ea=lsDIth%!VnQV1PD@5@2kuNAJX;vDgELzNb|(WSsPX?V)l6qWh>|J6 z;EeXGeg@Dt;59kn`ly5sz*mWED7HG05hlS$*QE8yiAY_M3A;XL%1T9YE+$_eivXWj zVWZ29>r2$sr-%e7d=eLgL0wQjwRbHYG25}aOhZe^hl_alFfOQ9y{ssy|3@t)eF-=V z!oW^#9bDzKxv}k|5*X_3U~^cQaa%kBBf9SsncrZ+4PWNa{Wq^l!I+r#1GBt32VCU0 zAf7OT<>1com(vq+W9~bQa_pJ;@wlvyC`7sfZruqe*WCb?+Xk061P#G&g1uryo6pUy zHRGmla_Ro?Ls=MpIGgVCWkMt^8iCX$qoEqs^Ga?{jTMfsOHq_xi2R}gEd23K@LTv} z8LPFBMV$XZAib7|m)9{T^{^yhrO3d!EUaDflT3gJxmd2XQ-b@Wm1#%{?x8eyuLpv{ z4Uir9FF3|3<{>s0mW=CQ9(^~wBuTg@-p1=~^&4wkZWP#E7$@mF<$-5AellDj%8jjvfn%;^9%8X!OSuxJG55hE>-?n1Q|0s8)A2ATV{c$#0==2X9kK! ziNGR)8A3S9J3q#^yF92d*wJVv0b?$x=`FL7MNRU3k?+Xi_R@W_;6@hN$aqA^W7EWI za=$5bhAgg;jS#Vc;?~zGInVc+?J$)!qIk(`&5vg;8UcGmAeI0aGdlyJL!w~OxuCDN zLtkx$sm2DY&WY3rA%Z=CS7QgvZtOI=V03$FHI;x(+6fjUY!;*(P|s8amqq6##Fpd$ z%Y{u`H+DH4blyUbN610Qh#)*1qk#6_Pf(v#LG5DFt{Q`}_s@f*3l>Hf<8_oYKro)a z6lssggRrnLG&D5el~-QD!w)}v#&hnu=N`QE)>{}eW(*D9fbs}{cDK2CiK3M;03oP5Dkr1eE-5B z*v&2|RAMZDVl?%i?AH5wycqt^O|%^2k+~_jXJ&G{&n2a1mSgqw_`)6?)5M#!Ar-3C+da*?<}Rrb^kjGx7tR%<5c&JY*l`l`|Dx+aPym(`siXzdFXO* zc;|2O&~z<@hK54>V*$0!Adrj?r{27$6RqUD`^y)H@n0PH}G#WGy!sBK7CSJ4*flHIY50`YhU&{IA z5PrPNL-zP)jFRJskB`jHu z(5@+f*UFH*f|Nk&P1_Ye%$@)_7mpb%*rGAuk+`ttYlf6WPdRuBN*)KZgXEYW9Dr#` z86=$kkrsb0AfAoyR@CE9wE+k9<}<`<=@KEXiwMH4Q9VD#x)@74+d9`WEA?1&v=YCZ zs6N9lmsl#yO;=%Vh6?H7@;)gfX!%)O^%hvO)pT=Kof#%eymCe9K@epGfvXZ<@Xupv z&||;Nf!FJGIAky*MJ&Lwdq0D|v>s^-Mq=nSlb}e6NAA8_G?W^ksj zRPI|0PMF%sAtNBqToBNja$(JCq^d{N{UgB(6`zye zM*W+|X%Gx42@1Vy7{dU2Z0bxUc*oi>gB)B6d!s+5bDD_Vg>+DWkbD{{jW*eSOioosB zt;>qLdo7W+a^;C)Y}XnQz~x}?xIxXnNWBGTg9Y_(9HT3`{8%~T$9UTBQhdAtzrUMB z_tPeZW7dtGpMbZA8$UjXo%s!znHGwVZ}Nwdw1i7*L+#6l=)_$%Ga3PNTbG*tcT*nT z*jh-vZ4Ny(>w*vZx&)^c_-HOrn@P!T@5-N0^SuBbgM&^`Lv9&N16vM%vJGQb&j#0L znq5|J#LWNhfSbj_U#2GD$pzj2Ejj|3IGYbL>Mqijw_Lm-3xw}XcoGe#7`0y5&{!=0 z^j-udo}U3>%WH|0K&ijXfi0Jbf(%#?582eHR?q)5`PdqyH2oyS%0Xxo;fAW{_cdC4Q>#X) zm9Y%^V^j);%f-#(ilYV#z2D#4i*o@9kJ+TwIM4QMi0)ME_gtZ2=bv6wOh?nxlrjSa(J#HT7*Aq@=|D;4Fy* zJL=31$5UjYCC&t-l!r6^+)Et24R*M`E2q8@2;zf#ZQBFs0i0iWvh{Fps>2Dma5otB z;@{`SVPQu1(vsQ6YVd0gfmeNq-jXEO?jXl93sHhh$T>`V0j8V}ZK zNqBevn1{m^Modpq;6Io5TnJ6CgOv4deGH=fpXpuw^nb%PXgS=+wD4?ip#5oKKm!hc zx($|k1E&7-Dr8(Uq50om__Gv0XEo9?nsv7hMS!SxNa$AW^RNJLW}Z3FGuIoi>zOsp ziPL#_87*vFmXER0VIfl`f&vekYb8SPB{}v^1KOCXI}e;?1j4!8uPP z07p{*`L5@{uioGMm^Ez~jN>1HS9EqV%H{RqwK^kB=_Qb{S@=&>ASOxszanh+S7oU6 z`Mk2&puUPpS93YEM;Hj>gvVe@UDD;$ zZ?Dx2_s>=E)-t}NtVj_!3&O#YUcmA{uNUHD@6!@}0=GB>nnAC_endeUYUVj10&wSt zo#Byv`nBY;yRqZbQfRB0&u2Zp7uS4!BeqtU@Q>e1==3ouScJEir*>HKxK3xmb2WN8 zEF;f)HX;Cv6#bWcXo9EK2KVnZ{*rhlA6)YLx9|t6m&s1Ya90P4F-7Jl$e*p&LCR+1YNZ%a-B{SY7)v|LG&cN{Sx-~t zO{7B22XgJtO;cjQpdbwD1IoUh2C?BHL2_g)C zYFuuVY{|xkKTqP15%H)T&MdSC8r>LE=fe0J7g=SX>hjBCMBp1-E!qed0=X>6IV{K} zTm;05AtXMN#Of%Je^$Th=I_Ddg;DK*%i)1C(%-HeT3dxOGDas|ON0=~VL}LXc6_Qa z;YTo~)9zpayh8%v@+}mO`Fan={&EDDy>m07C#76c*HO|yiFDUdT3U+u__MDBO`A3i z+qZ8&<8hJ>y<)`**zI3U}f|oCYmm>h!T(I1Buv}KKts0abQDgs}07&>oTp98&DBMh`SrhEhQ>Z7GOLeA4 zY**2lPV*WvsF=F=@j$i<;@1MXkL1Qh&m(_q8|wpPM;EiUTY zNd|Onh0u@^sM&8HgVpK5y;Gua{pemUx9>rSPJRjbu7A>fOZwF?PJ52-6EC@vzwN-G z?faU~6M~^PO~Irm7dPLp(%G^6(<~aAam%=H+&4hxn0!h#jtgupNTV?R2AZPd;L&cU`f|vg;w= z`40#SH#9$H8MGWGLhuT^K6&vPoN$q`jg~prX`l)T^62Dbt+yd8_zm){f2F>R9=;UX z*&o1mG8|qXkxN5hriFk#)E~yu*0n@zG5&nJ09KQS@~=~GjzdVS1V5dq$4gt8vF(s> z3Eo_mO8vvyL#D-n`zy52xEUJk?hq+f2TS`U89~}Q;`i#=Uf-;2B8xBd_diby+T{Cu zuu@AG^_oDg8saawSRulAsi0T=n=eM_TprBIucKob^36?=3b0Zs!FUP3%ife13o$}V z?yF4r{7?<{5eupo7#StQvSA^ZnyBddSiYZvEMR)eEezpEd>hFa<8+8Qbg_vQEe1PW z2m}evxnHpBEy(%d08W0n2bnR!*!^dd zD1rDn5()bNE)47?dNjP3i3+%}5{&xh=|$fytRE4K0ywp`D9R9r&FDC*g&!82Vfw_>)hMddBiAjFd z=el|=ZqH^ya|mP{Hik>Z*mtN3Y>geS%o&6gqoZ5BmVR>?j9bb<%r1%dBKI@`@?@1B zi{98x_erVV=(v93yGlya%c6;)eg|!~+vUbjx4ea%b%$`}ySHQb%E_HSh~gc<&vya_ri>q<>A<4@ z17g}w)9eVu0*3TyZaw1@NlIc#>2aS!;h(^FHv&#GAPj(a)o-xYg+cpsAywrNh=+$j zu{0TMKBwJlNmp;dPcI#T&E%wZAuFC7Lp_P#+**KFHZcov3x|Z`jg=!hv^*)Z+UdDm zXkos$mElUfloAcz1x}*xYDqM)jIf?ysvOu7E&`XO&{E0s34_ax5qq<#8ZSjG#I@l{ zEDKX2xSuUL^d&SnoOr3E7C+W%VfFaQk|ePJcSMI`c~~F>om?#It7E**f{cZ?oT|q= z+Y52DoKdF{NcbEq9T|liCd48|)%U_y&o}w%tTw}ztA;IK3rD31)H~vIa9FhTn3N!M zgGF>4OFXREGCtTOgp1Dsi>8}ObMi8H9jeO?qm>Gcj2(Pkbkfa$2XTl-{1?m0uVPO2;&zg;Je)= zc>Q<wrBbt=Ro z&h(_Sm-$FWhfh{d29zxtVq(Z2cxBI(H+rltN|d+_4seu0sO}#Db}uHz4WNCfzd1z* z<8SaC_|9RY1C;$w&VsBXGKBQ9)klG2UjkV_`a=?$APoajF9VWh0WlK+$+-{i31PP8 zDmD z7R-lgq5X+b6$Y+Ifn;Rc$M|-6JzglTp=R-u1Em-x7b8w2fSALkg9Q?X)6(l{hsKCk zOKYhCy`v3JUY-~DXsAChhqNm-FCL_(`J_!DZOiHSd|xU4zAhU)4hvb&%!7~)()xk# z;``HqhEq)F$DMnDfJjO#?){%%U8PVeFlOvnq%9kZpyg+Nc7nos6XyKi4tlvfIxiJ> z&*-@}l#nO2uNUD42B1YO&C)tJp-#Sb^Vfub#02ucpet(*Q1v9fo3*E+hE%!lis z{V^ZeaN!PEXi4X?QBinhdG}SwJ%ajNV8f$8=`P;`B-ZsNVD>*~@RY;j!Q=y{P;O(C zix0)AXmCScPkOB>)S=)|9m;YvFtnI#5Re6n=s|&)dQB<2Z6o<}dH!Ge*)m1n|hUuDF|^*0*}bc1zwd5Nnch@ zm+b|80=_kQ2&N?&o3wPBs z=QLS_Q(ij=Tt)94Kk4`P=uCK{tR6Q-2H~<0znA%swHg|lGg^M}m8D)t=$tNmTcg1z zRgEa~wY>x?J{Pa1#b8#@+3gtmD=|V6jek8+jdynxA-~QabP}l$;kGI9SUx%$(t){D zyMDYxFk>&)(~T^0wn;d)17eG#*Xa?c3`Dj7_*240RD~JZ&%Z!yTr4t%4nbo=I7;eV zGyz`4XCo?HjOam1ND>qf#LK~vp69BJ(?5gTL;Lr0!7#*}d?%(*!O`Lzbz`N?4v z8mw>*SHcs@^#51cxp;Lkr`UaGRZ| zdHw*bZV#4n%`mz=xPE*L{&i(L-fR{PaN=8rSgg-JQ>B=?07zQ|M2rA>pzP9Wa^U;t z55c6dgDc=*>BA%GoNUGVDVdkpljqwS2|6S!ufth z0~9_$oF;N&EsX(Gw09gy=)&t)j z!_UX7F(O8RwRcVG@O?dAFI9WA{C|_nO~ZQlY!)OOHo^tG-cQvegwnzHnf(=?1L;iJ z^NDYFW9{wl(KOuYPb@`}Di-G5HMAr-{E4ycrqSO0^--+PtU-{3kG)UKgrJ9%ZJO`% zU^!Y(y)VNa8Vzns(!CRKJ6-tmneS;hO<-KtgOGaaTB`dx7b`PMQ49}4L_GZY*BJ;9 zou_2q&VaDPCw~GqJ_VQ<)h8q&%mT*H75KSchx>BN@lt9Ot_eTCDyhzpA4ateCY>D- zNq*wv;IGAWg3$!hw}&SNAZb)65=VwY+#-RzGn1}$cYS~p-!Mw$!B>sP(hu%DdjcgP zZ+}`1)G@(S2#5xjyhp>ky3?OEyq^hI9pfV$cy%fyZ7itvITUUIzPW}`Ov@vI)mz~e zg+jlf1g5=A)eQ;8W6uc%J6YE5wM2q=wtvNh`3XIG-16R)aC^MC`O`z#Rls-#zq(== zRXBA7yT^ma@+zr6zA`}RqzI~9?X8mNCSviGl3MK7GnF6X10?u) zWOA>(-vG`8StQ+}HsIZg2JF=_WZU+!sYsKYePN`(5hGTI8{Zu&#|OJgP^I%P3MGe1 zamTboTroW2k|~4kDR`Z3IBP9%R2ku{G1EX4vXMn9U;YUNsd7A(Ux*U54wl#`2;$-) zw)&qil5Iy^Y!FpHa)N}=aoLC%p@JYx(q}9=PKVp&LFU#<9RIT%%byqxsjvFTYc+)8>hJCdSd0DyO@VU6^!@H2acuc>%jyi(@f^h&{#-$qa;yI~@dvhIK z&F9{ebk+eE@h}j4@^Uk34sPaw)$1D1<%9-S1xxljkqsZ51_{#(@Rv9sukugI%)27IPA zL&yR)r>G!54}&~UjTP>1E9ky`Y#{E7WaEg%fxoKcxGu==mtttJ?`p)`Exn0OF5GWlCw!E2nPWiHcB%aVJtG@+L0>UKP?*X zHW*Q0bJ36)o7YQkjcyMN9uJIeFHOwbm*!U+9k)2Js#M+T^#eI@m)8ujL6c^MMJ5iuTysn4KF8cWal3ki?g3uB`lx>_6bwKnMLm|MHq z4Y7iU1rPd-+SL^n9QdIUsw64GlBKkL;GM&FPOga^PydA69}dv_3G;?v_N&)})6sX~ z^+I&=3&{4pOg(l9tjSlvIOXr~3OW%4)85OH@SqJ}ex4;e;!ILI~HQ$H_yfz%MFkPA2SYivjuqii>vp(6|n zmw~M>2lNi))>$wrS`M$q0bacWSBSkh6)8Y5%iHYsXz+Mpurv3#zEsj7KGpOQvx82~ z+JnX8rKx&N=J#!tYHQsdN~V&HV5vfce?%yHgg}z-c$#?+lMJ7JD#cjdehj&h@scA! zC{6qHK3RZ?m(cJmPo@s+5sEh3u0bjZoeZ3;G2@5hbv;5bx({iZ&C1zhddAn11axeE z@JkpfG`Q^j)iCP3&{SDzLaj;T!2ElYnn?|(!$VEOJ3>oCaRRg636uKF-=3_S&jizk zOyaTO-q8T=yf9ewP8?cO2}vNI5@h67qToTS;6o(i_PC<{Z1D1>&`){_|Bk#CiN!zT zmi%{V;&jmWmqR$>FEEe1gZgy#>M?k|lrSW1vry(I_YeF~fvQ|1B^ld-MdyUgi3uO-K_>z`|z$;G%?8JPXw>pCPC+2(r4w><$t1ygeF;mcs0`Yde8i_ZBt znvTW2wcbxIP73Z<@+!Dcy;|&O#^HA*;cr% z)!R;)8p61XzK+GbSNnX)o0pD3R5KNFIlV z;Ve>!E~?NLa!r{XZfLD8N^EH@WOG78Hy3@J?32gH-$;-fDc^0U38Ew;AsdA}HiE=F z1W9-ZmiTWY0|bax2oWadgL4jT`%p2TZY}XqqX|FjtoTlA#!`hCw**U}>JK(8#Bb8% zz&A(hur{*+7N@^2oe(F-jbp+wBC>x5F!i-_++lIUtRrI+J9ITR80t*0oj8EftvPU- z?J!Lmh4?W4m`yKcqbiJtxHLHy4+%s-JC!T_1ue-%kIRGo-&a6gVMW@o0K70S9?xzr z1u^FMSFjLIFJFv`-~NDItH-t{zK6qPNAwkbANK*Y#sI;131Ri>)mXT2;Ta(>7n8J? z;PlVaV5|qB7)22>1ogqsYMRf2Ze0<)l~%~>*boov2PI7xOSp^HiA=ar=wJw;+omQn z=TGTwV9P&&3TE<1!IuIfZv<=H9S{V@qPM3Q4G~V{aT*bwuEexu8Ep~@xh5+%8<|A% z`(jl{k8I(!we)o$aRTt`{b1Ym2>R_7;M(uHRD#!;wt+ljp3aUx8V&ftV8_Gh39Y;h zdkd~B190u8lQ^toy0P1%L-0&uM5{sP)a7z~oxLA!hXnhWb5HDncJQ(dR zl$uyrpi)71v;+xe5B^c$LimbNaBx}3x7bi_b)drLK&{=0>_#IF7?`rWnM32Ck_$1( z>_MQ}3Nf1v5r+*C4V&R0fXksJ<_azssvvoDsK9Ku2m8ZSun~o$%Y!N#^ZKNOd!Nn( zjnj>5<07C6^pnrT7mwe?@_aJT)V=#SI40&?`gy}pIGkJtk@s;>JaK1gy6-E z#>ThH&hRdk2o%lUrvVZtvSS+|l<;T}NYf@DhUgqNy;fCmq?FVDeGHkbKxCpBE~0jH zxM8=ta4f$OPO}SAFAE|Tiw?-VIR+@E#K8qV8cHp6I~{B;3-TZlhRuq`;HiO;DgrxvB~s!?VDk1y!Ll15J@OW$CBHM_Qp9(*n;@S@L_{9@w1jR=0MS8#bq>&A-_Qsc3P~&DkDXcn%6zOpfxMXPUsP=apTjKqjCF>$EcF_?{Ok<-nkje{m?{%2MWn=Jlllt6s z)E)HH*kOQRyo3-L8A-P$uzSEGu0McyOb~EYeN)0M85d52D@fXxZhZ-agMw&k*8qAK z=7Wr%*snY{-~__tLd*$j1ireTNrP^JECLvJI}>goI)AE=!PBA;5-X=c1MR7m-ma*p zw+b!?tD{5Ce8RA6fPg6A>#G5W5%}^dVCC09;>;dB)>|V(D8Wc3Vw)Qcm><&ngTSxM zChQDhy0ELu9r)Yupffr~^4$%d7D>HUvUgQu*v#lwgRRbhOhAW4E3mt;5l72(@VY&) z9ASJ{NVo`Fz@aL%p)xVun($6l5e_%n5h&(Sa*^P%gszccgoGr)G))*2AZay$$TV3o zR4QtfGCB8fKJJVT!Rn}xvknx!6J-xpjE2s0@$;e_J>Rt42nn z@qfo?cnwL>i3 zfBWR3-2`lW0yz3PbDzxvWyboY^zn`}k>!4p>+#Ko=xP&Qh>X#tLz2Id)UC0Cr zkpP^y$uzl~5NDjrBbv*BiDy{-TgMQ5V+Q!qt=0YUQwAYp={RJsIe>#dW&;t)n116B z%uG|^-kC{wV{0Kzp#5lf306-%yZ3dpkdL(^l5l-yF&dpN+?i8`YP%D6MW4Nm?XAU8 z^_MyDm>Cj)B!tW7#r3$V`Sc*P2Vzy!^KVsTFs=&^I&Z`xDLXD{G$XIph`c%@Dzz5W z>TPtZ(c55ko=KAQ1_=2VBoQD;%14k?fM5w9!7>4q5$QtZG2yUL5NI3UNVHH z8z!3z4JJDpjCR!1&4xOI9S&bxPDst-1~c8rIok5QlR{+}6eh!8VdtNxQ!?pap6J6A!K|-h{YZGO!_$ipTovg zqoQ#8)C9x@_s#iRcZfl^%iF3?&OcO(`cflZL?a83c8d!xhntdxL|sR2uYPI_1U}WE zw$_ZVpJ^e2XahrLL}BXHetVFr+(wjU`WCrPgCIx%osx&R%SIw*P&oA&lnsi)b(zJu zF-(bNsz3-YLSnHAA{n3h-0%LO04H}=p|QdQ+gAnn;Ob$xeSH>chbYKNiC>?%0yjMJ z4Xicw*!ApMY9pk&=ZXt`_J-SWN`c8A7p}d<1ftQ-=+h;y$)FQE1k6U6i7;QvRHruiyc4JX?vYu zEVkJ3Od;bZJ51-sL%DXCl~qt&o_NM{M=yxOsl7Ecg?s>1(nf}i>8*h=nLrF{L1+^Er??h1b|?N`SdD{vGhR!JfwY5Am38-g zh|I6I*+=e5#)g4?4nz_O{L$8!DG}9#sI)-j?5?INH?BjE>Rm_R ztgAu9;t^PI=U;l9L?9E*=YGqf`-veEteO}{)hUWA5}^Jfmxgo%lo@EUVH1cdfsk)R zd0-IzUSDRU+vy-g>D5n-ZN5)Z6zj_jbYM+ByHLVqzJnGET%?^@ znOTfHGgE$heRvRFNQq*|1wtY&`xxF~*TMPQ6L4r6;61S&vVt+dtiJ=JZ$W9c7RARJ zVAeZeG1%!XQ3|v)ktZrcLgW%i6aq@>li!Kn58zXRG{8ral6_@(>uZXnR7Q6`M7&3! zOio&KTn2(achhI}OmN(Qd_5QsQ;g8lSXt@@93e|XdV;&|Y1tUG;?B18dFy~ygyb&7oc7 z<0i<2TsmI3by7S+eT%dGw#;7VphTdi#tdyOvFkC@zT0AO&P&E0xnyrR$ zdj*|5w>428K+nLE)ksa_cfx|duztebf^`ry_{vs9N?_`vz?fTm-Bavzl$>aw1Bm3& zXP+?CJ6uQ-3n|%lYt&gnE}}*OH~j{DvJkNAfv=VWw`>GL{41N?0U2~(5vss{OY5*z zW1!`fy|vQm@_2DyZW$dUlQNB$IAU;Mp^8+J_|B2G9&m`He2knQi~TPVmZBiq)H<_7nT^c1BX<2bCb8FH2{nAb^2d&6aW5+j4xp_;_5E?!QUJeWE z#)^>_#2nva@nMMkx&q(XDyiQgRaLk=a9G*!dS0Z@iQwm83Fj$b!y~})uc1~vkKDcf z)X&pFj)_dRTHc?3#}G&r0tAGLnw5=x0ot+#1VjZjUqfOa@p1;pL~Zx0!1fmbuTNby z<~Cr?a{#|*7COoAO^7Bp`F&ZS<*^*uMdGO~4F#@z7x?NbKvxE=e;ByxgXTZe@sUyp z^_RKu+Fa0leF`qM4YKKe59@$PCB|Hpfy@&|aHKM9{vZ?A|9di34E=ZcaLjvcC-hb) z9{BDUez|8dC6~^ISdjp~j!edlS;aVFu;8PrM!KN$R(dQ|oA)M&jRQ^9-p!CpY$=Zt z%4F==lPI$?i+8^_>goNz6;x4Dk?U(adW&3aA{Bo)Qh`m`b*MG?!}MB$RGP#EixCkZ zf+|3W@BrdlD5Oe4selVHQMS`tZnKK8yC8~do5=~a#tggJNeMx6ypjMxtA#4F&Q9$w z1Y*WAgVV`#g0y+z0V29hOlm!rGuoWUuQMXI#)wn3gkUt{RE>f9LlRVItaKwp9ephp zkQ6FqNXKY~cuWhEBUHe{Gf9!SCq{+$D(dk`Wkah#7y?3=6GE~#LB6|#r5gNrq!Jsl zYGCnw4uTk^7`IG{!}8J5tw_@T2tq2ZdF3cQZ`uPnUrw*MA;gxT$#O-^rTsAJkIBX* zTZ_d%zLAG#2P0fLf%upvPBFd%*^ zAncyVfmqLwG04UbPtrx(<6jow!<9+6uBaU5C^3$P3Xt~C>oD!}{TMlV6dFIxM#$|$ z`)~C?FM#DGt>geM30#UP((V&Fc(&Hlm0p@4eF42<&IS@3;rhIkDm&OC72r%8@M7#O zxW20ZujUXO{5KHAVg~G9t`O#-H^DM|HN1k}Nnq>kP7LOt|ga zQ*{3ewiNLmHWQ>Uw*7#Sh3}t0quGhSOo+g(<0H^hAZf*RiyKmL$~%YO1EU=n%^I#DbUP6HX`VY+2DFDut!gUZqY~QbWE;q z%W1#_D^?8d()PdG$A2xtwn8mp0tNVf)!;4-#z;!8>w{vz<^gMv9NhU~o%=tp7qtZ@ zWNoUW-%%4rULKBw(aLtyq<_2ReN-Q0lxK5ZyBKOi57S zmBp=zR+`TJSt(U0vC`!<@TI%w3kj(q3CpDaiyrJBc;{@Zr(seZ;j5`ql!o*1x9|X5 z6)48f&*xGf$@ZWKW?@eSJ=i!L$8gYL%cuwk>bmbmS zQtwNU?tKB06Q9t1-Q3qvs~q3zTJmZgaQ$3GYWV4W)?hg}GgV-5Sk2e*ch`Ij{t(7@ zIC(-4hWXl!E%_Qe=_@V2dPFE5njX{X<04*+PgH5K&B(MTw*^aZZ)ndFeJ$a&yW#%5 z)*t2)%m;UIBn>3&DOfxneAr;Z=NdDdzFA=ukAp|T)2!y=^^9x20+a0!w^#0co61qaejas}+>&#AAoVc&NZbX?}NwcXyu4p(5z68}Qi zvGp}5I_NJy?jvCc17L*8v zMM!b&C>8Aw&n4jILV;M6kPyMTLKEtW&6s#iH2sa~-<%%&{K6@CeLkKX9t*Nyfo~({ z1RwGc0hEz`i<{2iaou5<=1=5u6?g z+prkiAJIB!Psn0nmRv~7=Eq6+;9dZdjAhk8P`VX@vTfj39|GI1JLlK(vbk`EjfO2@ zHf$-2;Uy&GIf4ZJ?fRk&POBS3=c(XG5Mot{8m<679izQk=eJSX&E4-ceCtpn&;cr_-->)(KszYZ)G z)A<(#&47Htv+zi}H<|AaPX1X($wd|$h|K8RWQ7cdJ4-GSI3vbDKl@b#Y`PB|Q#ArM z-UsdCFM1>iJ4L|7NHHJD0xlwYF{v<`&&78M!8ApAl$cMy16GI97?=9Sx{DWu%h{p0M-B7~LXBpwi<;JlJ3-x37XEtMY_gB!~&@KG8}N{whuy zP+MSxy3$Gqr88Iiy~FB@%{cN)b@QZVe1s5TVmsbWl%iG$+}&ux;@?j|qBWy%!wICX z7)PHgJNyPE7s-H(B)Fa{SSd0}FnY@^@LJtqiQ4{d7p4bMg0Wm{M|Q0lgTp(oB&CyU z-$aiyqH|uTB#HUhZ`G*DH#I*N94kiJ)DWl=+aC-PPn~&h-h?$P{s(<&BZ@a>oio9B zIzBl-R2v>Tk-Bf{nPe*NBWFVq)ZBi!{Vak zyWQ%h18G8F>uqj)-)M$G&cT190x{E9s+KY#h^kQ799Hv2-h(gXfGcFvGHYGvXAlKt&9w%wON&q|bl zGr#Qw?Q zQA72@fHm$A`-h7vOx%Pmk>SZLDxqDNAi)9J}Vh{^Yzckn{3?w%f)L5N9R zt&MI?2v3ng&@3ABAZv3S6yZdm0fom2@IR4J@fE+y`&B-=JD!`3F5{&VUvAPP9uzkGBgrk*4 z>?zirK`Mqwc(^P*h>i*3lwBj)E+oj9qB_@r+Cmc=O3iRLvGD*Mn>7)PL~%IcvM`7O zc$7#KpJfh8%c*PisL!lGitC{*Zb0;;6ij^la{qhe)u4PQv)J7dq^*-jDo(bs*E~#J~Q00;42?=J$yxY=GYFp=9DLnUMDFBzW+AgXJ(mQ1k~x`Rl0Q zgXL{akb7AixD|15DO2E<$G|NKfmf)6m-rZyalgwBmQ4eWxgK0?0l1Ahbf4vMfnU9! zZnFKaz?QTK=3%$Mt?YW$3>j-rT@_2)iWHxC;U%XV4{1#RmyIXnEPOLxhQy16TMQx`azHMOw=-fOM&Rxe%fK;B&e!4@7P5A$Xl0@Q<6JT+#K^+W~Zd+AO$#y$Kv{ zA-!AeRpMFCt$69y#}ME%PQDNzK4>M!m=!w`M3OfAw8?7=kO6|%H^@9EsBQpQCg6|9 z!LK_8)zMdhMgQ0KQ@eQ0YzRAl1g*a%1Dx}vsLMSH*gcTdu^?%q#9Y285Mq&-nqHIA zrmi5=>xE314WrG4N_c2_bXZ#Z=0!*I{pRe$6Ct+&YQ?PKXL@F~hsKR+IsxLU#83^1>2T6Ru94h5HQ4iG5iM^a zAf?3FG}_ZB<%+E+E%Zg~oz4nT*PJ<=AM9NsDdsxt;|< zs5yBEUaJe-!$t(J>b$zDCy{Egqu$}fc!i$`R$bG{HX&>^FnSrV<)6UePw2p3vH1bu z)VIL==Yhyk=nrta-1zdgm!K_TuIVe@xDCTDV+i_Y7^;C^?gI)pGxxb7VBWtW7<~&u zdx1=C+?WFwnb>mK2)$tlc)|T=g5G5;c?bA#7C4p$M4kEw#%a%<(Jy)L3WMgyd{~b+ zz*}JfeyTyx%^BbZ3ZYu2!Vt3)-#mMOmf~mrUXK+|j-l7{iz}2k`hPpA^~FoutFZpQ z$<(W_vv^IVqRPLP{>OySX(}h~F6_m6sJ|-)EWR+8=~0l+?b$GwPpTU6w`!&wnqYZY zAf8HyKv+kK=-mKmn>Xjw;kos>w6wPg;}ev)VSF5Br-ydwH|R>4bJZy=ijFs+JX;Nu zrgeEL0mmhVO66Czk6GlP3n#>*RwU&yUbRvlT~r}`2q{@@87MVvg&gKN_U3>Na=wv} zE~A?9%_V+raVe3_rPCykt8jmAt5C6sWCbFV6^KXE~oo>-Q9##Y^=y?$)5j5L* zxI7*@9wJ+v!G_5{YtG^TcXGA?+Z{@VmRY( zA~_#1#0NN0MaOzgP%Y}XuXI@K*!#u?R39xy)zK1|>;2bZ69U4Nt=hYk8N=uzF7W_X z#)rZjABwF3A{4PfJ4!p;N!?{kg zPl+52B+a7U@vNvZ;POOWBdWBeK>j8mZ#_`F11y&fqEkOYl(z;Lb}caD2`2cm3m{)z zT8s7NYgH;_9w@}878C4pKJKlwV$a0jPT6eq2lSL$eV|185{6vPsH6;rGaJnQh`Kta zT&QJZto}L|*33o-Qv(rv^I-G`=r@+axUGWvDybeGeQ{47&KJl^^RX}BUH=GJZf0P) z(K`i?+Hb^^AxU`ax{(*|&^%uJ^zsopa1qP-xbE5U9j2fj)|+vAb}5#JDRECsXon#l z?Z2rPSbGPM`7Lw*iZ_9gH*|O{U1-=n9y)oGwDWoE-#GzCnF0JbIYRFk*5mJg`5U{C zRb{}H;Nh96Nl+~CD+oOv4=N56pm1|03O1j>K8qJS=1io2JNfK9>ItQ*XvAxSAMEfw zM%_FUm%ny1RYL6jsgNewHNoq0!ckidM|BmPjrDNrnbO0$yuG6Op@@Jn&%JDk`(#;ILN1W>`YI-zaL&WL`~I+57C%KaTq=)rqiBSJ&Bgr z(nH@J$C_hR5b-$J@z?1H?Z8IBxU-Uat`UUXF%*Kh-cM#taRWc+ad%iz5yWE&`;1t3IJp4O35+eh8Pl-c_sK ztS;K~5nshgNkN!BNQH@s!4S3Z5bVpanVmH7tO+d>o2h4JQUIdUm59j*LU5$?tfW8r z?bU^~kc7w~Qb?M8p zy;>8N9%lp-Eg@htA%G+0Vk`_%U`#Jw*PVjL4V+pJ9C#Nf+td1Q(c^(3%Yd{+fV}6< zbxJlK{scJkiNAm52pE!a!o4IV=bT=)x3>3ocNk>w(xi* z$a3C|+da&Z)K#M{>;(7J{@UhM(FscvJ0uqgzOU7w%I?G$)oMH(caDld(g|Mv8e^VJ zCjG=jKXN3XYO(y?O<3Ga2un}ln;H#XDyhMp(V=t#ce;X;Bxw?Y%Ta28v(eh)#C)`n zk1R4NfCr*MOi5y0P6buCW&OAh#%hM}BQT6ir?-K8HYFDch$qhMXRd}oE&|tA)=tP} zr^ODN-a@yiF-!>uNxN<$7d>_xta&-G=I6reJhNoW++cuEE`l^rfQ(s*sM;Qe@Szb1 z9+H6SQaiG?S3wZK!*wmm#o`?dxkxbM$!?R21fn6q^!v9L>Do<`Cb(*36eSpS7ALly zYQX%#XFrFnnGH;8Dhm*gIJ-A3339mXjv?6feF3JdNJe0oq{l)&@_s*x@psJY^8b?b z&$Y*y-}JUA@g0(j1kwo+Fzu9!C( z2KdW%;KVnKqR~{x5OX=d02A*4Cfwa4=U`9c#J9Vf$;I@=V=(QpCH_AeYngt9C?yDp z%>=oYCf-Mwi(WY%kKGO3FN|k4H&hJSl&&c;`YmQY4dng?7^@-M`43>|yfeOI(zXT6 zjRQAG1nrsvcuY<-yq`(OPolxWh=>s^4??SbyMVwm^U^mv#HS)_Zvq5(r? zVodV|6p;nHbt98#|JI||{Au{(WG$XplL@VbQC1~~O7YAU88pSar{S=u68xWQdKo_IW1tcMRYDx%F0~n?-G&B_TMmq}XOf*cUpx#LLi;if~C}zVQBY`Ja z2sZKXZ9y)2BwVmu9R0PdmLu!O{mA+GAhf0RSp4>CjJR$p{kz%gMd*T& z5NXYb9F>5GkqP)RLV<707F64uX#TqMD_gy8qtk^DKJ)%55+Nc5JbIfd5z^a15)m?_ z!V9NRYzeywIPxi@Sk#yMA14djqgDYUZUBNhU&+!X1jYe#o&_d92<&+c*#9o0nEdk@ zravJIfn5x`Bw72&qfy|&@TpZu_rM=Fb?3NhR0VP$L>doWNa}H z(n%3?CEjwp9T~R-V|na@2A^<)!T?^+qu6c zfbALsUM{Icox_Pkg2b7FQI?tv=v+t) z_p8qMVgV*UxTsU_HF{wjRoui63#Ozq+%qWw>9RTCv@#?kn@iFKxlqLT{nyC-%U-;` z`F_+8V8q;5n6x(k@8I>Ka^0tpx+0(m<^m&Ep(j8HM*VNaAfw`r(xeAR%IV~?px%Tv zM=Lu;Fj|f=<*9;%0C3wWZ&z2DXc;t7EH+IDuDGvfd=m+(kC)<$CI5j{V}c?k1ZfMp zrh5Lr&G}UD7AWT7FH`;M*Y?2Tu_2!w3++z@lr*=O>U%}S==OT?SY9Q*tWneZWmX4F zZV%)=U8YC~p%K>u=~ps?{k?B6gZ-T^Gn0?8tAX)%1CqYsCrEzpU+@2z?uVvFVe#94 zVXh&Pwt477VB5a|yKjY`Bv+EuV->To&|5HUDTiCns9ge=CV|xp{&am3LOF2Re}M0A z08f)o)5%*Z?oVH6;wS`Af59Y7tG~)cz=C+_gf>+DyaD{M2tdsh`s?W?6_?M*nfucnz`B$&3cb7BvR#)Qo8 z_u%Mf+fkpxkb^dv5RF4)@NSI;$Sy^e(TZZL9XC9BIbKfnS7g}pDp09zojlEFu@EET z({?0A$fu&_CIs`jIMT8%zOR7HDTwNP-`jw-g~v~5Ixy}IVCV{F4st#qQUJ4`0mj@0 z{Q3Z6WkTkJ?@t4+d>hDUv2b`6kc979s|Mlsce7y8*)g(Qh=t2iFk|E;ve?%J^dHt` z00X#06pRG2$&oPa@u?WMRt%^Z&jt0TfUlPWI%d_(JMt#fpSX$&p>}d?fD3fhsiz0I zT>%*gHw|beFHbpZnZ-u69(osZPOk{>UI`XOU@UO?>%b2;F=|G#vUk~w-Fitvq8u?W z{yV44HVl$>e-J@POQPB&cp$cILW(WqQl$zZqX@w$pA*~W_gPb{$GX>!(|zK{7n{*J zLL*eo7`4}VJ#ctENS-s45{yKVn100=3|TP|agzs8Z?A9O-UH}#NC=U1Y4yCx=T9W% zW92`_wU{{YXc_dmfG9LtD)@ffwH@Wf*FoyK3Ufx=5zpbCqdLlsbiY0IV&y3f*1wa5*mNc4-j>mAzr?l>l&FFz zP)Z5Lb$5M$@IC)VKxF5x!NNuhHsvs-(zj1bgshXnOyZHDF#O4oO2+M#5Zu(W1S28t z?>|+JHFb>oc50v$pA3#~*M^`+Admtx{|1b@3E1)+ko7%7)b08&qc9kA3sb%%yRh~Q zhdNQ_Iz+8W{)cZl|<=d=Uobm`Tf`U6Ox9g`kJx0a|cHBz#e zlv7vaYUxHwtVx+}+W0U!o@rWO>j@A~x!52H-CDxzcH@EFYFgEO!fL~bDjQy?s>g7d z7;}Q;m>Vp|V5z9j5xJ)?G*_I`&H#4lq)iN`-)UDs7J)ZD^))iT-wU_h z35SS}ZI4}n#v~PtAuSZhK9K+cDSK{-*+Fsy@wkW;@ewByP(qRTq4uV_xJO}D0|(v# z4!lp&(fp66%x5YU;-*}GJc-;@cu`h}D3E(g?bDz3wVEU7!_PtXt6F)2jla?n_ zPfl%>4U)Y&ct^ChKN!FO!FWlbs;Uar)lAZ8lW$l{kEs3*t=3 zLn}LXztVV*7i3CAXwWT{HBbh2zdZGuD(2db=5dfU2Dl9l)E+7U zJMPT)W=p-0DETmJ95}Y61j1m(K)*c@#bEYFyO8rsCUDslTDEecpc1i4Ar`!M3nIoR zfhS_F&4xzCTdKH$Ni7Z*csq4|73@=^D%XH1H^kEP!6xYa;m19K0;?UbRYmE@3_?iut}sy5*V!1z42P{`;L%ZsucHHva8X=-C{VCE~=V9km*VAY!N-A%9K^3U!#E1609rT2H& zH7BIbO%Qdd&G8PG13MaEJEcKwc6qlFrCY+`@#3#lTACP2FkLFZODZW$>PGbNY1a;T zz@&eIlW{X7N8f`me;rsPeR=O2@E&*{)|4w?9dZL)L20-U81uveZ~_GgPLG6(qlM+W zzd@Y)ee>V#QIlYt@^`ou@j&BgDNMZp*T!1LCVw!wEIwstiwl{Rku zFDxVe(&6)2%Ok)d3DY$;nD^HpBW(~R7>S+5j<0rA!bMb;zlSC6vKq;m>qhU>&^^bX;lL4@*vmdM6Q)=4#XE$Lqz5m zEEW<*$K%^^iLkUFt|V+01_^mc6Y?-f$VIw{*XkT4MkvE1J z;^QAfl>H6ZE=FKL=3e%s%U~XPhrb`M_Xi+eFhtG;XK4}?zuyV2zJyj$*s4xKKkJoF zFBGcMc}N%&h~h(9XlpE}EUgA#d~s;@yr+4^o+~bnZ({(R!UrFGfM=h5w$)>N{zXn& zIT*DU`2DYxh&?h8p5r>2jO#w22KTZaG{3!w!LQtlfZy+;ot&2|gnss`u*c7acRSOu z?clm;-!0~`F}4SMjk*IapN-VXog;S|oNnwfF=W8yik>YkFiw6Nyqd${8Y&>){uCPK ze+3WEpB&p2h}bMTc*?dpaopm>@@`tISv_8CGcccfen7{o;;bkUAm;%FCpkJUu?1JqauJm=I|4Aai3Kous5q>AqC} zD_R8Xr)FOOA(g{`oTG$ni=-VVv|7>FrOu8YPSoSNQRn7yO!}A=N(qLF`FOHQ zha$TRn+-PH6eMj$FnV1ccy=_vlj$Qdcr0+{g@PMl2TVRO0E+{UIJisaJ{c$6Tdtvt zd;}p}Htq_M;R=Na-1BhG))?%#>xVp4`>Hc;9v6uFO%AP(qVHSvXnNXA3b_#nEObq-XXG@$H+4u*O=92Peufvx9sF1s7tUZ~(A=P^0Q z$)vD;+FPNN-r&30HkUL>EU(to$Xh$@F0BgA|R74az9eLhur`Z^n}u2Fl2$q|<-n}diY$;d3JmPk^1J7;;b0I*EOLNr^2>A11 z2+DUrSoAyKc0fP(b*3_*6Ky;ht9v;v#Eg(!G~{AWV&EIOgs^(`YAjs1u=)Os88aCF zjXsnV+Y@N{c`BU+^j03MfV3ZePW@yj4SMnB8KGQ|0$%8V7h{LW`vchU7ur!kAP4KZ zAE1aCPgi7WOUmd|cJe%wV4Rg6hM36yL)!jU*+A8EL~yYxDW=)vxo4mPuKED@WIj0N zT14f24C9o4oO9bS(cnaOWg|{H+}&mkQ^!ug$Ft=;Q>#`!IFnYAvo&XNb#;<&R>_I;Yc|OHXg^}H#cMOWn&RL zv3+l*pEs6Jb%#vA#ocoUQ{UIFLO;n)&uP*R1YMB^ZYPNAjzIiOo5;oM!j*U_H5!}? zJ?SC8ZSrV9{}15cd%)4p0jn1L>VtHHJPH_oEiiZ~5IU$=4xu5h3Idr3@*qBN^fO@3 z>r5aG0gD5SzZ0D4k3%6izonLq8%~lg3v4kLVGB~J9mJ&y`{c(V`)(H{d_(iUVNCqb z0`JXXFl;P^aYrRa4jX~$vMO++Q(-l@kiSEVj7OLNtSeM1tjp13%c**Na-bHgrluiC zdhQDrq_x@_9f4O%>nM3Yy+tTnW1R`EAM(Ji%Y%q>93oLR1ma4twpBCZmzE&so;(5w zN&;dg05Rj4jVowVb#hs-2cdOFm|Sk^SA1JkNRI}tb%Y9y1^2AUrsN_yoEMi4!PR4W zC+R$Xs1YZ3R3TwR2qrE~M8KuyRjvXOQUUK$FY3#TsL0hIWoT?GU*ex%K8%EsAxNJT zfrwiDqz(bVBK9bbWT{h1;VWl09Sw2X)k*AWz0EnG4Uv@9vTZ?x}%g! z5Rs9QbZY{;FCEK)( z1l+KeG2bVv-IXS|b#|1&jbdL&#{7(POknN-oZ4RlzJQDP;lZ75%r`YM3YPH!(jF!k zeTba^jJ}nak3n?uYuJ(&0jdRUK9$%jc${u<_}n&+e{_HZA5=C{L-_`Wvs=fz*5?m5 zNFqeqS;$2KlJHE)7`q$xQUmqlIvo;)fEucoW~q_0rv}4jMbpo5=%X!^STt1mOCFQv z48`Ek6a>qa_+IKjp2>zXb=xJ{1SO6Bzr~&AUDQ?@9WkRPO4bE;4e32{k)ZHTpe_r< zPW(QZ8UHZ{;;kuS{OuqYwrUFw{89{Y0H01o&J`qdLJ%vXAq8aXDCKruMi^e+mvrIO3x#)h{uVba>^7=PaC!RLisBp~O>m2a=cJCmM*saA)d zR=4VhGWE>V=Xp#nfDT4|{;^cH|36h5Fa(a+|ppI@N1da6XX%l*H>`Tt~=}P$-L1HtM zG6>mh9V5inZHv-}{cyNNhB7_ip#TFYSD#@ncays2lk;TXCUDe3hRRy!& zPuABK8)#xT3DqIUaXN5PYoWnrrB*w=C8VN(%pHAL6rzC4=SiIAyOlN=5L{G;km7no z>&&?4*=vxV-a90Ep8~N}E7=b0`JcZXBH&4wMCb|kF#UIb0*A|_NfUCE^eJSV{PP{a zRUdcSlW_oT z0^v>y2j($8j=Re0u{8PI1|52*3tQDpY2s2<=Oz&(d6O;S!DDvPiFsQDBf+3a5tLxm z)|gROYCu?g04fg^Hj|49GX`VElS>hv5QW-Tm=yB3U@;{a0Ion$zf0AO$4o~AV|aiN zq7KSo_x@A}T^;i}vsR@yo6+|gNQeeOP!jGOIT_y`DnJ<=_-%F|uHM3ey2^}Q-{#Ya zwpf1dM5iD@!4Qlkda4j5rE6`082*zGoZ<#EHf7hfNif>-8DfP?(xF?VN0aZ4C^iTt zuSn^1P)|=m5-i76AKZ!0u6Pj^wGq|FN{}>b$QjRjXGalT;}Y@MxMgzuIlmuA%BO)Z z<^#2`9Ay&HNy_xOf|P^4mmWve(0z(rYzY$JK_)FDZv@Kr0Ea)JZ4-!3W5X$6`}52e zoC3s81LCIuk)s)Zw{8@^L?c>?Ko7{J;iVn+y*o3U;YQ>#*NrD_C5O818Gm-iR1?{(^iN%LOWG+ zB?X3nC-AB92=S<|qG5Hqx_o478gWb*jV;P?I4BixFuZC>>)NPp!?p( zU4g~n!mXbkMumnU7hhd53`<5t^;kLd?(g%FyRQ~Y9v+GCM21i%MA4;AE_Q?=)1tuR zbCA2YhK@JMcw_IHLhN5xgord5;ztD{G$iz_;ey=-QO7@*%$y5mmm4RHR+_MW)L@~v z^$r)(PYbd8wO)r;N^6_%OE_#q2zUtKawy?PwkP7l5${W`wz@rdc~23{$Y#+HmccSH@;4sG`bR#)Dyppo2YvgyEehIj>X&(ygaKN`h-nl+qOA*a@k? z!dHNAuZ7T74(p%)!LdW_6QHaXD|~i?74_K_bi?LMNJqxN6e7oaZ)`x(hT~9WL?e0L za7?&sey5L3%;Dg}!ErR@c5!IODV+XeVnLW12+PrW*zz>Mg0_jBkO)3_JQkczFN%&f zP=ayF!&kuEV8GNz7b9joql_{iX)2Kf;z{~tsis2(W2x_N9jO;dxeiGXCm1>-imEVr zoq#Xj$Lvpj5JD~w566e$zT9%`vs-ch^+|AlT7aonr*w;4BoL6v-)5%$b=H``?|?X+ zn;wRDcNF2z+&Vbjo>qzOY$0?^!vLIh@YB{g|FO**hy&! z9dza~RO_tx@kj;TUph1d$_|pUI|IqMa7r+GEH2ufwU?;f7D(CJ(*;$yFIGj>AWbA= zzW`w?;wCej!vYj;22QR4@;5SVeq%nf9s0mO=}~0>0Wpl4g7gVQoj@iLHUllYhQ1PL z%mW$=7y^fs;QNLME-w$)#di!p0AG~tBUcG{Kum79wQeCDYoI= zEV>X#aOC$=EV{>E<~o4(LDG=NU6Ft>3*%6ptwHwgYO2;Hp39Zl22`IiB4ua{gwpfp zSt;RiFfmX{w)Miqm9qZdqkq8kl62NJ+Va@IDBJH1s|NviMfCjj;+L3wuOG-2_D}F!5em4ow#VF9wjg%%ayAOO%35 zG;EHJA;xtaBsPHdF+ea5;1W?V_Fsarm5MQws2HQcQ=Q+{={^gxvj6o8fEe)erNH%T zfbgNMp5m&rz@@f93lDO91C-f=E}UP+3E~e(2(B0z!h9?7=MzMUSaF~L6$hEE=6EUG z4j1C448l#nJxM2Sw)oi)mi&pS;|fs6n+$$f9Ax2vbU;Ns%J>oiI6N-o5z1D?-uS!c z!%(S)u0oBttP1D@#88$uQqrz?do~m?tqIkWKkbL9L67LM$p{+~LtnEccx)Et1_#is zD-fnCDZxm8d#$b6vyM#kh)VJ3XWNnW<35Onje|Tr4P2iZEI2tF*Z=frtJiXrF?DO) zP%+}em_acq0Xv-#YeK0{!59}TX*c;Oxs|j!ZV;tB$KspgZk*MoPIWJK%c0@4F%TQ5*(O`4oV2K8klKf#W&RPpR zM&}vj(Ik9h;oU=VYF`Z!NA@x?dlrnjZFakVdw*v!P01E;SmzuT(GvU!DR@y*YWH9| zP}6CG(dqHxFWII4&)#`}H(9lB{LXHgG~IjBLdz<9@1e335fxCJDDFKz_vhzd{oMMw z_g)Bsh=M2r0wQ}B%4kdXo=LOk|2pTq8Qn>nwgK|Hu8@~DP1EEZ=iKLc?i;_?sIa9@ zh2KV|caOz_7a_+f5mGI6dRVk3@<&k16CN?h51a=6jEf+gZviiF6PpC(Z+BK!XlvR3 zJ-}cRp`bVn1@-+g?aR*~4D(K^dRHNyf#AFsWutq~(!(d2cpnoO8_QWM{qSqt{!u}o z7?=NiAJhjcQSoUu)D|0#>?}ukwH6@@`XWAAfhD7p@b&IOe6yzzw@yt(w4!rWjK&fr zOe>y%O#QXvYu1oSn7i;L%!?a{(;7Y2S2tjNwGzkGI_lSIurh0(wvh7q7#AYL1z|zB zKzR_!dEWw+d)YUMO-!FDz}(loW*^WI&u=(^Ehm{bCD!i400961Nkljh+%(xdYrbk5(ZC+$Al~T!WXcZ%rG?SU^bXxF_>UBnqk(PU^O%An3%!NmRa&W zlhy!iMU8QImqHS=?D;Xp+eqMTDu;-l%9ac zQ)5xAH==~zOei;)pte}hXfnfArbGE3CFp-yUs`!gswB0U!O#|&P?Qmf$^k);D8v{e z6kw)+Pb(fXWKECZ`%?To0Vu zz!u}|kdUeL*}%vffV3HG!R}mxv`b&{Iq=0ip!_hf@lhaVFpxZc&3OR>L-(S9)`;v$(~5EJx8UjYfDTD*6<hSrcAu`PV?^4JAm)mUgcU2BdM&*P7s61ALz85qVfA@X18HIl{ zu}vryBYs35B#iEd#IgO5IHoUcMePg${X%HPA(^ddvumLg>u4wk5f$t6ohIFyBl|G% z@>IIY-xkEjkswJ{AepO5G+S-7Le2hvSM2T6eIi<4*|ot&D_0NwQG_W=(jo3{PqoTy zR`o@ga1V(tcZj!7rp7^SvEs^@&=%sNR%Pr|H6y9A5~nC&$Z3G#Oap?Zwq40GG$900 zK@wCo8u0t^iY5Z1foqQj@pbIebUz@+&43A=_loQ;Q7m_J7Sd)6MvcZuTPz8eW=0}h z<{d##J~kHhB{?t_s9>tnc4(JD_R~AE3#qtBm=YR<@Ma>uFJQCUU@TC=a7IawH)C;Q zlMaN|AR@LfIt7xXdl4}A8A!r4;8h<3Dvq*>MzZ)sDiw`tW}RUr-WWkZKnM^N!&<8& zGqCO3Vr=^=A65u((;rVk;v?cBSs2kCVdp9tN#H%p$1q+eaWs%L0Vw*1g$)e7+GEcw z`G{zYsyE=TRk^6M*icd22-EvV5HK(t%O}L*hyBGcnyq+uYcBrpQfB$#F2*u7)SI&q znDZ~l_($p2%=}o`E_@lH@$(&zBb8F=vKZW-5<^2-h(}$vMvsw-rpNZJiIKQ5J_3V- zq_nci5z3S}8yGYT$lnHRd>p7c&II-kCo?b8(aXElOKknoa(uqCz~O7%RnJP-h1kDW z<9LNdkVQ=r=9Vx#0477zszFj6 znt!AQl0YHShDV~`m>3!i(!z2!Ky;UH!_c?Cq$ZuH6SNl56QsthPQ2$UWG z3U>h|`ehn-Ws377A^%(uSBJuwe$2O zdpEF(6p37jphWkMy+c|fZY!+CSeXP*#|0ytGn#IWNn=1mVGU}sOHqBS7)etHAZ5C9 zrL{b}sEN23ln{#OVJV0io{X3gDG1MqMRj#G{a(E#2*|h^5!qh=M^~UOZ6QoC!#w|k z1Ax$x@$}Xo?JDZ`+=j}6Ij;H~B5g20a_Vce|>ua>F$0`X%b;7JB z#|ZsI1V97#x!Wr&k8iC)-rhRQxFr?AQJz=sSfYeL4xrChqN2Q_-2wlkJ_@WkT8&M| z%W>zp$QH*fFFpWObv0-x*U{rf8svM`cjVaH{KyLA|B;1>PhN_@Qc`Gm4QWHZq@T3K zwW+h%Vr+nz4;Zbe-kJx&w6?1l$?^4{awUFgV5yz+f~9yUM2zYxmlVui##X6^HCqMi z=|(_n@$6?!R$9$TD?0xvqwfp9e;oKD27%Y#y-8rv_LJE9<=a%OX&#uL#@&K$-Yq4T)5td|zbhuDJL~&c52G)}*@Cr*2DSjLxJ`l z-0C>R4#@ycrnZWWsMIo_S%Sj_w9$wf=a-$x1^}0>f;4+2GANYY`UEi7Jx^lkugNq&M)M=b?nb7ocf!MRRV)W7=KkFf@68za%_?@ zL-nx|R2(iq<>4Yac2bu)!^H?XvjKxcomEU$T4&l0f~K#vBEOX0ld%i&u_iatN#V-a z2j*bJZ8OnRG$`5MSXs%&lUB18wdHKbGHA^-{EpnD3L)YLDiE6*|4cPbA@0k4bLI?xc@h z?I5P^5&CN?fG*J63u)Sq3f;#udy746*r(^ z-pA~HXok1OcD@8T2YbVt`|MU+{CLF2AAgKzo_VIp*Tmv;WHqKWj4rElWKwpP!yg_3 z>%n@`KLg92Itb^TzlQI!{qN8UJA!8Ta_9ywZc`w#Rp@Ee*ghlkUm4phX|JcyHJVUz zoQaxgqe7bu)W}4a401_;3Q1=sV+Z<=4OlxU0s8*&IHWNkn5$wWg2vy^t%a^$16@rc z9TaJ+Th2OM1;&1t3`g|PBt(x$LCmmZ$fDbCJFXpYJwgjNK%l8Y(9UO3x9~@=`Z|#d z*d?FeLdC`E>{3)7Dn!Mh0#qI>fTl`?Q!@u+*RpBYTv&(ClEdiZPpsU7e_s5BijpFk zgbo1tLIKQrBg{Gz6(Fzr;}L|UM1t2x26?{RAubYA?xd;xk$&k&Buq?)K-6(XkgZ(j ze7$i2h>(eBKoAj+iW>|V*X;2sm#Qm82bGDkknTVC@^p0w$XQ3XbpsaxqK^G?j5-VQ z57fhAvSI&ErI>zmD)?;#wY2$r6S%Z*qZPI)J$Nx~r+<%2W&&fm%81ei1L8v@R6HUr zQ1rP{WYjZi?`o0=X~NK1(MTQTTZZC7sR#xY6QBQjYZF#qcPZVzcu+VZW!@WR@u-Lv z1nW^H73TPpBHHxjd%s$ZwVb$kVNd}6FD}?w_0-FQS6hJ=*8O#`l{k+tii8hdycE1R zDR^OG@Pb9ew2O*tG?9i})5$r#(F|LS0k$dwY=s(P&_%yT-vh77U z;^n#H|9+y|!O0OAeV_Z@u-y$2s;u0#f*zS^Dm5Q#$m1+F{IDVyw+@Wr_DKQTA5CO`w8B7V_>Zp4mCMQB>j*nsebd|Y@(8XC&=D9TczI7iUva@(93(U@HeHUCVIhd=7v%BSq&>>^=Hd5y zzJk6^1A#<{DgU_~-GbEuL1PJob-Ca-me4UaUt0;jrWyim75F+*5TmF5z`TycY%gGu z#ZV#97(Wiigo&^OC-WiW#a+g|Ou`BFxs08kV1T z5Oe!bX107U zzA3B4hc#?poERdpISW?v<2Mpi{;KBGb4&`2mQN`cVjn0969iU;xYU7ujq^H(Dw#j}09J0TvM4JK~? zpP2?xAk@?u%Q4m zt{>nP3lWpvh`h~NIKFl-^0s8*zN4>0%=z&JULe6nd_fm1<42?-VN@C&KZT`6(_3Je zyv5uh`dSaq<~X6YiQrJ+ixF z4%7U)M21@Zhm)c>8_IJUaC%=Q3XaxL%ar7Skxd@IXWbbZz7v@ogs?a{!eRp<4-0_6 zO*iGP#o0X{ zZNkP!zoAv8e31YtBh$S%H`dew1>1q*eXI?c*m!W^Vm$`&s1J$-6mdXE614|GLmyXagH7YXu-aV$|WR~4uK*eocg_xRdBk$@_0}O z1)x5Od4EioJ13cZp%BRvGY}XS1X)xtf?`70fVfXIBKyZV2G3n4^GaaX+dxGYu=!b_ z|HXj7{T9{T4I2DdS&u#*_|}lWJvbp8CyOcoqZwm@og(_^n`R<;LIw@0A*ShM;y@}s zMN$c!AdtyG)IcU=iehC{7#uQe2!g^QTNM`xWbnFkRW7|hbGRBqXC$@=cpbKU^SHb;1ZK3)!i3ww1R=uvCQ1gb*AlZotmG z8eBa#3C2<;j`0Enum*{-_m?yD|MBS|)TrJU2}z2;GhSptQg|RLD_iSl z>^$OlISm{lt^2y8H7x|je60bGoMvsA17rdCY;a1ii;GsR2@UJ>p|vNnlfh?%6!OXO zkd26@eu|xi2$Cd7h};wxBtx^eoQ9*2kQnXZYU;sDzD|6MN%e~>B-wuXmjC$N_&~F_ zg5FC~gZ<)SM-00f*!o|#kaBb-Fzz;w-s@4zW>SGsRa%GKO-GP1X9V~GLdeI((d70! zvnsLiy90EgX@kUqD~!S>ZJGo@SO7gP#R-9s<=zc`G4o%=+*g4y+<2v@A;_J+4V*V^2W--q4gNdUK`ncrhK% z7#sD}JDS{*CS>5kXBN{yyq5T}TLjIQJ#twC*x8hMAD7Axc*O;haNm{X+Qwy%JgJ1{bNBX}aaP`O7`P4I8@E)An4#FEIK! z=R;md@}xJY&8tLRekB5e10fBSQ8A~d2P9OUN31NjU3I$Poc6jI!{;mPj*1IUGR=6`^1F9+)KfWzOi6gfBP zD`PE+MS3HQRx8AAUYHB@MpSVXiep1qax=kRRp1Wfy%i@0(c{F#30AEUAQK@jJp?5u z>yhswFp`yQQgLMucxm4HtkOHhL^~?Zf6*?S*)izMIJ%Wpv`B-*J!6`Fd<~%H_PgKZX4T!HZm`=aQ?UOE{#ys4<&Ae`19)zw5?G`V=;w#B5r;Z$JU zl~+qAo1`L*K1Zw^hyN_5_5!4EXyO(9d`=8<FVEGo{o6CWQLN-Y@YJl-~ zbn5BU1~VRB#RQZ15GnqBN!Qx0$v9~1*C(ieG-*-S&+itq1t)&qhh6V&MCty#Cf^H7 zi^1T9V-cCrR1l3C(Dve6Z_w|8A$ah_TR8ajHtc@?cPNW$Q1s6!e0t&kVZbG$Fzbb- z2ubX@g*Mt1lN8kAb0ZanWZ|*4RP7K8iMFOu8tF~m*tE6Ws5hfLuNCie9uOKGh=>F^ z6(wDXO$+YUFrU>ozmJo@?x+8c85H+qUW5VjM?)xf@6@|j$tId9 zQZb?>y%cUiCT}T|fr1^tUoQfgi-^0nTR)m6WrIc1?Mg((zJcx?Cwm&0C`I<_QO(jc zJ%Ln}5P^|Q+S@ZO?lUx!3XEmBN;(K8lO0o)j(P#o=W!Jn9Tki%1;z#!uO?Ry#$($` zXe&1PgGSCKHvT=po)6i5!su4h)m<4MB1dw7mWulls=#GF2j2)RqPfUxzyIb>6r!nG0g$m(i?DOYGNs;vz6K2y#N4J>d_!4B| z{rNv^F`#cz8G>q*`02I}aq0JW(5hr_LRyN6z)1E_A~KRzU{|h)3B&xT5Vr;W?tm=t zsQxIR)r7R-iw9aosJI{re2K8z7vh31OonW9G#Y-&h5l4MOl2BWy?Ypi!WvYTSKz{D zmp~rbgLVaOqS;sBY#kruo7K8L$M9>Jz(_*h$_@eXBi#N`a$Xv>YzBUR>|0c+75MAh zQ&2<%px@|d$3oDpQ&OqGSW>UUZzn1-e`qTS_Sx%zzu#cn8FPUt55s4O=m#v@2z+%Z zOIZK?F_x-6@g9$#>iP92P|A6`zI??H1aUzaon`mWXK->C+vmd*z(*Be#DvHP9(YozXH6 zJ$Kl{39J2O0SM_r1(qm*2~t*#8J32&e?Rf}v5O*=XINXbx!T!MC5m>6oC^xZwGw1D9&}ed0MvR!% zL&9t)`F3}qqecF{xvZ+EGOLK1^?MspRG_00PkXeQdS{;0G!0DYO>vPd?$v&sjYc94 z+Wp!gdqV4zhMxzmAD5HAM zR3@pbfOU7V?eM(JNQ=!o|kY43~ST8}q9#j345V1Gd!zTeB*zpopgjEQ}_CV-R0 zBhoTUNa!ExXpQx>#g$Yo+DV;0h_*WuF>%2Mx8lK5Z(;7s*CBRj%2^{Wx*`w?Fygvt zxck5>nDNw=5K6_gy}LKX#paOrl`KAzaa8~Du^2Ts1yh!!WBh`&CXXYn@6)dxfbp00 z#jp#KkTyJuE*kcZ zUjbab68KjhaK&f9@TGo1>THIb%ZarF>6|0U+gqOP?N@YG;A2-nKYqMl!AK?+U4^tl zFZ$|k+;yV!999f1!gh3 zB%60YquGMvY9<%lng1f;pSM|yl^aBegivsk<2?_fTW7Y&TY#n(^t~e>Ne$_>$#3AWC`8>o9EXn| zh0$oFUmG!EBy1j>k9z{$(Q3!SsBDbCJ=$%EKiSYFPHPBar{V#`@@CLwV_~W+hgHk2 z6UVlfI=)Z#mm4OqMcso%4LDZXtj+WH$C-5tUj!`rig}*-BJxP!+Mj`N&R_25yMR+0 z-TG0p#fm4_9;4eaiU2$^yMLEn3JDI`{=;dy9g!%aPA&?qX2uvGV%2QGJ?K9uZ;&Cs8xzh`zDZBW3BThj829&(Tl` zS)>93=Z{8DUK~j^2vGz`br4DBJZB-5i?z9In;7nrL9!d60(SqrEFw&jfRH|6-MWJ9 zI;iIEto2*lVBA4m(I`Y(2`tpN^v z;nt6k_d8X}R)x>#+!GjUjArC=V&vE^R&EO9Vp=^#FqO6)wn5XO`!NBel=JO0RWor{ z6e(@;SZ4)eOMy{o7Z_dq7fMS5b&Vj-g{E*;LEJoSA-fh zYmdKs2AjMu{OC4Jd*m_*y2wAXTbIT+U-T`0kD#XbOb`2%Ii?S|MA~#fOvFY<{x{yQ?gD<{oD8wF|BUEK| z_~Dv2@%3ddqw07u{(A8z=(uhV00( zMCR$CJy-?Zu^OCnR2~O*y~DPLECDiRyY*v+0u>#+>S0560~0q!xse_{|6mUK@5sW) ze~x47-ji6Cm5*=BYEfxuzs2+PABXYTtY@LEbBb6(i3k>xl_uvA(#J5rT4<10TEmGCV@DN?1iQdk zS)hX1WN}n5lEhwD+DnnPw@BM3qU3pU4=~Z7-g(7WlW>PUp3?Faw=tnP$X79n_ zMy+F?CzYL@Y3nAwu=X}-_kvznMV`)LMK&x5ij!l(10%5HsWC_x;Jbr%gV}-)x3TKQ zX&I5oOkk70=EpiQl=mhig}F9Gjwgo%P*E`tydYesJK8JqIkkf#g&yV{=C8I@cgy9UUjBDBkM?M*(s!0PN(i z9=~NNlLz2|?Em4KPp*N0q?+46{byaPtQU`B0bpwnm$Gv`xd#6FfHS~h%0p+zM-`F? zT)T!9)78 z)oR6_k2c|*F^^C$Lc0acrSIHK!xzs-w!OR-X1xh}KiWhES50l(3#sQbBt`t2g)if? zInOmI9B~U(89PS4yqNf&IL|jks3+d0WM1NHmI!{lk0c0~{y5tvevGGn^S{gO;6Eb# zoU_>UovUCh-kXE{pKYPr!>*p(p>Rm5)kt-tt0&C%SAK?G<(>f36@q7_Kp4fUeCmJ7 zrIVC%24bH4%e~BuocJrvdfx3HwNKPe$@mWc#Zk#lkwR~=;-lg!?B`l>?T`hj2D1gF z1`|$c^w?0N#Dk}bG4!9~xaD{OO7tz?-~1gX@WVB4p?FUYR^Rk~lkb)0)WgK>hkdw~ z#EXNdq&?@A5*a9 zINlugAU#)j3*x)@WQGVzF&`qU4IgJDBea(iqlq0!&8Jy3HJlJ~X&U6?oT>M{P5$<5 zoZ7%VNvAw~DdKJzN&{yI#(X8}emvdlt>rr6`NxIfNC%$-*NUEoOz??6GvVZVkE=^a zH4_=@1;|8>Yc&xVUH6M?#*vT^KyR{Q)q!HR_-U_Xy7+Zs?1r-jl3;r|vC`lH%3|Qh z8{2Fxe`(`M8e%0D^6`K32X*OuynjOh>bMZE>DTs01b2Pzh=$@Cd^P_?{PyryFgEHT zkccq-$;)x)o)>Adve&N>#AB}}2gv!8T~oKcLRKk&^$!8RJp%mx1hD0KV9!Uu@t>IQ zv7Y%i_aqD6zXgL9j-}fLJ5J!^=})63r@Y5shc80|U9Nl;Wry;iu4q8+pDYF4z46p1 zz`J9C6YJR5LXvp_tPr9-?!qY$0#i=MOj%{ zlhr^%W#zdM5>j99Z0jSKv}}T`HS1yU;BWlrBj%+T7^T3lyJmRw{@AQmY<~EAj|PQxF8Z(QA87yE56KvU_snDVGb`n_8k-@`{=fE+`ph#TbQur2IkYO zYVe5E2511eM1WvuQC^|N2Bi+~RI5>LvS5C&6p8UpZ?G$ZM3^cKg24)?tX3S-8j+26_QOLRckQR91Gs z=-eI0k^@l!LJ}uKQoI9}?XRIGaSkA8Uj&>lv0*_*G~@z)ubgYFGA8=j^k!6^E&(s3 z_19|?+A#l-{t!zA&@1a43DS)s12itL+p2epWoL@Z5bEN$Sj`F6VwmaQ%9jHdKa_#W zTs15r^7(h%D%=&sB|8yX$Ltd7`&|xWC*JQ3eIpS^&RKdjD)r8)&&C=9PXAL2RkZ=r zmbqt`Z;@FY6^s=X6&?P}z^Fj%E>huy%>rGJwNtOZCn3IM?`&q3J);tXkPu*Mv5(hO zRAbxItD&t_Va=`YW6>`ULM-okMe?ULYU~3O1nxa$Kuk~-DwEywM)f8{fU#_>fX$x# zJtYE~R6&ztrZ*w4@3+TU@JCQW7*Z}9imIwA*hU3{*PwvymzG ztF-v(AoHWVdPEeY7Bwm>+wTTwkK|E-s4i8|F;Q?b&#f^*T}}mlTKo=-YPOIQH!clR z|L+Qfq(q{&q3sSMkFXdaF5Lrh@eYWpjzUy@96XD`^QVzT!xWVXQ}i&HVn)IgJrv+~ z?;K$A3s*p%5{5l*Y(zt0H9ooEKbZ5;O^6wm-05TKT)|?p;P*SfpalSgk#}Bz)XRr= zxZm*`%MiTf5s1rJSffoKhGxX=&0ps7GW&MzH4ULoL9aj~}`$A=wTrM~UQ@p)8Sq>rm} zR`2n`nhKIZE)~&@oX@Kr759IIi$4{4&cw`~G5wcjucY^upm-P)CwJ;OsJPe)4HbIi zAE-xdkruVZ?x`QV2=4r8wgJkHuQh{$1HiKZ{Tl^1d{RY4O}Jjnu*8cXZ(&x;)&GaYe4XTp0`?A$WG&Vt27CfEwPSG;ZuTeb?elkBzdhlM~e zvS+PAI->em397P+>GqiWXH)A60y!TGW<-OR$iyS-o;p}h^?U^q!KSm&Yd3ve{d_mf z$k#E(kAqdjY#Ai^&fpJEs5)ANlV5BA&uWGuN&*vEZFJ#^p;7dHrutX#4J;5$Gm10+ zKMT>0xDEO~7t-y(L!UrY$^;er80PIA#dLu+R4T-^qq<&|ER+Z^_R0hdxyb#B{*crt zg!hl7=hBH!T#ET$+)Bm8E@QPoT(lj*f82}6&&D8h{Y{V^{Q}~OgH6Om8(##AEC%M# zzA!}&X1DMRn1d2v6*g_n7HBFFkpCxwcE5_SwO1kX^Kta~15W<}o~e5lfM{sdZ8I_J z?dxbkgT6tFU#|NAg>X@)C!*Xp9|= z+AG(w2KYM zZGIFQEV+H(LG0uAjFMhx-q8|q{*Iyltib+HxY*$d1OLyl5UG-!HDL33khl?TbziC4C(pvs-_0u zCe?ybHzGRLyNT5i5s^5ysT!IF14@r-F=#YPRc#N8%!qQ7(CuKe6w(fkfsu*^Y&O>* z%*sc8b|Z$*?bqb}^(FKs3%=aPQdP&NhGX6+E}69zLT80Sv%HF?ot{{^2O}0uM!yS( zcIx+%bI*+jb7<{im`H#ZZ2{mx3x27g$M-qX`d+n_U1vq{aztG*$mgo($$JvH^LZTn z>Mu;ZaaIc-RO_+`RK0(MdahcxR3mao5`m4lRyo^rIAs1XKOBQ)^A{6=zlT72Ts9R z&Eiji_a}m{&Rs5*8zQ|dcD0i`r2s3^-aY0i(jXngIgZ?0rwq!yEMQ(LC{BJhpl_y$?x_ zMEr=JhW4kqFnx;xG=u6G&Y2Zs%4Ju022)Q^F0R!4j zPbO`kqxQZc0X_RG((PCxlVUfXEDw ze%z4H{1*!Y1!&ZoVNRA~1cTIi5OG zgOS%yYw`GkqpVF^DCT>d9(+*6R=P(h0((tdY?twOv82xG6F}}}px*`UKD=0OM2<#} z5Rm{Q6m18FsLdAasAuh07e{(eSRz3$x>|jQK`&$?RG3wZ{2ir;vDgq18Q5Y!v8PBk zPm(4RB9)5=(mf*>JcQhTQIvonw+ zS-bb*L$f+QM_u^LV&rYkqA8X?-}MRZ*!2Pe!#uB6Bm3j0gH!P6=@Kl72}7dXh`RmN z)c??|G(gxx;uKkcs#|f2UPDNbTKLudeNJ4oLp+k_zIZBZ#JYVLeRI=m z8=ud^Q?YvyL4xGSg45Xh;hkl$UWA0bT>38X)qEzn{r(s%m%M`)Hn7UCJ`plpHOA>P z?kNX;D@5MGDqOg1pj)1c`0INS6vM^=p~+sTSTq}ey&nTR{|9KQonH@0 zCWh-k#vCAKi08r|34e$k!ftkmHyaTdb2b5|e*-GASfI|a)$A7D7Z|-97;!CGsf4#k z9-o0_zdwcVuX^LW4!SkFy!RIU4lir;CsZJUcu$S4~ZNBTlYAK(_}k9NQ%o zUnmyR!BJQmtGru#`$woc$$V_O3o;=Jy*wR(BiV|irB099ud-3~)*;mYlmqqdGBoZi zg>q9N>QQU=@Z$gI6!==>b^UPvS;_8esvDa z4Q;oZc8N_-5rr6#1Ow9^_4vn)T)@lmP$8@`A!&=LmU-~^LUcQ%)!)AA-ftG5=vwvSSEV(0y`U1GmQ**fc<4KliH&B1 z1w|y3!VN?*?gza{D|JXWv13IOE%BKI;^vURgZKYpUY9faM`5H(fK+>7U<*FDh5k*% zX#Tf>=$GWO>B=I|SDlqnTwteUu?EB+;oUCBgi~pLH0Z}JyPU^}vIPe<_b|FGz zN1XoSFg~C297^`)V#U(`IlSV#O#XJ@{RzMyPdLTJ^f|z_Yk_+Xv#}Z3p~C)C#F0vjIz-WUXIeF4zcc`?5y0e9_t2`Q6U8|V3m#b~D1 zMG@(7Sp4-p4r`1y_l=LHImJa%VS4jszqsh9{o{Mm{dAL9DxlzR|GU);zrg6{oP?xW z5|m0MRzLCyUCrtUqsD;DD<>c@JP3mpj_dMkAk`^LzPpba`V({NAC~@)wk>ogq?I}B z%5+5BG#Elo93hiHA|5uZ&4conGicmgM5`Q$XbAh*jn9K9Rz}6ikV{e#e*Hj1EE|l7 z8wVj|K^kP^V;zaGHlqcaeHEy9bw3(5oPpIvWa%$f9}RoHYh&E zvw*KLBemR!VL^e|Fftv(6kT7L)p|n-CT!LntR0<{hYVTf8CA%IFR#DON+wsbyIL-}MLn z{O^3!YS@1C;6>?f|6J18bWFILCEaGN+J)n5_j;5XZEeNRmsE+0;#ei5KBs2{MytUL z- zpa7D%@mnV+efDmXqWuNf@%;&W_n+M`8#%w-lk2I^9^qZ{rC7C}SwNfK}Z+hCG9jEm0-d(K2)sEA z*g>p;yfa4-h?+Ji?s{*dqk!UkVA$1@as9f-aMg|2gpWWq`f`5C*VH-uZ6> zA|D-l`|%xyETVqr6msnPX@Xy1^m9%^f<6e@S;vvP{TNo?^d8Rqb-dl5k%b50;@5A$ zgQwp{OlIfXL0lnzF$>4T==&_2NfPSHfzIQl6uVfXCw2Fw&11~@TL8t`cq#($~ z#UgZJKSbR%4DtUr0nzu4pyH%_Vmzb+!V!=jihztT$j8MY^wPeFxql?0?;8R6#Qem()JpIgbwR(r{J3!{cRY60q2Be&Lw(H$?ADSA-25Wg* zL%X3z`J4b5E)qf^^j;gjFw{9%wA8m>c^knAXi6$Dwj7v}>Q{x7?MwESXhMV5xos+E z;)FoRM{HUTwE5br7lUG*6PGS9F+>h2H|g43t7`JMr;T7$jQLr$&PjJW*hN}Pefyui z)o4MHn!ShBd@FX>HPV!3U!y{)$NSq@_2RtDSPY8u?DL)W_(DVtOrVt&p0xdaP+W~G z4(B1CTYPYZoT~}?oQ4i7biG02wh~x50iD=zc+0cLTaf*1$7{df(AV3r>iUi=tQ{Qy zi_)p@Dmkeu|LB3rW9~B}2&1Gu?)`Yqk}}D;@Y0D2xc(Q9VjDscj&3VQeT5dqCpq!{ z$oKTFL6MGwwthHV+<=@)wy1g5Ba#9avv9pQTP1E4{EGW7=-27v`{b^2lyUp__{-8D zYsbFf;Md!*X88xOS*!?(3&paHPoeJxE-lBMq2d^;OgsE7`+rChaP=x+=}I7OIC^by zmiUBT^CNKEP9T%CR`LOZ64?BIz+1zCBR_aGIAZtvzvK7EzQw8=-a+1$_7{WCC6Xs( zAe`$WYXLbg{P864>wSRL49KH_8#VyLuj%QR>E~=kAcAJZtT4l1WK48Gp0Y@skAoYzqmGDgx}&tC~IUBanimh>;_>sDLe?TWhBz=9IXMb7gTuV zc~5W^W8@X5`)UOvK^zE-zKLxUPa$>N6>Vu;HKNjNaRlwOCoraZv3ijpAQN|P7ckei zUqu-#XRS0EE5HkBnjqcWhq0{+Ms*?cdW`KG?2)m3ryvy&+01K*4vqy~7t*ByK1Ok? z{`)yU&{o@|vpa6<5(KgLka+dk7k*m9P@_YYiJd=Ah%L~YtT^R^6ZaQ?I{~fH0{fG1o!PwOy_{aPCwwT9PMY zt8gOSzEiXg)1x|9QKwTI@y}|u5EI=;fkBhnw(Z#e*%lg_M?|%dqzEkg?MdpJ+9i&z z1U{MRtXdp<8*s-SApIiv3^9X&%RgqXi+H*b)D^%_w*a5dVFIZaNSiU3c4m>bVbXS9 z%AFg}CCIsS&8;8c@OL{pez4gH{B$eu54ZRflL;)}3M7o|_Sfm>+(I{S2~;y*A=N~^ z{Zf1mzrg6{oWwqn)$3U$(YQNjw_7G(xa(BA)iqs(c%it8mfiWgdIDlZA9{H|YKG4z z0)h=tao&z(1=?fC`?2+TwoS~h2Vc>t*Y!uW68{|}!PA2zutYO)E;GS9VIg}y+C)Qu zTt7SFfp$eSn;3ppT7!C%nGJMaJ%G($W}`CSS^ecMC)8}8O_7Qb*h$}`9%Ix^0AEN9 zZ-9eew)rquKgIUir0vyNDS@pEd!2;{=ysutc$2nAu+Vv&Dvho0%R!tEqpJs_y@HW% z18TX?-P3TNPH}VqxN|Dx>9cJ|iC2u6+a&g%l>O5#KF-9jX%Vc|Q6A+g@Iaqbqh&zk6bj(QbnH z_e+4RmF)j%Gl3g7l2wHsd#!%_oDcZ;?A4E-&U-`=bLd7Dt3Yrqlh@QXLf7D|$|?B! z1U{er96q1>Jd`Ew1s8OMnw)ZcHv2i6CVI9L&^Ls(VoUn5$q@;Hsr~u{Z0%I3waV$= zfwDtvn;2ntq6(`(qsL>>R#mw`#a}P})Z}{) z^@*V;QjNum&r562SgS{Qt`aAARY0q1zgn&}gghQ?5$^BH?a_7=v1BIZ^s=$E?#G!d z6+13Ad0Ksk6^wnnT){{XaBb4&4qBvTL_FcP>xfTjD<}eltyD0wNkF`n4>KoBcDw%~ z4R_&$UE(Dbn(Vcw9u>?4#u}3ug?i@%hb)vVd}t)5U(?^ML{Pi1+mXO1GFy=-;vrZ7 zM8vb-eWbX1#WGJI0>aZjGn)-^PPt=RU#~o`UZuk?_kE6<-11hxzfY;bkCm)F^Y+9j zB)4*GkZN_3Kuj|P45l`L9f4J(Xeis4q zC|ow2i4xU~2JAW0{bR@O#%i_U?Jc<|M>tl?m#{CM{1qth>^)RgYjK>bavnT64iO2= zBepfvRqT8f+9wJ(Zg>L03E^G49&UP?1-aN4t8d-r9HaO;38R?Ec*$GD?3=ajZhMKf zd6#nmB%LI7NHPtcDRR4K7x`6n=RvnPB{k@M$K{Pn_5j>PEnS;N{E7r$E!3v`UgPL_WtR|kDt!r7a0AVli2hYXti2L0$o@iwj$bC(SR@JK96s&d=&<@9u~6& z8~*h*{hqS82GX$Zz0er71}bD0?>>zmu6>jK|7?eZ3`E>82!X?xpP2q+9cn&5PFo_~ z9u)rdU$z~QK_a|8ehmhz70Zw2LoMV%VzFU#i4i=56$4`xUTJsV^4uzzbw&sSL>PX} zlqTOJVI=dTLL7c|r7jgjv7M+&c_J+i$0rTO`vbiv7IiD5m$Q3SDR62-s}GUz`H18^ zFsqEMi;zaE6(Zsj+6^tz1YxMeEe}RpogQ-T%2-QM)my=yB<9H+ zZf+kfJqT1Db0!~pk&!NeNJQl7EUp5hwVi;S5D_0EWJ1h{mth!}%1r#te1*^c&PR4R zn+!iOZy=;zXnnVmMTt4j;=t!y@Y5|H(Cbl?@7rv6B8RnK#!5uEJGt%39tpRvk+$CM zs=8C}ETjH}5bzK*$u}!L{&{X;lM-O|jlW*-=y{Y?I(q#RNdy=*uYDVc33tuGWgp#!>wbO|K`~vd;@$iV zu=9Uxn|LfP`<)E_aaKXRk4aG5oqLJD68l=!an|m=`~5C?Gp0@(g!ykXTbug4Dr~&# zOPCG58>Z$Cq$p&~^7kF>^;dpzSL=&Pc5$(QTO=Tf=?mVcK6-xq`0+k|fzi)7>%pi} zIx9KsEf?88??v^=Qk3k?#cTcV#*0a}qUv}t{obtSmqP5)%Gn)|=fCio#dN#!STTON z=hL&kUD{qj6S^parcDzJXOyU0b;>>ob}`BR2qHkV@DJr#`Yi~6KxQ6XTWbZwcY z0}sZQEz+?T_PNDpgo5AQp-uHI)p zhZT&(%hhhbFf@@(G*4GGLSyh^N_{8EE>q!^-%ru)$^9ZQH?wo8s;vb^jlGR|1eP8+ zgB`D}Yx4b774tXeb7HQrA^w(8AL?`9%O;IJtAIr$pu zDkV+lCX8Nw0mPm3u;mGOP+XYgNIy5`d%soRX0gF=#_qr9Z;$RaA4W|zX&dR(Q;-B> za*U=7X4m|D{TNnRmOh*NKF`r6y&?`0ElW1}7> z4V%=a&B(-n`CM{fH$yJ)Wb#8Glc7By{DE@;;;|DlKaB>*5Ohatpxju{@el5Nlii1< z0RtC!{CoeXQBway!rW35=ID4RsN)32*scqVTb}!ou8xv+sY&;@-fEK}3&4VC7A9j) zO^oYzo|yKN3ehn)vu!d7sXE!}!|qIq!prFim>(6|p|IK=;;KDKnh1#PiDDMD3F!d> zTs%7om)t$H)yK4!B5ki=%t{qw(c_~rYEC!%(-|6ptkuqn8liW6D+yl@NyX{OnYcTd ztK4xR?_d@68YQ=mpgyf!i)~w2ltyR;z}6@sY$0OU0t6r*Q(krJRir(I-ekeOD-OYE zu_7c;gjcQ@>eUc1QW2dom-%jOduc5d8toOmuX4drqZENyz*R}N1*w9w_x2l$ydO@Y z*;_$70|-G=SrCe^K~kfwCJSu?9DUQwENgPYP z5-Ej$cj>A63}NHPdP@QtQm$(fKsSF_oa6kzBc~c?D|_=&sqTr3vz}+;RzH6H zbQ^ww(a$+s!59@CjR~`+V9G=D9VPQ*&~(8wi*fbJ2XW!EOECA<>#^|T+vv)dHz$o9 zG3&oekvO&=-TwWF?~u3EJ85yf4S5ekF71l|ZeXe2UIO)=*1g3j#COqt;h%7q$JL8U zlNtXy#aakc48UV2^e76GIL5(Utzab8i*`S+Ne^6t07d)0h?)iil+~FTYeNH=f-V~9*lTcf+ZJ(?tUo45+g5!ZLiuORLJBvHCG3_3IQ8YMwS zWV<~CiuMJ@ZQq~5)}ytk(pm9rm<9J1m%}hM28Joo__m~mwhH$aFKjr0oGNxazHnJ4 zV!Yt#+Wee($y>`17!gDRvew@D5v|N1m5Vh-wog5l8r$LZi60<@Ffy=Pd>CzJD;oc1 zo@xOD!XV<>hkcFIX@fCj@k9*1d|a2?ElCxly&_+iT?=zV`_>AcVh`gX;XLAYJnH;( z5+X3g4t2IkcanXdZpPskUxkF%h(40tup~}y^8L*CU?g*4PwS4Hy=~I=>c#jFDJ~hx z1xbFvc zNiF`y;9;@!W=E-0(OXY4{naJ-@$xsJtx{pd(*I$>w|5|7pl|wGd5Z0VaG+ibR2k5) zE)VJ;6L{e*Tk3+hyaF;^w+4ivI(8=689n+vr}ZZAZ7h`IsVps|7T}nTO$0^6C(Ncn zWo75v1vfp#%bl6a^bSKDJhrE3vX(iwubnE7Q8zGUTOW$z6i_ z%}3y|Z(u$AJ*tP^2?#wCV*XJZV6fTHS0Y3r=hx^>Y^24AqdKn~{DhVw39TsNsvA`% z4b*LXemoP~r<7Wg<1?=2f}PJ-lFjM*y$?bP$nvp`Q(ZH z1&B>=ds1iSQla%V>L%|^gV{>`Q}Yg0LZ>xDF6Lu~g@;unikl!6;!B+xyLTPO({aHV z=fyT{Vx|18AscYTTK6Q%h5xfK|7=Y{wsEfRmI z^yq8UqO!7MLw-x75U2t)XX;_};{IUGZG@F;Z#QMie0IzrOpsyXvzJkk!yB*BmLi~j zld#xO^=B>wlf8FNHlL_s8}R|CsyTZr-+cMHB##^pS=m8Y&TL0bMMbBomU8|&iqPtR zaM{35z!L~im9($LzBQw7Fg~x<;*aAMC@d*MfT-*KtUXCiwHAM!V*B8tp%JKa-5+D7 zAv`!4LS-S0o1R6zoU=n|g}=WogkELFpqWuEt_S3p{Oj?R)Siei=Kk3*NV;~d&0smlyp2C=LUg8zI7d}AZ9=4Pmi4ns5QZjbkEm4;Qh z+uwhS(Tv8jdW59(-ni2f#EEi5WhTO;HDK)H7o)0*JD=LI7!mT@ZIBeR>SfK48=xL` z577K^e*E)&m%tm_+yM2Gsbb#Xf!aH&TfO>wy<$2t`Pa|E-s4> z#@r8=K_rvVR_)(z|NN{sT(-j#^C7%Aju`9F$(i}L3R(r@3SU(MN!~`ftLl~%&V(T!G}=p zxk#47Rm7!nDaB_Kx&c?xd%jVHfHR)A{eN1c#(l;0c(2;~?VXe$7e7o@8x?n2XUK+C z!iTa-4^>sm$|bpkO(6AVD@+!v!;dl2!b7-)2dkxfEAB*Kg@o>L50PE5s zF{D%nUIP=gP8rO&xv&lgwQaXpdz)>!^>}qF6BqkNNb$fl=E>Jxq+XPXJ{M)u?E~-q zNlo}8MFK1hXNlVGz>noBtZNMJhitil^*Fcq7A^)a&bt+y-GR5d5qMGoc>S4BVm+p8 zaSiJ%q*B^e!Hy?hD+?Wdyn``rG`$ySD#2HGuDURBN`Is!Re{g5LLWX95VicgF3Jd_ z_d1gmf1mNbUuSpo{Xr%&DFOtzG_#p+Azuj1h}-F=xZ)s$)vb5iG*swOaav99)wM0p z)5pHqiIc1M(e3`1kH)Z@rgiN_+iXy5eGI}z*1@8j`3fwG?mb8Q0>TMug1YI|HAb979b$F}ebKEm>^W15r+&+)#jK=d@Y`D^ zAeu{y?JVx>)0e%q9Pf;M6h@^M4M)q+e*zO6-Nj^+qw>#6zy^dEqzFjpdUyzFYcDT2 zO}B%`#v>@kI{`P|g!sCd^(F)-Ft0psVw@>M)$v1s-in|KK4c@ier_VcF_k2Zn`pKJ zV0)~C-j9L&O>BG8{Rkbi2>wdmM<-?zAN!xL^TsP_h>^NxfsIpBiMo3QC= z;PlUId&pwQ7Q6wOKhVWbH{uKPHD6nx?bY(GqM{<`bZxgUlJAkn`0)<$@$ncvdbHz4 zPSQQ;JJ^%x8#MUtt8cOT&2Le5hzS9{O5d58xbNueNS`$f=Nf^-A|V~hS}xQ(N?<7D zDq#$2;Lta0n;40EC@vmUX=n(79a9Nc^%fq0Q=DH~SN#`B0_pfWX5)_CFSsQx5-weo zf$uL5$HozX*jVG)N^rTs1f`i((DmQ z8fgV1AuO&N1u#twaGVnuN8Zq_;v!)bx9=ZNXf6o7#&22W zxc0NXFqm1W%a_Z>bXi<<7e#C+tnc59taT5=wuCeF_W)s3AocVk7>m7A39LO_O%4Y- zS|sVwzQ~>rH{pMo_tS;C_B`M^gE&qOQ6gI?(q(zUGmd;V_Ujc75XJfZ7rTw17?%1> zsA2+`r^vJ?AQrK6+wQD>*!a;g9NApl;&HPEGvWQOlT|br>TKb=Jw-IYO2Fsg+VM>n z(j15afRQ({?PEUz>ZUFI%4#ig_p>UMMt4ft`{yHvcA$An<Cqr9 zN9z>5`per7lkr(HuK+~czI^bjCf^F>e5pv`4yi_S#V)K8!nr`E?!b{GUEg|OgH_pp zAi?*DmE3@coHyv#>NN^jiViSib&}k8dLyDwe1R{;FX4dXRw(|s50;uUFzU=u*x0!y zJiZ%6gF|0ae<7NXN(9DkW~4&q_>2m5OCx#jAi#c6@oWHaOSdw)>dYI$0@g>M>Ji6j< zdR-yu(cQ6V8aSA>jp}piVdWMSx`O?BMFe5K`0VoQJF6i3LKNp2Sjj9UJSJ}oz0+vL zD5(xX-oYy5A89G#%o@ZhSTsfpcIB~(M_-4W=f2)uNVn$coYu4p=jS^=hNenMkIhA2-Axx!y3B8nuz)jStFz!;KyaQm^ zBA`urfc?MxF!1?oK;^j|!04MVz{ne>)9s@_?8HBBZGbOPkyVHd4}FQe%~@D?*C(w% z=-3)ycPr7Ga9r(vz)Y#02`xltiR`D65V$Hy0SmwdnBo2;4pg!J=;=;ME~q zRKUIk0qXkQ4ovwMF!nZ}|HZHbu}PGIr$hMZmEgZS3XfyGTnP3$w5#herNYr!TCBXt7_;L|= zTynRou$Nn<#vr*AAujunH!Cc(Ml&8E+~H+tv5TRHlKcf_*-LBYg8ZTCy+Kkw!}rq`L#@V6OGrVuSu9 z6UV(#!6;5R$I@bIDG+`?&dzbZ&W5aV zR5!AP%^N3nP|QKDH3R3fZ8Co2uI;39{nQ@z_YRmC>$o1+nfdQU2uq8>%%`tJ(pb;N zdaZKeSK#EYYx!^50cu0zrUW?!@E=^t?V zkHhc5oKYq?4dR)CzsZ_M> z+1~nGTU+b+zw7Pj(W6+gVg+Jjok_ob{J4v-J|c{;oM)f6>HR=eK{c?a2PXgnPRFoaYJ??gB1(lWo`K z0bhD9G77~)T4frX7)}>mSKss=s!w+=9LbxWi$C4^0qV}MYtdyN+={S1%@(_e9nTNf zu^dR$<9uvb(;n=WY1Ma-@&YpgW ze$D|@HLRK@IMz2OMeQ-*;!#+>^%+F=XM?qUAODHBM?Q?h-|e6m+p`fOM1;&^E6q~f zTJ}YG4A9>hI^+(|=ao}EB0?m@eaX>|DjPd?0c1c-=i8(Aeex%JdC|cL40C@1czj1G zcCS5yygike5ypQ1?=|kXDV7=710&FXeA|nGJP{vesSscFVf*&SkiKC;XXRiA&%48>cJT^ItnI87prckEo!Y_dwlIucjWQ_Uc9A zSw_S&i@}7AkACBJHKLdk!U(3S_S3!FgZw_-aVDk(4vCvnQ?3ltMVVba2y2P zSp6)uw@II_ht+85QoswTge3SY7<&MFi?r1Y)aH2hvuFNtZl_I0+<-_3xyx877mU(c zn{=(lhy#T!zwb*NEm7h~iPBNM=$5rW(m3b)dE^IrcbcnSjO`nYFz(!AX?9MQ$OF97 zjkf1~K*cS#T>L+O`)hNEWeRy;?3Ii}WNh@TnpPeej3wXQ4^f~P29*xSx$|ppvE$Ws zIK7coQciwoKKjpX7SyCy0^cuT_d+SKbR`g;);llOj~_n{dfd2T_UzdR2??Qt*9RVW z0M}e|4MvU}+2k?gLMM~S=+}o0JNJSw{B$p*WmeU|22P;~Y*KKx5t$x`UjcxU; zwd{eEXasSSNmDhOL<@q&D6D7OshzAoDm{1xr3cP9JZap;VzHu*t4fK8mt%Ukl(swS ztyY+fagg-B1=IDfhm!huj9vGE61j z2XatjGUKC?YWjShK*k^M{gsDT|2Rc;+d#1ZFI_$amkezsLA8eGRJoQNV)tQbnD_Lf z^qlqEhgmptsJc~waa2ke!ewGAFp@UuF?~9B?DYiS?qS}GwzHmQ*KGs>17|>Mgw}rEO&n#>}_&39l_TBvOv4EnVFdW_~lI>KsuII-^{9$ z3B->xzNwzz$B&=$L|_~{b}YRSlu9KQE?kJr%#H`me*Cx#Nh(#T*rX#QktGIOM=dhHt^us-QX3NVYBg}70iVv)2o;B*-C7@ zM1-Yr&Izx%hHD>>kfJ1?wW+3ryO;XhR`nujw;QxzjN3ogP@#pDq?eGFks!yVkwLg5 zGQ=T*x*0}KeKrSV`fkwUhkhsD;e$W<=p|T zkRy7S4dDOte@=06)J?$LS77}gn@|emO!$_EN~pltSl3cmBQ5wuU{vW%sMi`Hx3CFT zXulMIXhn5rfKM&}uJ{b-ccJ&H7sLBeF|;S?$5k*A4@M%+btXtd8YISoTrIAO6d^pg z>5*?$asH#tDj4lPjCs{++Hy#eP6;CvGAxJ+!P=?@yjN6(>*FF2E_QD?Lta1eTKwXl z0*9T#C)bTeMojPdH4#7AEw${teq($D6&DGkmd(KK_kTxyeiif&QkbiC&>pMlg22ee zCZZUb!*A42Hxi%#f|HoFgr`1?B-D!#lj%6;C1iwBfw8hcMg0d|6O+mL>4E{#_+fuB z6&RnKH=tWWhq{VVXTrK8to8NEQHcA(b+%m!_gHx z9mnOgM>tRBu0qm*iO5JU;L{%S&U2otkU$Hr)ISkn@Lg(RFY$0n(2jKfOk;j&7cQ`f0zo=*R1rR0e3&tV$p> z`Ro-K?Ies$!?Hh~!jkXqL;9TI7_xX$lR%Q!`rm^$hdzikw|s!TAODH+BLyv5RD1%P z4T9WNbW?8~iN=FgmMHB8f7dtSp9c1s-k%Z!iOVFLO!x@ZK|-3sN=Od(yfTCcwa3=% zq1z*_oeH4`K`S-(suZICB*-BX3Oo`Q&pAR8fj*Pj_K_8iFUL#7R3H{Mn{*`xh;emn zIBrdh>edMvnb4EK5h;HgMER^O8iTI@=Dh~+1=P2Wz~_wW`;CgmsJSWVH@fBOe~^?t zMx`@DsWo9!pb7h>W+YyGC9vpgKokfVRKRzOfuk$C_QHt}TC$gIPkw;D)}CZmL@?eT zn2aBXwcdJ^y|WBkzd4B$|CD#=!)O;1T|MdS@4K+Mz{pi1leE(kt~%MyBYk3t_C*uP z-zsuHaruL7XB^_nii?Er%WFy3KEym87R5TNo&+KxW;}TX-7Y_zkLg?!e{(Ma!ANsInY&T}$-4lw=69(!$m z{P^*~3Px9m|03~OJbjugZ*E3LMg}gqRcgCV#2f+`&Sfvp^iWD>-WNJZk9e#n?Nf{K*APWfS=`UKt7S}vfK zhh!2fb)$t(Z?#boicBFF$2cEP1WJ1aW0}M`!Ayzpyn>NTR?Rvlehj;2ibp?N%S{>; z5djbfcz#;7*lf^Rtml>}IrM6l>{q%UsL25$`eFOn-k%tV)pae8khZ5cG`%os4CWxHL0&VWD#drvKm>=+}Jp;>>G zAS_G*naxH;=hj-J?T|KU*M);Vff6c8e^pkCFG_2$JRuSZ9aI3XK2U;}HlC#0!;?br z`3++r^#Sp0QA`-MQqWngO}t78gBFg(&NtVi;%FhZJoh68Tr!dhkL@9fX6HXsm9A42 zr^I8>kk2Ng0qMTk=1CTSZrlDGvR3cHpanf+86q7Rj>fIUwEf&zriO$I)bZqfHC5RI zUi=BCJx0_(X4gSlq}_!Cndmql-DuWjb!OXf99y#&JS0L9C8HIL&6(IY0umt~2D24^ zovKFvF8D!r2jqP4-Ch1rjTR76$^3QO*bHEf|vZye3ZE1eQ?F+cVX=9vk*Tr6@1R; z&ZIG*V8;pUcx@f>Hgl`+9L4)`p)B=s0EIgo{*K<+q@gf{G67G$)4g=m3&IuHIkrE( z8=Bh0&yWOl*b}5nd8~So4DO>l5z=t<2i9&EHzE}geLYLBuPJ2$W4KFIN{!KsKWdct zx~${WQ4&tmZ$}pTZ9j@^F6iN`XTT*y>2C7b_c|66g4NH1&ojWv3j`K_L%ay+x2#%L zMMn_GJDwOR92JZv+Hz)3K6Vh32`t+Pgr+z>k?bq(o$hmDi!@+xrXo9!Jw zpD>b%1~$FfQ61_DhBHb>5J^BrD14Q$)M!k7cmX2%d3L_;ETTA>Bkaal=zf5g9hx4^ z6+Vjm3DP|)FcL_cwBF6nt>Tz-o2y_f{O1%7ez66Of2_sT{~3!uLt3`U2Z#iikj5-r zww`3E@V>%F>!``~ES=gD zROL;*OEFzo(#=F*Xlj7pA7|UdynMuU z=uLz#~_VHEMBOtw#fF2r}Df^%tq+sxIQHenTXVmU+^?-Xg)8 zt76P)MPQ7Ph;UsTo8)hiQr+%Le7l>CbD|Xz%;a9DrxTCf@74=RKd8{sc>yCY<;MSpT5=V-U`2 zYSCABLm(E?P_3^odl{-S?-wZ?{CXSS8vc;O`l1CUJ@CU)R$a^!09SrVR++s1I{f(Y zbCwH?p`oE|wnr0AojQe}p!2hhWdHvCxa_jar~oUKN)ZziLle0F`G-|m`RRBfzz-CG zC-6Ok?e0V*6(ea}IwsyT4@Q>vLamC-ZJHEVs5nAXgEfDlo>b=Ivx<|W?02p0ZE)B zD2svO-N@1Csqp%1RYQ}973+=2(HcN+(uCt>DkPlJ;(CO^LvZ`qX?r$}0a;V_(F|~?`lh#HfYKocI z5~dJ4L|uDzm@9oEn7~+6+qzJ8eSA1>h>yUpBlmfd+dE*o5feS^bd^>Ko!t zwb6t_DlHX2+k*(Lb6&a@ckF%vb6@UQWEPM_S8_6;i!j@N;X9iMw7Ak4!Q~@zX<)U@USDB~%^vtb&nLqI1VU{HQd?=T`L3 zsWyLfS~?T%NHEoo(;as(^b}+%4;CD)fz`&&wSCQNaPW=KP@Bu1 z_u|)YpaF$m;{X#bku<)kQ0&Kj$o@O;b=FnFy{EE$oK1|Iq)Zxs%RjjTJU$P~q8chP zYU{k`F-qF7f4TQFYE!iJzpGpN$dhyJFZZ(cXu|9lfz+v9`~80W`0*~iI>MPXYZgBE z-~(i3HErP}9654?evdrnd?YU~4`#C&%aHD5g>Z9&9)h!}Wx8heW@@k@yt z4!%T)z@aRFM|Zro&57ERIi;Ae=LCKzZ+*4YUco4e2tZ-227DVC@CuN7plNFosjMo< zs%dvZC=?5kF=qs15uUYMNabQI|KAiWe0Ze80G=>NE~TE4gkv4FJ(n4nxD_oHLEwWE z`c9KF1(0!75?QOTrm`Nl9xudmXIO%z9g-eRP;^(Ss(o;3*2Bh^p}}+~Y^J9Bf@>?O zy@F97i2No`H6WZ}T|>)0fTu;&Bd+bfAHe%r5^ z80cql;V={KX%aNh8xZl%M8$GLn-z?Ny0WHi(tDNc|KsF=kZ^jCS!qBuC)kDtvWdSS zsP(GR*kJaaR;XGR>C*xO@M3xb25^FYb2J7s{=0!yEe(!WVDV_@Ij^@_RZ)*Q2To(| zfgI|?+8)t^5)n0^Weas{kV&A3^P%-LN!nbib1d8hr2A%j^uA9vD5x1XP*1#%;hRY)Qt7VbPrLt|1VH(e#(_VQYs*~$jnS4CAkcieWan(7tPzi#M*5GEX z1oFN0*mXvSz9XIOKb84P{Q1QR#P$uwgv6p`BuP3|DnXvkfMbn1 zEQ;y4f-&A(rs%$cK*&-b_q-1r{|TX)|Ds>6H#J?IR&fGjw}spsU&H)|NOe}9dto^q z0fDjUYp`$vBQHQe)20cMKp});KFmfd)b)l|Js1fx8{4OYLYlQmyAlu#T(buF@kSOn zkhdB5Xeu)(Pj1$hzxxALPVWPe+U-be$90$r+K0%RftD#XyLj7@wP zN%ipo6+1>phdJ#7>Pyrxa{&nk>3!^wAy z8>U0A(qhw7D^Pu+6f3U&AC_^}s{P{H7 zCX2Kr9s68bi1*{?9HdtT#)O0f95`?Qk38}S)~#EIRjZgs8)=JPvSbPV```c4$M|6c z1_mNBG7=39P1_6o_~{CPVL=#h@hEz0jk+_=@Px+ldV0(KlZ7P^0)hkauY&g-m69z) zfD`KgD`}17HA%pgq=nEnY2wL7su-IKj31X&Q*lwk=V4hwOEYzQ1!IlbiUWshF;nLh zd`P+@NwgJnZLAt47c7yh#Ojw0VB!^hG3)|naDMpvzhTlEFzB)|^u6#VgM*}0V9Zjt zKgloWT7zRHz8B!pWyohv1V&vwLhDFdSqPM73l*P)+@!0KtE%W0fswRPZhM(+#}0)# z=_=rOA#BY=PP+%AYrqTHkL95Ov;tOL-?UoE9zH^{g#x)EssK4b#=gL2Dab7l2LemJ z2X?#)Z2d259shg|&}RxT<`xz}K!i{d>_P}h=29PfUy!i-pOQcIj8>1qL4hsWq^ZE@ zQo)$5(NQsyFg8r?INp^N+9vNKdCs=%EMgSw_ZrPsG-yrjdMBRN=y5=$!Bw$rf}%HB z@XapP(!Fp*JVqw_PDNg!&Va*>?0uLY<-U+d&c`IYi+C~Kyt(a(9r0n*b)tfiEcVc! zkCuVY?c=^g_31K4J0__(?`eqjiZCjW3b)1rC1k_h^RXi-^=597!Y?rP0wG+WiOP*& zIpWi3+siq*T81A(c*>c);)^I z^th%EtUe9=xQrc-iUeTM*Q_Ghj~_oiO|Oq0kR)YjJG%P+sA)t&$T_rH7lW%)UexaZKT)bpzHSTQP(7op-<5#4U!f?>kaVw$vJ zXRqChtuL&>;LFF+TLh^dv#&fVoP!5aB^J;>47wxLRA3CAE;11L zW9t=+L|o)?&G2NO>JW0Qkcz~FQNY?em|=PTc6M`xcs4FwMSKn53-seE811R&Ed<6` z8A?vpL(^br(H<@4@h~JP5Df}3T@+B)u}Ut!fQJA9s1Vkcz-VugwpTH>B`^{jg?mpH zQR~5(VG2Y^MA(#FiADqSeOx}-x6I&w;i?zOdo$YuTZZzZg^na?Qdyoh!`Z^=3K7BV zt-My98GLTBr6Y`71*#~{%hgC;;?xFKy(o}~X!uQUAW2p*fw2v7sWmJOdVup27WiAF zdmj7PgQU=sw)*zw81{e{;@fBs=;BBm%R=+abxdHaE^0mOXLL#!WMTm{Mhk6|?rnk5 zUcE?O)7;E<+9}*^k4}`s8qWE9n>0YtZtr^HkzhC@=X-1qDDmSRf}+uI@n;D8X)*Zv zdf@x3fn~oD9}c&lV)RWjTP(^O)OzqqfR!7aIDb6#Jso@7gMqI9`B8+WMmK$st^rta z6<|;SqCnuP?@0@mCx59QKYn@%pK+Nc6Yr>~D0=HIaj~YRhE_?Eipd!>W*|5?nEozL zejo9RT)K2A6-EOB0%!=!t+(EaqN1X1dCfQ8cq0{D`}gmU*Is)Kx7~Id9)Fxm74_q% z2Oy$Zcv=i?sh&t^D~rPN3#g8C{wDeDXc8o?)%2wpQ9O zNSic)OxEn}&IIDsM-r6@Hz%|lP#E=Q{QA}rhq%ZK;A5rCfS-a*7&4-%xM=?y22P5@ zlBdQXIEqz+ZT|8EPVOjhq(`UE9^R?<=ht_R;Oi%M;ou)F&jFc1?02cmRupkb(XCO= zwMfTF&cT&g@>y_UFJT2+9ABB_ks3s=F&=K@|_ z1x7;i3dTNMm{15wGvts3dr-lVHUqflFf(7bSJ&|PM6m}(Edy>??=#{eK`s2@4-~R+a7J1jeC3fd~-r!4q@APHMCBz2$UXds}*QqPYsj_Iwx#)5C)3 zfQA&;{94V#yEO;dqsp{?dFB1F}jJ-fmEcZd^0DXgd z0WZY2u~}6f@v)Z2gn&;(HFE8$(L?Xz-)l!KELN;O$SOB49ukMZ zP6o-5R`2RUCa4B0EO=}7S1?$)^F;2S@G8fDV)w}tfe0q*`tcr?kQCI<{fG&7B&GYC zD}aV#kDjA>$Ipg`zQmhDAH?=o*L4^GGxpYtAPEjczl(8GE1<#&Da%{RFJ{`))q^Q4V? z(V|7PqL92U(#lPQ#g9Jv2rE~vq~R;0Mm23SC4Z06*tW3X3K1-u^YqhCQvtK2q=Z&_ zlHYAInIMsPu@%9OpH2{YL?w zj*Kvtc51fKDn`+?Kw9bdc?nBioDd>MMk|v@(gNMU36jx59&#pyqi}x_QbT3!daRK^ zmP_s)hSe|chpy3tzgFadFAapvphLe4Js-T7j28Ml1Vu#4*Ev}3oaARU>X0mLdEA<; zHq40(rft&cy)&5ayU1uy zGq-Xn(t;KhjO;UMUcs0WA;XGW#=%ge!Lb#&?pH9nLfXDY-^5JIRV9Et#;04sNEIUy z!&?h_X-!1E43)un?twLXK|_Qy?{8Gn^@Zb zV^O19VK^i_ha%)b;OTk7PuEd!0;9c(k@)&~5b)y49lKtD(Zs{IPw%1sCm~>o1H)Q8 zZc2J2{>ZMxkrE|TdXpmEZazwLyw=Ucwa7#eE&Dy z-tz1!{Pn^bgr!B(mS^G@Tywe{^WR!V)2Iod$&u8%kqC>f9Z(dqW37J>$lvB1yA8U` z3xBa6KYq>&fw8c#5YwkmM?paWLPA2Qz!(-5Mm+{C77HRGA|RK0Z;(qwLE`C1L_l&A ziA1!T(H)4uclFg*Q-SZ&OE0Af*D*0MH0}A?Yp=zwUAwSw;X<4`bqZ3c(=TiL_U-g< zbO+KRPX1* zlp<%^zcK0li!tNLD_Fv{M1X+4q0pbKgZ_9e6w?y1U!_I1h6xEb#<%XhNW_c_CdJ|8 zmSXe|mtYeY0+Z~9ad~j06c^t$6l-2N2#eW@z=1;$CaLd~|6-#{Rf?h&-B&;1pfYNk|1k>`;VOpK*Mt-oz?@^cE{pq+;sB7~)NVkqlC|zrwbo zGlBl|=%&4jjy{A0y>J3!M-_~u^_NsUl7wD6<5I(sU2bqpzDTQlr^9eUofZMU3Khuf z)ii*~9j1jT=*v2-XA8R6Pls6bVoG>mmwjl-`B;@(h_b!Rc0@X60Z{e|6J?2T z>nh}S782@V<2;fx=63!0{IpH_MZo;GfuHXHYEA*)Uj z?%lg-Ix=aG{^5roFmd8Uy!F;wc;}sW@cZw-d+qn#b=O_E_uhLQ|Nr}Mw%XzjFTC&q zG#U+kohw$Xa8w(nrKQot>-6+=6c-m$;nB59lC(B|{yCR~)&Zmdk%1_zRno5|b8V{~5tXdKz=_e=|J6?DPGuwGU!5Dos%mu3 z%zhCpg`0_n9;wDN?V=Uh`Le@gc1RwQ(9Kc z@kq5Yfvb`u*tqJ|wgg5(v_e7!#>#eDqzR-F`0<=l+I9VH0jpk|(l3Gvl)mV{I3rBa zsj6LRs0>3EO~ipOw&Kv&+c5p{g{`&=(=d`6o!d#$#xk|TBhVKEUh=nR(|bjHSj(2W z9)uk8;v@z1C)jn%9qbj1LcjlF??CJ(h@Axyu80uU7V0YI`9_FxiXpA-1CdEVC_Po* zX3$GgSRfKYr6{S_;qTlUj|4{29kKPR6Uf=`Y_Coo-qbEeuQ7GFsHHZT@#hKFIdJK) z_%2&ekq(n>FaG54-%eP3Gw{YM&TH=QYtUs*{>tuShXNs;52W$qCc~F9(S6HvK=E#1 z_07PduZXvhM{i-`n11xuP*j85%|}slx{OvX@!ibA-y_++_Gg0?zrO)j2SZqb#+WsASWNv{!7Hi6DLmKzWeUO`t|F*^7{mx z3=kk~&h~`s+i$$idUuJCtD*XbwP2*r>74(fy@F97;(Oj6d%iJf0R)?$!Am)> zLq7a!j0|ae^5zx(d7Isbr2_pgc6^y9YT6=gzbEO&1inj(G$C<7C~kXa8m-)DjR6y4 z>Fs>r>bP)vYm47MK29gx{YFP)#*G6VDdBc_0zSQd)vJt<>CE(awsDE1ZM8@fVz{7} z_B=L}w9(Mmlu@6=+5~e(KDU!!$z^KvpdJrH<*(L%b5pdnXQNh?srMsUV zfQTjXXeOkPV6C=r{hlJe%{f8QuG2K=1rVU74Uw7bqoj)Q`@O~Zo3m?h2V%#u;r*ku z^_sqPJ`XWz!HDY{(nMVR{{QwMB{Kq(7xjbCr83`@-;Y&5&t2yh4DY;E1o?fZ_g2ED ztVYQ`W(hLo;Y%S1j$wgh<%fY>F9?h#J$oKP2J1TT(*sO?2xzPT_I<(x-VF~if9Ot} zXG4-ATD=~1NZDZ~ZjyNe@ugn!oljfF`0?Y%M?+q;S}jsiSX-Dvp`aIIQqgE<{P^)6 zRT*{{$B!R(BwSx`!3C{8#{TsK2M$p2udCR9pDQYriVB^HiHTIy^y9~;$zI3q`%D33 z;gCfrF!$x_AmM^f2$k8z$lr4k09GKDmE83Xj*4{=ufzjqL=zRCLfH zO_&$SCgIj_31l)6E*Q{zm2Pc8($mQ~ZcIq$EnuPtB_d@q6Y2MT%1y|dVfXs8Hg??7 zPR>y#u7c556QoIN>VQi|Vd#=cz5P-k7>;j{I!rW`v+jmvY zw#^n0k;P6>>lKIOTL1l3Zy@{AHRzk9!{R5#wE1+C`m(CSGc_7oh20SiRa*S`;y#DC zm^nQG%U+v|%N`tokZ9)u>i*vfpj8@?{dXDu{35$aV3{jx53}~@p@|{r_M^)X-#sos$8Kxlrw1V8*Euf(11@3z-~So# z*9$%O){|qBctM)9fJ6aYz0#i;?Z?kqOs@)zNl8i6+mIj>3K1V4Pur#KWM^l$8hp~z zkV;DXpkly))~jypUnhg~lP8%sNmp3BcroVAolD!HKl$Vn8ul`H@L(D$^XjXwcKP}J z_~}+OwXD^GU>~qFLtUlBcZ*-g57)klIx`zg8;jWl*OlWt%IJ-dHX;gxCdX4@$i}62 zmI|DcyA(HDqzR;r!(P4EP^qN@bx%=o0;8gxN#my_)kxlU6chGvVI$4hR^N!vN^7vH zq8{fwcB5|6N~L3MqD49beypg&A2mvt+n6MI4Ds+GNW*}kP5tSbguHM9qdnlIwH9eV z?jz*{EsfGZLyeB9buhSorb0e+F8?R~mL$2@UftLhF`U5IQHwNTZlu#zA+>KP0$eIq z&o##1IUA#Io{5X!xRH)Mnj;9}1V*j7LlMlPG|La@khB>DL*@c8nMtr})KHzyr(TS0F(ED7Q3UpPPRqi9<|)mazc>Mn z(n#$#rYuRvl*Q?^(z`ihFG)qlSSEnx9jwOQ_4zFxQ`M-)&RjOmSD3nL88c?!=bwM3;u(Ro5)-e(`ucj>fRXK`*}!Z zXj_m7A9N^;LD?2N_{4afVye>Kednwht*Q^-$LuA(06Xk=#_o&OcaB_noi= zDP*DNcALD~V#TL5YSdb+xGqeFzRglmEj-qW+o;sT3ML9h8?~scWWtr%WPr{^=hB%} zfPo#$T7wRTHuirh*z?wFO(-fYheX)+F)Fdy5OTZ$x=J0!jg0B_W6JedGTUs}r8Z!s zOpL(h$(fxXWJEkhaS7Q~RZg!qJ65yPd$BUV3_L~K;<+`?xz8&_I;ec)Tx6&AbUA|J zLLrv-{-QI%W@Gy_p(eK+d~4gHthLzrIW*YR;8nU8lH|v`*QFp~2uKZ}sjd)pZS3E& z@*I#)(i|9x+E$J!JHezf@$Zu;Ih5DoIi`P9AWl?j@#nEpOiOCJa=*S@M+0LB!{){y zYJjNS=N>dG3=K7nsLaz~|M~(5q-G>$Iu}@09IOOc&ms1GX^jGmUzFew|7;o;k%+6@2@ViK)J_#tYbcV!VHN3+wWR@OqZL*88pNi%pC+9; zDio@uKtv?B?fn?Ry(XfoG+3+%Zx-rM$%UQ7oWqq?cC3m-yfpA%_(?t#8LCFS%!yWn z03Nz5E)oK>z5&l_hD{)bc5o|xP_66sjTNXmqoI>GSAmgSh!1Zl zhs9*W@OiOF8`CmL^jv~;ihowiu7^|Pk`@AEfSe5}EIKRrRvWB*9^yqV!wf#pQNbt* z;6oH3fQhSMq_f~Qh;s48tX3P55Yo2DRIV~YU!tJ`^S~J2@)A6*GvTh{dWd+y_kAMJ zui5+OZFn-5YF&-FU4hY7#rZS_3ILa%^A-NM=W8enYcTqri!k!`)~#xK6!Jci57K0V zt-)!r&?@%tlT%MSpMjt5#lnq61nRcM3%-_#T2@*6HbfBvn6R%bszZHABgAqEWFf6D zFpW-9P=Rq@kqTCu4g5B)bD^(&hSK|2%Cy-y`tQhNe&s9iU@dr+hO{M>z#SfrALjof-^=x8x;j%$U$%t_L zjJB!y2%@|2vL1n zPp2*scdRzvH98lknZBUceFrSD}q3PB`x zxk3&_8=wCGA*m@kMYqi&IijQ64w~6p;j}uKnwf$ynQv5;lE3wEKI?{%3iue87~diU zrz_OuS5Y6f@HFRpXjPa|hC;d>B9ucK?L3Dzr$$vv4@F6Q5F%sTPrL02ROR((IK$49 ziGx#p<{DoaSq4*?22z6%q3ygTn4bFum3A`F@whiOY&PduJIRDiGcRiHs{k0UgQq*?+(Ea&+UcTWJTVtMqF^iKor($kX^|tXBUm_)1_l3JC{4B@_e4jx6Xq}$_A4ocH|-dNDcB1 zvI*tzi;`$kqAPaKJQCPZt79T$M6>kYwjlNk+h1LW{2eD?(i`c?G<6sgO7f3XQy(O6 z5+!yH#;c7jD_yi)1)t2r>dUj0kf^@&zFrsvoZ5g!F8oH(tg^FHocIOMvI+={YP$m5 zo+ND#d9iYSp1c5I`{5&2J5rf-ys(AapAzOO@7OB**P^bF{pKM(bb2s>>&ArI`@l8_Oko95q@#e z7YGakZuk{Qn!x@~5~f#P2k4z)tev9n4DjhiEP0$T=>cH+<6VEfe*F0H8G5yXk%X9h z`st@l{0m*#wQCn`6Sjw}^cMElM|$n;?cB|A^<8Z1@9AwyOG{}Bx~tGa=xvWGZ*eYq zA)JjU4*du+?J_G8QELlBV__+7TXhP#HEaN$6e_`uV`7mQ8i3+@1K!$EjLLW>;s+Ji zA?NL%F!bVnNS_c+TbBEbm9^MME#+KApj3deI##7C7q;z#=t}LWa%_2a72Uq%%Uh8! zz8^x8nc$>rG~vX70z@RW-SX@y#CMHI31rBfTV0C*q{5Sfv`gtZ!NsI*L}g{`Nz>=j zu_Oc$q4cO11;KFWJyZ@KMZX?kwRZVj6uRpp`s}8NL8ueNx9Q_!UKX*Qw0;DOwz8OA1;&M*MuRn0|eHvI1IV9kgB0gbI!jv62U& z(9q`JC=N^oZR*z6qB{2gwL|fgh=N_re=%$j)c)hdcaEi5A0T+s{Rk-7Ohb6g?;VBm zqPJj<^n9^LlD83xZBK!3P=bt%8z(*vUFP+~MA+l!^5dtsITv*Yo0mKod$nX{&z?OP zG-wbFGjWB8cn?4PFeXo)46(TPOXS^2h;~hy&dA7sFY@unA7jjzF^(JYmNc0<@DB3h z#}lj;hzqyUO+(5|nhN~*`ZEr3@v_WFe6@5S<_?TNW~>}@2ZrOVs|Uau#wNt3It%qF ztk{=_A+usI_tG9l`??XW=iJci2mouT)9kpR)dlIeDMVj#q1B2E_I zPqu9<;7Z|<25kK_pH2?iL&)PHl&emxX_n-wcUkEV@M1-iFB8nY7g|9etR;J)F)?97 z-i`;KI|%CYATHZOw{?RSx9=51yweC=d$Y}GbyUQ*`rP&^Fmuz&487Xi!hi5wCyaY9 zYPrf&S0sS~WK4>{kx_EgCfMArOyxKs@@*R?<}>MSTcszhnF3Y9sX_irbDw$qmNL0o?YiW>|##hnLd zrg!Y+*d7*>6?$$Rt!&$&Hmfa(-?rnmRAqH4oK2u%g&L-q;hlZCe!2r;0F<-dhGzJ3 z_Fq*I!hTu=+1@w7Gd1lD~1jJjYvB++drpx2mds9#t>xD3idHo#Ae z3~}qT-*%J45}^_ zV^MdC2@h!#2KvpFYKkm_`eLxZn z7?cR%YnkDpE6NhbW^jB4f;;#<)9$+z{Z7_m*CysG8^8}jcy#L)0~ZYy)%8K}?(etkFP7GSEA4*&YiT%&KKbG`B=1Q5#D|GUA+JP`?%|_yPC8~ z6XEgOZ@;D6S6y`#e3kh4czSdFyZrd^D!H53eLyh2E04psdsxNqydkl;?*eA9-khH* zS&4aH0}taHMA$3g;ZRm3#wE2aw%Pr}NCji9hE3cff;yfQlhyaae^^*V@`R>hXP=>w zRA5xr=+IcJ?{J_`9zzJ?e7M?UY=|7O5;4*Oo4&?Sp%8n<4WK@Z2?6Ivb&KnJkQbN; zm8PC3dtLKjH0gmO-?8n?D}i>zMFLOERdsO{CsqTi#^bl)!6@V^8%Z_C|Fd@^c4rqAt`%|_E^V#C z9ku~3rTlG&r|1IX78k83T5HYEa?Jb4N={%r^7?L0lvDA?6NO2AQV+(Mi}$*g1M(cb zYzu{LPY2?BwJezwDkTIDMnZHjkX2xeixTRE?}AZ8hzK&^0^BLPpsc=(C-Gn;)GV9< zOG_=@d1WK_x6|fFMMHLhadCr%6Z*WNDBd}0$I51U{M);cE=SXXa!JHR!uk(-ur#DV z)2xaKiHn52PrZwn*Nb?-j}_Oh9sS9~htb&%bZ;N~2X*rPi)F1$Tr6egUIcvUZQ#`( z0lWVN`1*nWe2-qp_g_8>&=~o!$E|>!5AGqz(W6H> z5s?UuL?AtO>=-`%=}*JybfU4b5nue`7g4G(4@O45Dc}DRNYj|JW-WgF(jo4?g|!BJ z=d3ym3=H>JamV5a@NN3nb(1zT1zMsC{O;WoXkBGSJQjyMi|`O}(w6Iicn}d@pio5p zC-t{-9P5X#pYHdTg|%tV*Hpx@^3r|Va|Ja zEVG?4KdoROzKdjik7C9$LV5nV8hO&r3EV0CAFV%0y&v{2*=?#F#vbPaM3;9o$}lr@;f2plYJS*`CYPV zDnO>Vf&<6l%Gj1Po%>I?36yg_0pt6>g1T!nWQjP? zy^UTnAnnkBxtGJg{PT!engP!9IyWmK2BVZ=9*iX_Fh-+M{OCtN!Y_aMORj2h)22;$ z>7|$Oi(mW#uf6sf9(?dYtX+GO8M86a(b0j{*6fuPMBo%S>#Vb|VZ(;B$BB6O*kg}z zm5k3k^9-JS_F0(C=A=kzwOYCRb-L1>l_4ICnJwp~;Bm>A8p!;1s0OJ2*OTt~Tq}@9 zA;bTCxE0zF5@O8?Ii8tSgs{SP4+5EYn=|uK3ogAQkG`z*mi0KYTJy-3diZd z`DPtXF=$XR!ajZEJv%!0xM8rWu=-<-X^+VSpH0DcQMe|Y#DlX+@L=>sxNszS7GZO5 zA3a%LP(!N(PtmJ6fpLdFjBq>wb&-5dwKCu@&E?n`h;ZvJA5_e*hq2BIZ?6+4Uf-J( z7zGbT1Y(?^OOAb+Bs{#QZ3+5_HmseEwf}W7LaqQ5eD!Rpz=`X`hp|5d5bJS;)xu1&baity!RqmC>28)st7`^t!+ai7lx5{T!rg@_4p(&u$FBGpT{Ygse^rQ;}~6*>CR zM}trfQXl(B?TT?NE2Hp4s~5xhk-tI~7=ot#4QM(yK^AmC7WQ!-*wLy*h}0}YxM6Kh zo~8^2W9m@U(b|d?D>xskZR4)Lc3vA+&K=#D zp9qG*Cw78NfGU+Tys3+DMNMz*wqfSsc7!`Tm~qPNbWbZ@mxx$W?MQQ)>QGZLdiwLG z-LxI4c1a6n%o=}SKsXrXPACZVEmdhgb7LVGi^CI(K`)m>uaHaTeNpPZBL5cNcR#H- zvvj-y%UNF@-Mz(=rd4obba7wOoa&ni}*(j)O>yrV2AmSzb@>nnkm| zhTT8iIN86v(Kp0-lez=xexrmBYz`drMqyFPa9(va62TaHK>fn3^eWM+* zcmhg88LBcY5&YpOj@fB-&8c(hxX->oXTm-G9t0CWkIu+h6%>obH8n^%Am@kqm#oB= zKfi{~w+^AYn)=8FU1|*SK7mz+awxL2^AAP_sHbhE5fvr2QIqd+{yOP9TBO2WJA^=g z2r9pfJCjJo1AsJ9Jqi)<{4@08grRtf$K|mcG9R5Cg=mdq_T!)$wy#~{{|BTz= z3K}ru%q3W`b}?#dM)nT8V5ttjezObVSOT2^B?eE>i0NScKq%QSTFbpx9wKW&%yt+>>S|#$o8E;MYtQNIWxBpYTpdR=_H4F z!Fe#3*fD4-Bh47E252Dzr1UWyD_>zu7nlcQi3yD1aG0xF%&byexpF18Z{LnP?zjVY z-+i}a0%J={%ZLeRxw3fiVy=>LGQvC<8F}Rh4LUk3Ye7HCFuU4_&!0K#q%Z5(JA}@C zv_)^_sdcE|eH=#+N8g-gPGH>fz^my3qbHSo?nvgc0u?!UhjnkG6^zZNW%q+5gac6w z_4-iVVupN#lR?3MkzlHz-f*LF%pby2wjs{9?yj~5Xn6nAjSde!wfi`Cd;hvcDC3iF zrwzm}v3o0UYy)=aV1q8>UD|32@kQSW?Q;|5%R~gAh@L*)*&T&}`MCSMM z{*+<{2LtGfCJ-XKZ5(OIyRs1~A_Z!A4@QE`9ULYwb~^$jCyJwu4_a7k(!r#V!xM|+ z9jCXb0%IXqcKw;Cp5KT$7cEatR>(!Zf5e9|o4_b|Fe)si6Yeru5PTSk2V*t_4@S98 z$;8D{KnS96_mbI7uF`6l2V)NYivs!z6Z+oR1JyzkT9=MKg)pzygfhJf4u1si?e2%h zN%y=Z^NV%{hYywf`_fst5B?S1(GG|Q<-Siz@YkBZs=m>U2$ zQPt_VCMP=I<6mzCs&nW-U@#aAMoClDzOEfRc8u5pO?(hZrQqhxn+v{N3qYOi=#c*@D%l4wbtmdXk8sn<>x)RXVfAtlVRU;TM%@o zPTu08umVS%3PU=T0)`yS%s>Ceow)I(+p+S-bF)6)d&G$cZg~q&{c;=J10#D4i3LV; z4gzCOD2%&L*ziz~JuMu=Pu3fcZW@Lz`Q~4Nm1~~B*(?5nO*>y6-<#}tieA?(11e4~ zXs3s~#Hh%{3tjRNTBNfV-f}@qJP=6=jEoY%#3#7N zLICgEo5Vva>c=wCRX&qefDIixxo;quuv|Nn?wi{>oLF*hBPwSYQ9CQ$^L@PhXD?lT zGVWS=bpxqt&KP7!Dme#HBGWTC^xFU}e>+RYh95sRs*rVdM+tz#dfiX;9Le@g+EW zwiT_0k;4p#huR<8`%!ZwfXjQS>HWO3E8vWKu@*`^j4*sMIR>lCQEjv1-G^Vr{HtiH ze7rkl4&C9Px2-xw&SvJ?SyrwcHrw+f^3*{5*uHKwAbXPa;D8G%odU6N94_Aw-2TzU z5qT(8b$OuA29=JU$oDzv|4yVu=RkkSv`FXMxHuS3;AM9JTYO=3Yv~DE=+LiVYrAkv z?;{I3QFZh+(!m8!%Z2dgxDCX@R6LFZBCvJ#rh>nM9(ZiSMMIx6jCcRpiC83oHCH#n zQlmw{9l?Kodl*`y605IjL`CE1?fFxQwfp-JNF?yRS~IRKPe1YOL>PkkK*zBj=(%ts zikBAwwQ?Eydu?g{bPl%@a^m+j0$h4G*L(+b^bNw6(M^50%bt3!-w9iY9visk+8E#o zdXb9iDI6aR4B>NwVbmTU#C^@>n5j9rSFDt9A~-p~!~tj5Alzk<^v6juIxj$Y6TzJK zp+fM%18-pW!<*1}Y8%e|#V1gT#O3@%R06Oa?t-i$y$UpDr`usnHGP7hO8Iw58Pz~I zbl6YqMzn&8XoPY{7Z)_*Q<&k+HQ=R+9`^^2^yUW;x z!A0}0Cd9u#=uCP&*3Z*m*LoltiDT!+qi9|##Mk6b*|Ijcce-G$(_(ONAg9-ubhTUs zd)RgejvUuvW%qUvStRU z?Q*>|C+!-85*j|}z|}vzN=jhHA`342-aK4!`}~{^#Ffg_th`-R)kTChf=(_g8F8^t z+|lF0bFNgCXqn>xl=cH-dJoO2(-|S;g&@y}tylQ?ke4w8Qdn9lxi)L<;?;QV zz9Z;4FnT)fD!$d2c**YUkw8`C8SsX&n@^-ZXSNl_ay2Y9RP63QM(-ahj$VFzR-b!# zC6^LRj`8k}++Gk3LgA&8d@<|H@hm2T!C){-jG~Sv|M8E1aA7VaB;~*V`@gwB7lF#k zN-ST#91lPIFs{A!+F~x|l!1l3F!DvL=N;~Pb9@obTiA$oi?XM+3%qlLhONBtp)&l* zZ$#7FGSt>mAEMr}POP!}@fxD&n>ho-EwOj&aj1N>9m$#Sf(*-5W-a`@Kv7p_IH}35 zZC@vJRs&3RWuuCDRgFF9I^aOaC6mm!w>pu4>QFx-i3B2gBWn0C3q_Ee;JBezDoWBM zIG@YZaKetRVCsb29QC21>lI+ZS-HQ-f7a9M8Ea8BdwI?;^H#**#2{o*pxj^uJ*@;P z>#LyR6Ntt5w4}0*w(^^e7Vi6tIH+$Zp?*d!jAhfuzpk#!jjo6f0hK0g8wteX=u&ql z|JJFtorT6Du6 zBQvt?!7vO8IjYo!tsp$oO_E}xSZLCrrB0e4htUW)eYj`Y*AelDan*xg#iA?Mz-H}1 z#OsAFu0mPHx(Ry7ot)n z{UApVt<_L+0XmbF32h7UDiUW;JQ`4@45gB~B0(TTQ=Lt9ZCS&}`3B-^9EejZJb9tkpdeqn$PzJ4Kv@)wP=%p={mBy2cJI{UXFSuv^H}Jx@|32#T%Im4f zF(hGi0ol*0)%1Vr4@ZW1Fp?DM>BcNw`U#UM<^y*9ix{uv_67rofa7n`+l#Ln(`U<6 zya!_>mJE0qE#yThs%(t$K5G$C<)cb7y}rMyEZZ`nI}}DhEkm6DS@FBmJ^y0SM9OZF z+#Z7mBSFW14}mP6hJpuUwOKRlc(d}IeOUYMemvDz_)55)0lE%OvE=AsHbKZFin*SK zI<#-56~PKV=tUfml^O6t`p<>ul>)v&H(VWqNpHzgg&f=ETDo1v`HFfmalZYWc`%j; z_|<}M;Ni=Efq!2A8{E6{JJ|lvhEY99U)n>Le|2j)CoU3}o!^8{{rFT|@$D5D z3)}v_0gqgNAD4kcsA|d~;3d<8kua1)(96)#)a@KSlo<>LgHhTP^{nXN!GpN$vdcz% zoK!KAR%r%dC$J zNT{6Z7X@RGiZ6n`gjzZa#Vmcg5M+w_=t9Ot(o zf*=%RB5r{uo>ts7pFqt$K2mG-6s3|E7{!4_gia!+$zHb8(YjMW#)rI! zQlxX(2S}I`As|}!0{w0(7G$PNlN0(zEj>Q$_KqCfln(~OQFQRjy2@M_fsxRB8ugWH zf14K=`Q+$qAulmL?OSeC=ky&EivE3F$=kI{T2RUe6BAhlMj=I7A{!5e1St6NLM%Ky zL3)fKFDk7XmKhaD1nKc7kVVALq&2QUZA=c6BMP@@n+f|vc;<_Lgtw1Qz$O>1*TGGY zK5*`j5O541a}4>yc<(r^sQ>VylsIZC*TT$)5RHWc&u>NFL7}c6uvU-3U${&xFy;{S zV&?@$trgIZJ?)yoU@#b^M^Q(UB+O-KDAi_`$$4C6ll6lp?CsIrr#-!De4ARd|Yc9gGN zBrRmz%j7cd@##c0FP0Bvc=&em69@Nwv<#p7e`jFPnGIh?hSq|$^ zKS~ATfKb6`8s18{$VgAJcY6veFz)uGjvvd-g$n^{K7DRdr1KAXl9h?^jEYi1tV9!} z2M<$UHicS=vX&~8GICyEOo*zXhY5@#M#B7$u7ZW1SUp(9Pb`ag;S~Z8hqmMTTs?gjcXqMI=->QJJ570F^U0tcO1umZhd6f`@Oo~ z#(6ptE?79Rb0#8k9)D{eqAmw&E5lfPb|X}pF-)Lo&48Y_#c+(Ff{|4(G8hcTl%c2| zj2B*bA^!a5KjW)k{pzsCNUHRo{`4n&>QkR8%Cb#GSc)_wAIMM8Hr4&=C0L*ipEN0R z-==P??ulSdPXz7rJBJyF$7FQS-w>053{MaDI?~=V%2(VB#RKq!=*gQZ9vt;^k8Da= zEy!zhqdqsPNS!1e+uwtza(I=chYu%-%OW`^gPLMgjOq6Jldow>L~(&xizc4%?Yb+qRQ7YHZslNn<-{Y};%a+h$|?Irs1Xz8_)leeHFvnKf(XRkc4( zsuV|MY)0r;`Rb^6b&_K~6G{grS7ufR6^%OE-DBKadszgP^pcT3O+reRS2;s$xGo(F zRph8p`Ed38YV|UN+b7o(=cBNC6H^4kr z$?GP%KN_{yYpZgxXzh@qEzTXA@SaoeA=AVW{$UY$vwPQ_U`7Q&+ZwBqrS`0CV{VwL zcvEq*(|TPZ0_x#!1f=~mV?BlfrIO=n0UB7YfKnI^PayOp#1XkLM}>g7R_%p|>5>=(Y$oCW)6xzDxNIr7EVXa_HgxT?Y$h#c1Na@*ef7lH9xJ zZfQcf2USPWmC8REieMr}{_Gj@jJS^iG*Rsx^y|7HL@k~7OG<7LuepN|G9t^OPJUCY zp-j;%9gB@CkIN6r%BGc=1qz?yC~Ks#yxcO5-Ms@C^=tUf5c)rN>)&~26I2)hS-$W{ zdj7D*71Ws~gvy#1_V2DOt$oODk)A6KE$|)|xiT~W+ zw9cTE#-w{vzjJ`R8pdR~UI_mYN+@?v@%ejH!>Kgnl7n4>Hyi<6v3Zl?$rb4E-+jJY z6`Od_pYk(y#qsYsumn*SG885e?hF-cem7CuRX{#qS=8G(cPw!K!^+{GWzR}QA5esU zhBeUapI+C9QItJWDr}pb?p;C@>=0Lz4-|5>@nglI_lLYt7IPa;VZINZ#jaQ1LGv1 z1d$3C7nkW;vu*2n^BT8FeCcmg!6#CAD$MHc7wb20aglPp2LkjJF~HSC%-YcF!$_OD zki3uf$Ou_s;rQ#Uul=L&Ss}FnuAxkVNVxY!h#AaXAvGmS`@j_maX)>F&}7qJ1OJVC zWg4uA$kmFq3~LoNcBjnBRC}>Ct~omO=`D>+~sU9n14%UUCaqv?EU zc3h!Ymk$nB$1G~(-@`^+Ozxaq$Ar^Y#-WXo0;4`TU7LPoi&rwTCxn1)8*lE47TvtZ zQ!8yH|JLrw>hPm1!1JZ=b3_WRi&=@zh$8R(KSHu0IBKlvpWkgpcY{a_OEF~CqfAY@VkOv@5fDQk3(u;AjIIF<3&g)kdVDdDV_=!qB#~1vu_7cY_mJw z*~!)V)VK;?;3QF=^q)sEf|zRqqh)&L#FF7( zxa0&scG!%?!K<75{(esyJ((b$`hZW<5Ql|tMq5y|A`lRW--|%+WM1wf;c`5co^HTn_ zec#+ec1RU<^i;r8JlH?$pYvJOS2X^&;R&hY$^X|`UE|N|gye3-EBTm1m1p`oFJ6x=Vs*`ch8ymvFU$W>^z4A|{EV8*J&F&_g4^Ax_4U@blw|oyMeKT_OF)6u1_0!aI zv~99f;Kl^4k}-Ty7IsR&pb=xFFEb-iG_YPpm)O@0HML*5)PVn*D@&UpmSzh<3M#1% zEox*28;N2xyyNXfoW#$e6_FXWorQ>}VSNx@2;W3BG9uFA2GaCV)A;>y&gd%laxM|4 zU+Q8iKCZP6&5h+qKm4DhE1gi6Qbgm%KUB(K=2NQ#wdm`rUM_Vx;Wge{bmNn+u` zUqE=hl~v9ZHi3u}y$EdTZrG1{f!2w{G50M3QSVc>eP=y>5cXGAQ@D)yZL76@D85@4 zVui1vuHF7=9VutXSDu)bTee55^&|3aG%~9q?_^TQ9y^8uP?G;qymU!Py`#n~RH!vS zSAspAbmJ}4yf480`Dye>tIhXNn7`4gWKb*P4KfKX*~eG&2S^3?py#n#a&lpmP|JIf zHj%GjcgzscvR+E}t$^fjIngiJ1%a0|+_rxF-cxRGdn1yEM#JAzo zZ--2kUKS(|HyY|nD})|-HfWa}s*E{vImJtmh)g9FJMTh}dL%_Hs8z6TSMV7&-B67n zLP%$}ee%x{sLKuN2q@4sW-N89+ggZ7I*zq4=|?i8ev}J?NClt`>SR5PoL9t{P_qvp z-^_o?&OZ({S;Mi{fSlagR>yKaGZY4#$?-oLVLb}^u6(i}qar}|LL35hqADMsBM-MQ zWhxT?Ya6qu?WorJ5ko#6M*|nJCG>QdHE*`uq`c`D7c%#n6e^G$JJhQI|4^1FBb$S! zvZD;8#P@wSOXw10Z!m6f8S~5fVp#@yxLv0aa^?(<>=;|a_J{DW;r$;ylWa~3PZFI; zRtg-%@Z(ly`iH`@autJ>Wufr@&=aMM;Z&*g&GLWhyp}CL0&2yq-sx#HcYjY$9$h`X zI&gBEzT*(K{sB3~XDyahm^vZxRiTpuV(XJo!WWyY@FyDhfXU4-K_mR@=Z|ait#81x zJl1R^{88nyBr_KLk?vT(N*&g(Pmh{R*<8T5{K8z6$tvAv88wtl!S=L{5VSwE=raOn zqK{;LS6iFm!VK7hyLBby#6BXZKbvP1HlTxM=5JSFVP^n${kZwmdDp$iV~KN2c;}6L zDx3ar<$b==omaL%!)Nq;vKL=*M#fs^5Ax?gyvMafH{a?4x%qqoSx`=ZVgh$?4%|_j z_GYQnln5&11)My#wfdC&bD$!w-|SfsAI^vrBX1@9OgV{vNKU6D7OhF~nK;Qf1uxR_ z@rM$rYO2j>B$Uy0@~@*5V?tCllT8BY&+6F6Ycs?y)4@j_2__s>oh0v@S8)%Y(QxD( z(!)Qyt%0c3bX4%0^h@V10~Up*W}WQGTzmi*(I0Z}2J*4hTcLph2Bo_55jwa`B4yyY zy^~LLBX==4HZiWyn&(B1AKsgdbm20A6XuuKM!;0IJQEYDmq;v%ca~}`KpUBSwae5JCs+F1hlJvYEUq}9%(u3cZvM-n1N|ig|VN8&$R{R=tn}8tHX>^ z2zv0k^%*s@oy|>bc#G`+scnOg#lZiRhm8^(He>ny<-dkI$tlW(1AoZ9`<7_k|MML# zRJ06}7d`Wv{b7*7f6`E&1A3z!jN;_+UDW;(HU^0dGVC){B$Fy15_djRJIQtKcD&Zr zg8t!RuL&OXeh?+k(=(jRtP?a0x>O5&NSNAM>np}J)X%TJ4o@cx-k!v|Q}YE$3l5|P z!t=*i+8^<}Ofsw5Tu$`rR8%T_HJLT*2v@e7tAwj!CD?RCStQ-42TFcOQN5(*ovmrg z);ofaxD?*J2XK#jGLRBarxGaf%w}8<-J4UCPLtX{!OqBc+|90VzTusg`j$B+QBF#iAGFQn!48x@TYn z*h&1U6-v5`N=CNVQ6y2pw6g<^oDIpQQtwsA^D$0L=x4`ws+i703pH#GDX@|?=2m^! zVv(?{Fr6~l{{0JlcaRE|Y&^~z0Q2Tr-J5&XX|w8^BY^zDVg zS>Will83la6V+mDDV;WGc$4>I=~Fk(ENXGEC&46Z2TN=B@;C^uK}DC zrqz_Yl%m5DGB(Ff2Nt(u(B#i4c54;Q6z|o}q`M32ksiTYJ|v=soz*FS445_)s$jBo zoO6)3$U2+G_tgX)dnhAn19w-%3|Z?oN%CVAGqkStb2?{FHkJ|Eqoo=ZcG{1)vHp;y z;>|$=D-9>h(8q+CNb%q{q%g-$e@`=PpT(go0(k&0&d|TmLfCQFu13^xZKNiF_hY;A zk;R-ZA2vw29cBv{A*gmoc2m6Tkr^3?lD^$-H&92P0Mso08NtJn?%0DSOn{z73q_yufW^PX#ZW9YGGkh6}0w*?x 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 A*8l(j literal 0 HcmV?d00001 From 7786ccd995bcddbb4789a6a2bee1ee2241f70f9c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 13:00:47 +0100 Subject: [PATCH 110/159] autotune(orbit-compare): comparison up to the MSD maximum - all pec variants collapse to 3e-5..2e-4, 10-80x over Trotter Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 5debafd9..673d4876 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1149,3 +1149,37 @@ low-weight coherent component on top of the erased scrambled part; the dephasing strength ranks with discarded weight per event (disp most aggressive: amp 0.25; valve intermediate; loose Trotter least, but noisy). Figure: msd_trotter_overlay_T10.png. + +## Comparison restricted to t <= MSD maximum (t=1.225) (2026-07-06, user) + +Exact peak MSD 4.5080 at t=1.225. Median/max rel over t in [0.2, 1.225] +(walls/RSS are full-T=10 costs; the up-to-peak portion is ~12% of steps): + valve 1e-6 B=100k 3.5e-5 / 1.6e-3 59s 271MB <- best & cheapest pec + disp A=2B B=100k 3.6e-5 / 4.7e-3 177s 341MB + disp A=4B B=100k 4.5e-5 / 5.0e-3 340s 442MB + valve 1e-6 B=300k 6.4e-5 / 5.1e-3 207s 432MB + disp A=2B B=300k 6.7e-5 / 1.3e-3 669s 625MB + frozen B=300k 8.2e-5 / 2.1e-3 180s 397MB + frozen B=200k 9.6e-5 / 7.6e-3 111s 296MB + valve 1e-5 B=300k 1.1e-4 / 2.4e-3 302s 460MB + frozen B=100k 1.5e-4 / 8.1e-3 53s 238MB + valve 1e-5 B=100k 1.9e-4 / 1.7e-3 66s 279MB + thresholds tau=.01 1.1e-3 / 4.1e-3 376s 1014MB + Trotter mac=3e-5 1.4e-3 / 3.5e-3 623s 415MB + thresholds tau=.02 2.0e-3 / 1.2e-2 69s 519MB + Trotter mac=1e-4 2.7e-3 / 1.0e-2 37s 134MB +FINDINGS: +1. In the ballistic/transport window ALL cap-based pec variants (valve, + displacement, even frozen!) collapse to median 3.5e-5..1.9e-4 - the + scheme distinctions that consumed the T=10 analysis are IRRELEVANT + before the wrap; even freezing only starts to bite at the window edge. +2. pec is 10-80x more accurate than Trotter/thresholds here: Trotter is + floored by O(dt^2) splitting error during the fast ballistic dynamics + (1.4e-3 even at 1.2M strings); thresholds by early-time tau_add bias. +3. USER'S RED-HERRING CALL VALIDATED: the late-time scheme distinctions + were driven by finite-size recurrence physics outside the method's + scope. In the physically extractable window the story is simple: + cap-based CTPP at modest B dominates everything, and the cheapest cell + (valve 1e-6, B=100k: 3.5e-5 at 59s/271MB full-run cost) wins outright. +For production D extraction at large L (window entirely pre-wrap), this +is the regime that matters. From fc7f248e8bd29caf2974e8d097f96050a786faa0 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 15:50:55 +0100 Subject: [PATCH 111/159] autotune(orbit-compare): L=21 (N=42) MSD converged via displacement CTPP; Trotter infeasible to converge Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 25 ++++++++++++++++ .../2026-07-03-orbit-compare/msd_L21_T15.png | Bin 0 -> 133449 bytes .../scan_realspace_msd.py | 28 +++++++++++++----- 3 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L21_T15.png diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 673d4876..c7528ca8 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1183,3 +1183,28 @@ FINDINGS: (valve 1e-6, B=100k: 3.5e-5 at 59s/271MB full-run cost) wins outright. For production D extraction at large L (window entirely pre-wrap), this is the regime that matters. + +## L=21 (N=42) MSD to the plateau: rough -> converged (2026-07-06) + +No exact reference; convergence by B/dt-doubling + cross-method agreement. +Driver: SCAN_L env. Physics: NO overshoot peak at L=21 - the MSD rises +monotonically to the uniform plateau 36.67 (reaches 36.47 by t=15; the +L=7-style coherent overshoot is a small-L effect). The 'peak' window is +the full rise t in [0, ~15]. +ROUGH PASS pitfalls (documented): B<=300k valve cells scatter WILDLY at +L=21 (non-monotone in B; pec100k collapsed to MSD~20 at t=6); loose +trotter (mac 1e-3, 10k strings) underestimates MSD by 40% - the ballistic +front carries the dj^2 weight and is exactly what truncation cuts. +CONVERGED (displacement A=2B, dt=0.1): B=150k vs 300k median 1.7e-3 +(max 7e-3) over the FULL window; dt 0.1 vs 0.05 median 1.3e-3. Trotter +ladder approaches the same curve from below (mac 3e-4 -> 1e-4: 28.4 -> +30.9 at t=6 vs disp 31.6). +FINAL TABLE (rel vs disp300k over [0.2,15]; wall/RSS for T=15 dt=0.1): + disp A=2B B=300k (reference) 482s 666MB + disp A=2B B=150k 1.7e-3 / 7.3e-3 145s 420MB <- converged, cheap + valve 1e-6 B=300k 3.5e-3 / 1.2e-1(!) 156s 443MB <- erratic late excursions + Trotter mac=1e-4 2.5e-2 / 3.8e-2 75s 344MB <- 2.5% LOW (front loss), + saturates at 35.09 vs 36.47; mac-convergence is x8 basis / x10 wall per + x2 error - reaching 2e-3 would need ~1e-5..3e-6 mac = 10-100M strings, + INFEASIBLE. At N=42 CTPP(displacement) converges where Trotter cannot. +Figure: msd_L21_T15.png. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L21_T15.png b/docs/autotune/2026-07-03-orbit-compare/msd_L21_T15.png new file mode 100644 index 0000000000000000000000000000000000000000..04f35d8a898d4f533bc0433662d0bf7bd21902c9 GIT binary patch literal 133449 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≷=k_l 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 Date: Mon, 6 Jul 2026 16:39:09 +0100 Subject: [PATCH 112/159] autotune(orbit-compare): all-runs L=21 figure (19 curves, rough through converged) Co-Authored-By: Claude Fable 5 --- .../msd_L21_all_runs.png | Bin 0 -> 278603 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L21_all_runs.png diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L21_all_runs.png b/docs/autotune/2026-07-03-orbit-compare/msd_L21_all_runs.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3e1b5f158d4e39cb948891d06009b76cca9964 GIT binary patch literal 278603 zcmdqJc{r5e`!-&wq=lp?Yh|k#O3A)Omh6P=6%u1-FxF5}_C5PfmN8|Sv5rb*C)*4L zLx#yrX0nXI7=DlXem>v#{rC6h`y5Bdcsk};?)$#(>pHLNJg<3UWT18CB=^ZfhYp?5 z(bh0Ibm&;fp+iU4P8 z*TvK0w#2QQ5^~~~pZocF`N~U5y8rhZ5}rQJk|LU;mcU(DytFNS4;|tbKKOSy`WJHU z(BVUebTrf+2Il^rITpg}w8Q)dXEoiflikv)b_xVC$^FUN_4x@i^KP=jG-Ix5;Rh3I zbZ41tnWnWBk(?nC-|9@=ht3YT$>hx3sq4`U!xtN%HQ`6K_|I4iaz3+!((`^od!g>5gY8a~K0v#^L(4&Av70-b4W zY>dd~C6@8BGTVi$-j5Sd;eYbviEC?m*B*n;Slf=}1ep|II>N&{LhL-3C{F5mq@rkk zlRipf_^zOHD4P(r3=yA_T0@djahwq)#xbTpM=`T=bH5c#kS!jktPDW>4CPU>Hnwhe zb5?(qBtHEb!+wH=#3{M%q&!0dgM^b! z?8m-v7%E2Oc(kza+;ubhjKkv{sW&g4jt-?**oT&(z3s7@hHLO}hAso0?sV$1l*Pec4(fk+?AHaXu0TPLoS$6ItkP8e8>fTh&zj^NDE!6{--Y zSwd>c3_@T%JNQIWS!lR$mEZosg`yQ$hfkUBnRGrq`Sjv&)z2MrDRz-z0>(&J1!lP%*7djd)owCth>JcnYFdGF?9($-h`tnj(il*Vf$^^>8*2A zWs|O+&7l{P#+XJhMxu?1w!SFsdVWxGUC-~>xv%Lh3torqFGU}=-%l!>{qUr7tkV<< zZ3Zic1NVJjRprA+Ga1Ur&rj%+?BLD0>;7ebkJh1TXn^bj?#Ntc1tUTSbLF;v#!4EQ zo0s#SbKKopNK8&kE48ZVC7t`UDg-kt8&M$D)c=`qNUVHZ((y=~vu$HUw+ixD*JC~@ z^%{$Ofb{y(fa&_07xHCefTf0}=FhhELDR!NEMGYw<&lv`&U12B&4X*3Un8$_u(KN@ zg#!9|ytmUW?0Ocm?DR|)bx5|*z^RW8(N=KHg)(4%%yCxwiJBU($aDZpK6%hwl5jJ9UHU)jPh$cZ8o+fLB7{> z^lkvzCSB^@h^_XAdO6X8kh-9-KcAV0)5kEFYHaA2&d$}}^+W!@>dtc61r`Nmn6qf) z^(Y1SX=ogER%T~shbW|EQlr?EjUw#i_C#FCO_^P7?WtcCONX&lX4M~@`Z5kC^83L= zrkp?I@I7vId*@ac??P{|n9DK6Mj;tz>-P0Q1)`-DjDIkcHdC=S^MK#p#TaX*z4xRU zq*qSyLN+1;EMpuJmCS8j?An8*5gs#d6D}`b<%iSs67r8Q6L8bMP9gG#vs`LuD zV&A|F3KdNAkWR3JTO4-xgdvAi_Cp|Lwi)$DyA0(P&xfoJ$k?eEdVKU5iU*NKhP4D> zOCQtvK%VN+tY)2_ZL6<`mg^?nhzd@ME>1HUto#`gwpAX?X}NZ5biDswhQI3NQOSkC z*=)i#9UmE6BjA&)Y8BM?hfQVoNAWV1+Pc49u>W{xV>u>1-mLG@5@w%)+pjcVnhk>o zhq=+Fr=m%ZwSqek?R~HqGR0FuVC(0%*zs@qO--`tdyc(n*8?f-G}d5t&5Q`%_dTAe zr*1?YKVx#;cq;qplc9X2rp+nvt-wEzsZgH?t&#d%zY!f`YXj%@luxS7%+w}vPhrNl z8Ce>2HH$E?cyu3FzcET$DtjfDV~}J1_J}c7qp%sHmLuc&y)4tNDl7_*O@&P5?Uqm0 zJ6CUC;N`7ZS{=8rhY_!NPSx{)!}hkF)0ymvrjxIo``;BImNUd12EzC0_Imk>mLPB? z!LfCVLBkEtZVMyD9?XbQGsl?f5>p^nXeQ6nZ>jwp+XIXps_DAXQrRvl02gYpxVd?s z?3TQoajMOS2R61YsFm;#^gC>Kwd<~Dz{*U)bGnVCX9G^C?*Yn!=wB&jo!x1;R6XW> zkEl4*GHAgk#1*ypNP8)s?(=7}9W=w-h^VDG&ujpz_++ZV#g0^-!FyY~TE00(!ll+R z+v!rT6cv3EUgl`myQgl=>?G&x=s5S1!@y`=n~Yc!3V719nx_|C6JBT6?Z4H3d+7Z% zJi3|4P6ijMVDKxn%G?btsc2Z4qr@Zr&oVXNz#NOvNlt5Z;Q_dcnHt z`kjItu^R{psDIiGY|L1qR7csg66g&t&mI*XZiX$~<=kdnU&XwEgEsy-ELaO7ih^lQ&UD z=knTX9*^f^v{+t_Zrfs$jvm>%-KC)dTx2uO&#u?U(?e;0G1Go5u+FYk=7h`8t$WrA zvMcX*w3JQ1vroyLZcL7P&)oX+tyt+Z-~L>=(P1^nO83uk1ey(YXf#Vw1!yHm=+ zjaGbsBO&_U^_czz$pr#tGfGTMtk0W4#Z=F`jFwAZq5H=gtC6U4}`O-RsN7aYGx9U7m`v8sf1mA`wl}o@3tEaD%i2Ukf`F{U~XoX zzRtMz8{@Vj#1)Fpqq2?X zz<}#euJW!qC+@5uQH)J&?aqUY#_BG zv0U~cABXRX;VNMOln=&>f}_m(1@|~T}fM%_EZRvlTBgzD4HMm#n{fS)-E;b`K7_0 z9`C#pz^nC<{9Kq1pS$C6ody-hNfs34ebqHmMVp2n3t24GXGP;R^m1gfva)JZx6;zi z!_~5uY&<)X{FropshUIs?U3xu`O9mtl}ZKrIE8d`{Yb6a+WF{l>O zDoTby*{5DNJPX^}$%U>jNuNBSb5s3PU;zYe8PB>oQvoYMyixVV@jGFE9Eqs&91hzD z91>anNqSW9%278Od8T$QB{z*S(~2B+Mmj4106GdB*4L7glT+R6#7O;AlKTPtS=|1x zy_{u=H(tp6l>CFxnqw)Bd7h-*6sm^AgpREwetn-o32%)oFo6f9Q1yvtEHQUX?Dqk` z>OGFBQ}GvFe|Tz3$LK+IpCj%nsWfDE1&Ny_uhhcmseoNq`^ZI%6Mfv}bZ%|}DBN5$ z9yFc;`QEOa?i2#7Sj#5g8c*Y=#(tTh*q;Z0pt07|aAspB0M}f;g0}XAgd)V9<(_$~ zY|}3MN%tUB33>X)+`lPpc{oJ7xsy01rXk}V}WZ?UGB;%+ilN^re(jWJ}j}E?F z2y%p@r=vpZp$~C_p93ceVA7`?Pt@|swP5hqlJO#w=)UdI-gGfrQa*2H6GhiCzfWHD z@S{o|N2T3Otfwu#;Q(p7ZncnVeQmXq7%%SBC1c7^o@XlA7DMaW+LLh=;|?YjjkJqJ zf=np)8P@4U`vwOs_YO4}kWf*dyR&S$D!fA|W-F-DG+AXE`4W&BC;5PtdAsi=TAhE` zel@dW_ZtM#UUnFl@UEb4G#xV}N8p8zVl!TN>Sn(3e@t0HBAmHP&EnfAhT%J@LwvhU z-V0;0WRUKnh5`6~9e^Q3D5e?I$tJ=#GrB?J&tlx| zL8FD~U`o5b9e_7{`Qludtw8h2iHnbW>(k@E3mmq$AI;CqB(%u>$X*m@mYAvw+Go&m z+9X5+tg88j9veCz4_Ul&_^jc`&xZ<4o4L+D=Oh<>o>E9xQ~ZbT9r*<+Yb;HI&YJM? z{TXNd*=T;5EcCv_y<*m&TmI?a7|P18I04qxlbcLJdq@oe2@V<$kvse&QU_xf48tKD zSk6CaK5Eu@=#7GlH=!DZMp^K~JNAN7X%BwX!alREgw}ze$LTNK=us!rjbP0rSaNCSny?Br`6^eSm5LS!*7RwdPQ0mK+448Q` zr%aiqHD}uTXJKf)$GF^ihvpKJT!zuoL%w`acnJJxZm4^oRo~M|6*^c2!#k<OYV+5!B>U#52sN2!le~Rv)76a%Cyy?R2myIy?up}ynY&XD_)_Q=Yd^jEZ5Yl zubaGreh)t(m9P;CD_b970hE-^&%7uNej#KW{+&x-iS(OAF7Zcmz0}Q5Ol+5L-TFA1 zao^4^KPW@-3Cw#)iS}O6Dn+%uIV6NnPDMCz5{8_uS`%adDd9_%hG&+~*Y$Fu^W}=T zB}%1p`nq{QD#L)YBl{}5ZfDH+-qYbP&ARQ}vbG5w=@kl3rBhONAEzM64WkB~f95;e z!zwo3iftDl+_6j2xI+B9j5bTu?y_OH$xupb-|g@`y-d6@kF;xAFJ+t)Ipc2~y-5~t zZX*NL29d=&57*J@?1ZC2(dqrnJ)cFlZz$=^!hx#8_r{PTIzBjP3Pf$~R1ke;YDcX3 zdgvm52R=o2%opsFtrI3SFNSk+P7QgJ(r2S>=k7_0tI3R*5;>wH|09hNh2(8Xp_{B- z3tHN^km75Y9$D=TYr1>ingZxH?>SDUX33w)>m zJdfoHuD7qxEFYC2PaQKIugAX&7_xrvuAah#Dr@$#Zk=g_gkPlxR(66oV|$k;&4}{e z-!D1y`fu+{F&`_g&0K5^+4hkR>Ea8x1GObOd14DH1QQiU%!XQ1oy0oKQ`~>!&!4rQj1&Ez<^2*;~GO?%c?eoYfQ=W1FwTlGzyha=9ulM z#CO;2qKMwRxf}LPUPZl!Z$J=u8toa7MO>8iD(n?&eKx=iU)ZWjEG>C*rQ<&K`%F(m z_iCPu)!<;CM5`Vj@($8IW4g$yeR!5(<2y~dVo$i7;%UPhzPtMFj*CeuM!2BC&6=-~ z++cB;(CW`RVlzvx_4_@+KUJ4u(~=@NfnCk$56|i#Z-1C!%(I2d{@zCZCN(ZD4u-a_ z``2FHt`vrQfy0q_M8?j&ov%N3c)Tjc4S{-?{P3*9%Y+g1%BNIwL%;O(7vvbAD9o1P zXd4N2hXyKiZ)&n;EI!t_A*17l8=-B-@;*EP{Kb9FCN1^h>Rc2X;@Wm=2cd#jPrFR= zv-9$wl6I?B@dl`f!c&%~TTyyE%csjK=Lb6VlMMJH=Zo?LNc!bDwr2@ zLM{S)9d`TElEm@uH7*_*kKbubQl9uZ8+lIGWl9EX82)Nf5-T_aW_Yf9tx;n8Dz-F< zRhK{b_pR~k2D(w^d}=8B9IbN~S2g92of^B#u8l%yxwmJgUS!$1i=5SEz9!{41*Xil z164nhPE@3xlv1>UWy)MD{M1GFN~UQSE}~+OV#?sFuPqQ#n}49t=i8I}IxlQVM)$EY zJ@=zVMochUb@{#EI^I%p@}cQ@gIueB<{9D6lA?3gSpHIKY}3fCM_`2vm&A__T?ptl zzegUWzr{{jt6P2^q%Be^Sb`X2n=}_Pnwf&wk*1C0$>8hmdoJtUJS)mY9s*f zM0LEh(K?=LoN{&>2(m77910x@eNF|ydV$Txnsoa}QQ>omM`Uob>!?WH&+TjpSZ#7b zK|`#>%FIwBez&CA_v{Ki^w^IadRTak!pissLa>FRzZ=`6a^vMHxD#kpkWe@PB4y-i zX%ot4CAh)VqNKsY?Jl}`%XUM7`Iw#^DWEV2CqUelG=E(Kg1Dl~=!#u{5$U3}oHBc( zslWeS1I1O1ae7U|i7fzdDm0`Q%bcqj^M4J4U~B^_d#(NReHM-VZ{*!)#RJ8Arwh+F zw36CDeP7y-<@~-AdhDomCj+mbqO$*CA$W88h6S_?lGl)%lB&G&^~qvydQ}C)a?q;p z!Vo2`FoyG@%Rs=}PTLDI-0?(W^U*5dcf#%7;P&p?M<4IC1I$2X2~57ltgV5pFdbBQ z?55Q{g-6~h^BY3#L|3(ka;j;w5QQAxmr#W!pf)G0U6IGzhwzgHEkCgqRQjfSNIUX4 zP|ofM>b@)bSxRoA{m++Ep~vy^k%-famuE3Fz;L#LbCTxNv>J|QaGFoOF$qR?p=)SU z@?*2HP_pRpI%WFF$32^iD<1I)RZLbplT+Y)>?kk|(Lf*{pd!ase1`R{xf&VK4K`yE z-+Ove8XA(#?~VlNfz?Dnc%cts?WthU>{QE4qjUJ$cOK98v#m}%Noep|6548{#Sn1; z3KQJ6Vg*^E_8t)!W*9K;`Y68IW33V7hnJTG$=?SfmeKtx_VnCNkcDT5y47!;8Hv$d z0LDKB3fEOO#1k$NOQ5-G82#LbBrWUB@VeijE541;D`zA^RvT>^T~b?*;fF_Dz?86B zVS<29%?c?pXOjV{6jXRR;{vah#kKzY=n&lPUE$AOr_|RXOkhVLlxR+PFwfX`mla9| z<2L}Fi^yxqs_zluNeY>c0%D{H{KbDfRG_lnm~H_QL= z@{m)J?S=FxGf(8%##h08*SBq_fT`i1dK0Z#u6_iQkG$&IIZ`JgFF!>Jm<8}%G(*|` z`VFgd&s&LA)noNGyh(n%WaPf?htC*yWzcX|gmSp6NBi%DX^g$gt?(v@4x%|Dg~`N4 z__8R@gwp-(^dzF}Sk&|l5bVf|XWt6zZnM62=r!g)dtreHkM*w2iBU9taPuJDFu?PN zZ9Qq^>tRXC?S7#8pjB5Rken&}yu}lz+y4lIW$wdQmaJgXnr9E z6I|T1X+CCQ71PtxX7eH)OIc*^HfIdX%i})Ew+<#PUSB?3Y zemf<{dA1FDxVo*OI>^1fOx;IU$LpcN2)?wYeyIX)!{MVU0gIm&sB`ceG8J<2DI3N0 z-OF)K2_Cj*K1n{DkC+|&orP8doI=Xay=)|9qibb!AURdA`GWD0wJDucyyS&hABUaT zhBU?L3-cK^-kYK@VKv`%8|yBoo%TiA@3)TFVZ^J1M+NwwZ{6UMsIB6bcC#ZX0Nl!L zIb&|3(+wizHHJNhRM^~HgYftp7#LKzbC98(jP2*{tUlo|8hL^4Aje`43S`QX+4KSm zLfOu<5Rm&@e0G56g_YTq5iXbI;DeguP%`vtK)<$Kpylkj_cJXJa1OF{lWbU8Rxk|` zf`yiq!9x-nZe(y+u}Jl?I0TI3x1icdZMoC*s+?@_z^ritq%)L<2Gk#DdCF6(DGjBg z+~=OFWvKG%HVTE8!562{F6&)kWUqpmX*q4(uzEO!4c{`FP6!TAe5O48iU~A#soQBL zxnW1MIvjuG%^d@u@B!Q4MD}cJ$!u$x5E$296;ESOaf!7M%@H7eph+3}?(P>BN#>d^ zEP`s++12g&K!=<5Qh61 zIj>Cgo|ULfESIDQ)l+GD=Srnf+sxsjnH>qx14o5*%~mH=wL3>dF^uLDVPxe2INm-* zuMTP}4Exchdz3tp6q_)s{bR%)nThxYm^-o2CQ{F;%YdAx?y|1h2PJ^{5osZaTWY2&Ko5saeJPvs~0^;cGs0wNfvHp*$(z_w`t*_riB+>qKcJ;5fl6 zVUzZBInUAr%n=#Xpjv|yu{z;Aidel_qX4Q@u#z&c$fZR4HU(*g!Qnx|XG>G>!-^7t z_`7b5_1LvF^g9j;jr+ZiFHXR7X71P~c$TsqG2BzuJWJ*h42AKGu;i*BnT8gwfcT<; zcMIk@9`Z&}yRRI9c$;#bdDdUnIS-Q2qGU31Mf=6AA4p2~VHj^)uNe}t^dW_}Wh52Z zaB>Y@;;q$hC?~riT|1pmM46^a!8n8f3K`~Gm9cqu#>D5ox%OcBQtg-Co)V;L(@~j* z$I0Ss?pfNGAIX0QxXn`Gi{hYbik<}O*erg}hm@>Wkel|r@1aL{8WSQx>RJCqsyOq& z?Aq0RI&Po55n?nFsc*n3)Ko#WAsb}0qEqy(X17z_s`q~1>`e8~Ay>RaU=~ASYPlS4)L|4YHxjSQPn^4d`%eqDD*q_zlaXq(7AeEk;8!ug;qnm?Oe2fHbqO!5m@W2ZEn1lU7iAxivr`}s zN8SY@-f^UWtt5=P>ssjKRz{e3*&=&}gS)4iuS=+8R~;%rY>}p|x&)A>&sQ6^!77B< z41rmTLT!@oJ&DUulAA7C*kyW-0;v#&Xz6}mu3B%GvuYQFWFVmu*n3(y_6e)0wbU@D zHc;XLPfcu6+w{$6yz^r|;0QzSbSqnukFSq=J05rp!LG_FXdT)zS7DNM#?)ZTLBUIu z>yjf*7<-%vwK8{^__?;}=SjI#FJ8!)al)4`U!Dp0x6V*-o&YD~To8)Lemybqs0%2Q zT2aGt2GGyB4?+Xga?MLpQcMg?ZHVWUGYK68XwNw+^}oaoN%jCufq9`D0Aa&^jXc`w zHGi)|^3=e@M~89e5CE;g@?S5drKQOpKYg)qR^j=N%Uys}Vex%+wQoBL;P1Os_O}hY z<~~P-hHV0M_1f8jjEp61J-vsWzJx*QcHSCvYGc-KR6n6TnAT!fT~p(?3lw`3fOM+R!%aCThEm@r5e}Fu_VefQCr+JOZvhSE$P6`#d!V+T zVd~@q{}e9d`VM--EY^}1(Zc}u+lWUh?`f{vO?RHby_^Zl%kc*x2=v&V7#eWFVT$m*#&%xIbAlsKUM}8GRh8c)5;Wpn|5E_ zO{XN&x_2jM&k?s?nJ^;mo|0_)!Op?4;2Z4T zqYThnFeOy71L>gH+c?;%IU^Pf*!g zP2{U9SYHA(GOa-cHK{0c*79gYwYQX%lnp6ompr6Q*9%2%GG-I*PqmPN+ba>Jw>|6$ zW+oNS*GEJ1R&K1@2E!WZ!ndGnj?`HoPBm{b*X^NJzw=ZL4im$MVg3Mu2J-vSI{~qSZGiwcca^^$ioedm)5CdWxRm)R{ zly?7gDzkl+mzuLSGh3A1oN%xm73xF#Wa(^qE~inFsTK$s8kGiA@H~d^=rVrpDa%cyU9Y9}tR*j&hGrbSC;aYmXPvmb!kn0zD#%N8{hmTrYS$&_+SK*;Mf^4t+FIVT^@)_gEh_K1ROFST z3o=qtLz|yhfqa{{D#syHAN8D%hG4BQNTf##ps2E?q^@XG=Q!r1y6XfFtbeiBIu_FS zDUS2gC{fRHklb}QzucclEB((JG;4PU0Pc>~hs1V|9 zPNxhdFEFj#i>UxoM;XgKt3!qo5`D)+?IC{F7{2B$k*?EI$`2&EyX)k3ewFaV2lU_S zYEsrkJHWy$Q6bPz0Mlt@eIyRRsJ;UZust+-Sq$Db;>^eX{slZK6d8Qh=5?dfHMZu$ z-zy=o)}tZy_4PdCSA1@DW+M0nfpqZ!0|d#Whgm83C%fw?46gYPj^(eY_U9{Ew@Vy$ zb5$t!yG&FiBa?gGs|OaVSAIKg`J6&byIw&mH8wK4H7{-;upa83mYgGMdAx=_D-*LL zLJgT41`@kz}UDAV7GFPWPty8cM*aBjk@Q*XB zpVhVyZ=`cQ@VJy}4L>j|(6D6NpD#}omcT5{d?tOS)5&>_&{?uDlG4+bhE2gE3V~Xv z$xN6KANSG7=}mDY@qoK^%|FV_Ty3pZR7$TVDxVCw=i~k023L>% zM0SE7t5ycQ^jgxx8zYmccp|X$9u=wl(EtVJn$EFW*CzoUCiLt`F5rCnKt#mdZN=q= zd%cSpM$Jl=D8rFsO$vaz@edFTs#Y{SSTfrj))bT!5XmjN9=B6NoTc*Jus)~Sr}=}M zAP4dtGwiGBdmwDyJEdSm5FFhXY%wizSlX)ldTsG6;|%Rae`24dOXVb6AhF#JUMWT}SvbbZ61r7*mLmW3>j3))D0zNW zqD@C73u;xlTOiowI8z!pQ!J1`CB}zxUWdp=8-%ns1Bm2zR;Qj8uA%#uB_gd|Tfnp!@FiN;`apccsc~$hv-`yZ_g) zL5q$HQij5WkEQN^G{Y*!ghz%Q0fzp;{#9)KnAw_j0|c9cs8y(&F6AJk8Y*8J9v&vX zQzM?y@tw;u`3b0lj5^daKALwlRpc+fU1xZehGn+(ROI@+-C;=K91Dc#Y+2}9ZK8Rl zu9J1r_KiN(rL0{}9qMKJeuAt$NxW_l?4q2lOZbuR@G@fzw-&Y>d{6#i=DG_MMXGIm z*qrg;OU|YnGa#jS^x<*DPKaDU5n@zl49Q0kE%wN_HfHs}U%nS9G^QxGl@bM()4>2G z$3E?@2R=TMq9P-GH-oLqW)rX)k9B4PSROpc6B1p?OINX!XmG^|{0i9{Yt_D~nn1hnaiJTIoZz90&Kq(j8wL>t*Mgu^NOVmm!B z--Ta;;1(v9wFe(8ta@)wV1q{Psgg7jKHFXO;D{(+p_Nkg41bF!c4OozvzIPIJV%l< z&@LtcR<$Fy^8LOD<^9wVJaqMHe8bg@);IVGJ*#u3^qX_KW3fG;G9S_)@G2D^;a717 zuy9<8wAv*=aC0q77qh4mYrN;-Burds()UXMY)EegodrYO{^xF^tADI`WaY+x4rX<|gej6nawx!lM0VtQu zmsO@c8DyfPQV2d-YYa9601mf8(dd|#vpQhmfX}u79KF$gs?l)a=o5`GG3yX*azkWf z>MIE3Q;+3Zk4&zek zh43U^B!I&CTX=f3#6JH<<9~@1=NqoAsBFze-LSaZDB!zwj@>vqX*VrJ)F_3n>+Cb) z@&=g@787*JgCh?N@R&EwUd@Zs5ySQNJ{Ujz#xFw{q-CH)9W%(ky7Z?kK{&vz=RRw5 ztf~a!LF|vxQlW9nBEKcUJYHkkRZyUCbeW&3Fs!jG;Nz zLTUW>P&#_>8vi+{XMrlse@@u{|DSzVH9Q1ijrx2jx-%js=ER`Sf93uXDHRajT0^Ldh|o8L(}om2+u+&~s}MOOCFu^{{473nx08CD?Y*d#dq*D#DF zKfiz%^ykR1354(7N|5~-^Q^0HaPYfurcLC|PEam@rGeB^4GNX>r_9C!y2zrMn$v__ zUsgc(#*lXT?}Ci!-kc*bpKEIe_6<8ff5Jf?Kj~cnG!{Gr6!~+XBDR2DhNP5~;$G%6 z+%JJh{-Eq-cW>_(0CEu%bp-!2lw!M=hwW98E|Y6*TfK0hv?5O&O1Y~ZyK=zxjQ=Uv z-*rxJ#n_sdr1X-+gl3rjcO2lGb6A6Oze0(X6*v8U8BP0R-3Jm{o%%TcirhI2WIvN+ zt+s(o%E;1ka<=FHdLqt0#^|cX+jw4Nc9=#?k-hXktJiSZ(>|shq8eN}Csf z9PWo%UPm&;Y$)H*W0vrMi;m$Gapa%(gAALWZ!U{Gm+Xx)<(p7q=(@-}xuLwVEfTV4EkYbH zhc9TnVt%4+bs88=XA)j}CA4^iaiC_Kt`LS9I{l70VmVRpvdz?7szE{0+s{3qj+^p##wVebqOCJUN7}%foDKu|PirQvBUj`W zy<~IY7HF%R0T4vcyVF7a7n5I_ik8pgS6#HJ}*&eACJ3$l$x&gj0#c z#CKjxdw*Y{xHjT2&Oqez^a1p5++eKrNglK$Tmhob;^HEa`tIFDGk$LFsmWALz&e(H z`zw&Q{Wz3u+Pc7nw0Ym}mzC>WL@W5N-w;1>TT7(6%iTFn!`n$IY&I#1g5m#K41&H# zPMMvWOK*)GTj-IzJ3sBh@S=LF-@K~SVp@^@cYAbmFrg0LbROibv1&YNsJtx%XzpGD zRTIEm<^WdmJD^FgehuuTpq3HW+k@K#_(UDNRQG65X!3GX;LaiH`>OiKpUV|PI>?uo z-22V03kWg)367;zb;Zr=Y>lp}dyQ-<|Nb5S_gO~(-c5ys>rmmf`q}X;?$T||#tmR1 zi1Bxw(&xW~gVc;IVLMpIv4wsY#_F$TThSjReT^6v-|`K!METe=_KdJY@FCnQedgXV zk}iVly_V)Z*}cHumu>DkTpm?Ad*GXmE1rHj*uV1Q6&=p=2&6^vtea_gm*%UvsGJIi zwHHkujY9YIj@#S`JtU#nqGC>#_|CH)Fprg<{4mKUYxFQ)OL-ptU5-CxhdRj z_0QR6ZQHoMnNh25x6oCr5|Nzb@9JD}ojMC9<6Hk6JKufWlY)c0j}@ZbIxUA7Z!uwt z=YK1$be|S)+28Wu`%O*b=6c;abSVlll%F6fnf0P6=CT<|rsHII;FC*(!Tz`II?Ii! z{2e7eP?0!-T=d@A{=x zX6Tc9#c6fVvmE>{wIp~Gg%k5%nu?TGO1aGM?xlpj3!<@YQ6gvDZo}3+^3oR?yEEk7yb6?$vl(jW7VgDa6pg{E&61ZNp!AR zOhiy>th6_5Dk;j6ZSUnb>vbljf8lhD2}nSIk%a}2m`NXsue`YK!i#Eg5PA9~m+u|b z|9CrpCg1I|r}%T@d!l}tS%yLR2KT$3D()^He+NUT8eaX20U!>4;cl|M(*CHyuIDhn zwA&rxDmq@v!OKU8P!}EchW%YI;bRjcF8K$^uj+T1K)_ssDCc9t{M&?EfA3%nzV+`l z)>n3T6{(ZQrNwXccS+{OSPG`dMu*{W{l9?mvmk3Vsmk6_Lk{l zc^QIdM&`K6Y_Q^Y$FJ`@kianUT?7ZyXV;y@{$48`>+En~qt8^_`o9@g*N=HUiea&z zxy5noiCS(+*bmXWr|of2aRXkA79-EXyxMAKukA|o`hkati3$1VDyB-yXWs(Ge=NE_ z@vfrRyzFU%1pM?yNz7S}+3mjJrlqYbwNMGUP~5wY*!8TxSGN7nmG~tZy0B?F3mGu- zL&yfwuR7Sn`uGQFbxWAz&(^nvBFysR09mi0Xp+~y7U?lkMg#i~lW_l=GZ^Br^{0tozUJ1Fx1dGYB>OyJ8am7OZ;A+O281 zL(I04m#i2dzVr2^kA#0DM_1WXa$eWfD>oi77{hgpCbEjyW5kr~{@=%HKl$q#trpR2 z=%Nn|nr9OE&L{FD2=vQMy!pNvYo>-9d*qxHN+!D5Y>#-pm$q)^{X5zNLEY7>uFW|A z3qNC>=wn`9N$mUW9ygrr51lr6^JTg7H1CH}nt~&|6T*y&K>;&)(ky3^|<@MROqqyyR|2MURfsV!g z+Z`YuLKjbxg$?Yr)<*0%m?+yq?x_!H6GkBrf_Pj{jBz-8)-IwT_h&fk4; z^6cMz@#}**MeOrF=Zbl!nh4WuTYe>P%iEXTXG2yomhTj=*)iJXs!uyBwV!A{1I_q5 zL+=CrO;NT}l`2FOG6KZti^g+J_!8g=j@xOB>OwG;xzq`cK}N!Hs&fJ)noypg-TaqqWe z&B=`eumglG(SH^dQdNoknJ$1-VB_A9Z}T5u|3QLo{V;o_-4f4}@Wq8=bPQ+tO>MN8M3tGmQB zhP$6ml_g}|p9o4?=KFhPkkr2*^=4)}eajn?!OhAhJ^yjN%SQsDo)WMLeYQtK^|aO4ou_g3I!fD@XVq!JX`5}@)eQ6G7sL3(6tnnroFF4 zL`tu`SS{37Fbr#a_CMof{WnhOx~BoR%-#A-J6DIVG_5zV=c>=-8dP+40#O-M!D_30I1iHu!qaVxM!8QHhKC8)yjXr#9NxrvC+Oc5!STdf91#W zp`4kB9GuM?i?Av7|9Rc3D*w#zeCtd?wDQbcHc!eCRXCyOo}u68z7}2*Cq`lKe0@gU%j*NFQ9mbFG!}rnF|o0}=@cxIEj>Lw=FJ;5P0iQUZH0x0 zfUNQ+cl<>;pVI2K^77-Y0TlC2ppE!Gz|WEz2XbVpaVgo^Z-L%yi|q&|W+OARS1m2_ z2h6yc-NT13b8~qwo<1JOE!}G-v9L1TYD6e9mQDZLm?Pqb-Z73AKg1@Y_{uzG7i@>iS0GGRCkH>zC z1R9NmgoUMd_?(=a04w_h)GKTkg@uK?2M5hN9l8=A={W<>+;Aw{GksfY%JFG^q@JE0 zVo~x?@({oUcNMBd*(|QLuQBe0Mep)o8NEI#h7ahYV7e)(xa;dWOPQKW(fwRmaH()< zseMP~x5Fh`t&uuX9ZslNfYTPdaif>YZ)s51<_PWc!F2niFN%?(Yechwg41strR}~Y zTFkQJWsOYT-U&-Kr_izP9TAdkNQmOd$cW8iU083>4N^0Gt4_Hu2;@jlTG8m$so$#3*u4>dN;j>h7)E>KT=??5rVttPJ0 z`b3HwN;Nzso zm#)eI_kWLCCwRO5`!3uaCfrr&K8c4!I97WXD5;{c-4N zS{`t<(qirpjJK=xAd3@UIwff(mGDwgbOQlvq~-nyRq6Jw{knf#bZ%&4jx*4t@&44C?0QR+`XyU7!sE{BRG@FjcL6`0zngwv+F5&<}r-Y{W?xtEgE{Ft+@Ad3p_?szvOgCvR;=<@KQa#YbYP%>c z{r|Ca6+lsaU0fukLAp~K=~%iOY3c6nl193vMY?F(|h;d}W1oRQISX1)8~ zx#ym9esMXgE&%Mie)3C^VrJQ}L-Ts5KcVl;Xga(4efINJvE(+;l7s0gQkh zKVN2-@e2z6RK5oYN4l%zy(gx+bg8$kiQ_5G_skw_Oe)NOb`*>B9#QWVPPVw^T1KHg z*y0LwchdRNi&dB}=Q0_gkNHgJn-k4wwrd%ehiX%twQf#KmnQ%i7(b>$PP?VT@;}g@>kK47`?lc34D$E0@CtGu(kEpymjx+;Qz~5<4w(ul} zx6^)Q5?xwmZ!`1pEvf@%C{L2rD8wMOX%^sG9uH;&tNIWjS6zckQ@}&y_58cOw z=2CswOt39+n{2yQcWKBu(OE0@#FW=&m3(A1vw~FRRS3gPpL#6==w+Q><@8#$`qpmg z71cmQ4xE?@q&jPzE)ThrZ`WovCmu^bGS2_xs9m<&t`%raJO)1c(T!%YDQV>9MDYOn zxUL{;Li%rRvRuc8;sG&Ts`p?fL{)|PI)$%vwtoEE!RS?^m(6VHFd?|%Ib6ayay*6g|gO1`-GSDK&mh~>*wJL1}+JVnU-kcSxW zpQU2&mC)Zuw%2L{<5fZ%*&j@0|LW9|N99yQXaNk!`PL0<3-LA}5I?MGIt9jLvdcfI znxa?>gWs!yT;*lqTN)DRh|{KW^Ho5MdaY_GpR)K{{-}T;-|g_c7Il+$&3e|r>ltA? zh6ib4P0ehDV&k&=WaHX;J6VDfqzU1dFEx0Nh-HS=<-*zV-uzzsR6qQd)Mj^C3ZYd& z^;=vnTE*KpRxKe}bi_Z>rn+C~hzovVt2nT|{3jWw2qFLJe%lZE$E zRFIQ$m1jJ16wY(_;(jWk?v_lCgy>FE4pc;W;G8%8u=fXilCeZk9jL%;LjH0V>Cck{ zX8}}VYX#8598*6v^thT~{=hjQ#KD+lJ+ObPoGS1zjnjS>!_K{4DrLHMe25BrSK?7= z5`yj4ywPu_*-@!Js3dfTm*n6S|=_SJ+9wAK5V<5H>%*@*bEPvqLep3z$*2+Y~Z?x_O{6gjl^k=gw zr-FtnN8!Rcj5Gy53oI^&+69O`H;%lu^la>%JX>mBT4%hx@yH*@W$TsT7WMC|*^9_~ z!s;}Ug$H^n{ZZqF&E=4>lw!DGRJ3f55=x>2U(9^bvuy*5_3G2gZlKW5FB^*-(btT8 z93zhE{J}r^k|_gpy~=U#%4B_1gG$}Kq~$-oEhFiz$|--WtG)=eu$#lKxYjtiX|-q} z-Kc`f_Y0d3wdOgUuqMnj)shPD4?=fA5&g}HPy-<%;QCD2r&6Ak>CfFh!xF3fwoNZO zzm{Vnabo*l-vx>4;PA&CE`BLMVz4NNT7jl4=WHMuL+QXRifeC$0TocwZf%GgIPHUOi2vFdGs zwzJ~&TFtskLvvBxC~qwNpI=sZmdwxdx>KKy*^gs_+NNkPCp>OlL1Dy_84?2WTy-{g zO6iNM?z@NHZN%PTdiFJ8s3_y8Vf63aGfCV#NZd1_+&iGSGD%RcZ3CtagXZy&>sVpT z6Zvi8(9>c>0u)z!-p%GS)9MNgYu{(YXt;>QH$Nz`G?QBrX&W3PBfkcYHjCCyTzP4L zMSkE1|F¬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≈(6Fm?_x?Ns0E2pL{iyLE`5yMF_=ylUAYJ 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 #DcqmAW-zARD=xU0!|I#BaoE15HNNn+ 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

Og z*j}kS?s4qTkUCb{LV6)A;*<;;8X9_gmja8NF+lbxNb1TVJFo?^(!F3>n!s;bMhn3m z77ce?8eH+Dq=VD=#@f)YkN_s91B}B8)^4GR>R6i@ti=GVXUqX`EW5(#&B3_P^Nf+HfjcQDW9P3~!Rbo@G|H45($fe&8$0u)~a z(e;?%YciRzYu7F`HVTcg=;&w+8#W9YP1mLw1vx$+fBZ3?efHVIo|6V6f;xqG&o;XB z3>oEIF1nycKfi51qGD;( zzbZ2s=KK=amMrTL!I!P|o}&q!OZ?cC#!t&D^Jrv*e9}ZHCZB{80amGm`ije8eE&n3 zKK}~Jv(N02$n79O0)dQBF*emZ&}idebZ`if2@y#oF&Uw=f@V)ZqG}`LEZt|Fo$IvV zTjA}DC#uENQ?)aQSq2Fz5vt4{RGQqKK0eKMVX&3#e`lkE1A#=92)i1ATC?Z49cGCnfqB5-mQo%P6zCE!I8fG)j{#S%Jem=q%9k{}gw z+{pXvP8W^zRk`h8O?p90wwmbYljBDUY7ftq!bxTDgbCuWCOi#bbKrEkA*n6~FOhu z<9)J^h1G&ZgeF`A5~mv}6M>{~8<`r0!I?>IuQOE(LJYagi^4*YG-Wavk%%T={VgLA zq#x1M(IY-O8WwT`bGtAwN=5}=txeRW@29gk@%GYU{JgcAMwTe0B3w5u7m?+=L8Njf zECSI32m35zWq0W8_seNHe4kbFj%APTD>!op!MS-26ixMr=;Zg}ni}Bx=}Wj4{UJyXFCcYB*% zsUyy`Opy4u@RV38_}W*jLd+Yl`PKWHOk1-w3KlF8LxzL(W8K#M`4^nqchK*XIrn+U z`_XxHJR+3H|9h6eKY5MI9qsNUE=b`01GBQ{n@iW=w~`W?fgI4r6tg`Fg0Q-`E5u$Eev6Pk5rHEl@0w*H&w$jZja_TG78E1lZQZZ54-)J|7RRNek;8R{>_Du$`QNkY0H+M5D%c>9-C)<8)L$ z{uCUgrLgVW59Q!N=n0&)b*O%RZd(E|d3F|h3pQ2|nw3%>tVRQmUJv8C^$0!Lf8P3B zO_k8VmPo@tn-nOGR5r>5$`r50ZefNFTz5Oo2&po@x5&{MZ z(%TG-Ra3#2_=%pB9sv)>quwO6dlCXHVOuM)ULW7q#9$qT&$h$61BnzT5KrUapg`v#0x2_i96$;YGKtXJPy^U3;ECt0%_?}`+O2e*w;%f0 zyYvYCL+XXwl|-1WLb1$Sj>MtH6l+FB$@9wOstVUFe* z+*k{qh`)`skn4q6zZ@%qJ3JN=hZS(z+X89m@vABVPs*CVXtb|w!0ABPP{+xG3-ar^DJQ?Ym4xN&&wvBzkHX{&{U*=)wY|Ne`)bLY}1VDj2gqefxm z$dUfooghIvjeFY$y6md(bR?TggbT4;CPqTIqWjw`ZiLI_q5Hgv@paYU$@C~$$2#AhO>3#x%S6RMcE=+$5nFf8 zH*sVHLMERC^(F`611vcr z!S3=PzrjLh2IfY0F2P|(sPPKEX%XG;zXbsp5-FQ1SoC$|tfPU0MCd(K7^Zdv-ss&U zW|7m*aGS6zEdALw?F|_6-I6lFBnka5rH2Dn2thaQoBv1k1_DonUXnbHL2Q&#M}q#(1^=-U@&`mrH7xs=dU2)Bd&RHT2_1or z@d~~+E5fIrLRVWBEe7Z8LPSId;VQj?Z*scdKEqL6jr#ZAr|XH2Jq*zangc)*9gV2V zFQe;q|MyOh)bSue0s)OojFd1zY}%(aqsC}&6Ge${c_0$&6--I;G>cOZjXFY+cMv=~ zvU@onvZGXoZLcF39YV4=LQFf6v3-H`2;taOwAg3@y`$04CiwQ<@9A$;QV}w}^^ipQ z1`2erU2nr5`?PptO*#I`Z@`bc>QL*wF8Gofi_oVD3ckGq4Q`Uigh=6-BrqvCf;BU4BYnB;JJ?9uYv?VemMhHuU<_p1c-=xtPVW+-|Mfxj`{QF zW7Vov{@9fhmYSLx)Yb|D9DxY%g#Mg?)>j#!nVL!{8|%R{EOd$K1Ip%FGQRe9LF8_DTc1;@GRSmwiZgGf&LcF#4o9r z>u-1Jm`o~y+a{ccDoOu47v*uu5LFaIzh?(L>Z3=~9El=-4;^(h#U`S~N5_L3H3E=G z;H;`f)xXOj8{)sna8FAMv`;)u*VR{E4s%>A%s%)Y-MW_XJd_G07@HN&h!8L#A@CTC zsQhz*-x8e33iD}W!Wt0`gP-bk^W#r}w>uyiG!X8oll$HI(-}k;UkH5t4XitMqVmtb zARj-r*Y1}=g7jn^OIGrzYyo!Hv>-|$45EgKJpp|^P)QhATs#V@v`Eq%zuV>Fc$Dh| zfi{A5bnClCiUgsmq{)oB`uYwfU@P|~iwlu5XlXvYP1cv{nS|pZVgQGm!-8Fv2$ivr ziI}z`7cr=8w$azhd3!+Dq24A%!J&vGi>@ZKVZcD?GDEBF_~1#9AU%1%B(q%{9v*cKP4FByQKtk3RRqxD zhG)=Nm}4bSZd*$QBoEd{?V!0r_LuY0N9Sgtwf{l%h2n`MGkO4G# z4e|DEYHISwuAH!Z{PD*aJ9cbau~;l{xx79uL5_)N&o;W`GIIe{`=VuMsL=_H%Cu+v8tD&kbaci7$J!kQWfmQ~uZu*`;Ei>>&sz=8(vAbeyW|E~TfHAGD7 zkJ-tGKdXL2wC#LWEZFGv!+GtWG;?J@CCCSu=-kdeE)-_cgE z7o<6(m@pNgK001aMj^^}Om=Ly_m3oOtF9N4Tq)E_IK1`=<1!*JAU)}@*H%|mw%Iwv zo;CxKe)#=8xdTDuY__QZLsKHKv)YVW^U;3?j^pv!PlCtL`J)nX%5WjsS9>_>sz8P* zWP^wM?6>d*UHJ{w3JIE81mQn9wqpZgeF@P(%+N z>eImp$;B6w( z@2iB|e-HNmu>g)un-S)8LYCY$vAw@thk^tizOG|w+8UJUY;bw?(?Kb52=Url1tQ6& zCRCYPV1=|p$6~9lfn3Fr6Rk#ET=$P%MnfG68ZBt{$S^!M>bS2r*AvSyCsLzA5F6Wf z`esKvwr8uI*jig8Y|(IxTk9nNV#PV{}%} z-!~R*twyDHkS9td!H9%V42{=N-`-Y+n6%haZ^AAekKq|HzKM*Z$rCL!T0B1P@TAy5 zf&|k2QdRDR$?1SXL;9E<2w1Bk!5SV!g_GBN^}3`K@KetQzwU4Fo0mb-RD;mJKL>J# zgFWk7FzUkt%Yyh9U-gas(n2DM+7>QcNRzUWax7kc`DNyamcArGs@#TcC^E zO>g&YdrNNz|57NlKp7pBwm=J%6*d6^*@-i~_tKV*{?G4s&QauT%i8{ap2s<|EXya- z(R$B&zVGedi0k!dGRLAta2|6MTpQm(_oIJC^{t;x^(ql1#fr*2S@0F|?dG&D_D1K! zwhw7L{wF(pbC*7_ZBd+tPc16Tl?C73-EN$|X!6TP2AO5>z&1m<(}oW$Jv0|0ni%-! z4Tg|oG0SdXn%K%Y`Lf`(&l;v?A=*wu6a; zc4!4(W%2U3uZ!8~M4>*gtoO0U<9_|!kNgq-=4M#R%TfEauOQu+^ucXvN2?qnSA6a{ zkwJFxrXJj<{mtsRaUWQB@T=c|XY&>r)6sC(oltVK?{PB|rI%hJm)(y%im;y3Pn7MJ zR^&y7)6`_Z&Qqh{+vW1hBI9JmRxt-b9;&Vn9h<2IrOwEJGEq32tN_rfHz-u)XV-Aq zk;MCEr_I7*?-bP+JLC=)kufcHASBb)cI`dooP4_+AU9rz`#rqygsANU%njo-FKh7%oo4-MVxWQ z8HrdGqG<_kd`&LR#~dHG!@%F!r{(RI6y(IE(|Y4Bakw8)TACk;b2x5635s$@zd3ie zY1!EMizkjwm?@>IS}yB79dfUKAQZ;l5pM_|eC;4w`@HfE*(Xk(Kk0R^A-4?Tje2OpBB z=l}G_$eEw{&jIl!?pITe9sUCcG4%Qysa_qTq;Ocxvgl(Jq0(Jxu2mimE^57^=sS^J z`uisF{~FnK6)VvJU74r7Kiu6l@xZALy$e|s01Be!4iJe!ZHHCm%Ns((CM44qz2Lii z3WuqmJii1M#Uyv0Z0(r5`C!T&zIyj0QMxi-Gkn3&j5>TrGSx1Ca^3APty(9)55Kzs z>i_!&!uxm5c%3OZ61KleL^a%h|NWRZZ=U>syl2lIy!6sbc;k&X(AL%_&ueICzyl9F zFlp=qQ8I{aGPLoPxW+jM+gtkOvReOuGE>|3>qXo`Cjx;`B)@kge|sCeZmqaee5y9M zDN&4A2TNxw7FB3($hNf}dPCUf4&c|%Ylr&Zc-jKwP2mvC=s1T&WUwY%iT;5rYYV<6 z6O=k_$AY?l;)1W*+buhR1!d8)gshKU&(sZe$9Ev8`@Q$!*|Jr%?4$IuOOcKu9lq_Y z@_8-)_~T$HD}(BCq5rw(5>)V=d?(ISxi@dYfiHhmp051Q8&LFtv*UK%*~C&BKc;$hh?3^KH}@<^=1Bn97YJd$o zUnI^U5kr0{v#qGq3ch=L+;IDoGrXNAfb9Gv*b5lX#; zR#C3F;tDi2He%z(jk43%$n^cqZ+;`s+qG*KF2DTpM6LqSl!cr2%gjqC3M@y(FY~jd zM|*=^7mqBdKnMp~`{Zep-Hwp{Mr8gN*WL2VpUI^-z@zN)E09Pgy`xZVYsS(!+8aWV z)oZxxg*_PX22odh3j_S3xN* zO~|@fO0}IJBL6iUh~JwLqr128^wVIA!$6%xW%x>74=~UVlf{DK^?IzsU;iH0zoj13 z3%+yXQ}7M;_siVgu-AvY7g@f^?Cz~C z%t2AqER2bqP+tt2*@PZ<0PjV87MWS3LuNeJ(ClRtZl@CIAfj1}#1s2823DFD9S-G& z{|1(=5|tB#UwIPh-T#enyBGjR=_(;rhl?-1Sne7A(T{#4;~b7U>L~d|$;T`qE^(oyj&>Z9?%Fot zeP(^Kl+}22Ce({L2<;P%Uo5FdvGtr$DlrE0n{1Z9wLXf`_?bQzyAP~ zvQp%K>+9&~?wQ^04=jntHUIMvkyAW8SCm zxh%Qn<%vQn@Xo;=)L7#i5jB?gnze1RE;l@_ZE|I)6&pMJ`1kHkR4DG4cMf&;={spc zfsA=fQ09rp^H{*Ez0UNzM%M&Jas>_*h5LKD;F|8^e) z7CeWaBpc@_K13&WJdU~hOSmiITx zWoYFwalPJtw|2YNmCU@r^7<}q09<)lKEh$`2|zqY&nXz*jS<+f4Fks(TvnNjQx;C`@Jmx~HlJHph2)NkMC$Q|BHLtx z{&%NpWtk0jvk9(17~6Vc|NLt-OIq0AOKHxg&1{o%bS7h5M${0-+W9vrlL@}XN1^XS zH^X1u0FxSm^YtfD`1jvH8DvAjtmyC+L)o~;HMOq2_FAl8zdrK)x^?U19)ils^gIMP zo?`hwhP@uRc5IQS3)h|rbDVA`UmygJJ{5V@qB*FnoY~>)+nU~%%j$|kg!IFVYKk40 zTcaPst=sk8Z_1_BWJ2L#D-(XdtDzMTy(ywdd+g$Bm`uAd|>qJ8wCv zszzrGk0rQ!D@5Obsk#=G3l|~X#Cm)F_48WvMYam(tb*vpQ2KjOkzFp6d4Y2>GkM&4YUUzza4!nH zZrJqe@t=PlI`6p`>I*NS@*`Kxc>RJ0cFV`97!p@GS1b0%YVeg;(e(3Q$|>ka)sA?6kG1T7ygZJqsZ%ny?*NV#cX&_K&i!T49F`E;U9bV!W|4Fuec0O!Xuknv8O+X>Jlr~EjaX^wA1BBD6Fl=lDavu z6#-I++gXxsXYn4W^#D4C{OD92SW`LreO|n5YZOQLxG}HTf%&z=Kj%!v$$?%xv#T4M zx`Q}*NsSyTJzds5(LCda(_!Z}Mrr*#))gKEn%kk8Et6hPuwT4;cO%DQp4oO?S&8t1 zFC+Z=GYCKXM_60;qU4W1gXx?rU^?PNX2H);yt4EYvJ3aDv(CcM&=B5!TPsdc^3~MT zVD;+NkuOD2_@J9W=)H|VFaT3gF_Z=I>nPpTJ{ZZ!Sz28Xw}EY?rTLM9Z~cg2a3a2= z<)7MMrW{2{%5-~?#VQZs5QlgVbfd0BTc@x6MJuAOTUw4)^QTtq6+(LP-Msj)1g$Y8 zf~l}rK86JKfHtIWq;Ok{%#{^;hs_I@CiIT5>N&o_o|*4$_H5e@*W2&N^)9{QGNd~r z$JZE+ClsA?mRt_K_Qt60u2c?e^EU3mp6mWoK7SOQdk!kDzjns!Hk;%uXn=E-c4SKT zqkl^E>JZTgqQIM{7kQ&|e8rHoXLo7u>qPN2QN>=v;&La>TC5#8v0-m7Hnj{ye%7uJ zY%6oxGOpN5$+bcso@V6hCW3g6VqCxR_oi!AZ6WgQX1M$zym3%#K8by38y^#t85zD) z8QM0Tfo+p9nG`6;odxCEZva(wfZvPoLjG#`?arq4aLR9xbC{^ z(9@$Gf=-mqLhrsQm*%67i);MB4t-caj@^R%oT&{Pm}p?z!8YyCbZ3E6X88*9Mht8l z`1ily>gtaaeC-X1k5(~RtuU2Vj2hfF;0elZkz3B5UYBlYhd!`vDGR=tMyWFfw~bx! z4eiv5`O4gRFy+Q~68T7$60P7Hh(iu+r#`H$VC^Ze*G_HlU@Dm^w1TfH22tvAS89)^ zU{4PM?ON1Bst30Dn_IB!!&k|5%2~7!^M3L_+&LM8vdgsLZQYOjQDz|%QF;z;Yai5d z76Ty_f7#pyQBM*bjK|j}u2VAF>bZro5GMS6TL<>{dWIEzEA!$XDM8s~d8PIqzp3Ag ze*GxMcoREA#LzYI8DeQgYz1GdS;5JAv&pOb```(T&d;9e&^8-WPAJXgOrzlIi(|pp zV5+Er@`C+`>#euq zkw+fEbI(187himF+%KY3QTOeZOJ&K5xL)sWeTr>?bLJC|U)j;F4Qw+j@G0g)9lj%` zIXB;Xk6h;1tTMOFo`eoxL8;Q>3c^tZU*SJi)ndUk-mHa#L8!a7%G2gJ-yf8CO8o-4 z42@IpRd;REF1L7j!q>$Trw(7$<3-P({wzSO}Y5toCft3h#00 z@SPjmb4;+i2fHr63jXG1*lKF9=nwb9Trl$^A!eiE^VY+ZlLLQK6NX-WE!C?-L?cw@ z+lO`dKE1OGU9JEeRs|QVs7%_9F7bEHUR;KSrMXbUkP#2vE~Y5xJ`n*Rcd%K_H_)Q9eX`s|^zNemgYUGWJh<3Q+jyvSn zM8xHTQB&24l1bg)IIKG{UiNot(`8HbH~KTNVVhRCsjetMpEopShi}O5L+gug$kTRF z5H_2UGcP#>Uy~Tx^#0pW+gq^W#FOQD;)BemPSXm2Q>BW5UOpdS&w1XtjMik16&pih{e|`*IkNgq& zC!WBYhA53x=$*5ou)3pT2pgNVLtQ_(tO5l&3HdlSE=4in;+0jn_pK(G#rn{@t?&l5 z?#HS)ykDj4Ct?;_2Yj+HdwjhXp4!nB>1L0m!)N4fO5SHV5&k}wL?G5 ziN$!UrieHDXh;)c9Gz#HR5bEw78Q0<4^}s`NS$gS*px82_`^m`gh1a8HChG(A za+fbd|3Ci)&t|QQK33uGPQdMosl!+G`Ox_B>)?KO6O_C>EPCKRnL|r6Q+nAYvf$hI z_a_kg&bMIBo7o3tB8s0%J<_3b$cMje)85Y=T~iSA;p#IbKInh=$T_&@jVAPX4jq=y zNC%nRY9%K^^+I52miEc{~67N~c93(6&*f~h(=&1j@aNHt~OKCSDAC=(cm zo{M2qV(3&nb;v20KyB&F->_`g2e#E#6`|3qXG&QVR23c?^3nW|R+uVTI1i@AgRs}v z$2F69(hgre!&h{VeBzYYay>&^-;+ya`4MqlKT2+gFNOvX?&*T5w0w93fX@q9tWf4H z%!m$O(SbVj+UxRk*%g@)=OCE!@&RWa;2MJ3(F(I(@O2!f71~9IZ#?pQP34u-%3==2{JY=%4v#+i=uEGMC}q?Gdxmu;##8U0R`9JKF<5Q7 zy#8QhU|VTP-l6>7(p*_w6$0IzXn$KP;uJ2^iaI&-6F;zRWM-&{bePd$;@h->uX*|5 zaa%V^9+NXq76HeKbx?O|U8Tx`#d6SJqFG9cXWZf2^`N#BCGUjekduS~i1DQ8u@2#= z$7Jqu?YY6XXAeSd?FfWeMB*H#(cLQ^-}}G#U+DYClQM3m;m%(m|M=r#UI!XZ?A$B8 z^gklQ+lVNAh(pUo(N~@}0T&%sC5K9-T6IAVE;_7I9{!uEZez+!E2{G1p5v=V#W{%B zhf`7uj*5~+uPfbt$KT7 zE9%&`ZH6d4dCRIW5a-)xz@-hrsBow=y6s=x)h&y>VqlwJbcpD0K&tZ0k?ZZh^Jh?l zA=vXB2%5EGTCk!#dH1>53R%`3=tuj$y?|r*FuAEPb+#e5rwd_|3EicYVuM9CY-6*H zy|M+Fo_aS#p!(D|^oL(}%b^+|gy z#cMmW7nR5t`ToXT2rfEIo)@-RVajtNJmf<2E3d-7QagXTY&*7U&zq%{Q-0p;zvJf^ z{KLcYbn(}}0^gB`XZ34RN}RS1`04*)==C?y{N`J*)Xg39Vtg*6MB_F#T2)RMVwUf* zRdy(zKD19iQZymNuF2afa5JS0eY#r;+>a3kbjcBK!yUVDPLfq2_5vA<}RoqY+~@3c>ek4@$$~Q0>?cG)5yCcYeU#4F zJ}@Y|wGQQQbsdn)PLoWf*4E3V(yTqU49eb}+Rx`FXBeMSq`iSq`}*XI=5%?Ue*tQ5 zFOFXA(u*5`>-xh>mn^qBd|leKW6m2Sv|Gq7}uX4!{EKYlcx(mcQc&l ze=z31P2;o7t%dEVBemQ7Z~x#;MU+O?RM~OG5+@ETOTR4mi3a=-jV0HrV2)EOg6`>$ zPtmARzn;1ROWX#f+4O3Mco(QAG)%eMIH+G<6rhPRA=V)}iex+i{pU$f@KMZgAA1f4 z&b$(;)dp*46AJ%!7fdc~h$*FMhi^ea0lK@p;q&=mw{x;27V>D3^=tO3~#G zMml^~)R)WuuV?3W^zJ?=&zpC{e`4QFpOdF6jyN3oNxaY9b86(UuHt|fmKgr7w|PIr zTRq##qfn5>+v;q19L+>v*-H4H`U~tGtti%StFX@tSCdvGEM9dSlqB4S0gDB))ENk% z-06fle|nQ)cmDlJxh%W%5>(a2cZX0iwljajLWpAwat8Y&_k-X&@PvkBIwrkMZ6 zP@8rHNzsbKCw<-&xxJfzs}*}IufGf9G9zpLhz3zWKEYbKLn{ zMv2C4jFN%dS!x^==ts-;PV5^BrrTz0*-oYmHc)f7s6`-=RVBE{8`$f$lgmSrEPw%r) zTvS#fyl6Sp-~R~afgY6p>-SJT`X!hgGoN{sO-ymq_voXKmL0tx``E{D)m2v^ zPoE0y_xthEOD|2UtLl_f7~UK&H8nNz%P^B-V>S!-b_0XjUL~b2zEk3NwrXz@oDS=Z zZ~yK4wV_iBYfG?cP((UtkE{AJEjFR$*T0m@{5hp?9<>UAcCFZKPhy6zV5+PE_V1B{ z+hU>W1KZ3T*p?N8+eAKgSXE`gNp0K-s39QN2~(WA>BnOc9lqklQgmtb^iHeb>pO4& zgD<`$PnTVpIm6l}%kUL)moJk`_hv0qdAh>=y}&@9_BZBE{v6Z)%)jApYJ%c)V$Q9f zjp=XF)D@q%9tXer4LQ7RaKkGoIOQbXd_+VPcOv)s$sL{OaR<;g=*OIb*qguh_PFIh zL%UhQ!qVx-!cEk@uD=zOIlfaZBm0f^-c)o#62-vCZ#MJUywpD+}>Xe;-s;FZk+jh?<{zRxYd0JrlmY+At+k zjvdyjb5RjOy}bzb^uS&}^+I!(o;B-SbqpMflM_J^Z>CDE;H$Q`4$FaZ9JWF(J=?ZN z3i8vT9?&{)OhqLy6%5Hb_P#^sTln;LfCi9F-loVyg_wre1orUL~dk+8cAOC@+ zOP8X)Ue9h+6x7w#P5Eo?+$3g=66uTrqtTHVPfgw0pn>wjoEcruD?8d{goDMRAUDqu ziF3%$v7p3hL;s8a#!y=i#N>qP>u!W^uU3q)&zqOD!kWQUSuK~bbohq0ZOpO%l2SK$cdxf`Poz`2{F;wW`)^Tf3f8Ta%fSttr$9tR ziL<;iFH*3LWnO|1RKwWO;gY9U=+~EuLRd7TILv%&$`m;k^Rx=ScK!0HWU5^N<{4$7QZ+Uq+_UeTvqI6|+swwpg;(pz&z1jrKs^Xa) zmh{q=mPmJR%YZL3uuXLLioMn?_uMVNFI_wjjs=U+_k=dQEoc5bB%7iaYE?bob2>uX zv^WQ4`QdTPtfABq5h3oorO9F~ErGAGQARpUmFn}!2m+ztq!W>; zk(DiWutZ-z)l3UkK)LvOsDJtu!du<|M3(Odu3|kPP7-o2 zvtySsuETc!q zkq*hu?~U&84U0p_r@41d)eFAN@68UzP8456Nvp7!6N*x9Nok+W!_JU#gG zOudC)RPPrx`c(v!7(huW1?dK*Lt3Rlq)S>#YG@D;h7LiHl9Yy_b7tsnBxk6ho1q)- z@%O%;d+$FmpE=LjXFq$dz1G?sFgD;bGBXOnAE+@?G62rLdFv@vYY;1W+RqCizp!_Z zO@@6pQQtC#zk#e+G|0-A56OGTjR;hegP^AR2)z7Lq;&|!VC3b^jfp1wgC66{^CKV% zF;_cKmgVB`Wd#~=VlQa%?q#N-;2>r+Z|}N!^(YK`&1UPIZX3fjAb*}o7wXiDRoxX; ztY#>cvy>JAGAUb%{6>$abAT5x(BLuD$R7M>1oq7N6syVC;1IwlcF=iN@i91@qG*;2-=S3ecFNAAgFaDcu^VRJ-Ug>XjtOlw~)oc;#Y!g z?pEjDde~SUo$kAJixQJ)RDGtMp!`g0=wJ5sr=7~+%k@h4i!b*?c2^UfVa$mFA$xNd zDKpV#O4S)u{bP1!qPMa~ZWn)AWc~I`ij4o1wifWF*0vkbenSCjhQ+t)Ap^O4WyXeN z*KrK7JYnl+54^nJ8?kkgP!=zUh(S3i%3>uM)O2X7A5JZ6dLc^`i}D!8+Y(pes9-Xl z&qWa1zl~g4DeS?l_(`w660&X4B5==N*6jK1!MX+#{5@4UsStrNpvIa{%=N+q+9X=q#mL?Ca3ewbK!3};%`4)riKvd=x z|H(r68nk$}%XR@2Vv6E)v>Y`y(QoZ`PL85a108xfz7^>el&6B+c zmg%x}#37P@>WqJbgy`dxEZ+l$wm{~uvx^n8lP7n-02AMeS@JuAU zecew#zBoJoF|Icep*_b)eaC6%%8{Fy5t;o@2!}mWzHM>6? z_@uH1PGEVrc^Kc|Bd*12?U#Ps{JU$*^XVE5Kj}o=O6>Qx3dS#@8qwNbO}iJ9@dMPC z@FL0?L6@(nk7B+Z84iyJW+)^+g{)#PaL# zU*~o4t#^zBmQo$xN&VNBMMJP*2xqS&D`;Tl#i@tiu(x~PiII?Kz(h_z&FG5yM!$p9 z0Bw6{-5---wlO(b)Wa{7FZnL43A)W&8|*~|XnmN~b@3X2&ju6w5vtn#;U0LD2c5W! zvJmE;7GN7($zDh?YpPz`xv4>mAst@}feL)#9ppf~;0e6Brek$L%F}rD2qAH;nYzgF z>*O8eD{4a2R~E>Blowa{_dZxPL&&oQ{X3>925W+i;m0uNFjahZN`Q2-RiTOGN}PKw|tyLO33KiAn*s@B8=d5@vDu z9;&(R)d|r)Dt*?YKeOOX`04QBYbO$%zrNS$!-5JqGrFwx*llkL$Zy#i0w$NTv+k!d z#LT!k(oQ^lf$6u1O=W9lkbBHII7v$%r`nDfE>{2Y)mh@sLvLwRwJQZOHI><$a2W8PVUfY?y)2?a%zwYV^Lu7kU zj|022g`YJ)gy3n(!sju}S-Ddy@$FbgybSC~CFc;e<0ByA=0YO&Ag%j@n_(k*?dCZ6WzoT`n zUB@)SMDj8*K|^EgnO*0WJH*Qt!(pzN+or{Z0*Om8m(s`7KIoGUf#QV#dG5$$9?DO7 zPw0eMlam@<Aba)r`SYDEbGC-jj2JtIv+~EdNH+w9llf}D_$`P)l-^2 zZax$KcwG~78U7thy6}pc$Mtfx3$0AdJ&D)cAJ&um$FUrYdKCP4cPz&9SJ*f*&nR;~ z@ay4B{m^JfK%&wH_J*{x&AG&%B%|0#4E&J%0FQy;!()g%hq7ldT0;Pfd3g-CC|p%v zDQNkb{nhDJkI0}Or+5FOlY4Rv89TZN!Gi^r%GMjI5KYE{4#eYns@q6&&UF_YRW7v;U_qNZZua*R<-0Zqe zJE+;s5knplB@)?_AIVL5cjKIXM?H90=a9B`rIU`}cDc=NlYZ@Pm(rr$LqlkQcVMTp zM)TbuRsAWZoxjcd`@HPeH+J_U%PXouKVG6XfR?{Y2~+1ZAa1>J$WpM2xr-Use59}c z;-TyjOXI-}R~hek!3L)ZNS=q>`Ut#Uk_KrNgSKtaefR5hKjSvQJ8w>lLrukuYpMRm zct11{Y-hnkpB`)I{UMBqTA!_>RiR!?D%f#?(TVt`=V5P%Seq^B+!Nh-EXaE~^O2&m zbGa}6zb=1!E%L*7Ih@!%f4M4xjVR>#Hu-$DWK$(&e=avluU-=bpbu9L=O=!(y`?WNgfL8m#p=6bH0#X1j?etgygm{Q9Ay&vC7!TJmh z6URS0iKnn{M5UnZRxcugpgseiXz+X})4abfe#b(I?q9wA~IfuhRP1jIsbZUR<~|!lpYRQ#x zmUwWQy1i64D!6x_!zm@cwxc{dpkMrxKUhK^_a+giPCE}=@LrsaOrg!=WM!=KbEBbm zovP$02mhwaK1@RjpO7GHBQ_ujs0z=nED&?NvY-*6qTgLVW zT#^aQ$wxj{iCU`Rz9dYt!ld7kd1Q(|y?{>eRt$x+#y?^fY>D%XHw{?}8)KwMM8A#2 zmA-xAJ$vV|TIGAH(ZPLyDj_r9CCrWFD*^~A6Yud5+f(POwguhJ zdu((^YN8t4xOx~ShMY%y5p@dF`yU%la~U$iIWH8*>Z3eieU!;crYn3J?RBSzz^yJ* zp+PzPDnDTgtI_LifKWSBDr0-HkCLsW0N7jaB@URu9!0WJwU-Tjo8id&l|3=hb$fLV zZdk2il{)KaJ9j5&-5WbIBf=XTM)L4E4!#%aQyoQ?2*q_3bT zN!f19)9x^|LhcJ$0PxDog7ilTk~Q(;(4`&kYufK~>4K_qa)%pH*-O;nZtqOnguLHQ zdWKZkd=ZZNw(w*SWYXUobRc}l)EyI5WMyCQOiPtpxxo098bs&@%PblE@r?@S%kz_2 z>r5{5=Quc?Eb3Pp=LhjhT0@4vO0@=(Q)7bX_1o%8U$Ct2c)CNTEPrKML+Fudq=$lq z<>o|#{`7;N1R|zPcy~QuJ}02XOIvk}k@KsiUipS<+Wir~r(dcmeRf-eE98to)nPd!Ya_a-Ii9(RB-Z z5vJYK=>@!88l~i3T6*-`|74*pZPY;fKAy8=CnrkjOdKAO#`~Ez|Hq2m>Ny_gg(lej zB9y;wiQ`v{BsOar)&=~r)V(f{s2E?Z{`Ln<`PO&^`D`)Ekv!cUL{bE?Jqck_@~<7X z10|kN&oI}VeL-ENe^wlvK2$X?FdQ!9Omqgx@aBDfpOEBbP-Q{KnG^P`%i7{1zpdic zpFGkS`ne}s?|~pu`5JJCd}j=Onb#x28kx+LhfyWffE&CM7t^H1Vd;{ z+(%URyw`bxY&(h7$N0XGM(SZy)RrX&qz)f>c>@?CK!avr=$GMhzrYD{NwKTWt05-m zy5gT2ER7uFd@}~-7M;Gm8jgzMx`<$`8JP&3f-L$!K!f%+WuKeK>~HY|Tn^aS*nAt= z=rE6!2<0emcnJ87HXQYH9M-qo61HWXb*d)zgG^i>9{GfnKY#)yM6{nNY6@%KrLm$; z7i9lzHq|)baU{_f`M*_Ks?Wifqf0M>jEs)lRG+(D;H_gTEnOVWt8Y_(3zYOk+^{_| zktChZah%UHa->?JVf7RBz15@KdhzQ-7ZOj42x4UK@et4MrggE6c}{BkwWayV;}BDB z?jS$u&)~eV!L>{aQeTmV=&-Qmks=C*f@yRKS$=w5CwZ3rU)GDOQ*P7vM`r7zg8e_T z9mXyvQ+}bTE59;ToY?$QZTydwUFj5=2me0zck%A5z7p_VfgN^JH>@QYsB39qB@cv1 z-JppYFzxu38wY^kH_|%O4?O;oPcD21qoT}WznG=Qy`j@-jG6xnq-MxuvRMFBu!3t^ zAPlL>RZxGEb59BOg8p7C5zeScOlCAW2Our;C~yX&q)yklll^Ds9;qo-8z^hVxbfndE5!d|r55$gt@mSGe)TLojC}2f znzWveq;lPiHS-Yp6L^76nSKcU{Y8)P*QNiAft|Z^Upoj{IXGmUoOt#T*N*A#Q+kEv z<=xhj$5gN*JR-il&S#e)UlPduvL$aU6w+-Qr7a~fp_S|q*AsLswC z)>`YjhSIWM5GXoJ9>wTO?0Wbr_#eQ$FJJvq1saat%PHE5QZZa&$d8+=0Q7C&9{-{a zFOPX!@{eh>*qCbfSKcsF9S<=0VjFw$tKvXmrpPDGNCJNXLc(YfQw^(&{-A?Rn8S3M zzCSeK5^k$v@dow9Ztb{2r)4Azh=wjo*gBqaS%**|ooMG=%H}&qpLKkDyG%`e z{R$wcz*ZGmOSCA%8~XfZK-z1QkMq;7Vmm;E;v;IbTwPORA0zn6wyEyTc^mX#&senn zkt_l*Vd5TJq3Ms6w4XS*IJ2cih}gz0ijgNw;$3ebp6poCCoJM-`pJm3fa#R6L)eVP zQn_dmW-au^O4P-|N#9t{BHAowXV3pr1zgvFRk`}$w#uR*F9W5xMrJ%&oN_MH-y{?ySiyWX6? za&np!b#?e8@Zs28taIr!1Nm}|NxqSC+_h}bOan6yP?s{i)(aQ;7-)BGe=Lgaf1fLH z`gWU-`cK|Rt4A331CEkL{LFtWLx*pcX$G;e)m_Z#n|>|OBFb`&ox03jb7&UTb0sUv z%BA;V;p=vD!Rk)*rh<&;@7A5IKa^tOBY=o^QW%?hrcR>Sp%vpwjLoVPBnB$b#=OBZ z2M8Mkt~O#s(I%KRutdo#K*-^9?wE4e?6UR&n497pAg;^BrG$his*MZ`(qInh!!y+; zwqLMNt1l`a&CKW1f{d1Gx_oI5_Qyh@liFlC=ICf)}BDald^3Tq1nbKhA6giJ`1&=qX zY#ll+Q7Xy~jQua3?alBu`3rcPQmYtz?r?F#C8FyDuAwLho%ds4mqv`Znj7V;yT1SCYZUc#Hce*u<|N9Evd`tj87O9KQHJlI{F~K)?P8&ok4_%`sx9W< z*{4hpAnN7#51^)ySAyi3I{f!_5%zPS#c-Uu#*-kPV;_OwF!nyZD#`^~F|^ML*V0$3 z!e=BJ>Bi=R5u86F-aR7OiF3+qm@t)-lB0-t)+HDXGFjoLK`Nwlv#v+MxKY!5ZDQJh_l~v?+-hj zGHAG5Pt$^n>T!(GB2*+C8%sGOZogvST>6#w6_og=-Lnbt>Wiop^R0JK6ej&) zG}gTXwuzlW+c{FUbO;^%%1yvXWqI}jw=#U`ni2Ka zBH0;jkln%1zO+7M5J}|PJ?#(sl`fCJc8M+rnW_&k>pUkXyv{H+k%EcUZZL0boBucp z$hug)057;gcQJ1ka!E)?x`O{&Ngt5n12Pie^E6Z7^I+(#MtckCqM~HZ1*lm}0!YN@W#) zn+IuGy35=tjQk@G@x*dLF6ZI%k3&8-mX#ZS4CGFxuk~4k$P>0@7<>z=El`VFG#DY; zms_bwBpp~w6!op<9dG;BcktmMBIZF5<5hRXwTtJM@O+V4-nDhYYuag)lcFP!fr^UE zbjC8v{r8p5M@HX8MVF*JrZm~#&O?6eSd!h=gHmG zbW0K+nVQsX%^)(Gxhdt=pUcUeKj)i0B@IpDEPUB+n8vRV#3a~K4>n%?y5>p!)fUwn z)Q=8{FY@+F{`9q&)xF)ezV{u3%%`R;6bnB|T0`L=_s~k$|6lZfP+D{OK!un^qDv@z zJ7~Gg@8+Cm@Tj(U0p?hu;n&~dYV*~ub2kgwg*V3Fa4V3j^n<}Q%g41It&0-`K1N2x zI^khqRo}ZN5{v5?(Y0|7vKinnqg*N7<^_{4het_IA-Xt!ucmm zqH%V;QS-dp3G1-S551ScvDkXDwIR#v!*lr2O_&96o>Xrf3F5BI8 z%e?`pQNR;!Jj(@hT9l+x)G#b1W4E!AiiPbp0HYd z7ef(CHc;d@p~YJ8)Wo#Oo8@cd7o~p7Z86Y81cfEs6jYrZv(NbZ`g~2=Hy~; z7I1I4I4_=(XnYa%O`zH`?G&J#Z+?ab%5#gAy*X3J!T%EcCfybAlKDqTqz~(%8dpsKuVV1pH-E2ua(X%Nni=eLeWPCo-1&Ol0m`G>Uw2ZkRr6$xKIagD>uj-23OexYq97l3 zohIoxAR{~p&LFZfq^Jj}&dPKYrIX42cM@w9GJ17S zx05_be2*<>6i9tl$nih$ToNPw@08qb(PoM1t~l+q`qJup6&5p=@+ZOD;Eq>S0YnDz z6Zg17>5ZBLMWBi$C1A|Xda>O#S3`x&x4yuUF)Kt@42sgmO66H!Y`4fJzIWk7u7qQo zJO#cKAD+h5r@ps4Cdu+fV_bHXQRQ3|WMt?GEw!Jr^LH4CRNf8UY?URxs8}rsDljZ; zJ~#m2@a2~AEn?4dvaW$MvYeQXAmiY5S`haVrJ^0HmY&&>ZYb0H{b`*kzoWiV7Db15 zyvuis7@&|-tXKLi3D&?Ch1{@iPgMzuMXqO+zxJ3ocyxV5vONjXs2AexNM@Y^nV6fV zExWa+Qy4(}nJY>qHMoPF5d7;SN>aW>|I`X6#drEgF|_MH*0-l@dl@ zOGeb!GEbJ;$&i5|f;!jJuJcWlqTDo9$Rt1vRZtX+>bVes)M;2LiV_46xY(d}E#6Oz z)=1r7juaLZwPoI&umDA!0_fGw=rKudIBd@3c3a1V7`Y*NE|NE1=YV3MY8^=8qCV#D zzRW3v`(1-ejp3r}EiB8=<%Tiu7}ljpdwZ^C5=cv|eqp>C)d3`32hbUimAvkq6x9L2% zsJH*Ar1ksReA^3UJ>UEMYe9uAuEH-)-ZFl-z~1=KKGB=Ck!smkZdR`Mm&X*-y2Bzf}q<;`Vterz?Eao(^<8dCET>ESwIsfJ?XX|)f zWNq9J^Ws42!()W8CjVD4B`G@SnZI2xg`9x_szKHWas!DdmxUW)SXVsex`Q{j-@LAO ze=#EHznI2CoT#J|K>zSA@OwFh1}wAZV~ZNM4^HUl0v)Amvm?=9sdM~OwTX~rK2oul zv-f;^#7?dJCpM609FdDW$=a4)6{$l2rAcEv*CFA~MFUL5<+=3DP=9?mdf?eZ zjXKSos?o^@dzIuWld=2i{R8ns?Qh)Gl?Kc-wSU#a1lBFnDSq=L%R0e07VQgN6^WWo zoW?`nBZ;KM+w7FXO~>nx)u|&-f$l&G6nW+)_xb>b*(UFlvhoR@sp{8C9byvDRdE|M zhR%>$rBm|pdmC})2r8mN-JkGw+}LhJ5zZgxJ8j>)-F z$<7^`mK-v?I;k_JXvEr$=_AMlXc*~u%8YqBbNloR(ge?)a;7?bcG(_F9Hd%7+eSm)u0JRumffMQcNlP_$mYwVr6Mo<7yLQ`FB>iNvkYIBT!l#gdH5J0) ztUR3G`9E7d(17I)9J5&pIRf_bKkLd!awb+e*`?p_&s3@f8!fxmQ+t8!#`jy&X&nhJ zWqUa|6)fY;=Tw(Wb$9&JwKPDB-#$sK2r7h=Lmf&xC$Zd4-&P_Sr`d2wLQl;@?AQn5 zt<`2&c_I=#-yAdL9j$?z(Qcwu{j(+h9koW|)57jO9e?+Nsg4lu|6{dl(3AqyM3Mh%2AJIdwsQtdvEQm>GMt5=^g4UZe7uBhIPhI{}DZu zy_KvvC1|x5aZ5XaV}5{B)&?~F4K(bpaB$7o*`ymv@b}W{TYo<@ASD^|yzqYC*Sg0k zG5eEO?%q*JQOF)qnbsugedA&a!c90cmU&_)zaF!1yb9@-)SM>!DLXbjA0FtxcTA;` zFCKe&lG>ToL*ZqAx;2YrkoeQA6j_;jk~Bqy0M?}a9KfaXG#wxCzeX)4-NyqCN6(6^ zR*xfaGd4x(l-wMh+~sWTRMaQ-&+oUu%3%eTf>O9WK%7ZH)nj0V407ozen-%fxX2j9J>!+P!WDzD>w z%E0Mo*MgJp3bpW2FQYTC2_dE_inaJ|I^dRq&U^DE)h%Xr#Gky#%8e@W^Z)!LJ4qCy zng)SeX;qW7D4CPW|CgO;Bfvq1Sh7M5>Q&2+?R)7zblp4W8mHIlla}i8dR(=%XzXy; z%yJ5wt@#pM$*^ut@$)z1l~llrEoSaHR$a2!iURunzM;RTjIe6EO;xq(SYf4ZEGd2g zUK4rPrg3hj7+dE7cN>!-&Fi~O>)qr0I&O=BpOd@PAtHZJO9^dnAojtYA80pi=)Rvj zshPG>Nb#7+euPpCp*(sA21OibUH-1tJ}fKs0smNCuSnjJN#EF@gc6D6Q+|;K3B6RnC-k(es}Sat^lo1M zKN(}t+#T!MfVe%|!L!hS=Ffg;hZVX`e1PBgnI?uTWc*)CTZQ3h^3#DD(^9d5f&I%X zt$|qo+%p)AYFaM3czA(|E)NM5GwR01F~h^E;>Uvm=H$Lzm+i&cC2^Vb2A}Ns|Ic)h zGDk7Ix%84d?({E6(Bx*H#}F*RD& zusgZxz&~!g1SXXUJXszhNUQe`{=)Q8BqjT^PijlBKInB-WI~>M1> zyA689z;EUboD^mbAU~3Edwz7W>H9?B0`k(#>)ho`0O7G>S99WXQ;S3IfNZ2(0lqHO zDS~ z{U*emj}~z6MBP1L?<7VKI(-PFl-+9Ng7j4*D^3 z>aGJ7J+_7QL}n64`2bhw#~u~p$CH>;Z`PsfvFn2ZVnd&^Z2F>?tH8-r%LmGmdYSkW z;s*Hed|00}!(39V%9ldQ-YV+oJe^8-S{sdhk}(y0ea07=^0X?Ngz0&G^-11UZGQQ_ z^mN4t&)Ah=P6GL3?@sIV%3RVFuGQ%~tAlSBX>EKwe8ABr3AqL@7M}X!KRFLT} zS~^u3JZCL)6aBjoRDO4N*Sl3-NL0A&L_tmtx}HZlHWQvN`0zZZrnc13A@%RN+Mlgf z1hYg+yVcg#HlRbP#$WwurheOi)gx*<&L|VxT9Cujo-ZiuEwsrJijl+v<_oWv4ju(#n#BGrkuzG zjfg1t`_otvU-4sB*qgd%#m4E(^3! z4AY1S__8r(_Q-tJMb#;IHD%?I0xCCMNGC~~B&jg1FCyKN3PEs4*>Sm%87s8ts|CJ@ zAiAfERqWO>^q6;_sj*EMJW%mqXwk7?p*G3E&_Sa^6?W(VCf3eC!6NO<_)2?g95`&u zIr7x>bWdz;+|r}{qb?=eS?HXj+x-?FKuPQ8@YEqz3H~ETP4je@_BWc^Ce!E=j$=9d z;RWI|FP?NXiv9iKO27Vrt3zmJ5?ed72%vMn)>7bx+NBdLzI_+%HlA-3>J&zWNSqyvctQ?Oo1d9V zL5uk?!8(M<00(#$0UoQ*YyCf~{wCY7;~46554T6aY!^+Td!sIHF0_J!9Mk@bEly5( z%|hO$1_$P`^v|cjSE36da(_+P03Nagyu&3vD$wB*{69g1UxVbjF(RNgio1}}G@g!s zaI&xa2&nPn^Q2zOEeMbF&i%rJ0Ih_Zg-W+4gV_2v1eV;cdMTU>vIJcAP7ruG_hgBj zoSa@O>$3Ml_K$A}hIoN|&80;ykLJz598i^Bn1XV+U2loCF$plyqNH>-i^(F^Dz^?tn_G2;4NkG0_ zfWLH49Au}24RY+Y&yG8Lz_@#y?Qmess#?YvV0s|gNU*y0r|U(qg`@R)7v$weNI={9 zcI0OB(g!c&{qj9x`k^bO{_F@;$Cr@XnKu}CKB1|05|2_OD%=VY&1Pw-E+#gH@EWLi zSt}>dHLdgk$I*I=?FEQ!de6yLw%pzGu;yAuP1@5~vhbc{${K}3T4bHoP-<`T zz?#h4Oc}Mq$(gkzr9;njogV^wi;H8WYqBGmu7&2q3zKwP7%msxP$Ii$5G|8lGY2`q z?Y#WsZHR#PSA#+=YGnSVY^hbkXn!t=Ae*`<%Jhp}Xb}`QUwTjEeTEM!zSNaS54aP} zrl<44uvGTl0pQ5Qkjhpfo=39+ay;I226ca}x8NIRywSkk0%F2(`TlKUQRi^trb9-@ zV{0gt$Ho4939Yx}_&@LDzbZm~Xe*%wPexVAON);>Is=)tH8o3sOX+CE>qV73%1DgExVWu{&a zhvZ10vL~iwPwIZLZ)8=ONw0q1woEp~#M~!1Q`T;zOY9uQR8OkU8=g2UJcJA+kdN3Q zuyBdbE-mfjMVzik-Y5Exn>FX`_Uv)quI`;>jXaZ6^(SFha)sQMa=m`hk6`^uKp&N4 zW5(xdIU@Z?`)@e-+b+11FIAGU$k0(sN?eAG@~*=Lmm4 zT4wn8X}xFfKz+H>?rtgyA8~qmnmY`5-k*QHJ)K?wVDoN(a7DDbL9|#%&SM;5KHgT0k?$|5Cu&KR4sy{?wK9+?SD z(TGXL2wZ&S+dN9!9QMC~jUAuj);$3qXA>+Qf|CCY^KrVr$?!nxhPv}bTs%BP0JE%q_XvJ_hO)lRkggt4LLn{gpseJXb($PGHBO6!2CV?)g%yk( zy`FB7rlt8_Tl_S{Iz4H*mbu>$poujSfbFnN4nw6z%PD+ItgKm5y-uIFP$7@FWe!?$ zGlX)MIA*>SqjklveESWjz5wz?`z*CCz(5OajBdZ|9b-AGJTU-U2KyTaq|X) zsz}oylh~h>PBsQ7mf`%-^PlPJB&e162BWQ#f#{Es?|cIcH9n);LlTU^V>$Ay?CkA; zP1dh4?UY*K8ZIv!T--HHn8UCA7r8ygvuw$ylkymXvvz^UuUih8J2%r`Dn9TP#N~WR zq%Ts+#r0MA-8%l7Z7|aNoc?VEoOZkQ8_hEFNy@jt*OUrLCwrXr|HUlxv%-xY!>>cd z?XvP7X1{LWVy#5|lF$(woN`}!t52|eycuGhJd{elBU`z$!^DII)M$Uc*Yq|IBOcUj z*c?<7%wr+{E2@yBuXh8+4OL687~QWnx{20{ zl8w9E<4uGa^A4DnmXr=;*mA4k$5+Y4ckBI>GdO94%zP6Lg8V7OqMs)#swb{O6U#t< zOl=HONp+%o{%E?e3dM(o@vFs1#toHukShq_G&1?vr0Mas*{3#i2xU=(h}1;$r>MlH zlFFhwV?gGv^;AUvrM`JOj&63_(zHj`Jn@)w#&rZHs84t}xStW=IM0|tm_BP;ae*9^ ze&6^y5T)9tn(Y)9f9^pzdR>*8uPgfNOp2w8;uo)0ZAR;?RhiD~Ptdqq%uQ$J#|BgL z>r~W{b03EGY$Tkow8j__|KT>U#4awb>6x>i8xAT+e{gWDX1hpAn&Z0_(Ljiwb)ub^ zj7yS}1wPM$HBd$jC5@|wuG5t*8C2T5q@g+cNd|QBbHi2zA57>+XG1Dx1-HFkRrtZC=SkM&|=sBI`gKT@{R$XmZ*PrrWe3; zl)c%L`uTHpBO|VW1tc<}yIVnzl-vXuz0~f$V@g%|?YZ;KaOx9TPL=wA25G60{)6HY zb<{vIY96GdM+K=R=?avm$06Gt!$)+t3f_*M&Gsj*e7g)YC-&aaX2nm=^LA%_FQ*9o z10!gQQN1wGH_H?gvaI)O4b$OEGvj7gp7jRu!5~%FTzF{Rn*QICB@W!n?H&Ybh{jQV zRue-gKWvV*w3`qY1pT_`caC07Q0w+U9MkSDw$L|w93+{HZSU+@LJn9Y55wika5RwK zUUt=nbd8&%XzDMlVROG_0eeKP$4Orw4>QJo>-$jw;TYT9!9OV|qCql}}0e>c%PI8r~C_a5I(d}ZJ zDqn%csbF>{5Aa@<{C%--$(wejX%bzw-00@jVoxzW7nXXz@ZmS;!+vYe>(I7v{<~lwwBLf zxi7vt_u6@1(vlvP&fc&%|0uxj3-BKu_aqorXn-#`Q)7^@*i7$TEw$`ij;KE^+a{(~ zWfaX3F~-QFm>3?lTrO1D58XVr0l)t+u*BCx!`Q;=m710Yv1EySU?$^}s=TcF-Po_m zqlyp&>bLZKUVrc#MB#nass7*61&;OVxxTTtJoojn5=jLzei}-ad*fPMb%hupEkbs) z`Ue%CNi$AN$JXUrHKeAlp8rlyukng<7R$A8G;fpPlFSb9U{q%FB_MdSAFovVLdtoYAntlA9YWSTJi9wB677>H8zpTWc2jsrhiIhS0|F53j=P^4+^?k*f z#XbG;G2F#AwR>@4=AzD!4pHbba{xolF(=t>V23=RG|zMUNTO$z#9A8)Oup-XY3o$bP$zT>st_Yw2X zJ^QnM)JibRCPV`I-%m2HBUs(&H{o(TY>>f+-}DhUO>#awoM2pbMS|ValdxQ#`QA!> zg)-{Q0oJkQ#^`WXGW);J`###m%yb3b7*-AyOk2}FH-X{oRxYLe`SRtm< z+vF*<&$t<6pRsLvj-5X7whNiy9OywTf=^K~qeR+6p{C^g8LWN!-i9`Nq(1e5rzP8vTjjk81{&|k4LLkS%pWCBdXldA zKQ(gyMABQ!31v0=--qB$MO&Y;(6;l7?qjc4AZHjXN@-jAAV7!5gTvfjxh!f6p#TXP@f zMK`+)GZ%)$K0%;Au}%6PGOj2ABlwJ8Xr)98r-KQcYT6c<_sr$~`C`IAU^_nnPR;QV zP;yc+(uO@9L+{L23yq_dUZc!ugEBHO_1(r8Z3$yfYHIX+BmPwCmsR>^tL>JZbH)j% zJgwe8&Uk-u5L9C|djD)lr30WZiIaD;Qb!H$)*5IY|H_^C+$N;-Mo1`^>C1nS#b0<# z_x6w#74{P-RN9XgF=0StgJzpU_;E{t>dyN9_6U&@H2a?Cd#qIzvJjgmxg+&xSr(!3QKJ1TSM^15Iw92Ybv*tdA&*fB`Mh3rZPGYakni z?7BB|p?rx}471+;9>qpY-QS~yZ;6v;nE6`G}`$f8(} zqwRClG_)lC==S3ycn}w#S5Mdq(tnJ*_c2c!`*2M`P3SNE|4D(c%f=~(e{}u04Hz7m zKEp}N$J8&{&#@;DtS6ff)09=%%^;CX$yiK3iI!>TOl!Zpdtcu?93aJ$ETWX$>UDwc)q@eobVbHhdy?4K*3R6u z;iCa_t0S0XqVl2hWQ#j>XM?bTJa+vxXU7KLGFZ@OR{TMhvlJ|ww|{_xm;ge8XQ!wz zTvq({x5VY2#|1o(cis9J1(XIjLf1}H#pHI4|Lel`Dl8R$t!uF4O2woPtFO#KsAknm z9rCgPN*~?FL(w=jSWso^_0Odt8g8VSN? zI6TDwyQG4gtI^gv?ZE@4481X*5~aJq~yiKRd?Pnd+t{L#s*;t1_ob(Y=ZV#$hbEe#*Q=uq=t?itb) zty)U+pNGr!S(HtIWpJ1QU&RXa+B=T}&kj(Tw*H|o@B2ex{Vag$s9!+&Kw3_2ON~^u z%=>%L0DT03ldCQn>(ynSm4-6!-AQkoL-%gq!b_Ws($cXpg5iu@r**5o`#SZ;)T zK`u*Hdx6Kv^P86rw=-y^*;YrYJK^eTSHDjmyxQs!2+7Hkw~3@`EhU7O2I5dKA7Rc&L>*E#ULD8z z)l{nz_3GA5g4*+Q!Rk*VS^q5M0EDf}7QpTTiDiImLv;HknH*Y)+*i@<0&p5QBPC2^ zj40TAj9W6BSXJ)*f$Plu8B<>xsz%mQhigodK+$z?hCA7h$(8u4*Xq{zL)-)EoJYKR zoV*ld{ePz-Tz(DG7${YzeXdt*vb$aB6!rAj2Xx+m-X}ibrgFtNStZtu^1z#U7h{=+ zMWXSkZ!)r(VOZMjQXw;$UBRNGFbGPr)vEfg|KS)3Xm>vY4xHhKptro=X|HQQ`2w*t zzZW?g&h`@q7Ji6eykJLedLf_U7;-ME6Ky)Oy9Zt}rPcvVBgLs!2EO1zL&tpKiCOV8YP1qp`K<;yPglI+S6)i7Z0NR=@ga@~7$XFo8 z4PeW^^__b3*2u_ct~`=816ET;C>cO(RUK3vGZ9)P?)>=3oglem#MU}`3flo)Qv&|t5t%%XE0pPpeg9t^!zcH0KQj*7vJWCP58 zgRCLg>eslVb(Z+M2^QUbM6=$ZPAz?pJW?g-*aUs)a{rA9?>=Ul0Q8c17q=kdqo%Qi z-%TU8=&U-`c|R!vIbM4u?pVgw^m5-dgu zVFrobOT;K42%@)W5z$*DL`2OXg6L&JlnA2+LG<2BFnTZh{j%2D=lrgH?Q37>?0wGr zN3M`C-}ip+_mum2?)y1&qmC_Zf$HW^G~NqEfy45e^x&N9TJ4_py>qPVUtrGMasq&w z8E71dA@t`Na_>@U>pt>RzEgY}y}y5dF5fz-mXDQVc-J~OH>Kq9$;Y-W!T>z}Y&f~1 zDakj?%E24{1j;O*MoJCEXM=0VRyPad8gf)t9_plpyTxB;F=UvL)0wG+*WeGwwb1Ti ziO0h>qs2P>n`%f3owD?Yq4HNgCWe2_A8mH^Qoq%*ndxpqHRW;bb#GWsAlY}K*=I!r~_3QMc zS#B?cA$l0=hdvv1Vn_&Ub~ZNkkd9ISG3B=vx9MNTr%ypMr^fxkLIb80_Ze&vWsd`4 zm^;3jv-jri?zsvgM2p4dZE9-H=rTpWNKGAst+HP2Hv3?V-}%Wqcj(Mn+TN%xR@xr8 z?i+Fo>|HrO{Ao5_Xcb&ciP)z(p5%CC`Smu$hCHR6P^DjJvHvKX)kcQS+p_3|P8?_# zg{s9P0QNQ7rW!>r%M!X5ko7niN0XS)rXFu>X zq6~7IqJtTD1}xCxQ2S!69qctpg|5)Z**w;lHaat&+2*2fmMwUJ+fay$NtC2T^tmrY zb^%fq8G}6RUkcCppXrb~v;{5Sw+n|?kSnD$lH0Fm6`x`BvHRxdk1b}QhM8D!Y6eth*zts&D-5pDJ7 zX(umvTiARIKo<$RSjWbw`fRn3-X-l#+rjH<^J?i6HVvp3K2k4$@cz4Lk|iQzGLT_} z6xU4rQg%$L|4cOg@x2{-5Zi2ur|u=Xd1LuOY97r-#Lh$jWvjmyROiqzHkO{Wpp-sx zc-#Jnaq&*9ok-RAwRmo3U7@+oW56yQJDPE#t1GYyHjG8)wHV$5`!bl2>kbj8>f(*# zlni}XmR%n<(L~}OsGs2!bsunzGz>22!rL?;F9N~^dJw@*WUNtD zrq8SY#cd@c{&GC+Xl->ht@|@7iz`5+#?DJ(c5yp*KGKu%wC=nUW8nZ*>Cj}6RTnp> zsv%8(EKnP{?xhF(ctnF(l5k$4!txeQ-i(Edb%aYWfJn)Jhj0#Ly@a*0Oev+G&1>Y@ zrhn+B7PLyJcR3nR&-xMA|(`j`+McEtq0DxWj{cP@$~60sp4ufC06 z$62v_WwkuJ;e%rM-V#3^UktU--h0$TRwJKL|Mdc3BZ64#v~td>h~lI#l&t0~(A}1R zoT`?KUID|<8~zxIt|E%RZ@2R^uwD)o4;B^{-fk7!*X(muVFWWMQ3gHhX}k?o`h#F#d9vf$+O?cUByF8M`t~* zz*~;>VAr40`zm#=Y^-2`o%Nfx*OY7$wR&rd!IhQHWHHhM=W#}fX)Sk&!6%pBjVZ5Y zIWJI!P?MlAJga2g60!NLiRR}QuR#5i3)Iw^(w5p0sI5h9>M~-EK6cHu-c9ewO|TI% zvMG+WYk>k2fYQlVvzbh2?idA#srUD!@lL;!O^>+*OLcYiXPv$~C87Fp2Dud#jC_22 z^w7t{9bUGkE2fOlKVdmaumjZrktnSxOHxr5#>6@#BL-*BKB`uk=;$m&= zxog|6J}1Z2%~P<5-~Jix_F2<+S|2nWv8UygkcBlpXOC7(Avl7D6(b40HIRu$4l_h@ zGE=lAYYD}@4C_AH-*f~pDm%lashr&WSJad~K0X_kSxHW$pr{>OPa$zhO=|y|tq2q7 z6_?T0*1iUz`CUfUzbmC70~h}|myO9Ym~Pn}qM|rYA-)fbs;=7oet8%|Z-*|r@SI92u_LfyVA5YYxJz(J-IO{7v zOi|@b#O5j7`4uXAHG|wnz zC8@`ka`l>aOrJNp|A)}xF-p7G0K^tV`(qk@hqEj8ZL={-IX4xg(QdrN#K9o46R9m1 ztq>lUy0Mz2+;|uag1K_3c-MaI`gB5u=%DS#+lRbwot?9MMprGA*v~Qj?8tXa75eg= z-7_I6=ektEBc2)z4NmAfN%l>`&<%;cIUPN?Wzry5%Z%iY7noG~sH$_I_=vI_5x^9w zV>BaL1y?S{S^XuiD&I8)gmJG4qZME-#$Zkzn7Px6wYRa!ji94q+H`DU2?k<$TpOL8 zkFmM;y%}MFEa@#CQ?&&%GXzzZjq9^F_wcr7Q@R`ASGUOb5Vb#x#q~CSZUy&+pN2UT3 z0~GbW*75XhVO!C@TO5ppLX*04`*OlewsuQ$mbktOul05EY0MMQM15#-af+kRqiUe) ziKi5CIZ%4Y8F);=5~t~~5qirw8VG=M0imQjXZ-s_-qQ0iyCwig_rZOo-$>9SvZjT1 zDxAYe5UTwBwsoBV=D~D!R>~_p20J*{S+E+@CU%)fUtQ-}ZS8Q_^vU74$CKgr%%~#z z{an9cibR_`zNh}=(ccUo@T<{F3{C^2iQl#Qcp_tXD=Ueod~SYz5dPJV(u>&A?U66UvrgN^Vhn44tX2Ej zHl>M%1Y`O;D6>tEcC{pmT>a>6efdstRR!nsNmo#AU?u<>9sBJru}n)_z-BYYBNwB- z>wJB6<2iWdNZ7)1H-FP_D+K={C8;Vr$$-cB2b6>&5}{4*Gq5zZvbtzrn@64xf5#`w zei;ND$;y^&TG3yOM}no?!R^hBVLXmxjtI_PYa1yT_68NkX(JTRtzrQ~Q3 zGb!=%wLtCfR;tXf<{qPy?^{fjopN ze}@e>u3TRm7;fL#n(r`(u*BKCZuY66%D-K9C7#tN^89JHcuE9IOSKfAbQti-APpw1 zIRQLg*=ip+@x7GtHzoD)AtA4tnwKueP+%8sbWVQ-o=gyUvcBG4M*>5;xY@T~QPo3} z*(g(?pM_zx^l{&8Z%q%5-j0bFr{phqnRU!^zcgTBZQH)1R$73<5-5aZYONBQ(dZiRFYPt*S220 zJW%oZI5b(X0r%Au|BU;Yo}2qLD%WPRC+qbMKs1qc%nxz93d$N$6vnrbRJQli23BHH ziMIRiC|UC)g3-+g&KL^Nv*ohix``}|3@KKY4Jz;2k~}@y+^Fx+Hy*~>&$lPAAF-xB zn7fRe^>Obrjr;toH^6~dR$p_mAyC1Z&D(e^Pla=LcdIp%hdB!79qyD@xaI(&u-0>Z zt)zC3vlkZZ?Adlo?!@ohZ$?6X+ak#RYlzE_P7Zi09VoMA4vctjwj<}>J`76MGcsyV z6hiG)V=9CPoy{+3M;psEy=05qck`YPP%0|1qpJ0qJ%bq?jWoF%SX*F>!BmwoH1oX7 zVw{Jz@|$_tH%&~Ci2^sU4Tb%^a=vuS-4fnyidvt62^CHR!O)+VD8c)MPy$sA`M!Lk zaFD><1gY39s-DL4QnivR&7E>SfwaU2RSrYn_g43nEZBD!4$P3BNH0{&RE-Ot@jLwi z;P~La$u{WtSr~o_KvgPkx0& zS$D_%q(Re|7Hk91{Gz55wc^;{2~v)L)fDwj$mOD7J4b?j!!SC))*kfZ*v5I-JgPC%e$Nt&TAE z*UE*ithv%5V-jufmvbLGtO5)Cr1UkNwLxH{*ASI%JpiMCoXXD@3S)4vzEO;qPZEur z;8G^rpl>LeeyYC;@(P5KgijQujg-_N+Z_Ya69bG-8+}!buLer;w|>} z)}5QGY>lk>ABVH75v*gz6JfLs{2^z9r68?7uzPZ!dUc!_8K@VjesHjW$_wyeSK-V- zNAFQY#`5A+K%QWT!dN3CFE1|+^`qu^#eSMtdao|l50{-yqW8ctkaq{;P)B5CZ7t*H zC+$WUi=2*@W(DCKMD(6q_Xs*313fZ`X@(CQfd0wt1p4bIB7{1=mUK!nZQ9*wDXPv^ z<5vlLKK({}LdlXpHkc$5XO!~!Bg`}9?0z+$s6vXR%O0IXUKM2NYzA@w&RuJP4lZC_ zG%*DTBz5Mqn892&7ctwHOyF!Z4^fOKKB**uh)^8k_5+2ct+j{M1RqNNcrtQwa*u`g z!SK<~WOTe=p@vy}IQ{fQUBG9MTn4*R3m8?xYQgL@m9F z%Qb1xf{i>}F0u4Jj>T*^@#<5p#%Fmkb2R8(*_dyQZ;c^vzx%{PKi?+t9u87V0$(!Z&<58gTq;o;_^Kx<9 z%f!SR#JIS)IMdC!b|+*K5}NMlEZ?uPXpKoz;HR96{T7ox&v2a!HnYZl57c%_Fv8Cj4p`yjQM(Aivore#tVq0fmpgb&Ku1*^=+sR;-TeX>V2o_E-o zF@D!R%+Ssc3RuJCw|bg)wRLlK_cA}>p+c1WVh3EBPVH#$Ez~>&z}lEH2~hM8S)fR1 zkD!o43sP!F#Xz%YO>_t`s6mD{JZ*26AkF)I$ddxF{zAzE7 zs=T5i4LVmaQDb)BYiGGmj^5}6sM7rG>zfKmHJ<5Jv=RdIG#f{bhjN{k5>Augh3KsQk|=A%~*Ke^&7yPqRL=7qf$fh_U@k+H*c^lRX5u(nO-(IFFQ!=8 z#^weo8JVeI!c6}rn7p{8gXP`mkRVLFPCdE?;F$>rq`IzdPTl0LabbR+;KuCypfxP2j2RLUz1n+qXBsfYMIy#)G(_!J^j^9YQCz_;BZjC$< zwYLsyb2caigb}qTHjMxkXj0J0s^U~oZT=lpB6XZ!p63=9k} zrEh>H&mJ}DNIHJXe&z^&xacURBf)q<^%8!kp3PJ?)L#fy0NhVPbGP5 zV`FhkUpSBoUz}VGq_FD8!b3Zgr^NDWYo#|N!s!JX0lANZ32o(;*y23c+?E2E`VifQ zV}1o_cmOLL-u6^;=V7pb#itJ+xE?s-FBcDZ)e+IBWoF9NEUb=IGc~dKNgf;=IDovo zetJFQsSXc{QSK#p=4@d9Q)fju!DP^Q-ew(b?dB)S>&~maSsqk)sv^5QgOVUo1U_y- z>R_n9hU?2%g9aJ)Faw99#}v>j{%6wu2v~q39A@~7#8vBiRYK-h%mXd}Kh7L3I#w~b-ry2Qf5vO%8WQNk_N5QPhlw1Q97 zFVzJQ7dg$g-ts#Ea&u-YLuDIVK=Z*6k~XN4;dx{>A2-m~(2)xS_GtjV6(*U=QX{Md zaNAeIZ}z?(ESGc^KTMiZUFN0IxDRQ3IfAj^(FYaCOVESPk^EVcmlwHvCh{J$kBLYk z$9Q=D18NeuvNoD_bau+>Mi+YwAY1h4Vefnpl4 z$;oFh0*VYz5eRU~Bs@kjWM{{%LUQS2dgD<=b0}Q{wIF&rl>eo2+(PkDf9(mU+BnFm z(gg+M1&pIWKxmjUXL&BnRf3k##w8wsX>be`V>>5JtIj(-a993h4}yaRWmI8gbbtdC z8Z`#kgq{Z=mSljG1E#2CV=5G5FPhzqG%+`$!OOy)0u>2D8wYK}8ZXvEQ1HFLmu11R z!dNPKb~LlBG+p``L5$2>gf7-u73~lz3yJthO6?_W*{)(tzo2PZVwI31)EvVuZnh zl2~~cldyX`^1&B1s@%9jB$d(!b^w~IBHsmr!I~+v%nGxccP|^%po z_fwmr+=`4sLx^Kc5h=sy((@W{DOznEok$6)AA8DIQ^+ENsIeZR9E=5JN6L4E*r#wO zo6@JWbm2r$CBpMzcLcEhjQ1|J(ljthd>NIRvjCH(XvNyAkcuw|zPn$F?{ZU=P}koH zF8_tAndV67WM&uJU8r!&9m>>$m)i|lfO`TG#cVJcRzJjU0bE?* z2=!xg`Y^jr22~DmU;G^-tjDzFImJI67mgt@3eWq@x9T~{5W0uEgeF|gHebc-rNr?g zF8jOhZh^{wh#3-ne}*SCBHy_~Ou?;*8ZUdvigxs#@ySL!G?b4ihDLDa=hdh%V3kgu z%Z1am5b$5MsJS;PI(<}q{eWXluc%1aJ*Q%*q(l~Vdq;o&fm{2Z{SzSJiw{InXS)vD z;aY5s9bo})g;mk9d>Ef?9kDwPKA#-?a%|xQjmmL|0H1@N)S%&&H(ht-xrDovq37AM z=+c_mG|jjxIMveqwdD;=Kt)AmqtGknEbi&{V@c4^o6aRms}jgywgs+>hK!znM)kbn z+lBsG2<8e53{2GJoa>qkV zBhpwh{x(Qgs{DDLMC|U#zai*DXU?%S6}%!+;bE7K6j(jc^21bk#fHZ`Vb2NRXw^&6 zh7>GtiLNusB+c(0dOqyQ_w zX7t|j6>hAu*oc97E-4^K>Z2`_7$&%W_V;tU9wRnGqpsBhN7Ymnv7oxNy80$7LFw)~ z5K-iA=}_$YLlCq3c|GCIrMzqJNHk_{Pe%yNIFGi*-I(q2^;YG;y5NBx;c{@el0da~ z%1Lj5@1INRmN5kfU(ZuE_rx3fdMftC6bB5H^H;6Oip9RiVr6~bz7@5{v+6JDoI29zwaf}Uwhd|qm?Q*ulev{y7zhRozJ9yCj-|gf92%m z;mJiuUM}fmUgF%)!IyK2qZ)`w*BhhOucBkE8?N%*VlK?eA_k1*TL9)@8GO%qf%s&G zTRLXkZ%HdPjQKW7SO-3L*W7^g6ev7}7x=8$EG#X(8V~Pq)Oc~&9ba>;RvIwEXJYiw z52+=H8p9?komSkBBRirBqMC3#+#HnQ44;f>WV7Xs&+ z;l~cxxRyrB^+7PJ>y;=Me!C(9F{V5j^F=09Fr->}cYs>GLE1Di zSy(TCUqZ@k`dfP_f;j|#TJgpkxfx_AMIl&6Yvt)a4CD%2cuv*+qPY+jEW{+CfLG;R zKikJ}z%JE%vft?!)c$CiT&1TE2z&LYN{~yqEr%p=Q#i9SGc)Tl(AAGJFv)6pt|W$d z*zbT8iBdw1dEFi22FivbY1C)rnKb^yo<+j~JYUe^E0aSx%%u*xqFZ~+hG|q3ruUEL zr3GrOcHV)YRKLL@;_j8M$+mgHch{p{Wkk3ERmACb(eYTVRXpwc=HT4i+lMvxBa?k>Le44hrW_AHH|*d*;pqXu zwl;*$QdVbq_;4{?x$??*I$^;QlouKxNbm0jaxqfb zC4&Fy$Gza}y#XLyuzEIoQcqwIo;UZ-1`?!#MxO!s9#hib`bpII@86(NNh>#Ye7HMZ zF`rTo>SynkdfCBtV1+?l>c83+1Zo8EAa5op3wFrp~5b7i58unzhwDaT&YQdhqk4>l?r0~i|MvVb*eKV6<>ur-i^fzjYSSaj49&h!`S|_##g@uuV9uj6iX@k&8&FZJnr^Lzv zeC@A$gocHJP^8ubq#9snte!k+JUKoDlP%vY=|J0ng@Huw_b-P20KmY%e)WF<6a1HZ o0bLpTe+-rQ|M+pTZhNOgvZ~ixMHK)g|IC?ta;oTjS(E4g2ECn0761SM literal 0 HcmV?d00001 From 8cf66d8cca765f6ee6725a65760c749c247752c3 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 17:16:43 +0100 Subject: [PATCH 113/159] autotune(orbit-compare): L=21 Trotter dt x mac ladder - best rung 2.6x worse than cheap displacement at 15x wall Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 24 ++++++++++++++++++ .../msd_L21_trotter_ladder.png | Bin 0 -> 173285 bytes 2 files changed, 24 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L21_trotter_ladder.png diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index c7528ca8..21c66ab3 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1208,3 +1208,27 @@ FINAL TABLE (rel vs disp300k over [0.2,15]; wall/RSS for T=15 dt=0.1): x2 error - reaching 2e-3 would need ~1e-5..3e-6 mac = 10-100M strings, INFEASIBLE. At N=42 CTPP(displacement) converges where Trotter cannot. Figure: msd_L21_T15.png. + +## L=21 Trotter dt x mac ladder, t<=6, vs converged displacement (2026-07-06) + + run med_rel max_rel MSD(6) wall rss~ peak + trot 0.1/3e-4 5.3e-2 1.0e-1 28.37 11s 143MB 102k + trot 0.1/1e-4 1.4e-2 2.3e-2 30.91 151s 344MB 854k + trot 0.05/3e-4 6.4e-2 1.5e-1 30.67 8s 120MB 40k + trot 0.05/1e-4 3.8e-2 7.4e-2 30.16 67s 187MB 343k + trot 0.05/3e-5 7.4e-3 1.4e-2 31.36 1175s 1.1GB 3.67M <- best trotter + trot 0.025/1e-4 7.9e-2 1.4e-1 28.45 62s 140MB 115k + disp B=150k (check) 2.8e-3 7.3e-3 31.56 78s 375MB 150k + (reference: disp B=300k; 0.025/3e-5 + 0.025/1e-5 cells pending/partial) +FINDINGS: +1. At fixed mac, SMALLER dt is WORSE for Trotter (0.025/1e-4 = 7.9e-2 vs + 0.1/1e-4 = 1.4e-2; basis shrinks 854k->115k from per-gate culling) - + the joint dt<->mac coupling at L=21 scale. Only mac-tightening converges. +2. Best Trotter rung (0.05/3e-5, 3.67M strings, 20 min, 1.1GB) is still + 2.6x LESS accurate than the CHEAP displacement run (150k strings, 78s, + 375MB) - a 15x wall / 3x RAM / 24x string handicap AND worse error. +3. Extrapolating the ladder (x10 wall per ~x2 error): matching disp-150k's + 2.8e-3 needs mac ~1e-5..3e-6 at dt~0.05 = 10-40M strings / hours / + several GB. Trotter mac-convergence at N=42 is impractical; the + displacement-CTPP advantage at scale is decisive on every axis. +Figure: msd_L21_trotter_ladder.png. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L21_trotter_ladder.png b/docs/autotune/2026-07-03-orbit-compare/msd_L21_trotter_ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..c138826cac90eeda3063ef5bec4e2a73a5224810 GIT binary patch literal 173285 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%0DygZxF>(58gEcp7p+{sr+K6MuvJQlv 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 Date: Mon, 6 Jul 2026 17:46:26 +0100 Subject: [PATCH 114/159] autotune(orbit-compare): L=41 (82 qubits) matches external 2^-18 Pauli-propagation reference within digitization accuracy Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 21 ++++++++++++++++++ .../msd_L41_vs_reference.png | Bin 0 -> 79433 bytes 2 files changed, 21 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 21c66ab3..91234215 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1232,3 +1232,24 @@ FINDINGS: several GB. Trotter mac-convergence at N=42 is impractical; the displacement-CTPP advantage at scale is decisive on every axis. Figure: msd_L21_trotter_ladder.png. + +## L=41 (N=82) vs external Pauli-propagation reference (2026-07-06) + +User-provided reference figure: MSD vs time, truncation ladder 2^-13..2^-18 +(PauliPropagation-style, RvKP XX ladder; their time axis = 4x ours). Ran +disp A=2B at L=41, T=5 (our units), dt=0.1: + B=150k: 100s / 393MB ; B=300k: 209s / 650MB + B-convergence: median 8.5e-3, max 1.8e-2 (150k vs 300k) - slightly looser + than at L=21 (front support is 2x wider), fine at digitization accuracy. +Comparison at digitized brown (2^-18) points (t_theirs/4): + t=2.0: 12.76 vs 12.6 (+1.3%) | t=2.5: 16.43 vs 16.5 (-0.4%) + t=3.0: 20.14 vs 21.0 (-4.1%) | t=3.75: 26.11 vs 26.0 (+0.4%) + t=4.0: 27.60 vs 28.0 (-1.4%) | t=5.0: 35.25 vs 35.0 (+0.7%) + (t<1.5 points off by 6-11% - digitization error dominates there, small + values on a coarse plot.) +=> Agreement within ~1-4% everywhere = digitization accuracy. EXTERNAL +CROSS-VALIDATION of the 82-qubit displacement-CTPP result against an +independent code/method, at 209s/650MB on a laptop. The L=21 curve peels +off at t>3 exactly as finite size predicts (fronts wrap); L=41 tracks the +unconstrained growth to t=5. Time-convention factor 4 confirmed by the +match itself. Figure: msd_L41_vs_reference.png. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png b/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png new file mode 100644 index 0000000000000000000000000000000000000000..8a16af33551e00317c3455e01bab3d598631e472 GIT binary patch literal 79433 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 literal 0 HcmV?d00001 From 9e493f89ea1eb4652fbc631e3116d8e200ea65f9 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 17:57:59 +0100 Subject: [PATCH 115/159] autotune(orbit-compare): drop L=21 curve from the L=41 reference figure Co-Authored-By: Claude Fable 5 --- .../msd_L41_vs_reference.png | Bin 79433 -> 67611 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png b/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png index 8a16af33551e00317c3455e01bab3d598631e472..f2e436a4c4f058a31f7651cceb923c091bd7d9ed 100644 GIT binary patch literal 67611 zcmc$`WmuGb^fe074bqZ=(%p@y2r7+AcXu}oNJxW-(l7=R5<_=)44@+2LrKQ~LvwyS z&+~uZ_rv*eKAdyz>msk4nfq6Juf5jVL~E!i5#is%M?*s+danFb3k?lZ0Syh~J}x%+ z4UP~Dd`6S|*V+wsQBdb8!~t6BOW+bW6<+yfZO`HOQjFch zUUV5Hzxx=E_lWOKs20V>XY((y9Ej?WsIR^|1+O$U+7iqaw>iZ4%oVy5uqfLfljT0S zD|Me#3njOJm+VNynd$i9YJOd>Z+IJ?lbt=6eYP%tQ$DrhE&cSri>r<~Sp3m{KjeyV z;IjO8p(`kmlKp$(;o^rz{d*}t(jfhxKfMzg%KYEWcS$KQ|GPOUp6$&ylaZ5SWDdQ9wO&teEsHzPM!n>3ra0ald-DCoC)drw ze8iVX#>e{l8S{diAKriEW&8K}wIt}o9NUWZDt{L131@jv+np{&GBwG0Pm~({ovjx( zx3F*2n?f&nV{P#sfUhQR3#Qe`}YH>|s z<$eB;oIG?>Z9nFoVch8LM1F}&Onl;Zk&Dn)B_-q3Hin#8jfz+4z>J-d67k4WnqV&O z9a6FdWfhgK>Ivi6^W&||FngB;1(vfb?7y}5T|f4srk!iQ88v$6<@L-r2WT1}ZBLC} z%KIPLf^lO@dvCYVxip#8T!rJ2lTv*2kqWpxb^BAOjpMa7E}G85G7pwd>v3tz`KFK$ z^U&j0+uHr!t2*H^oH2V%$b>VujnVwXQ6UzqU(1Q|33j7-W?-ap2JA37*^@~N32={! zU`FIVY>uV#>#B6Dw3{;v9{nVb}i^vnR!oJprR^1&D1P8rL!KUyu!2->1??#)P zW@?sxDKRPDTwkdQNbv9we&W^s^NiC!Fled{YR+u0zCd z!v#0NShE=i7d8xBnkgH7_Ik9{Wmjv(UQXrj3b3Gu%M-rQH-k*xd`RSVIPILMuzE@U zk<3ljbya~rEFu1$DA!4k8R`BzI%ijW#{H1@>~NmHJu}>}Ci752rojET1{tLhIx`iO zl|!Fu|NgbDJNOp2@Y;gcTx{e+ ze>VAf1dDT;enJK5wrajb8feYWJ6wAUG7pbTGWg6ci6o*!*;F%Du#cl*TYX8ay4Cid z>Sb>(k*BB2iK?U>l=4Lz8yi^mIAIiuzv|p9kU3@ExLZ+yN57QV&^kkEFc!)+4w3^5*vxGp|w0>4>9C5T_oAE02?Lm6wx-m~5W z1`h*N?E)mWudnaUT$-JsE)QhD6g$`_y<5ohuSRmc&)937^o8*-91cm3|Y<* z^6F}>B8ff4R?@hSeQMO*-JPyaM|du6zVCLrzm$i@x#eC))%#U3HmkwyEW6Ye~2#IzaK;JV3w7*6h5kqV0{@KH6J7;qBJxDm(2;zHzI?=jYxw+y6@|Jfm`Rco>ps-9F5o$x%xAlk1(aR1C z)efok6&>79G&MCPcB)3RYWPPDp^$UCEXer=TU5`VQHRp{9>ecL>Si-5(|pFf4QFea zLoMw)Z8t9Ut5hCd1KRhES|Z2C0(+-vB1-x@M{pO|or8@xJcvT-AZn*Ao_q5Q-E!obdJOFejhOg{xbOhk8vSQq&z{)-XYtuWRiFNye{)T3J~w z)vxC~sdb*ysJ4IY;gz$s-qKNY)#7a67EC=Aff|=eOTxPD5tTea2vX$W~FOj&MA+K@rEvpDMxEXX`s-MLOcayu~?Rs~s{EOw@M4te@t?JgJ-!D%8j9kL!Yavm?%v%b1Ltf+b; z7FJe|bui=8IT;z7HM?JH`pb<#WctwzxjJ9l1EDs+*4B2n!Y0e@-Kba~NVsr^vUvw* zkNH~XC+`T$ssDf^-~o-i_`pyPh9`NZYx9D}B5x3}xGv`l*Rt`%I%3K4`aCn{u zQe0*)*iy~9(C$#jR+}8Z9^(@I>e--BC=BEgN{7}=VVi_0rQ#8qiH*8F*Ix|2Ed_aYPEO7fxuElvQhpvD z_{P=p$;H_^G-$d8(WDfB+O4j&ALBxmUlMWsJ$P&etu1SP2!i2P=Vb&W2iZAc&1>+A zLCRBLi$>fzYi>dg#PYzz=NG6wmy>GMOfgASCK=x{SqX{BoR1$@-0BJVn|>CfKtw|M zWq!ZZCViS4ilZ?v*ANt5xbxB_Xd<_6%QHBmjBy;v&Viir|~2_BD|D^$QNABoI({eV{8o~b;6eb<3FD~t_xD>%kvu)~FTvm+MxIRjbu@VI=nH2LA~AcU zCbJ~mzUuV?craA65^xL^~7wQx30V4w_%rDQP3 zK*p)Of8}=i0kTVJgu+Z(Tl%&*3z>0eEUObQ^xRShNl5OUoq|0R5JZS!R=UMAU{lUK zlL%F+v05GYWGy9cl7Q3IJ+*f_@5)&FjlE?uAL-EADkuE?EZaj!aV|0znQibUj9Kwa zmFw@iCBQ6eZXoupRSt|iyaKS~WK>;#4!*p%-yVh&G=97CsfO;+=_75!i0;@S7t)}! z)l@d+wyXIWi1wd#-oGx}j9NB=FV?Ca}ljSk(-t~i3 zNU8~Gm(E31?a9TKu=ezVB)j(A3s=ZOy_F=c*2jh1&_K01wJqVDjezWn@K08P9&0Ml z>XL%JU+;+M+!t7}7mUDp=RzG*oS17vMhvo;mECIG+=4NXqu*bqvS6w6fMEqVzaN^p zeoZl-U?Ur}mL}WTrUU}Csx@JvHe=wvLV&e(-o$Y$YCgbtg8gd-GmBL*E`2N?)#{pl zW5|`QB%F6kMg~A;4g!gf9Kk4wJ7M|Pm&NxrChrkj5(TH2m>9U|%ESi68@W;3IeBZP zN?6laH%XFy{@qObYf!ReKO5V($}ILS?+GbF$H4XtG&U)>|6N8RUi(C^?JAM- zid{X&ann&3N=`gvaCcBow=*naKdRfzNN@D~Xv1Q&>l9I$1_g-s_lDmK^H%PDuYiAc z{`L7VXB=X;^DJmR#j5*EbzskW#FLe_mnx%R9WtMgoAJYZ+5hVn%AeBtKW=GtZK z2PI$A{^MFJz5JL3c|}bvu?P(%X5`BngEpVi@(h@N-f5t|Veb)>*YTR+xe) zvUYR%EZ;1t|2Ac4Y~6xpRrD%$XyEUxzKT93f)A9r`1M|2*YRfhnU)uVZ<^bjmXxJN zbsRteFDGV?fX+V1yWVa zWIkawOus5VLdWR3{~#WnDFJVUPJMo++QH_X#`0@Q7n~g|yFpNE68uR>7q&4+bVb*r z^rD+VDqjnBkZpR=RaBTzob(2tyttyY!abK^UTqCjAI_sq*`IZBtmbRd!91}v@=t$U z23j6%Lq5Rn8AY1c1K8y!bmnwv_j^W!VDH>tVJG}v z9$amzKSjh2{hV(4F@oW})fNas^cub_?9_wC%p`~knY=KjWU}M)u-@5a2Q^{SV{#i0 zCWGn<7V5v3FfYiroZjwM^Q-GMpNIRd_UUmSbGPX?e^7n)E|9lXmn|* z=~BB~n8VOsr6uX5J?u>Ks>`msX+aK4Td_T<_*}fB2oD4)mcCFrP8qAqSs-rK!`9IF zQzfy!pNEXV>T5E!N(l3yF!8V6BjudHY>?=zm8Fc68unT)R8Vwzo+-KVHtsz%KA6(4P<0|Ss7RSUUGUhQGURp9l^w2d#KzsL<5c!<}N$OLs^{#G#P*GZ1eh?%@h>AU4Z9KAW6{UaA_vhOmf zE0FafaDapL0CxFS5-}C|@3EM3v=g8>e^m&>pW}l9-Y-r+5kQel}K2)f)>O_ zxH2D*1#7~6A(nof1oyfY~aRz+zzLC)(>*BT^c-q3?a;Z?c zzj-e|oxo9n%d)(74Z~?zV-}>TYhl6{-Jd;Nz4e9yS z`*=(zK;_sNAQq^;evR&&QSmPStTn(N?iuSvBj$RudoTQGs6|KrRhS z>~}FX6IlHeq`MHXC+h+29!cxi+njM}m9;Y{_FnJhDqSnFWx7}lXxy|pUbbFX3(c#i zvP%E3HX^2nQ`cSpqxW$c+?jd2ibHuI*bQ1)OebRdzJF!1$**z)yK@8+TOM1ZW4C!-$O-CYWnL!@Yr`x!E@|%5EhAi_xN7*e03W#z}~Pt)VirP8Dgt z?yV#xMg;|d!ASP6hVLRcklOEyM}|Y%6Ul78|oWsN5rmFOx_m8zJ-=6kY;?#<0aQ@_#WrrJen}{h(F8J5v6au zQ*Zoz?X@#vj4tP|QNT|1n%sl|%(ywZrv08+${dG8*0(YCH1xuy&d5w|+xbl)f!CkD zo&A(W&4%HTvq^ks@L(v;Z{tEG43@3kahu9?X_?||>)vVGIe^|=_GUGG#15|M_jjS@ zGt@06-v-?03NcRKNBbgX`pB#r0p#ZQRAZrUTLQM`JDrr2N;qX|p2cPiC3gRJlgps~ z7z8T6rju!hdUTl_jta)m)=jC?P4Rw8b=!KL@*aHk-z7_)sy2|mGu*+ZCnB#x%O;-wrb3n2+VINI3C+Qi}YeqnqW8TY} zVJQ?(@FTkTSRNvN6qTA=etT34@=3~cV;QJkX4kJai(qQ!X_wBRn&vq|GD*0$&4WUD z*6ZoBXVcuTe^_2S&(@V+0jl_pmf43L5IplZ5Mca!y&U?7pUguC%i+YO+;|u;4-Vt{FaZHUBNh&!3m0cITvhf&f?H4BY`lNWYB}_ijLy%?M+_U<$7+Bfp5l zI9$$Vm>!ApThCsv{6A_R=Dp>9NI>(_$>ITJ>IGQl*|lKgkht1R-J249W0zZ+p;-pN zipVoHL=8A51+AH^R__79m;35~3*+K+-fO~W?FSz0QJKAXB*OAf3kO!61U~U-rQ`=i zz=I5p(OFNF(cI(itki1qvg)H$Dq0*Pqbji2l!uA9DL?b}SRBg>ee={t9NHaAow=k? zFEbjdcN!1RDGT57JzqRx={OvSBi`kUrF@54_ z_!6sLSDen8#2r#tPdOdNM8C?r-z$k?#~Y))mQ>}WjH8!R>{)g*^Z4u8gs_-$V(doz zEPyxHu1uNSTSn*=-{}!G+4r<8DAJDCHxUW{O+yTS+$$>+fCf_y9zt|}UsTD<39nvB z=hrRN&qkinuG!ktbER!rWRvdZU#fDvsEOdeJ#6GHwLEVw;ld-IU#9X|_r0=y?s^5^ zJ_D8dP{3YM4JAs}{EO!JULB|{hJIGa7%vLmspOHEySF=D-Dc~SQ(M>iuzRlO;oF%` zt_}yvdheCAp}vLs%gvFq3RBnT2p`hmfV8va!mYfh_#{#%Y%)9%!nXakcV3#8lH0ja zQObJPs$4}*7PZqlCP8DEW;9vkd%Ei}MjxgalF%W&zudW4sNAhT$BC*He;sB?;5uRd zSGnSvecmjJpr|~45DfP={~6WJGv4^4kLJ`AE&Rz97urAK#Xm}q6+XdU#mjLJl|M@7 z@)E>D4*S{jX7C$b+-PQZ=Nc~>3s>(n;*|8$`$?@jst`Cl2GN3od&W z*VkVl@Z&!{4HI+h{}Yvs6bu!!VR6xPa>x6rlF~&Z=f5%;i>V??EPaKAi;Nz4B&aL|$w*=_!!PTVUfZz*kl*gT)nd zUp;*IF#X11?8kRresraaR!pv)i@OC?doMq~I9w781`s{yC(HjHCfb*dg8$z9|4)ta z>Hl;2QfsLhr1P>V$22jgjL{>&xlXIx0KP?Ye0tMAHY(~7fSs-&o|~-?XFoi-)YH?e z1At!uY!(rxX$l}(J@fUIxF>3FSp&%Ut517}CV>Z7fI^meRrH4F6W8mxDf?Y<2+_YzJzXV+}PF z_B@%b?s(k5ZLtj<+9C!N=A;T`1=1v;0ubBlHh&bky9AvdwS&h!0JPM%poLH>s0-BmBWr4u|poDOiq7UP76+de#eDZ@8N&M$X8$lof$jsPiHP7FxJ z0B_D?QphYtAM4p+{ix5*w3Q2hNqW109rV;^6BPU5-QX0lNIOu&{7;%5u$8 z6R$zdV?{gUY%2TD zXGUa@D#)vkSy|g+Ftg5gYmz`27`owpQ|uZ5zg5CyrwO5zvHaUWcB*eruFr&utowGXVjHB2EI1sUO-n%zV zZYHfD1MXysyLewfqyQzV8o<|j>7MAsxozVN&U5|VMCFLw)=_=yYKj5;h=8x|^CV0) zm-(Va`SY(9{UV;XbW6-_?0un>q;jh4ZI z;UZs12+Px#zr<)n7cheA;g!v;r;7SN31VV{@V7W5fG^e5No_LdR17wUA}tUQKQaD`aaK4}bK}g8vpT?3hym=CM9pKO*lqDd0F+)}9YbGI~|~5fWUc zR?2`ubp(KV#tl%WcWVf1=^TOtTq{7pnB7oWTJL9D5YE|`M2Jbzp8!SA*hiKU6*RUPN~rMfn>=$TL8yhhl6$t`0nN|Hw98$q`joS9b@N ztnlD)oHu+X4BC2zT>qA<=k)yL%g*boi`c7l3)5JC)b36Vq5LS}zVA7lLDrulQRXme zgHIb&1fZ(O2*GQ-FL-+EO3}*Uz|}%8L(7qsZoHg7n@J)fAAhYq?9+>V(=*4uM+cNz6FA2QOY(GNb$K}2t;l1B0 z{mGgcY3Q9il-AFJfIO&%Jgr}bv?ZSaR}6)3HqY9NYKMsvi3NOSU4^I*memoo+=Rtc zDB)gHY{}9=vRX<>h>ewvP3E4qHS2+7{Sd9=3JNU@UOM%UX=mIG4o??$n=tZO>Y;NH zp{;FlVOTiT-Y_xd!D_nKUyPRb$YrL6=oVbzxT}z_q025{Qe`4NKlluZPOLOKGwS9z zhR12y)LL8>O5!xF{^E4FS^Iv&!awp$>oi9QBgAe~<`Fx#&TbP@%>%3Qvo1{%lM1%n zt*d8oadFm9g%w5h({x%&y^R*lEy$V5`Vy!PDi<*^MjC07?b~Rjk#mYNRyAe5c4lR+ z4^RQ>lg)2uQr_P8eyLaMoGmG6*%NEQhAVIJ>iY}IQLA3^1p5whwyko@c=u(eE^>#4 zWuct?7+HeHLJ?4>7T|6GjLh^k+_WAP$f}F+@)XzmBl0(CyNo;?gGJZu9=G)`P$`Ax zwB^qKvKo5+Qe-!Jhu+iSy=7k3?bbz?Q|0lBUQWKTysVE;m}1f!`@`fls8`d-O!3bf zrXbvz9pnkWyO{5wY#?GyJII#(zuyuwZt8=jt$}??Sm)a_B4lfA(x)27DMS_I{A9+Z z956%V#VZR5b2w8By)(8_V9(z5-S%#**XUBw%t;LB*u83M>xd1apMy!PD=WUfAI3}~ zcluddU#wANAD>1T!xs<|6Y!s5Icg7Njl8(+^{YP;=Y98}dG0M=euue>ghHLg@At4X z7M59jN1Gfn0i6`l&#d%%Kio*X7%ghcL)f;5=WfEjmWGVv(NRR3nWdzAjKdX1h1L`S zYpWFvW<`Z)0gz?a9xR9ozhw{Ya(*&DeJ}W4+IJZ?n7u@SN1;f z%Xt)M9|FEVgRXLp9)tUm(5=91!m4=h>26W!aq_7_zgG-E{JFWgY4Fp~KS+y^aB*Yb zHC(@kewv)7q0HM`B zm0e_&IKD_q?&WAvEnh8o(f&4m8~4E*6i%>t9<^}DtuHM#KYtqcdq4FIH2oRRhyGo< z1oYCpRD>tt?YP*Sr}ri)<50+DUR)zxc#V0+!{DcW<_o~cq>W=SoF!>(AXFKK zPGGIN5*hJ$$}3^e0PA^kc|*MJO#eihWKReoEU&C6d&{P|KzAe@ozj^JQtLKTJ}I~$ zoL5lsERph0MOnaoj1G96nYhIG%&%@VfDGM;LiSlIECkO(P20i;1>b%V!MIOZ!PW;D z0cT=czc%YJtVM-6yZmfx;$gp^N)f6?sTKVLho<+M*dywv;mLv6eZKCUMeQZG9pGj<#z4Lf7V@?*a~pd2G9`^1i^?Df5zP*d zN58A?b?-$HKb`sqJ%MC&+PndPWrpgJG|XlO1Yw-JSVP99kCM`P;iOA7hmZRC;q1#eP_NJ!E08X0c`5EZ)DH^SUgon}NbobylXTJH4J#IporLtD5o> zZJqgs>fbG9MpN%12%Dmr<)?WNupBS0Qj;xSe7^$NKOUDrrvwvdg|?@a0smHRfD&!k zt{B`0rib-_is2Dq;nuo2TC{_jR!MU+Eh)XS+%g)T)iKg*v2ush+H*0*D>zx@i@G_z zo2VyP!gcM7Z1U<^&zkn4oXo6ASq!E{x_+s0%?wlZa1&wwwTHBR|MqaTg z`t$L3rh@Y7SEtRC=x`Dgk+<|xJSXDP71{Oi*xL8!p8toob!*q58IQ{NmW~=hT!hpm zpL$#Dhq+g2eDrV36pPeCUVB8+@&}d_y(tmW`NUA(6Z+bq>)v5<@h|QsA`7@zJ>PPa zD933NVW@yWTQOQN_T#|nt9qwqO2XBesx>{G^OvEb6vB;O|^vc@SY3NPqF2stP-%TFycG?9KuTFjBpN3AzHPes<{5 z`Q%r~8a+k^58GfSE7hZ8v2eav7U7F9apOWWYWZ<9vmi1EJ5?@CDcF*)WPq{Fqu~ZB z<>jj5kKJf4p$hxcERE<%RI;_ql^k9==(_b|R^|N04}I0QE07~FmWt!lq}7k1WGrgQ zWUKDG-$yRO$RV_o&e^%$I;_c&yIuZn-;zvAr)i+S^g(xfPz1X%Pup|)h_12zoD0j& zI4Uut97EW(Q1$|0s$o=SZIW42xthL_FljM=v0^NhAJ2Z@BCEVof&%`y@>0#}YpaQ3 zo|^d1%r)^BI0sKNjrb*gU~OGwIX+1L@M?BvBw61jvGUoDsQ@q^7AhCOblHa^hW-FU zj4(&HqjUlsK@|2TV$L{$wNoQo$_su2x83i0F?jUnVFEfgw&avz_!LWVkS3`kPAx$s z_Q~rKV(XOsi-;|&9<0X0ES|<<4ru-5J}N$)nQ*&oR|zsH2AQY1EVEAolc&5mRb`hv z${|p$pin0|{axD2SK_O4J=QTanD`4Z_4~Bwtx3^$)P25}y7#y|NyF_LWptP0>C$kV zw&&ZvI@9~LkA4a;&qimAt8kH2VldO}1GR7ZJ=Q>vTt`|_`;WAEp*Z_06W%gEhG ze+`XUeqYf))$00MT3Wl&Df!9xIZ?V#92(@rQJEbSibEvo3B_K~(0w}PN!V;!9lNaWe z@!D~F{c(i8#JG7H)0RQdx9?X;no*Z?aKg8qGH$Y9RPonBD!Fkk=H0zgTYzy8OtFT1 zJ%;oK-Gu}yPq)USf|mTA64Gva2X=Yj=k!V<7D>K;dF&Ip^p;*}Y7vhUgO2ADlAh@fE@PFnvrS8F7x_JhbKq7mKd(n(X6yLrF~3LZ zEr%qo_dS^vFYYy9-&HYL|D@NuK40hdt$%zmT310Ssmz|J43|rLh?gg%@Av>SF73lG z`D>Fsar%MOcH$f~VY(PQ)a7=W>?L$cQ^jOi%qP&fMJ++9J((XnFzu}4Dudl-w)ZR@ z;n{1Imfam%Nw`_oNJc>A^Y>@FrR@HI&_w?(exR|^xR?zJ9pZO4j6){fazA`zDA}-= zTo_wFDv|TASmg;xj%7vAyg=;dT)nx(Q--yYE1o;{ zimpnvn6v9TDvec}a3iiddA&s5=sk&XrX?RC;ZhpXC7YDFZW`Q0NcSFuigtC#AL9HH z`(TnSf$;8%+HP_lU5|^lU-XWM^W*BG8$+H=iuN6Ql{-1I221-bg)GDuQ+8VECWq6C1Ug^6 zd#<4OUrkRLFDpzQENvK)*CNO+G!_<0>ej9N)YyxXm_f3GB&64?>?OO0~+1S={Bo02OMexGv*X{|=GQrTKsA{A^c?BOLQ?Kw9=nr#Z+&&0_ z>SW7$1(V*GH52F5A-UMpKTEP;su%cm43m(DF=Ms2VT75`b0xneWLy!Bjj~$}BzEac zIed_Htn4e)U6e=9n9BZr`&qZCqS?XIA;F4)WLDzA{wt*X%~@h$y~bVNhZ*fG-mHt> zD>?+= zkcs_(MbIN4G82Pt26;wXwbD?>KrgHW$go_*;B-AXr?54%-;PxN#_O;rq!dhvFUa>4 z3tkc_s{01+aF>50%>vpc(I&cSYlPiqHF6eED5nQWcO>ckub=L0dyX9bXGp zlRNt=i33xa8g?Z$zDEb2q)}WkVZ?{7X%-n;>kzn`2!o^~_8nb}NQK->q3JtVTL%Jt zZJHlszB>p-_3^Q6j|_Zv)SJ9f9Ju!%C9Y^%JL6{iOIq3g@BK+_Z9!f^vRLAE!=GQe zb&R90)kmJVdVasNa{-rFwT-44-ws?$w`r1V^^(z_BqPN5!4}2d6xv&K@@g`PesZjR z`tO_R%BYV{#dd9ccjxi%$NFp=cSXryDBnr8>RKRGe=;G|Hq6orSC-O4yX6UUoBC&4 znWTH?qPhyTRnfvX!=-$9^fZf7w9!^94ILWBU?xo8?=OZjcV!TDRo#S++mj|8M*p%j zZnvR+$VqQKR8BDYEm1DR0LG>vI1~HU1N)b(mz#xaIJ$cgNAYdiQgmAxgq8WVJ<6@~ z^pca$tC(RXeq+>}ytJ(QwIj(wwd(`Ldj-J;p+$QA-BDJi@9ueQK z_gGiU7mxmi?zuBP7Dw1A?hZuW@0UMr7X(}{Qe;^%0@mdsN>UR&NkTBO?mN#)i1;Ik z$kDz4)86Ocn`<=^i;yr@a`!5wlRVR3zEldUL25okA+CNCULSMu#ia;g@LR1FCD&N$ zdMbBfW0QhgF4hKk*sNzUrqr}~(grl!rYX3Q{P2MRp;3vC%#m@HY*8>eKR)oi zRrx<88^8B8Rs`Pab#%Qqr=3p5wqe)>(g9Q~GqpaMz51CdPs;|BD7^QRZfzh1DiN?} zk%g{vW>TJiLjaLI<=6-E{Cz+NV?L_Woa&82|8Prb4rPk_=qEfmamB=ZRsf9N7WjGY zlFqhN?G}q+-(K2EJON7$u0o9`3oXY~AFPMoU7fnsp1tOyeW&lU5dZl_juIp~0k`uo zvd6TGSGw#dG5n4^f2BMX@F)~WWw&T72`LQFS%oTp{!K}SXE}ZIP{VHFAJuB$N1SZH zdjY$<36P8InWjbiF^%=N7i6HV2}Sv!7^5YKN+QcNl#?(NZcvT^Ep>xEMCf9E5`9F2 z*$?B(zipTK_fk%J5PU*=H(y0@{L2$(A@uj}>m)`9^7HR-FQAP>Ql$H-D8kWi z>WMLO>L@a6cH2Ok2k@_8(*r(G)c(&SpdShbp1R&@-mpF0h%I8)|0J*+tM9qYc0DTe z*NYgnel-Oge;NYr`~VhV6i+-u(c8To9Ica8)gpbSzkV1R!t8DBk9q;=YQR?c`G2+N z;i2_HuEr?jhbF5Bos2CTy{-Swl)WQrhB0%KpF$wUXkAoXK^&xpavcP#-#-2K z-dYc)HZ~^3efUmVC7_=)vTfdlf9{E2)(C>rOg>h-%VPTZTd(fow~a^fd6H91WA{E5 z`6&KR2VoLEm(%jI?FJ-YZi&gB7=N*wMb}79d|!=|41eG@DJccv)2}9w^zDD(H1WY%N<_*sy0>ex$tah zpA=iVma7v3nf*2l8WCGk&|Kp&qw&$(pjKN=vU{rn2q5i1ka3D(Kkym{4RJSTBf({U zNbAJJy|JQHz4h@D1I-V`SDjw1oKC=R_GBnSRMh|o6YIx<{LM#qo$HpcJ+~*x%*@Ol zj(fjBK|qn}I>=l5*GGl8680U=yu9+2mOK(#r;rixhx ztW*z>24kumfhzE`r8(eL+FPPq2V5LzO)v#UX4}cKFL+Ik(^Yst6O&5e(F?tGl`o&) z>Hkj`BSA$1RV?*Iz^$alU0V0`=b#|kZOu4N!fQm6h9Ym;yt9Wf}q0K@p@; z(7&x{AxfZ;1K!egg~$omZ3i{`TXnfJ%r9TQ$oYHSZo<`tC6ZJYw{uTRCP3Bm=b6a= z$q}Qx|GKDw-*yCh9Fik^pzFqmcTLv9V#*kQ-> zuF55#p9KK~kw>nsXIl<`2|#~?;5-m&;uxff& z;%LnB*xA{afz6}+aCPtiD5;qt|0JT%gHnMs(I{1=!(Pw;L=cl8md^AEhxjOKHON+c zf2Z=%*C%uD_iaB9jy*!|wmlc>93=OOyq${yLNS5tR+*@Tgr0vyrlz~bT5It1u>NHB zF1Hi6ZZu^TRJUl#&JdhjhF`-(u-DnS{a@s@ED8OU^0b6ON#>uUh!Dr=S zlFz8YbiT=tjV^pjVm9yLcOW;V$p^RKHGqPJ7MOY1jo5&M3TCYCEOVy{kh*O>5!A+M zGv9m3pzEOTsP6CASa%HOuGMr(#YDMt4&W;YJjDlO%F_YpH~GtuAq*Tp!jPw4o8fFX z262-LVY3*_Q|WD+-E9FrQaF$9L9q-EIevasiog$fAIhv{#$!-J2-*OYK(nt#iN2_Z zdAI(ZdEX+uj^xrp?fi`7k;zHj$`&98X7UhvD;~Uoh9Z5nY-Mji@V$+{(3WT3tYvCk zgVNSj`zxRJ(j9zgokwq-s+UGT<5GcuovA{>Hz-BkWRfE|V*@l;-=zrZ7a|3k_du_M znVilgyRl$f;6TNa79%+LNIEd+f8zz1z5 zhXj_Yqk|%Hkkk&K+snO45*~SlH%aLqS42jr?!{#I%tvFxn&N&oc*(*RQ6wRsT<++x z+m|T5K_70$kU)ts|G?+^dKhHM>wc#(VL!Lmxi-^0{&;Jm7pTL|*DY%q4){&kldCI0 zTo&=-^fe!5#)vcRMy{^xrMm}>9AUfUW<0HQHiuH3G{K;MgZzgtA`7(n2w$bXWmHGJj zY2db2=QIsyqiP3uUc0pMXCOF8z9&;QZXf_=T$Sg>wxv{ojxp+uX1+f6+s?GX}vZe0vtJQlejYjEk5W#U{s>ePA-)sj+|SD!a{xh|#Gx z@mu}$xC8|pgYHGLTJ+lui0Pn+Z_{Nn1dVnQ70>Dq#1PSAoL|IPok6)R(7L{G}k*mv?$raJd zzJpRLJ%9c@k1pjFg!);Jz`I)3b2?jWa;#$NkSdu(W2N=jqRwahq4W)z>o3%?I_RH; zM4+BAOEIJ~n~x-F{~-_zDN^7G|N#LW^@crb>~Gbr}10gBjK% zL+AzA8$x;y=&`IE*(MG)fXeDDdPS{B5MkiwTyUWnerY%ZT zMOPwOk;iZ0z%u1Y$=ya0zYcPKZ*hI`t@sm(_^Nji7GoEU8{wik#V z7-I%BMAZaQ?#~gl{koDw(GqTm-Fy2&;e8C-1Nx{aPJPnc&x8Jf^JQQ84OHHwD0RNe z=`FP;3JFEvNk`6Dl7@GB3(==^YaSC7&f*MYw&Ta&cUI za`QyOUaf^UZmLBRB6ORz_&E|RU*_X}_+N8uYWZ5if%3t-TUgOxD}Q9Ceg0gzZrxb; zPF&IAkJp+3=RpPA_qFK@``Z%vF)~|5GN}MA?5?|72MD&%cA8|Mp0eBS%EMW) zJyfdcOw-NYS;AbLifY2J!V)iq-^5vMQO_ns99vmt%x-_o14{Uh2!W+#5_J4}_8%GI zR=*h?@9^&B*w`i;$1Jz^k*H|s(XCc6)EjNaN~6g|h^5H|HQ?ck+WthlzGZeN231Ij zU&7H6S#PC>W7Bfut+PqlA2Mb0onW~1ulw;K0vNFha^qM_f$9pR>KC|S4!6C${S@aw zL{%{}$5zyJOo19%Yf5?>-Nt#&L1O+Z-00DKR%yv8Cu7i2THtZx8Q#?`Ibs^Jyg=DT zLXcH?>>!5YZ%FcrU_16PeyDPN@0}0DMD2*EaSrl?7@-R6$a%|J@_C6k?#RuRXwF8@ z{gp=0=c$&s?g0h=zrq-r>2yR{6R$uzvE<`-$9S?M>(y_C_dpl&FWzb+q&pOgI{@$! zep8C|n!&+FVDy~=DK@rm#n#B9C|Hd=217C4@^j$T*p=zsj;<&LJ_$vCSUvrM4xh~q zKbBsC#GN=%d_v*pj6p}5D!_s4=t8B;ThjLZHbiM!GDum5GW9bB1CYkSgzH@NT9vR=EKl8LBsU>OGav1g_S#N0Sz_>Y(22ySQktqOjBvbZOZJ8 zT`BJBum?C7#kZ85b&={O%wa{%J(l27HFIvEr)6s;^XaSRCUeMjojJr0di*$aRHkMJ zbd3rIliXX8t&Dz4N@ck!PzdbXG8@W54{voObOx8i<*mw4yKxcjG7U!8K7DJyeJ|Zk z8EJFxcloG{PDXMiYWMEYMnk4Z^R;tiC)(_-j{(@+$Sq%}sPL?D-@RQyNzR3!$RP}D ze}GQB|AzDcbi&p7t{&%6!Zy}?{g5PD2bsw`**jIu%INROZmK$LFD_P=TCt8NDy#DQT^bshv<@bHDnB%1rFkS z3r|+sB#u^XZ#!z^9+&qr3ZobrcS#$A%2IF~%m4x%x0KWc|M|e`*_hqfkFn<_>s5B6 zDgxnp;)LP81D9qYZ{_cPCp+R)*JTZxiMUDibV>svXZPh$=yx7#2Qy8B@mMo~FsRkU zt_fkze&s5S?aCof%uC=%%^X!$1MaH0!qnv$sDt%GLFSHs^y!bHQ~wuPUmcd^_C!mE zAdLvpC`zZKlpr8VD~N<3rF0|Rjf7&5f}$WQUD7EbCEXwhNO#wr7vcP#d++z(d5(PF z8+*^5S+mxfh6sk=75mxHS!%q&Gm%*TFJbWs%&PF^w!Yr>*bHS;$tW!-@#5ZA&27o4 zxQ`usYtkbI@U~SZphd**c;jtO^_LoU&&IuTEpg+xTlVc@n#qniUr^1xY#c5)ef!4T!+?+{BO=$w<$+WogHIG=` ziQod}XZDW0TBcJ+tzYJ-g&S&8Y$$`r1q?l~tiDJb?bI5XtQ7ER*Q#^-p@sv~BYScnGkm_)U!sutnNW#!~Le`R<|nQmj@H}7QNGt5j}T zpn2AJ@@iumB2Q0X#NgZo^hp{ny>%u=N)U@;xpHgSrYn*lD?FT=>*>F4fc6iK8qK|epiweEU$^nyAQxN|5lP$s8O!98o^fS( z&aRo$lbn>)Fft;dw{#pG%9fmRs6MwE8|B?BEWVaMs`T6fO4lF-`-7@{g8dUG6feXZ zV-|^P&C*%JIBXGA73Pe@2uB>1GG3gHUw19G;!>Ow+F+R7m;Jm3kOpMiM(r;iJrfx@@I zBo~oyJ(%A#X%{gx+!Id8*K(uK5FV+?Ae1tT0`aYS2zf;Z(|D2YYUwMi3Jq~hps1FM zPa7@%5wPtkwAAKX25^}Do?CI|dy6;u`TXm&V7t@2zy!%@5g`?S;}Osur}o_|kM_QJ zj92+guj)knY)=sGN=iyv+UkeycYi}TrJaTvxa zq8lbS@bu|cY6ERvmZf8chviT81nac?+^b>-*0bs*iPbG!wynw~xd6y{K6Vc>+=fffKJ1IA!a;#v>^6f>SL%T_2~g zPk1a@ONRdIdf;v?FHd76bPoOxR1UlPG+w{}9wCF}qDYZT%H}-NQ3^J3Pm14qI3z@U zx2oRVvFDY_=*A3eL%UhSdQkBQ%ordg>YID7;(U?#b4Nd>AJd$U*Wu=ol|t-VkLIIT zPMM@Y_X}|A(Ju@kVe!#?R6i<5=QonVne?&w%A4eAe_WghCt6+N(j$xt4_cuYqz|}r zd3|C$Bwsx%H^xi_|D=0Q*kf3hILkNG?2#ify7Og)Jq5|qckBiw{F3o&LYxGSOYb7y zj+Q5yrhY_`D95tcVYQ|*_sL%*bf8XBN0&Kw_dl?Sq>cn9Xv~f9HXj}ThpOUG;ccDn z3TvvH)N(n7&Tlv*(AlQZKL@RU(zM3eC`L{HC9|wWjJO-&Q_tRnoh2hvcZt9`p4;V| z+KmKJj9YRadQ(G!Y4{sGWSXp#P>*aMFbk0h8D8wLLLo|3-+kZt8o6Tlu%I@*MS!i2B|OVv;Z`$xMg*HlVqc z;6yb+=Zf=Nk!nVR|ja=6X1@J@oRvCS#zXZI&z_BL=z5`zi4#)W{^cZ9$NS53A$>@8SsE84v;RJ+Q4!Yt-hjeL4hEiw%znN{ z`aqhHF~d+U2vg1bot`7@)@w(JK>`#JJv4tI429IX|E$K;B)7h@FT6V@*=kF~Gcqb} z&EjD;RG5pA;xS>S^m>7p!Fl4KebjxljAi3{d_Y9 z{p!jXeAIP1HsWT=vA$6m_rbYlr_rBOV-rg7TT*N zgkOAYsOr{iRHx^lI$9@P>QgC>)mDLpbFM9Zbeb`F@s>A-{Lo-z{^qUJn?w0eNq>Y> z`awOybnO}rQr9;$l!JZIld%dh*83U$V3%YFWZV8qFR#xPSAV?T=9kxK0~mvg*n zSh&nLTvC;(&fnR#4itlVxI0@~<5gQ_*qMjaPux=GJY#r3Eh8U*XlL*t1Rsoi(d3GZ zbO8ew8|ZRPK>lMNCvMh#jatYCr6=P)+p9u^G8cS&#j6BAr0WyId> zCyuM22dYZAD=UiyCUA+Lw6fymE1;tlt%DpoX~cEEZ|Ku=80C@)x;O z3@?Y~W#$$i&lHU)JcO=LtN2fkftPRs0ynrhKeDK$Y6!9_Z!L|4fqDRSCdn-m*Z&!>$DRYQ#2LnBGIYN4T2&r8vFny} zV@$x#NOeH^ECy>v3m4tQc(+B298~0SCah>9Wvw}6iVd0FZ7$l_n2sLKJ@;YYvoERi z_kX1~`BA=`Miw87cW-Mk43en}W??H;i9b0WRSY}4`TRuuU`5*AR~!T#>U1~VuU@`f zhk^TcvpU&t3Pc6PKq6I4elGQboK53Tn`j+beO;Y<-z6%lP%urqkil_dw+t~NYr5tK z?hT7IP>?91EI?z2t-IvnU4xZr032^-zhc$83*IVxSwF|-*NjD*U5TJ!yOgl(OjmiS z3{wGmX?`FQm;^~8pO(WerG)1V#ExWLD?3RWZdqaU*E>(yn(}Q%!)>b~m*1`NOrE{c z!9tt&wlN1rN*Xq+Ua(ZnO8a!}i4q2|8OQn3KQ75fxaAxuHIJh{$VL7bul7@gOv`@i z<?)MC>qg>`j&Yi$Kf+DMLW5B)0X5uVLF=d@Q25-f!la`3P0} z{3QYYbvi~SN8Rhre#Hw>xt|*kU;tY_k0|%w^~50 zLP74aH+~-p8-fF$KliVLPvOp-`4XR>uL`u1>z>m^CTDY3B_;9=Tb6H0S}c||+_%OF zcgMn6PatMBep6B#+~hQVUs3MHuRkG|vy9d-q8uf6B$n+<=0mQ%an_Z4I#}ZP1-Hs( zgV3bl?py9^GVAk%go0AkKLHhN5LX+t1TTYTw}er@PmcG9y6+^%U5-F6Kx_hmg=n%B2!eGwOD7N|6x{S)de z2W`S2Et8>Q@jlnB8SEE5BOc)QsB2zy3V1vo zQk`C7gw9h{%lY^SpBd7Wdqzl3w!LviX6YQQgBwT9inOWqBEW zKuegg|BxbkUO9R6>Bq5Ws~rDn#|Ew2D{Uub1NrR1u;+drov71S$)9Vs?q!o}VBC?r zU;COv+inQ9FZMpvVTsew${L!SoJ0yT#7b-^FE7u22I+{5g7nAD#wPm^wxr#|B{;@- z=MUhl8cxc)Hh)7))FWpU5y)>Z4!sfOg7rNLMJ^ywvxIqorvH{Y^_N3U@ z+3pC4_g%Ax>~jJeh}3NOMy!Zq##2o|;}`24H~y;b1F_1`DlN%11F3+&Zwp5v5Y~Fh zQpr3gBGWhU0*kH1^HluVP~p#Rg@=cuNoc;|)V*5@R;!Bw*3gdFf|J<|V1YwFLUE8^ zEj|O$`AmhE`(mb0;!xi&$iNn1Nt?uT!Ey4`0}(;>ZMr{YrG~fxf~U^^04|S)*Gqbe@fFHZ`uL9>2ah?c2Zk zGonXlUSzE`+x|wy>dM}V+q;>zGV(XR^r*BLu{?%>>O_+#46ZfjVcVdtHJx`7LRhGt z2di>LyUI6K{bRvKS19r)Vp(N!1Wn#CG;FER+_skmdByWnO;`LVGELf(ET@&@1vs1s zfk@Jlf8rlS`zZg*wMW6w-pUUO3W|3GU0;iy4%FzIKV0faH-YIg2uZ7>}L%EQ$ZdH!RAN9KU z5=c6;(^6B(+~`=_oY+DURmCn5CGUM~i*z31j~6( zAO-Jp?mkXV@mDsdFDnfyZPw+RuV>HI#Bs96v@Bh(A3*|zQs9V1V}WeAAw@1k$zsQV z-@!MjsbX&_Dr=PWUHWo|x(|FH8S7sbJ|!*G6F_sL^P+BSw27n8VItT}iVfPKYV4j&v^I=1P-Md1rn?mdoXZq*xP0sS!K0UG9$M&-1G7udle3HR=J_&~Hj#2<1sN074gDpp8}~Iw39o0tdw;nwg{e0EE%JU3>2gXo$Q+JlGB z(57#1g-n1OVYU+g4Ph+?`A6Tnv_->8^-TC|I(uGm*Ko{?S4;JmS#;0&VhHtpfrclS0Mi{ZGP>p94+1f_Ec(FVu0`on{oJQ8t&)NBpQUP#gI8K3%i(Fhp0PpFA*YW@mNM zWj5Yehe@1lMY# zlP}gi9=d@^Hb5{c8%eupD_&F&NyDV$p++CANy#(tAY@{6p>jeBRizh)t8?a`=EFu9 z)(1#N(g^2<1cPA-O@(PxVjjlN>8Zy#i5{KnfJg zV4+1?+qWN;Riy2Sh;EOzFOY5Yk_VRcBsP5xi|f-H-PUkxa`m*F!`n>qJjc)j0QhT^W5q4)oZ{AjL_t5gnKe!NpU|gdRiIJbTk-NeQS2 zTggq6`di=f)FyO@>_HX?h59s!ImJ5=Y1@8!z#Mkl6Jg`Le1BtpATMnfF=Vh>zj#?+ zFdgiJ`^e5a4qHJho7F+pz=Vl=$Ovq=c0hWc*bD!6JGLdH#^g13{N%XQ8+2dy?D+-& zR>Q&V<~L~M#bzhNatX;DOLHXIN|UlJG3)6udEy&LJvE9WlfHhst-2zt_4dtB8boXH zN0kUY^aM-n(`%TnmX0bhdo^^RAm*0b6hz19G%ne{WsNFcOtG`;NY6$iFM)M1;puY= z%@4{FB^jDluv-bY8s}j0?-D-#oR-w=EM|;5Pq=~+T7YE*#=+`F(beyO%M@7k%s>QIkfcX+Q-o=*@6qW0nM3QJ+yBLWoZ__*S%=c zLuU|pN6HbD02r^4D(NMQaXHq7sOex1_M_(6-JT5=R;O16`W=Ho$l@y9pb^bJ%=i+` zZ-}+f5Gjh#gk%$A`BcGjoA{yFg`L^W1QZ-}hSwLweE70Dmw62Y6e`Jw zphh4myiUMW2)3M$0r5R2&GDu$VB=xCo9nsKW`VBvbPAU|?BbdkpK^>@U*>bf_a30} z09vcO%e`7J<{j$?vGE;NQe!nYc6Dx4Pd2eAd+UZt?B(i4FzMUqj;<(F^lX0kI=N*; z4RE8*{l*WUVI_7>|;pEpmo(YCvUi1L}&r@{P)t$UpZrD{_Qpn)B5CbREr;8fCZ z3ckKD*VFeyEy|iqU?7*Prg#Ez&xUT z_*zp$*v==7|HxNIOt-@Q`;a^zO4_yoz(e*bIz4xj3*u;+y?Cp8m z+n>-Icz*&`(5Ibic?#}4x%hr`_+(d^nJ>6rTYb5Bd~jsyeA%RE<&flaBkP=VWn>BVu%+?6+f4wmSYPy{^RY`~*&|6FZ<68Bc zTbk^?%~bUGzB_Z5rP1!(s$i@^i(8OI2%VEqAF$@k7%1XjxHjF9v(Q}aDz?B{^V?R~ zXc=%xjdX^rj~m-wP7;P0SbS1s7^``?7cgw0lgivhn1o66Z4c|l zuZipu>ie>(LJr(2?v=+!qO>l5h{5B7@RJE)5VcA40F*oNahz1fsSBM)Ts{i>6^O-6 zK<)a6+GQ{ARBSpKCxy_VgY>pURnuvF|M~{>Aumh-+h^Av|NhJMxe0)ViAonWa0rzD zj(8_trooq|@A}_2VZMou@%Lv@x7oN96i0itpYfz@Q{7x6&ZZeAaNnoS-hMQmFyzhL zhI#nWLY~zxmcAJeX<9>>%^P*ND*l2tF2I72BA7|kLGnhP#9S|`rw87Hbq0M2RWHl> zJCc4~K2a;3*2OWRr-ntr!CvNGcawZSKpPHv6todkMWeoE$Ge0Ux97c`=}=#guG13H zU_<_gO2oo_hGo}r4bTORx?sDRw90P%`e3!rG*lp+2)F;t{rvd;jL-Q;!YxzTMHDEB zoL%W$YS+l^f^`T6nu$pfkMN8o`xp$3ap>!@z{m+RsG7KTIop4c%SKR#K;ID}Tr!w^ zT!iC}()M)1Na$6=KF)=UVpJjOpGq(RlT=*?(%H)MK4L3nl+o`!!YFFrP`RIB*=+Tk z^OjG!-}uX*O?ZZy6ep+d$BzlXvKw1k__x7#joa`CKA)@a7evJ z>3ox@{(@HcMxW5btT5HKrd#j{Fx!eRJ`q%@9equD+c=xsET9GB`?xRO3OJKY0LCtB zX2uFJ)yS91y!UIhH!6BmV&Zc!2E_&~?ei`>QRk&PIAN@4MW1xgFN~I70#^$G>3XNx z&ib#We>+l45+RDgN6ltd)JcE;`iH1zV-7_q!5oZe2pi-4Be&~UQEoCA2ycp~E18c^ z2m`c7juQR&b5tz-Zc}5UBnU`X;4&uS%rmQDf=Z0&GMFsXfn7*P>TOa|NdwJ`Kfw~D z13WiL$y^{`umxa#FIB7=BUV>W81^Ti`w0uVe7^k&H^pxH95zH zC%F;tMH@U zR>r0H=6-I>cI7zEYhYkwPeL=iJ+abiL}XneEG4%z{A#bm7X3p&zQN1(p29bZlby*z z*I8&G1&tqh-GXLIJ(YW8(4@MWfnSDF_$mwi*nN_BVR2Vd=cSru7RKvyG#H3`uMHTY zmncSth4B?gezoF>&@}`oF?40cCUX7@AfZcR;KCA+`FI|ePeI5(t4CAeaunK2MhHl! zo?B?fW2RdTt6()W7q;$$5bGIeM3Orbo$0UHUtI{Z3g8gC;;bh-_3UyHoli@~b8kQD z!w=7xyyfcwjBzTx{qR~QTnUgy>Vt}N0I4vY^R#(8By2yO415Bm$SI-{GD^x>M-MPK z|L&ER`o}{b;VsC>plS8?TFS>>$I~+JD`^i8z1dxC8$9Q6f%W)1&Tlun+?6I;vd|cH z&Z?YG9^T30otF6+sqjOy@S3cC$hx|ge4eUKvHhlM0IihAzKmBmDs98R{W3r+P|FVn zK)#IrY0|HzGqaH1?k z3Q9Qfys5`l2>%t!F5Mg`BxIz1B77#vM|kZs7?SDhQ<5_HM6~BON{EYXNQktDB%Z(V zCg+wSx+5=-^CN=B{K#|amFDoAM|Qg!OeShDrkVE^>cu`;7sR+^TjBT%9(zwMC~`A>is(sox|0vUwbv|+z8E&_#M({`QA++3=x|3 zew`Iqy8~^5;n()mQlB8Z{y1#*@4Jr`4)?A3*6s}MZ9=b+Ra5qx+me(;P++!)D4Xd- zww!lIa2a;b>J5@K`KP$WcZnv5zGsd+d{|@!^KQ)ERt^~dAT@UdK#Z95gP!@xmLa*A z+trmbv)Yj3xbqR3ioa$yZoS+dm3h^_mL3^jh~cNpO)86eq6_jbL2S03c~=Sc&Kyaz~p=taIUvi z0RbOs-J!|!w=0eCM1X~OXg(bPPp%;{d58;MipfkYEKPU8uYxZSpVAlD&M8pD6a%m2 z&hCALy9n&XOoXe=??zAf8-edXtxHhwM!atIH@P zo}Hbq-gq4URhD2f=)7#SFgz>3m1?4hkTxE>Znwo&b;)B%0TJTi23p%5AyG;-Q|g~B zk0eobJ3G6aUUiUkom`nr>Ugf2TK3HEAltv+ip1I?X`Fb>biJ^Vn$mjQ4tbj&c!kHpvyw0+;dp1q)JVWbdx0&Xv zP>Wm)o?l{uaY(_#>(^KI-SS(3(j&B^6<*)b~h?gHO-tdvx` zxGUL2X6Xf~7gohCdEIU>SdQQ=cVyNk|occR>@`_8ldOFO{KO%3gt? zL0EWmyyx6^Z!x?l1K2pvuk~z&#(YXv^FZwW;KP!$5b3vE=GS_N{S4Ta39hVh;(X+` z_j_v!mkeiO3+asP?^K%iBOM_kG!xkWNs%+>kpANo(pe>4jP@(QkIIPa7N1T`;+1XKWN;c z7s_|I#HNOI#x7AK_-H*6I`Wd4VY3fhX9pM=RrV|U7z_7k`vutB;)yR{Cb(eQC_Fmv z#)f+P?AeiILovbrFdqk*I0v9EF$F~s%>2=Zp-)esM;qN|-rii}qp4RvdNs*gjHA`k z^WIEEx|<@Mzr_)nd`n~euXNH5M}C#h52N2{rTiJdqJh#cTIH=XF5tT4iq{q6X&wXBha(#nU` z*yf`s@3ga#c7)(Uq+b_I{Gh~P_BP#56kO}W{cU8b3Ncs^FHbH~Qua$6Us-V5d%9lq zMM1apecQ%9(ZeE6n>u_yLV*RT&%4L9I&o9wMmgrjI zjFzCu52AeC)bWy$Nnjy8ja3&PVDu29Q-j1UwXZ=AM1Q+2_%6WvP3X1%B|M|Q{LCCiy~t~E)j}?{oY$0ZCUHgSeP^2$3)RDa|d>tNGm_cqS&=dQLkUXYR5}%*p%#Xt?+!xXgr5>jKEq^=j&#=X!ySkLk#Wf##wQ5Zy_wn zwb}+q37Ve{2F>@Cie=7qgmoNb+7o|2jxR%zmw%?T+J)K$-~tPVW6!fyDV};x!eiCSl&{(j>(++Zwo!fe?Ffs z``j0kIrqiOXnykxyc88v{D*%-MCk7a63VrTE=$^clpptdRdr-3`Rq#a&-;?=No`Ek z!SX(5oHR9=U%!4SZ3E|J{vK1^OQuJj0d-HiqQ09F5)_9Ykf;k|oxf1#ub^AMXX6qV#M(8M8^kWs6zleOI8O=J9eYy?-N_X?Hn6CEgcWg-P7q&{k_3p5HbN5AW zx%PXtc#}4~AJx({ zjfC+7?hq~yh1Fg)^X}OFX8z&n^C#ouO5^=f20rvZt1S*?E*-)hJej8I$vxkzfJ~fy4f&2L6H}|#JBk1dE4mH? zin_rmFL_%*f%mvC8F>T-xEwp8HIo|I^-=Q2)9R&98LT9>F*yp-_R|hP0G}!7*Qg@7p}bH#=bl5 z!LC(E4a;Tli1DM$h{3<@8%n=8<`r$TEQ2&%y03q7cEI23P7j%UlN1)YMf*cyU(FV} z%|QA`N3?h=VL|V;eyZoU-a3#xI|y!On;PjKAH2z4o=s~V%Y0v&7_uY9L6ne9wK!j= zue{up9n_FcUnWm^HcnL@mF7_qLFsa0aK7U_629d=EOER^QQH#fC()R>dsoyqonvg` zFAK%fOJOmnXIVjl3=;5KeC-^~6G`Zmcy@=9~dTRI?E%T56*O(9e>y5QS z`70ceLzkU8=(|g1tS~e`zu@~FWAEK6fu@@Ysp6lD-v?ha8vjRpMNzBRr^QuIqqleV z-49WRI3sAl&&X9=kE@+Xq$ebo{=7~Q9x(X4dGF-y3B zF%)s7s!&6+mcWIt_Pw1IqZ((rTI5MY#P|wPB&3yMa~n7;kmD&%5BtYC7S$Hcyh{if z6C*UD<~j@v4OYH(dH|p)LClbk;~{Oj^QNRde?Vn2?v6^imWT!J*dN8naLkejteZ>< z1>YDa&Tu%`W=9+9mz65%w6F<^Tk*_0FK$|w;TYhud3(gV@WpMTl<1t7k$Gcfc&je$ z^a)4v0zXdiLH-lsLhG@J|Bv9P@psc0XmNG>bXC#q;`Z+-$^7FCIi(Bs53h#))!zVwRWuGKfK0aPST}`h^x0a2Z7Wx1C2_ zu7c#(2TG%cgZBM|rC>13%M9vtUaE=s^&wiwB~%-X6sST)ik{1UxO0hqB00$W&dzOXv)eGnY>o_=LGLTeosESVU8?ANTSZ7_7CI~v|EA_?AQdV#?) z=yRv86P`3!eYRv5og59Y_s6|knnB|_R8JE=eW`S^0Ys?iqW z_sLvo@6_WFtdsEZs?ILt5lc+p^gq}YusNv1*Cy)lb z^ZjY0+);FJ$nQFYGCEFGUuS@iHyaYp1vl5E-61=AzOGr@9_^yQ=hr3PXQ1fHp$C!L z^Gf zq>4=lP|cgU?qmP!KU7k2>!a*#FGqs)!?cpy`Z%h)!wym44-KiYzfbBQfA265TkQ#MzX~6gbZ0_S4Tx@M^!8zn4=ajUu=wZD)EJ{49 zU4%dhx_BR~D+nfC&)0wQi$$Wm(?Y*N#Ejv4wiHjlK$8c$5v)v%zLJE#MoAaN%>m#k zhQ8{rG-Wzc3}MfM;t-NZItf}_TwIeQ&<7BclTQ^!fN}XHAR-pf{X^T-Y>nwe1I1vd zw_jE{fsjsq{yjQR2DAM0zLv+zRf4yl2s~q6D&N+t%)c+g`so}6hQTMqK%@h7RcW(u z&CHK=V0<|;Yh30f<$aUnf9aD#Zw|QpFNM5}%JC>2DvR0~eDZ8E07ta=oY31>e70j3 z^c&2Q4Y13vGfwc4XEMtJF%_Ww2-l6jKH$3@TRCtYI*ssAP=eNyJOCIL`|Ym)aJ(+7 z=Wk-DEZ2YZ$a?{zze0}>-qL;WvvSX@G4>^sfwD(&G3x7A(nq-`VA_PeoYx*DE|lm42KTjyJi zP=PaQ7Nu5TfQFXG9-w!!?(Xg^MGugROLcEj5DpcKyb&&qH?}5JIsNKT^_wcI#lF|i z_y^wwIwoD|kGea}(}OV*yzzXYnN130HqkghYw|%^FZ0VSBlH%`QZ>5zj0U(^?NQMg|q-^{))^9i9{#;S|_kTZDG(`JbN^Bq`Hm#chK@=b}n%D zGm^-ET}bW22ei8cp7&1B!M!4TeFF3isDQOKm zUMJ;*U>d_8#n_S-0^Q#WC8!9qf`S+C_|$T)f5^a+ftA<%`WzhwfChxfcwIg!{IEn` z?`l{2Tfd<08gA?Ykkw;Y?PPPWO*ZyDLXb!#<+NI7)E2n8{?t$PV%E@wzak3pIx+{DHCR#+v|^zM+xv@VmMpxv97vBq{F(M(Ugx{r$K7|am(P7d zf}DKv|AkrQ`AyNEO@5$^u(KA6o&s;C4k-@c4o@?#^~8^NjACiJ@>B8Q9QZHVTci_!gh z^+MkerLOZ7?TRaW9~?tTzI0cdjSUYb#8)BqKmhr~adHE(^v0|mFnpzfr<)DKs@3It zfN~xRK>k=bdu_AIh&1t84oE zkUv(LLOK_8#qiP{iR|MX|k%Z&^troq9?y<9DKe*{PEze$T@i} zTJ=^FO?M=2c7{`)NDe(6f?fxg?xV^STD}xq-AIv4RQD+%=z?2GhQK@vZdJPzoa`o^ zh!eu}iHkl-Fz<^k`qhg4D1fLz$V8m-#76g#OyEKw$7Nz~=_)2682~O=C|Gq)MRDhX zD2NHYvM=5y6!TyBV^p-8Goo~Bk=7PRq=L<~MmY=he49!uAu)^dY5jq#Pl<~w|CX0r zu5!Q4QqSh2O?PD`1*2uD&m^`z^PsPH@1gg~-%jhV!SXz(;0#GJ5C<-l`-$b5GVT9W z1-~!1qFdkcSZiMwidsM343uoY!Nr}(>U=&R|(;4K;*Cy%5uu1G- zV?SCK*J__Dk-477d$yIyR9Sx@S@dvjhTk5-xm>vR6XhbxjyHlfw_cE z^VDGZGtpwIZw`Vg+`-FU{+!k_mT7i=HaMeoA=`KnwQvzt;24KrY>3N}oR~%NGzGm! z-_VyOI6&9Xm+2T!p;vT{D*OfwL+rjcyZK{$eRX)1xcF!P6b0PZ7TmUk7u=3qAiH(> zbUxkwwrQO}qxW-EqB}1+CHqt*jVus#VIAG+<+IGF0UzJUE7fxNuK-uBD)pT1AQb~8 zwzq}(WAfzv0?7|;A4fGHY@Am2sR_;Ep44tLZS_8wT<8ND{!GfxQ^ZutZFw#5y&pjT zr$h(WUk<5oWtz|4Npp%}<)KNgL}!tueLRIuxrmu^Qh2k6E6VaHYU%csvC}#m zhGL&){PM!K8x3^P+)sIVofhrlDMm^-=kTrkqV9Y`Atun(olAU;$d}K4qvR`-T(;>J zHMQ#u4cPS&U7CB;MWf0SqDrOY)RXf9A8Ig&e7PU%nWI zxs78ej(a_FDnF{rLfnoqJJowOZ^_i5pM86BiywB*OiGZ=j@KQ4g90#9j?$NcLq$-G zF3;S}$3$JkMmN>L#|V1u=?6D{ra5kY`=?!8dSYWgy1@F~P+5PQqDrZ=C5AA8n|3)v zhdnh>U$Mg_Rz|h9Q@l}4)@W%g@&q7ImT-JWN$oEyxFKoO?@2!?-Pr>ha(4(;{&;>l>`Eq3WkRrQa@8g(0vLR2)b%|#A zK|chB1yMPuu>4d#S_*T*XV;O#K5cxg`T4iLsm13=Ya@4B5&T$hYVOFmGMb0)n z9dIv1#?QR%X0at*_M&03`XhRN#${9})`Q7nPivl!br3A1!!8)KF9Qoj6 zn^T}_Plu=)fa`~V`}us~N6XQ{!Gvc|?p$Y)wOmbVlTe}E$Dy+9Vuf@sYM( zb#>Rqzq0wfF5f%?WFh$UN3JviH{H*=%ttIzjKIw-W9T3beelB|OEv7@_W1r}^bQYv zmCtdbmmu<;Z5aPl%h7OuNTh+w3-MvD?tOLR7EY@;ijncuUHnMY5v zSnputZjXjddL1tcaHXqV=}xer0PjiMyGaezj#WvDlH2A!vWc7G&>TM_fw_BA((UU# zL)}mEAOI0T5~Y#!CSJQt&yXo&zEWb@EMPWL)soNhN70F+)lQ)Td7h6)hk{6dJOBKp z;ptlfA<~Co+6>qBxhBu(_r}=JE{DT7Vj&-bL6Fy5rVC0?R z!O<^aRY6zX10Q?r8M?kDA;tYbe96TNx3i5CaJ>6{eY&vG(+Dwrr3*Y@Gvl1bfHm8V zw0GcH3ejlELE>%ZeY}F@_`tV%<=&2uPylnRyWZAxls+mybYCVl{OnEoeT^Yoh+XF< zC_gL&csHG>PKO`o`f{B2_}jM$App$z)_R-h`XuXHs>Ai2-VQMZ;&=nJ!|2$k@j}ZC zN6YXy-Hci%SJ5i)-s8Y|@=JP14aWPP_9FqLtqqFa=wLr_DzzkeC``6_+(rERH;beb z)yn=!3)XD2;1E(1+|zqOq266%yR4KL+5&R1qM-A^^CS4Srgc@X7rEE&Kp*HqOkpAb zN~eJsBOjt4keiubyy1j{>jH((9@8KL`^Lp6AUX3eVhQb2B|p`yGGPM(NU(hL=_!oL z<}zR^pCC@7wZARej+2|x>(Z)P;CR_$%h07O-Vq(aPc=9-02E^mS=&l-2Vc0<5psv0?<$o%4 z4Kr;CCKlX~t|jSa%}3u`^8$k252pVLF8zfCtScfpB+NF6U&qM&>58YAPCJO36S zOLTY`Oxq>`E0kJZWnCqdy9q+XfG5?$tR`g2V823opfR*|6b;Bl2({v!BfOdD z^Nq;E3>`yPWYi&`sVCPtBp-aT59I!R=jvxbkU{l}c1J9{a3U0yWE4SjV4NSLh{#}? zWmA6v9qx%sN)PYg6L5{{4A*wtp9ka!lK58^x!&OYpp5jds&?o_l4ss<#&slHzhp1tLJr zX#{ldUG%4<&qR%adAkN1e}4g!6FWmQ%Zj!LoC#XMaRQrwy3vFB&E(ph*X%4BeQ%+I zgdE@zE;x1fo@$~O?DfhK@vbrVievt@6;ruV(bx{B*p#1in%v1gesB06ObZn#kK2|7 zl!my9as1UFYOq|g7nu>ASi_u^oeU9U!^75d!HmZyu*38A*C4p{;fu0#Vnx9^8hr|} zWZ$nU@2AL_f`N1D6|9_%lfiT>COcdMKw4HPjM>9ZK6; z=>D;^pr85I-31#QkIpIN9MI;v|1jL1>d7q1^MB72 zi(_}Cyw63Gq^W;Blc&S<29efxl|>Tb=+ImLx|nrW5d;@R=P9q9Jr1A~c|)9YbGcG+ z5iBw06F&{XQ7}-7no;;IL4Dt__Sl>G+pARuMn>49>gW1u z#N)@06P8TV(hPz6)qh+QCaLk-ek2m>m5Q?@pTEE9jN*-4YBknU;a> z07m{LoCF?x99*`+Fyzbb{JX2v{{Nc8@`{Qa9l7qqfOq`iUxbOxx3*R%<>UAo$Rr%k zd)M)2g_{@-CE<7{sFd??|B*^wpF-AGu-w_hhT;()cKpwBFPNVR3iK4opC{9fS6?Fz z6pjQ};|;6{TfA@^o&HXvC69KPqzfi9_)06?B_wFYb;pm5R!6xHS`xf}5xVXw7#qzv zApVROB|OXe!ikh-4xpjX{B$q4Sjgg%FbM)ma;UqEqudkmk{|US{N@dv07yfn=4Qci zc{guh(P{rSEz^~ByQ$`J?eTADCGxjk#l#pLW!?Ysx-ykELw$O}Frbx@moXXAx~5M?tWtX91zW9Gc2+fDh_xO9&({<@8&^FXntQ^Ew>oQH`o z)v@6`>e{Zr$hZunXxE2h!51U!WNIy>LAdusE=EayI()>sr}F(Q3YA+71>=<6t3+kR zOvEwk_ck-FV_4|!Qgt~%#}T(hvFOhuKZvrE9)p3kFPimmuwkx}v*o!9scZ6d0`fGKfKUh#9Q6aqIN zOpTWXe3&wS=HkM>t40neJLr5QqIn8LPw3}Su}?u-5GDSGz6xdFZAA$$>_Nxg$M;YlEf z&Ulw01F8jqnt69Md)$+-X)y`xh z91@E5J(rjLbSDR;O|jUr8k*|A>$hCbHy!LX;wvk-_dCIEY2Xhw?=}LZXFXMS-Rda` zbOZ=U`un?xTS!N(%KJzz)7Q-52qJT52Vv~@s+r&2>O0Zo)}&IYp!B{i<2jt9W~F#2 z;ZvD<@lgV$laX@Txy@qg)ZyGsNUv^^sd|AdF)K?J4v9ErWG3wKnHA8(pMGwj908bW z-GM92IGs8ra;KSAJDS7^MyX1sZXu6JCOPAY*Ka$x)bBVcZH7YvGXQ1|&Vh?5d^z^f z&(qI<1&Rze>EnM9JS2QG*`=VQq_mt5Z7LKXD#7U<0~4C4!}5}kk=V2r0g-$hYWGY) ztMMaLuDOrP2#tG5{jXGfcwHoOS~VK4+mP_Q>zO|eOe8Mxv>5nwAi8+@-faNYPH=F0 zD1=z0z`)7YgSJ4f-rtK;XEf3*>={#jj>XU}-HSAW;P`0LlT`JGuiwJTdFetw2Z zTr7K^#He8K9zh@RT{1{FuH1VVeQ|4gAJmZkWDbA!dFQc!R66Rp}M&jAexzq zaWl&H5uS6_!bRVu`MR=q^W3eMZ)lOW5XaeQ1Hzcx0O;GZ9QIfYegtC5ntj&I>z5ZC)e0IUb$qk|TPHPq+>;Op@)v|1Z0CLMY2izX ziB`;q`DkOl9UCJo1yLnx0_Yr!b0sedST40%Hmh{Nmxif!#(Cy1?Q1C2pz z=Z}+T?gO}cXS^5b^av3&isGizp175GbOa@%*guSl{CPMgJl{BOB%f+`y(7Dle>w1k zVTH?h=9d#CG)r?7A)u|tV|8`)4>otT`x_wt?r{E%1)nV_ z^@C!&kU3y?Fpgdi)RtjR=6CaDh3_dTWi5dqfY@E)&i5wwvxlBF;C#@%g!hQ5v>HCG zI7NFVj~Vz7`uFc4+yG?IYD7eYSzx+G8CR*@lCRlt={WRla6R;!cxnFyhE`9)hC|p~ z(x^l*0DoC8lajuJLdxV^N=z+?X1|RxD{V-VJpY!?{Kwk+zs^9zta%-S+?S)3%WvVQ z#XFjm$NT0fbD`It(A_2XDcgFkSTYrSnX_*m?>7w|rg}fK9FE^e|Kdl*-F}$-D@8jF z+BZ#^335Rxl92;MOnGKoK)B6P5HiBkNVOULq> z_a=2lH`rc|TDRellb3Y8rF$cnu1r<^O_faLLfaFIN;SfKq5pFTyl`8z4AwUjI1p!nIsA`WtFl`8?XP|qBy=8(IChW5NJwh2eyFT~) z>YHGJuDjUIpB{*dlc!ER`g;|T*c%W&=8+CGy689Hx^VMWr}og`Lt<2c>Q|fSe{El3 zBB6?>-qH#!5&fP>pnOsY9o5Kia;cy=Am2bo?{&%_1>h^rYfGLNvcM06IY~{r*5|4C zNb?NZYN6*yGnPx&z+m>MW!!9oV!fBpjORL!MeNyH0qA*U@Y99B0!A3%AO-|-xQ+ve zrEbd0>7^uTk1EJ$1BJ}tWhlSkEk68${cbTS4)1ePKec&ngzcN+(?@;*(Zq zk%?ubW|AqodyzbF?0f8w4{N3#)O|Ri#$j%vaQ((dB)T90Q=v{Z-ubf(8r&A4Pz`EJ2p0k zd)GVD-FoWD2 z{&{L=DyJQd#RyIcEECi74Q5WCC&TBcaH(#Li_}Saa$Q}2nXyR$8%+M<8`|@_Jf}Fa zeymFN_jXgUS#^}+y$}j_Kxp;!>0$cggr`4J(pqE z`w8pDAtqRU!b=V+Id%PtQM|>N%>=>wt zuVVBn3!$6lR;>65A^Ov=XM?!}z(SzgDjHp9IEB;0-zzc{!TE_2OO>NMj30%L6#^fZ zTf_xk3I9%v9jYABoB+DWo{1}j>kdF0Uj^&-*W{${b2=K3i2d2hcaZHv^UBTFPh!`m zTV(UpO!2)=#Yrr(_L~r}$U-mGr86$q@l_z+0K!Qii1xgM{FT8+judH4K-8nDJ{=$J zRQ4Abhp|N=$iBQ;lIf67CLL?tH(u+P!j>6&=W^oocLoe?9626$e{6QPP`^ye(&g?? z1{0d2Ui$CFl&^E{gOoCG6Z?H*kK+CY7lF;1C+dBa+K68wWumCY(e1SW? z-%AnwI%F77c=$C%UCQg>*?;Rl(H)ujK24MOM{G{|boSONM3=w#D(vq5Yf((tEK_QUs1Q_rk%)qf|0MT57wr}(ucTOIio?nn^A7H$rtC}#? z8i@*@&_&+(5ealfRngelEf~4vW&{Z28C+MJa3J4IfJNlshN0|qAbFQ#J}RWZ_HI}M z5}kJF;3bSfK#-gA*V3T0ycl=_fnTLmBf$EX;x({%{+|^cA0OqUJ;{cbr%whfOsLqs zX5JQByG8V4j~V)rx!;!iEr~P}%qDCnK0A}9O18VE7i%jVE1_Zf99|f1`!p_c_xC6M zG=@G6e?U$?STy_mTqdROz-+hJJP!Xa?~(V7v(aHiP&Yg>N`*7Ui+&CAWw=mc2h8r? z4wft#LMAwujF~3|vXEygOyW5^9pV70oRYjE?Dg?xpU=R2m)pGx?%EnFP7 zEV_BKsc$Yko_?O^^#qs6*^_zA?R6U5+F#{Y4}(VC_AiLOKhKV(8F?~}NW&%69ze|M z094o<02}jRJVs(9LTQlK*QFBrn5dFx3Gk|Q3iyiDk&;sre0?5wc^FrIN|)gpXyHAc zIZq6D?M*$#GwYyI6s~Os!@N;Xp`o$^z#}BqMyphxtAaRj4fGcwb@=#hp(c_<3N5|hOFCQHzf{!hD_=M z{=+O7F-gg9cYbYc%>kND+d(=sJJ5B^^YkhNz+<4gRtwsM?4YX(3<2(c+wWp!qkshz z*FfvEj)q@4dm!uj>#YyoEwwjZKIhpI0MJR~g=W|_c-2hQ-U5=Nh)BoUWT0?7w9D^8 za=d=Q;|0=a|M}u2GBPh{Dj(5BT$+y}Y4bubGU_dyI1Ial~0n+r^GfYRBob~rxd}AtjqMOqikXZIRb~!ATF4^f)3H%WN ze7>hn-Onkz{Ipu#xXAv`sv2t#zRZIjbyzCGmf2x#u-I2WH#*KGgNwr+mD(U7uCH%tX(MK=beokqw?2zZZqbMA z9HZFlrz?UHe}!jXF`PYxAE6r@u`=s86H%haaC=AdS2KU5bt}1nA)sZw#wZlZMt8<9 zdZO(H?uL4S8|%hbxQLp$;H@^@j2hc3Z3_1_13LnnKw{4@F5O- zCRSD@$X#*q@OJh}W_V{xW;o&7eAmOe(&EE3Jl+mh}{EIucPoq#;XC8js+jD}3rN1&>WEY6?*eeKh?tU;wzbJ6c{Q69bL9r4BwLI!ioIm_6)w1ZLOrN z7D|(h`?%6}wBYn$sDonedSyNO>G4mA2u=l0CMN!G_r`@9MtCUBqfo0qNp!*g{r6Q2 zNRH}B$7DrrEetQ*bbid__#zUQ4wuYPSC~MmLY&L_^F!IQBJi!i<$Lf`OAQdG768c! zT*WgzJw5PtvikbT3{v5-)Phcn>yE9ygwsRzm4q>_y_-7)y#()0zZe%+Y%|<(^DG!l z3cka{P%iC81J|1+c>~vr(XC~4KHTc#G#?Qt2YTV%Wkeeo@O}w}WT_4q0~B?kRr6>r zrLolU{cA`Bvi*eaDK&_vG+yjXjFMb;>ui@q?(PpNvfHF^DJmF*7-ax*R&a1A2Ek<8 zX7;*25WHZm@K5T4KaY%t?&8zJmNKTVM`j%pTnAl)f$!R&)bYmcs>fHC^@d(ktX62iDfG@Cc8V3oU=g zrze8Bnz0S`;t}2wZ`p!xUJ}6Cpiu1{%nzFv@7dbgM#Ai(6k~+RPD^w$tpbJ zZpfV;00SCQ&3aXPkiVFR{_zbP*h3yP_g3heor9wBf{KfIU|g2%9x&myz#pmY=wma? z=bL)cZ6VNmk=;d0d-FRx>a72l_geJ+rJg8!lm}7$v0+Z5b1VGSDHADYj;-*E?A2yMWDL{BscGW1i0i62$uKCiBlzkK!@s% zKIEb;rMg4K`umkynprzdO&N8b(Hvw>MqZa+U&W??<6EL=y=0!5MCzA15r=F z>9m{_Iqch z7>|3^Y^Nh*(AO^~%=-Bb4Qetnccv+8rojwZJ>s*Uhy))K5>CE@)&1%CZMr~#PC`+)!!2bQ?sM?we?BOdKK+nWLjx3=vPPE-N=r%0 zOJx`8KBBQ@l9{%B28oPZ#cO48fsIXQP_5_3C3y==iHaFpBLRYZ?e(Ax`U{8F0Dxw; zx3`a)a_jh1S68S0_%U>{d_rbF-w?EXVf(TAYqWecb+{BA#kMD`CmqFL@a#hYYpy}a z-q*@XR)JErJXbBJxg;(_u%(b{KDDySeQj)905Qs_DaWw7R8k!Xwb=c2x$Kco8U(Ae z*b1U-k#~V&J#yGTZG#yrnay`wzfxW7z znY{5-v}z5u*aJ00zg7h=?z;X!>6Z-9O2yo2Xl~v-*<^u(C6_os;j}bcv+^Ou?U;l` zY*B-XoOY()97Vd>?3TP@+n?IQvMsai1CX%cGUA4NuEI;uwD?Kj1fG8rn*3FpZhy6S z14(}}&{Nf1EkK@?(=0`BBA2KvdOX!h4%VGN)-odE_l|BU(Wx z^W4X?^7B46UiPnZ&0nV4RAU?O-kWq6n9`&oC&$|PgDnR?L@wx*-wK$SARvfJoKHo? ze9nq|1ib^sMD3uQXo0P61tt3kodDk2|K7x`L}vRmg%W%l>>#O}^3 za*Hd~s z?vc?lpp33HW&8wcHqTi&Bea3uwE859GEXHXH|iH)_l=^D8gBnH+hzq{yz9h_6kisM z?AeNQ`mFUU3;!t)CCWKv&fPT=siI?LZ4Cg`&Gd6pU4$e$&Ef357vPfAQR&*%^2F@J zD$Qfb`@aM#v$CEa(K0hPUgz*K+8r|oE_CKTh+LX;6Bt^nAMa;XBtFL44<}71UoGtu z+x{ru`27Kz*W|j}=xNn8;|&WP8R!kGip(^djnE$>SKnV%M*gtWE^X#Q{1osKm&{*w zzyB$Fyx3B*L8}kXP|2iGs<9*h8SOCffp32?&-T~Z+xK?op8p}ja~D%#JRt8o9$_~}OK7@lV2eiM_9kBK zI5~gU7;an8L%YAg6-}aR{X%q&6&rcAEK8$I2_(PUL4YHZHTBb{PcZKJGiRn5^hpU= zs^*+7-X70J{&EMk?XSTbz94k8tAjima)uROyf7rVnUj;#8+Ae9#(lsDdv|lFh;E!Y zATvKT)>eG9qi(A7C0D;i{_p7~_sWiO*@2qdOnjSH)2!W%R>kBUzTTE06ZmLMbL0zu z%!4tHf=(3_6gWXRum$5H{{Wp?R$AJh%*O_Fr7%S7o=>wi%cru>JRHk*;6S<8ZXMUD zKTq-1bb7|SGh{67X^emSeQI**lPuMgH#?(RX+^`y?Ly^AOX*1=htlptO2YR2-2d~| zkFLFWpvU}3(`k;Lh2$@!!uAiU^c4W=0^4<^S^;Ymo;Fv0XeQR z>72ufP>cC9xFle2-1NQw($TnXenJ{CjDL`HY1CTqM1Gtng3Te(GvCu#Y7~iaJLpg? z^yUe1vGILHWI{RlTQ9Gn*Zw1EUxVLW2t}w=qP%E9&?~3(r@-;S1|;YSoSn{3pZaim zErY0k=G+_@0C!6zWft=zmuca>a7ATnvyTjG)Tt|nM*jk$a@$(bivnYz$m3;f6GB$Q}Y{Ak+97}6r&K8%F_J{OJ-+6 zRPyxa09nH>8Ar{zh22q^SmVM&jhQo7?5V1BrKIa0IvMlQ-jrqf-9?HmUn}=)y2v=F zog#VK|I?x-(@S_3q3X#M24-evL`Ioq*I}i6M^Q`5oPZd5;R>0BnoaJ(B)8YnGX`2v zKXu>xoBW8LkIyM=G7_FpxUG3R*n0Gk*=3n`W9glICX0NJ%w5SKh#rTI?@T}W8JghDxJrrTt3qG|P4yOMiI%P9O3jCMQjnblXk zqiueGhZ5PBTkjnl5OOY@-&oI>ZqL7$6!5f&+FVmLD@3J;`PFJH6@Oi|LtYwWC3TJh z_;9wY1rLKEkHW*WG{}K6BeUzQhB1~}SGjYHv}W7Sex=KF`!V+P(G?FcnKt<(Q=t7S zD_#VXwYCk>{pt&G?bEP2;^J3(T=X>Q zyo~Zo-OonmI-PnePS@%#!+Ri~i8THRTPTB-Q-5z{V&YXMsL7T_i zERCnGs)_;OF=IaMsuy=0=kWM|cO~=Y*y!Q=IF9YmVYmC=)~}jd=u%G=K`Fl@6bCQNv6Wul_ohIgg;9jJI#s5lX;t*j7QI zdj0obHQ2MwFJ*!XLAjv4hs@Z3x9~>jLgnk0w#G;y4Jh4~^hGSQ8715wYRd8;!Jhh> z7CS;0`f`^4n)@tEpV0Rr#BK)*uG)`YM$?{Jd9>XQwY3aDuvG$)^Y-a2F-k;yCL>J_ zoc(~sd|C@GNrH)M8phYnIWO2T)#UQg4Jsbhn@B>h`Ix?5^Ij+|GU0&Bq`%$C07(>L zC(^S+Z8uslDn+e=+v2Wb(Odo07vmBavJ_V9AIkrHk~S!^vE?78205q58ORg1AGxZO zSgn-Fc(n+}+hJ6PNgUVn_rBX}|3D^{Cc0IN?jDLTR0UHk0Up z`A;fng@A5J3A;Ys2+5W0U~b0rYU{<`{Gx~K4|}a<#NJMYAIM-SiP(xrVW;Z7qjlyP zZUvlb6U>fkV9R;Pv3LDSe?8J`i%1Br$yRF$An^`Ys3(06BU2;DQS1 zO3ePT?hE5z_>2dJ-o3*=+{$)0?HYxfHg|m}yFPl%w7)%w)_P%>={F#(+EACsM4Qo| z=JPHqm&!HGmKY5Dx4*h)azUHNc4=UpBB#3g@y=wNsP{bRf!SAfI75P$5d|1mTx={Y z85x;MoG&=*H~4C{NQ(2S{)m$z4 z`kbs{H{NRH(EIE3bT1#ru2El}(}V1zrz~ zlGnze$NiIyQQR_Fk=L=5TqR#w=ZaP?KOz=-!Oq{}VURCPJ=`!ymqNGO8NJOm^` zCp5jH2qO%n%fc_BUB5&4ZiIbFa&Q`BI0{43$_17SV$+%Xk z$813NuK2c({QCC?1W)iwcXH@;85zI*tO6@-eghxYOQt(4gb`o}^g&~Kua$^{2btUB zEtB*7>f0zRk)T-N+d4_25eB%G(O+fYXbwag_*WSBd$E|NmVz%jd$r6)Pcf7?^fLlS zZ>`)O>To&5Lg>-FShAIUMhn|V|$CJbbMO%r~{`K*1Oo*z{yEPjx-@F}=u5pI5L|77Ve zX6-qV2^@a3nr#hD$4DTNQJ{p9g^LeY<#zfbryZqv)4WV)_`Lh$liNvE&3mHKWv&GE z+FmOM{de*KlFG7DK?Or|*#?XU2S&LBt6IXa=vqH6V865h$@Kj!^V=iO;TkLR^T8oeYXAx{k%H}YM)GCfkKM;x-W`XP5q zP%fAM$ABiR=Jp%dHXcNYi<5x`uE;JJetp+F@jdfKca{}C=P9bJd^|l0s~pnkiJC8P zOZmd@Xu%btw&>{_D;8MEDoej(_vXJc_k{K|T$~MJxhGYa&>EWA$1ddzfmAy#vc(2U zI+G*|Tzl`rMmQWU^q5lYp|Sch)z3UAH!G>lu4zOEdq5m9q$2$2u$b({L38DXslfIOLMIf}4b95}Zbm>w^L_`|2_oo8p!K}KPYjt#F&)d`p zVarP|8acs);Wm3LWiFKy#^msMFr|MS{2*%kJo3AlLj}_S;P*kHXcJg%1;uSp2(+{1iZN|&!mX1yQX z@odD*Pc<&G4U$_YjnJJHf%_Bikbt+O8h7qv8cHSSl~~>u^u?Es{n)V4MThO7UlN=QRd%TP_}SC2N0KA^FC>rlwOSz`_BefVM78xvx|3OB z?u&Kt+ske9&SIRlUW?iIDHd5fGiPc2;KY-fSdDW!C^NSOwSbjvTe$V_<|eEPdFQe} zz&zB(WJyU$-gB!gSS+^J6(FRdC|n1Z>qCInm4;2mClt6;UCcEfxF!C=Lq0$n-R;J{ zyu^x4{M6Ubn^ein!V(H@2ar$wY=h)B0v8rxzXG9EGYIzqN29oLmxOF0lm2TFN7JZB*-}sFa))O zmM`K-)yy0DSrQbXH^l1$jLf46Wg9$G8todR<<<4`4(kGGMokcG@hf1-C}M59Yw*p) zihRWq;Lw>2|4gx0c2Irij13)7{(JfxgTafh@v7l}>Dk$Hu=j`Q;l~8L5l2AGs8J|| zI8KiiwaCo2?2Llt=m1%4U|QyWs%f6 zcr>|M`hv-k)&dL5hRu}EXFVF13ewIO7js#lo8oohP@2N+R&eef-uD>bd+u){u<29& z-1$e<>`JIhBlM5Xiqjj}Oa**uq7c|>Q9=`!8V2H$aPT)n{c6Ny80Pcwf;B`@KY~+V zr3vA8$CosPf~|Q7U0)?pjXsM=u|ZFKYT%0%{~EB=(^Q@vvAm5WBnf@xz>kcQ4&-;* zG)%5T+!$@?Z`cS|duVF1@5*mS+c&Dn$Nw2&m$)8@@o29-e%{4Ko{)}9+>!hFxmC6^ zROB*dM_hM?dmj|vMSFy!rXYAUDRgTLVfqSA3q_n;(p+}mL0VBUWUDs3<9Pi41Y`Q? z3e<|2jc4wJx^I5MO?Vq(r5<^ckDEw!-U^$9^I4bQAw!)j3dr0k^p*aXJ84;2pI=qC z@C*>zGpwnrQ*%FVxkj7(KTweB4~HBRE((J)LT@V%|38q;{wCi$TFobCaNTR7aBN6f zQxv?|DpH4>mqYV%A6a_SGg`jPUG(%9lvvPlZe-t+V7lK>o|Tay1qvp8zGN)hdj>?; z?uh`G7Y$9LfpoYww+@!PD<>ckXf*S_aYhH6;`ei$l}8xq*{|t~Y6dK{sn0dq7UQN8 z6ozqp6g;giluHG4nHgX4xW-U*@8SEjKm8Q??nuV&(fbg2YtPlUwi?|REi;9UelRO# z<@fd|_p#72x0lPf&d24(aA*}CzLzNbll$roNmo+MP%~{xnNA`1q9g(A7m?(9p`g>|m;k)F{QJluliCuO_Fq3bG@lkcV8c>9ha#NZathX}XX%=-z(J~~MDer| zul(mkk62;bW~p||E@|!#Zb}FfBoVjomc71D6T)d4iRsIb)6F(aqKv|LtcpbJ(j7-x z(T_U3jhEr|icp1LROgx!dPaH0I}RwA*eZ(woz?HC`oKSq-p-yxJreP$7Ye$z!grsNF5S`tWr$JxM4Ep zxYO+hmFUkul|Q)n0m^`_SF|Wb(4MzP8NF(pPA+aph4}CoWi3_A*RmC*j;8G5KCfi2 z61<>2KJN#cuL!nzd;K!OhKLv&AMAk}r%~J+xt}R)DV2w+u6MFe|60J>Q%lKM=M~ua z5CuWO*al)2cN38;WYo=D;>#U5hp;mQx4crBQyR+!t%mT8CI|?nUXCfiqq!rSXO)RH zOft#5B5f(p{4=v}C>Nh-N4X9}<_y?CKrq2U% z4ce6E_*a-;R~pjO3`*i?^B<+3dq#-fqt_v`Y{<;@e&=xF>sOJ;!$U^Vo%DECxbd5H z%Hq~^BTri1%`)+lBK`#p%nFyh935-WB2jiB#1g0xQMju=?SN}2^fs$7AFqnmZ2Bv7 zc9c(@F+0!q`YSu(*L$L#Yvh`yx8c)20>Q+#-$3$*yACS6?#E@6o&}8p<>|lp#o%T3 zl}-t)k`hq4zSqrjEPyNqWk`eUE~@7($h`-P?6C;}G39KJ9kMX4NaSpD zre~p-2`L?C?kU}1io*;I6t`Ttgo(_WB;^}F&-*LB94iGkk*@>q-NUX0t(JaJ7b6Sh z24O;+KBfsNA!-poQdI1)C4{%fd0v%7T^$hx>&%Uh;x()cDs2x8n5 zOgw-7TX#Ncc&j31V;LBE$Z=A~KHMhj;Cuv=;*zR-M0U0#8&O!9Vx=2`#9OcVk;Sw` z_RWv1i6*vC+pY&aCPS%E<4%g{f3}S(D`-(!k(VACCoK7My`j}z4Q_sS!-4xOYW2E- zn3vUZnU+_Z5KD=AZ)s_+>a_c}^y-HVn5^?(Ca0oEgB?)@XWRtGoN!66cQ8HChJ&uVTjd@8}l&sC#!s0m5h`$-)Ru1N-M;@;?aW4 z_3U6}EsN8%7ks%SLK}XQy3{BTBB(p~)?HotdQc5YPtUH{lM%EBRZC>d-Lws#UeO>h z!Qu*x`{qZSS9&1M&?UGP&2PW$5Czxm4hvoGm!~0 z{OE>0EjDq*5CqymYB8TfX_F`DV9Y#brg*7v&;}-$FLi7H6EF<~OH^^{fxnV*aNt6A z_38p>SA(o~dA?rLm1w&GBdeuNe|ku5L)_OtaDAjmSwF78G%J)b+dh6z`I86=0r5f9 zbMu>j5+ur&xNyNZqw)!(nobLM^!4>Mjaw9lNpIB#-4M;FE8Dk4q(5N%=5bf-!?&B` z-ZWebLK_e(%*VbZ%GGop|K-I8!wg&b>Cug-w$>-lo;3)S2goSB zd2m5wTTxp(Zp3ZhbYTsxtg%(LCh7!rO`wmf1VZbOBXI#K%0&xc8dYJtugoJF8LgMg znDkym@}ttStuV|RkG<5_Qb+M=;VD034y=;r+>`_#OfAo8>$Ct}}Ofre~OKZQj3f z;y%*IOt-;Qw51UWnguHlg6l;ci=J7Jg7K{jLY$noVW-pQ3ZVyT#qvyNyL}qH{+%Fz z8|}52s}NS^jC23>9T9#4_^a0JZA1mp)6to6djRak4#U^IE% zenkFP)h&V={nrZ%QFbQzgJkaGUcQwF_pxu^mJfH^c`y8{yqr{Duy}dD9pVYAY4QL1 z&jr6ygtndamuN-BVjAf3beO`2+*40_<*=3l0#{Pi%&gDOj6AH>14^Y@`IzWu66KRb zUfY80Cy)v1&O2Iu|DBF|Tu&vNd1(1ph*3wWtZXua<|SyorV%s(8&d}_KcCfj9u_Z7 zq||>re8X8b=-){zzW8SG!G_;iK3`v7(#w|uze^3C~7Q$2MorEm2V9OB~mCf!>?5E|ffzSb#`e@Pyc?HRwEq*vV+kTMb zJWOFcVB4v`(#hj@1zuMB$gb|02^+r9u&~(*FcoD*ORvk>jeGC#QWCiWi!buNp0D#h z^q{4GmJw0`>c>1x5w3+)XQuKp%0U!7d!f2rNuh>)`MjSWT0xyI%({+Cxm1sjFqv7O4rFRqrXp1c^r&6MU|OnHN7hfD2c>@S(J7eAGSWsu;>gQ)Jd zfj9fZnhMh5@Q3m(7f=Ugi-E@n;#m7;IR{_qVeoDq-%(h+rGf34D_)yR>G}L-$`)ShaF|Iw2 zcHfHV6i;M{H%@d`bCoV%p1{I|l&6vZ7Uv8E@#+2TFij&eTJB9OKAR%ImL_)%8N2!08tqH_< z6nnxw>yt!6s{`a0$*#&Bf;&aU80^>qP@JiJD7V?jf|&6)jc$N0I5F!;B`zR9Z-b?SD+QO3OLy2o&nW-!bCm3YDv~=*$ zBJW{r0V0{It93`k3#>Jp=ap)C1@(vx@9eQO6*8^Qmk`eP)TJ*$OpW^C39+L~+TP?0 zIp$E?i!VAn?t4B}56u$|$7tq+K-p^PKKYZ|trUYLtx!DdV0ldb*&cJ$Z>G?mI7o`k zD^earf)57@2(@-aw#5I6(=h#zd>8DU%w@)st$^PAU6KSYAN$O)?ZD4W>%z+Yiny?d6Er1BeiP6wk$gwhwR&4~qp(&aWzCicyp3J38s z?YPVjQLzah57`g(donfCnk~r*rLh;?5(6aqvf0e#CPI~&wiolxBKPSr3|O8A5&K3{ zwC@sCa&?|_{fyzAiS#r=g}yLNS=qqD|4bkq@;N(<-M*diVqj^E5~H>HZ7&9Ic<@ZL z-q1_2*5b%{WbeErhR{#MIpgTX?m)nN;Gt-UgVM%)V6ds3msEv<+;G|vdGqf@raB5gA%XNi+;>A`+&ojW{i2UfGG@GK~a5#UxM zZWVpH-_VVxb6jO_+P)>EQtw+=z{UQ7eRjVUonbD{GmusI`+HIs_mVXQhyF)RhjD^* z30;|P{aM5P<_Koz<3s%gzX~=*L#M>W)BdtkEy_(Z78Y5^WnA0)8z@n$Whh;ke&9^% z@j!2zyN#pm`1d?wSr+R2(H4J+p%$Nm-EMa~Bz2np?OVF4ii?D3Rd|rhd1&C1CgbYX z_>#5s*45O^K`Fc&ItC!nNF5qd2Z8#hfr8uNz_=OOkC=^^Wz+moT$9CaTT+5BXgNn+ zGMX=QkVal&01K{H`2~~QpH|J1tvKX3d&v!c0!958c3ghdN1R-1f_l)!D}aC!nbF8M zpPJAOePs(HccQlRofT&O@>jk`gOR?JNyD%7Gbz1$Ymr(B^{StetLFS-T9%)t!hzRS z5|5K>0#t&!d+%*5mmY3_JJe8tmu|Y|5V57d55@V4roObMrmkL=EZLE-bMrPXZ-U<^ z)>D6 zr~KqZQ%jdsg-Zl#0J4f!Qevi~OHkvYz0qGd z68uX!-CFT1`biy&(bLy?^MSAWZuo|;3H&>1r@;8UybT5E*M%mh9u8CRuT-w3#ANJ` zy(8Hv?Yzs{L*woj&-ORU1m~k10IsNf0x%5y4Xp};kt#2@pP0zX=1p6rC=`fsHvTo- zhXb?smeg`%gK*B3q>dU{5K%}SzkddDxqg%W^&vs@dMp1P%=eATJXf@`tDq(qow(PL zM|v1GmrHQUY6wYQxSm|#LM`5ciLTgnP$$$?b>8+^6>Ippgi=Ripyon5E)f!Yql1I%=S8t%O7PY+je{S+;Oq>a09ZGXq3 z8;dO)fb6<)5UmAX2&fPDfaaE8rJpzFbyc$+ddmtx5piel&96s-2Y+Xs`tKaH3v3#` zuJXX?-Dp{WZvcvbEYGl1Xc;gNqIvdq%lV!p@BJ1qpG~tv9Gt^d#GJi1?O`5P)<|;H z;4`vt*fk660pXSc=%QG7a^lnSg>AfXJg)FGHHBKQlry{Q#C3}68Ln3e@y+yT733s8 zG5_)f^WB-d$94&m8jg&`ZirOsYi34nI`$CUtVeW6_KUa-qb|}2b-k8@SH%5t53Y7` zKliM;SgO-XMaaK+F93-(+JC~@RGEJzBWo;KaSLTriOrWICzSNFrHLBIRVAPidfX7! z79@BFR43rmHX^XaXwzOzOPH1!Mc(|(9Eo19k# zdv~oMTR6d%Py#+A_#Rqm2Qw6=`-9RL?DwDLt>~4`!lFXPWuNoB&x<82MZFyh{E@4x zo`!c)IhK*7Gy;f)O~;0W5TD9mE}o*6-0TST{i(-d>h9%~pFaHqI6Qiho0&ytsV14a z??>I#k?h`THtX%DNvlgTYMPKHeEJ+IJd&~N`V>VWK|pLMc%N03*2wGAg1bSDn$Ay* z=sHOwgC|C=1XE)AyXu(MN{y@@i~WNYQ3Hs>i%~3@ch-}J%fIsN(d&fMeyXNYvEK54 zOoE)NGu;$9QtgGvLX#>>`&-SnDPz-RSb7xQZ*eQRcYoe<7GEFSZxM0rBbTe62)qM;j)c0HtfPA8U9Cpvsf%e@&)I)>4&nHu9Wk=bCB9HNym)zXd=%L) zBH~axfbkjXtVl)R|JU(u4xFG@?q$z<(v{2lrd^6PE^6FV{G@TaF10D--a3BZAuC)F z#m5R;CKCf7It*g&45pVnve3F56h0WvuCoaq5L${}h3%I@9e*cVTyd}QvK9XFkCwC_ zU(F;Ug+y_3a=z_yBA40qs3qD!wG-mh!=c_`L>VpEz6fpwooO-Fg7x+KP1?2dIbxvL_81S{&j z5Kd|?R>85f{E9|?p%NlK4<+qd6t)Cc7mOV;LVmeo-;4?v@$0){{Myn&FQj^v9VF-@d)_r?WFQH&-6W za4n^^F6`rHsO(Ij_*rS|XIY}SD;k0OL@PP{@82I^|IZHQrckE;(MJ5h|BozjC9EKO0+Gl-@Lq^VIfXs1^4u=GQZM|DJQ3 za9A7VF!a9(=x%{AY6UX}R5=I>q&JH#q-jomd?$&J=jc9tG*7RNDFHm!m@u3shaqsc z3=9lMsgywh3<3vm%sf zy8c2Nn4{RA@|I|~6e`{i)Z7+xV4i|jBu1@LQ%_mylTJ_5yo*)xoA|dGTV$cOPU{=~ zE!)8HenpXg9j@e&O^1*5N(kVS7%Vb3U)u(~fubc9T)uE z=p|t^4r4eyS4jUfHp(X@hOtK3hxES#!bHG z(4HkNOhLmt@lPDFx>My3DK=8FxrFs~4WX5OoxmOt9?HH*_XKIwD8;ErwMfa*@~8wJ z-br~7c!JK55OD=Em7PHAgk5` zLUXoNIHwmk&Z1mCq?f9O$_T`bt&A##X){^9~b_mNPk_{cWtBP zE!$Ar#=~6oi?hSA-P*tZbApC|mb}d7Wnm842;5iP!M?KPi~GEY<1eOHlkTTTZs!wB z{gt84>=Xgw=sXIaoXHIX-4ku-S>%US61B;%s3ldPZJm&U%&_rL)F_$P=+z2FDitp1 zxKv3qrN*EeBW4W9Vjd9PsMnM#$%9^S!OeEj-bsMfHSPFCF;(tRC}4s@0ebV%q(_y~ zYL0+pT$(nq#FJ5c~CLTm9%NO4~(4Jxa22du#<9FR(Dr#(KkOPh*Cygak zEHYT{g=spaiO=wy8gTCW-UTNw*;gb6;8`A{O-HR@NOz^{KmjYs*z zGoA0!4vHsySu!ZbvR~)rg}M&j5$ku8t4*z4{XK2Nz8)aB4u1H z-Uwmepaf#+KU5AS;6;MJ%7Fxu#|v6kSq@^YcWYV-dq{f>7mDO0%B{2B+~+9oJ&EBA zFTA7mph-K}R+}ES&AYU1&usHF7b>fUladScVY-1nvYi+DSZ4CObn~!3hM~?6DH@c^ ztB84E$Mf&FVci|o$VD&dSudX9{nh!4Y=rj_kWxbKTffKsOmSKa@t7zrh!b~<*JXs! z&wxBr^SB$y9wa%9oP(yX^ky} zzDguCy2iIJU*W&rsJ)1F;@S_=?Q*zz|M??b9@)FE{wedLEJI--DYE;uC#AMhme0mq z*1$v-W{={;?{P3(Fu^NqNy#ns3?=81_A35e8@AgFNxrzBox+>ms{P9QGF>2T@!lw^va~5|9mwp^#p+ zzOzi1!dXnmTN|3g=CsmSTb{@rrI4rTZK{JmWdG^)0uUHB@VstUOk$){Lu;TMpUPnF z89jYklXx|k#Oda)X{uByVa$3i|Gzu3{}!xEysbKh%X%0{8>C_%LrO-;Tz@y6zIs(A zD_V_lr4^=*vVY5=s58{(54Y1HuPD!W=yShPY}VxLpxC5Wbb6HJm*y=Y{qqfpIl($@ zAFg?O)gX(Ro4!d!U2viB=FR4cY2H3jkL-S>tyaRMM+|;8>9Kt2q6~FfstcZ+#iaFTU^yAvg3c9Dj{Yu=%e_NC3D9M*9Eac~4gcC+t_i|wFK3(x3&1=ny1PLjdw|DD zqd%s(4D0)lVhp+9R(f*qQ2+vw}I(_2>0sm5TW9i!LZ$K#Na4a$`B6)=Bn zyLxb7@FIbHV$003s5xW*e8+7d!t?g!N%zMYqZ4iF^{aM9N6pwzBH1Ns)CKucrf#9U zi&quqM-yjW&&QTNBb~Y_+h^9z=#IS=rl@x{H<6Eei-5Cq*3>ijWIH{aUaiy;>1pKi zo8pIUS6RWlS1f*BMz8dW%eMVJ+Oyxjkdp`zWYq&&X3#%yIoPLP#X0E$)Z5>N_{P3A zxqs!Hi0+qZQsOx84SmPbO5_I8v4C(8PqOXWXs$9Ld{zsLl>BVdtn;xY_46VP`gn0w zY5B7EfzHmG!^o#c;qO*UX0$e|F6?b^U$IW@2<6w)|2#OrU8Hek@lg6xzSzvwo{!sDu}RMld<{vRk)+lArnBrs0kX4q^k$&y zZQ-&G(sxt3X*Z3P6#cHPv90iCoK7jXw35+FKf~5Ulyg{ELndC##sYa=NoN3^y{^1< zIq}N=%Q6gUEyj3mMY07Z1|$U*QE{zz#70WmUuj@Op1%M5ZH7^LbdG*bxz}K-^0c-C z8(X?1Mu2-OGsDI|*R+enHR1YH9Ip;)KLz=GQpNbm)44|-{QR2TMicY!9*?;EFE<`% zx5htWi_7ZJ59HMG9&fv)vBaW(Ro3WY18{`kCO2<0Jh=>>gh_HQ7(3!}|Hz&pqtJ~K z8=ZJHPV+z}VY8GI*_G-ttgP(h9>uS7usKJfUMeY!xa!n}jihf5)78;i$1T-e(Naqp zFF#eMzeZojVSBg%DP5w(0Jko!iXcWd5^gcYho?Vms1v$%DRO`(V&4P**Y^rl*2{6{ zVq5D4$ghA7iZz~i#{m(9ypP!YJcXwBZqP8uR9Rs0qha&>&|!5$V}10=KR_UWlmZR! z<17tL#C~rwAg^3XusEkId-UfZ>n#D+l@tA+1M2>v6_Y+QC&yw-B=&OL2>FGx*kSNnc__$RG2yd)^wT&!a zE$}fHz4FOA>wsg-ECE7@t&xZ;FWR}}-DbtfHEmQi?{S|by@z%>tIarW_c7`&h}d~e z95qbkS2C?|N3jw64qpz0ifJ{4#qr777xeU#pX%2s-Fnw;SSe1d2!`C$F>hE2c(W}jO-R~pm8%w3wV zG~+MZWIQ6!``n_+dD64kqapO=%Rq6@f|@olg{4Cr#6EIZvitniIa4(tt7!aK`QAua z60AFW3jb=XwJg6_mzVk#^_6p6asnob=-;o7&^&lBdX@a7>#XMwYscrO-A}cyz;|dQ zs+hjWez*Ot`A6Z_RlYUM8uxakbfiOOpxC_GTCvG1ioper!(TlqCNGudRuZ1g~CJNwUYug z>}M?>GA(9w@}}K$8negb=U90MNKO6f8n|%|nxUO;Ml{dd{55RYT;{JMAFu578a}hT zL3Rb;$7BxsR3JG`UaA6y@LP$Rk(AYFbzFY#4DY~8uGaOSS*Ce98Fm4I?yGz@CJC9N z2@*GF$$wZx_OOqHYV7;u4yO^!%)sK6jAfR4iyZh>-x{NQVS35n(q^$pJdaAB(aJ?5It@ivmpE0l~c+J6L!ITdv5tRs)A&epTj@`cY_B7NvM z(lU5txg7WRjz}W+M$Ml+-}rEf7!6evTi{G8@d0xTDmz(g2<8JCTt9Idd?2pVMHHmll0KE2ekg2O2 z@;e8qMwdn3XY8Vva@WR4rqv#OUZjP}gSb1KQY<)Ib3eC{QX2o;?{%_`GP$toVA3H} z!HV!>KHd4QvN3S~N`~FE$gU;%mVd6oEujc}XmV;wJ1p$hLNPOal$Q1FaKJaJ0(_?1 z`8-}gQr5%f%WO~}Mqk%R!ZGIAMrnO)E#|6@UWtW6SKh!Z<0+<$@V}KgFZwsz6yH%@ z4(-Wu6gesrhgnnaHL&YtqYNwM?|bLQov|T9bH+C5#P%u@1y59QkRM@K`f$fL7-nWP z6#G(w{>G>`GreZ5D@0>ZyPt!K+Q>$}vR*2FI^m*@Wvay*ChwLm)R?kj_lkC^8T^|? zKXC0&{5F0x@94=#-Ee<@EbOq{^T%sr4-}Q#>e1923%GUx52l{cz9Y$!$P1l{^CW@p{v4$HoswXa?#=snb3YEVLy!03HGE_nW^c*UBS~oKXj9< z;xm7l%6VY+LTSQ&(_lXKqEAMD3UBgd${q2f;irtgbWzhFOii_@hU(jep##=o4OUQ&gHCwgbpFBp3qIeOGiikFAyy=?Kig{W-!%y5Tp zQ_NG01y0!m6VDXzljlL9L6fb6q;x1Hy>j*Qou;=jSpGCTId9&)3Aj0BRn@!!?&BI5 zKN<}t&92jJSg|gRvcK~VwJ z(y-`zB1uBw;jnN9=TdXL}n2$xT>j zmEA4*YGv%XmCR}coa(9%VF<1U9In%0nV4TtM+M0}e8VENDS{4V8F+w6VFEoA=4k|L z0@YpA`3If821Vx3MCzW{TA9|-dm7W++S+CJUBW~nLFoCr%c10G6J>euS;M|N6D-_$Cr?f}y{CxWmV0qJAcbuQHcgMpacci_1<>P|yL! zIL^TzE3Bs^Z#&ePqiTOI+#ad)0Pli)6E%7o0n#IvCxQ|}u1%ydxdNX>_N?cB;xC&gzi#Xzrep3#e4B^s z8E%>KU|JdyblHfd6r_OvKx$%%zKdH*sPQ-aoYfcbUlY5PDPZktR9@*L^sa@H^|AkF zH-7FPbMpj<5pw$ei(8qTcY_4Ls29xLHHs+d#g&JR?4W;|L#U>|_PAX0t_a(DoEzb?(J-BI0{mPl>yGuVXaG}s5nIG-XBaAX&YAxuJAXTsI?Dp?*NyMpZxg~ zjlj6oU}kxFuWI#5=&gktJcpmV&VT&)5tp6arcD@_F9o$)hlvnT+s(0+wi^?)6{{Tz z3zHC8X;GXXH9y~ov?r>orR(bIfF%hJzSzYOE*~yJKw#&f1E`L&?U1|t9OhDT^YV6s zY8z6Q2I}}sgxW(Dz!&R?9y4{gwA#|x*bbN_hXKo?8KAF^XVgv$yZ4?JwTffr)ivFV z7ZqKRX)kAeC@-H^c}8e}hnu^6NVhsUREp#*0j-;D0HJ4Xh)ng1F21bXTh{@Jhi;k! zh}6l9FTEtJY+}}+A%vpX^_!V0 z#-YCPTfYW~$x{gu=vMaUKJ#{pR-N&s6Kiy}zh1kPh~RlCayxT+hd>J5O!mf=!SUMd(&DyXyeyILGnqIQ3KL<+Zb&+57)khT&-)T@Dor#x9pdM#8FVN)_s3(qubCr>;qkaUro(z z-07(3YfZH57Fa62id9uQNp}KI`3&6(KzB3+eJMz2R67h}#%=gUAOB8EvO4%xWT>V* z1a{C*L{5VJmI6Mk5H9pGk zQP-L!0E3)e=L>rVL7Pqg>A~B=l%Hed=vgOy-H-;9HI@dymar^ zP+8Hi`-)Od!ZGm1M#cyDAr^Hi2`hQP77-a)C|3rAqa`42XsO8pvX7|z^yy#e2PB)^ zx8BFaS%i2Qr`1`W;+uwJR0a^j$@wXYvl^o?Dt6t6akj;>bp zGk0_(2xAsN`tLLB=-wEa>R^9kW0eE$Z&<0i&@V^qJCz_eSak$7enH#69}IzVX*WN; zF(8coLaEK0k=A2rq}5n$Tdoy3&u76a`~+>tx#8XEDxN7H(2G4o@HKox?Ba0nNlmz~wtPdN8K3u`##4Nq}ho z!+0GHf8+U`V-p@x6kiqh7e5G{Ig~Q9c@9(t!r#A7hAyTiL`9 zwu!TQ0vVq(&`Kd*Z|^IB@iaCY?C;mc1-aGYXIK)Zf>iRYG!l=Z^o5>Oqnti|fd*bq z!ApjeWAjZ!J|&azKI^Kz{yZ0yx4N-Bsde+v)V?=p(P>dm2`h#j-83JusdZ-%0$X)d z#A?uV2zKsFU~sU7qu`j6@5zTZzH0X{96Vrp`qeqh#@!$0r&ik{ya_4fhy^bd2oKK6 zK2Sck2P3T`5)!OhgJtSCcH=Vx%%txzqBbi5@=?4$DSt=N%~o3pP{|Q*_k^jAH0XPxLfv4K+9r&Z}4Yf;iSWJ3CAIGvdc8 z`t`=&;df$M!w=c7zW9#zEV3T}fk(G0#MsUyxG&4)5Lo^&+DR<7L0cNSgY;TqU{ahn zEDS6|7*axpoF_uMQJFASJ>Q2;P`>nw=bmdk=t8Pz7O?V9fiSk^Tp9(wjn>m>iq^U~ znk$d(x0yuyk7&=asl|%S)u51&!qV#Yq2r{{w}(bz5N$e|0;}FzZapvTf+FWZeh!){Z+8n zdeJv*K2Np9x5&MG#P8JrI9AP#JT4D9Iy%DeiV*ruRP<94G`Qyid9wdJRiIcbXSr@L zD$u}QJLdnrvWNcIu|n)Fk!5d6;e4(8c_UXTFxl2e{`5auH$)UTVR*7Z$SKR=b5SZb zt-E6&f87l<|0o4^l>39unGvGs`Lftc@!VH7-__FHB66>Y4pk8&J{cbrw+o5oPXSQ@ zb!l4&6LFwXjo|yMDPgn{p3m;To0{F;JyVO7TL&^UavrPyF>n=++ABwJH^?>0a_XPr z`u}pw=-mJ$5FSp>djQSBW@e5ZUi1YGEsRKPYiXe$7R#NQmc}h1p$7s~mdk<^C{vzS zaG0xY!Nh~gf>yWxf`>4ue*&HXF;*C5Wd_;e$gA1~jbbLCm|5BISP()f4SkP7*sy6Z zQ={E5=O`e(pCFNpwI~Ga&iXK|x&XvBL9$b^f!&Un=ot@A1IgJbC@8w;{QUe}3gStC z*1@w$x)-lGgQsaFK$XJ971Z8^ppVT%yA;vUp$f>E=CK#1Ai4^So#kG0knvJN`@l+v zxh^+d1_n`zVA~B})Hh1SBF2-RzuCPD(jXE>h;hx|zxM!dZ@^fJ1uC})Fc~F23))e+ z3zr|pHNKs%W^2>0-J$}%0CaIsqtl9$uUYLo?ezqJ$D_F+9XCY~)ibQzp5=kTKh12K zc5n{L26HMaAMbDXR0+WZ@VfeXZXqEwqTvKwwbZPvEapVRQqQRM-`NBHGaZKOeJ;VY zEA08h<*&E;jCbGPp_llHb>^Q_nru!un?7_VOt0`qK|_}4yrAUfC}qf532l&kP%ng8 zHXPX|2`@ro@|Ceid$5JdzDC(VLTCmw_%)hG|rhNnl5ET+7F*x|Lm zqi;?;aq?h6A>iPMG#81v7RFh}1Sx}#upx@r8&C4Qz6Ey~v}qv-fY_id3DC6G9_%S6 z9Fgd`I*&pfa+A9&gBAj`f7T@E4bC}<$^@2FKv=4NE+2y2{RItpF1wt%tl|1ld_J*nnhkFzQbf)U9etrG6#(Y7bT#)E>m0sNt9S zRx+J{gNWO_M8C>YojTyiMdE7K%Jlb*&1eAw@96cynM3<9qOokCyPa1la`kZ+$TU(E&ckA$hPBm5Cz>?+n?3wPqeJpzlqTw8?twF1Qejo29J8y zAJbR>1TZ6c?db6|H~&m4em2R`BJ>-B(v+yBE08f|jaWW{u>1hc1WdzOf`>5FjT)_s zRV-|1Q)G!me14c06sf{U<*#QforJra7lh&((jqwlMQlX2CKnV%nFW7k7}PWMbya89 zFC1hMp3pco;;|9GvnF0=zsNsf;2d=1R*bsgZ*ivVu^B6A<8u01S|3*=S%|f+{Nj@# z@#Do=CBMKKNrWJXNDiUIYuuHswhgK{k4@+axsO`EnMrv1v#ZNRoZ*3@VuUDEAsel% zx8^nOY{WsZ5k?}qEtE8{js8T>AYj^Du_99uSI-TVjy!6aYn*N$pE}(x=lc3*0A&!I$xM z15#f4Q4F>A{sO)=o`9C=MwjnzHb`a7yls6#NQ+feU~5ahNl!X;jsoRQ513(8?^4=m zkrkV}<-ouX_^ zTGvo#qIIZFZPexYy|`%pW<|_yPZg<4n*>OC?ZKQeagjI;XzGa}+o9cp`K`y16EKd> zXedXwB(H8hJ1iUZcPTEn36$Q-a8}QwmW#*A5B&GSDT0 z4s;fEs1=Ag%o_PIo5b1FpXK<3$f~fhd_((ys0*R^J8)@Clzhz(PRBt_{I3fa@QEg+ z%~3Q*PhPyLTb$eHeD1!xd%0EBo}-hpVX1wT$NP8h?7;!gAyN8TpFV^~=F|ely2nmR zN6FLL2~sqIV2d!&91Bz7zxA=@u0rWq{r>&es%mO@J7X)QvVuX#7R3HkQ{oA+6Q=dn zH)m4bX9-9t<{AO_L$;k2sW7*)6ai)hQVXV>b1LA@$(tUp&iSUE%@99D$%J8p|KjIF##@0cQ|URF8I^a zQr2ixBh{m+IAK~|^8>VkM~QIH%vyS>K^kdAhX5^WPnMIjQA=8i426OxUq?^eGN^f_ zj?bk4`TaiKo$K4I5WPH<-1_^ZIqe%53L|nSbKPxzqLY8G52tFbn$Ssv!Hut_14|a#rZiW4>#uvb~;-R z4_9|#E-t74eg&t?TN|#Y^5gp8r(n7&>boN#P%y#&AVzG}FC!o#AiR{7((?Yiw}9?V zGzmpJ{J4m{eY)60$BElzCZ^ljUjyJys8W^9ic14fnE0JPiU?db~`MwGX3Hf`m6qrV8;w^RMH%UoDS@OJV6bW7VJfCxuP-Z@k2P!c@6o zsa>9YY*I}P-_>zHm(|f~*XqWGPPpIeN#cL6q?UQkZbJE^$B!r5R#sNz#~B$Iv=X|& zW93G{64RlMKt2CryYOpCYm?xD$Hy5_lL&6p6?akQ@?ooZEvZ~bm*%Dm#P0znDF^y zW>q4a&5)QXO)Mn_j+q8h2;QoTwQp%i5n=$eF$?2(<*P20%ZBE4j zE~P*bZDqD8?YVdr_4qJOCwhP^8XDTG&7m*r>uIK`4GluockD3VWM&Z&L&y;1_z&~j zl@8Q1nl(Ju9VE4xHBPc@%rYn)XKWG z2ZM3m-`|%s;m0ZX`}_ag7ilCG z#lS()&WW+c%%X$87yV(J!`{{ASHaAPUm9Rl9lOvVnCNO~B<;;qD~O5T9?Iyq1+-wj zOYf-7%*e1C51=E{paR!j>j2ZfDSN0NU*a|!i35W|?EZ31zJImpW>VKw8`WDOo~FFD z=>t_Ts05b8Fbw~*N!^lMKXq3dDz9U7JSvvwHbYvbdc^HumvAb?Q9Y|kpiqCgqQDfM zE}Nb2G*`FNDCO2#s$2Q$)vKtTw;|!QyhiU17CD$zKdX(ii@8P+9Ij1`-M(<&NEZvN zcV0N&?D_q>h_?A;V^C8Sp zag&Z}mgutWWJ3gjY**JQ0X4og1d)(!o-pj*n zfxj#tQk;-LppA_xNQy(>`@(UWTRW1(Q&Wx2YP~N-e!&z`kS3K~fAz4Vp%E3EqzI;5 zYd^`G8MlnTQ)jlM(zLhc$siPZNAcV`W?}fHCFXO($Xg#B^SacvFVl6*Q z(5Rqo>)0Wo%TuVtf8*^u>&HRTefU|(3-*};_IMLXVbu8|#QoT_y9!_1p zxi0(~pt0E*gor$_vDT1|W`MJT_9cK??;1~v8x4`nkj9(iJSr|ur)NS-M<-R?I*z_M zaLf7q-ndKz-pt)+SrR*0Epr@NajKs~2E$om{hktW)FK5w-rlx@nf&9R?bVDIzAnA% zc+;QCA>gzII@z#k;WyA4YwMimHe80s$2Cumj?^EPs?25f%j*|^_|9|Vo`6+n!6)|o zx#sR@p2EEV5EHfV&lY%Q2O0&RL1Dn%wf%JjZ9ow!I(q5D#mR|g&nweH&>9Uu9U8ph zvFs(tgN8vy9=g{GJ~?X~1T(#O@nUxTwS-fRzoew({rC1aI}^q7yMH$}?1#lJK9356 zYAqiaPc1UF_wy9m>V0IvAu1~R@bmNM&&N=|yEEwI`9bTA^O;~=bXuD3{Viyz4t92S z)^nUNadH?G)TD~Zazov_Hc(_YHa1e*VEj;{Hy${k;47U`oL*4$PzCPBONFA@)d_pS zjP6gCMLkgN_%m9)x~>KkRa6F-+VrcfQ@mR`Joaa`IUZ&mD)o&wQglt!`{!LdahV!P zoL&TAlX6Y~IdD9TX=I9whQl)IbFuNsrNmvft-DI4(;aJ$>#2sv^_wu5^XdJ{CHR=8cnkGO z%?jVYe>VVM*hyNKS3-Fk=^n(yuT80}1==On&D4^G9SSX|G&BObLt~B%Z2k>fPfg53xW z(OYe~27=|dUc_dIsv4?358<7!{Pj!ntkW4D0rTU_B$3+ox9AqtK=k!%{&tY5D9{%+ly|Ea0c zb7pnf+4N+SdXaLV)2-$=;iiZAjj0J#SwCQdD8FIT^`*Ewn|)Qj(9+8~6Xtla^K^ru zxj94Q(gsfRgT)quo;d1BQGa~qCr^YNmtGyy;8F`~4JshmfsMN(f+66tSQbJkbWr|9 zunS^h_`kpYJap~vE?tDAq-nHzhE-<48!STi-t(Xc+s`q|$EXE63R7&VP$jNU z_b})GaMyxze0z0{VwmN<`hnq~!|+BuG`pi%vv6R8%e2*Ku*bOKWOI0~hBj=b&dD%< zv5N@SwVrsJvNP&d^rea32=;dj%m#1~@1zNfbLe(&kpipBiS|F+Ti zx!4n*H#1?@CI2N$I~A$o2C^6OJ%q2(ZLND9{iN)RX_xu_MOnTB-i#zh6&RI@lxc5O zeSmhV-P?04oinYqPnp~&Bt{1UUOU(#h^1BkbA+7}=Ba!4;b2kc5v=Lpm0S@0+oQWE zLJ9UsL&;clKL^Jk@iJ3$NKUyFA^$0=V3<1BhyppkQq>YuSitHQDFg^&ZRV~K_(r{M z%DbFva9eYnrI~71Lu2pH$5+m>C z_E&uSCX9lh00;t`BOhwHO7i#O=R$bIh(i)FbUaplMB3*wxa*z0Ij;zT0BTMqT-SppWtM^|OpO@kv>oVUP_SOQtJT);-~N zVLj5hfaPHHfsH&J{2j0DgW9}{!NrTMrh`_^hdRd@4OsJuYPF}j0?t>7E_DO&y~nxP z`J-ESa8=a|<~lAm>*Ge?k_pewUTIT3Fkz*Ou}`W?Q$NEIiybDOn0w)ST2ykUs~0PE zceYdcwdk7=1)(}q#A>3q5E2$-RS8o@Fz?V@uF7Re{LIBXk3MI5E0x1=Z`S#%I7ExS z`KSA43EJ~0v0Uyi9NGtGX!%Ujul=_V7Mh?NkoH~`TK~gfiZj$6Q`+s{1O<5w*|5sC zdyR)h-`(=n9s4Xfs`)#MEea!hPS zLXe2IYh@*@yPgr~WjHQ0PTE%$zWn%obbUb_qnO_w&seAB6%l+EGIWw)!l2wqG&&xzyWI| z-W2P=cs|nN=T$oVVK_CGQqbUw>D0g1b*GbKO+G}7y9y~v^NqyO46JCW&`K__g=IF* z{IAlrm@ItuUk_Y)QzUvTRIX?mcTL*5eFzE1`ecI}FrCd4`D^TlRsRICRLJ@MTxkxX zTUxKd+OJf|huGL!I|=LIERK)NuZJEeQyxM?LMGa--?>7uy&`b88E>W^6OA8Gys=~! zjY`VQv=b^1XhZgHGBdMgc zbVy^9j>!ziwGZ+%x@GfrewlC_b(wBPB}8207Q`y|P1O{)ARIKD z`28Y>@7!SvDxMQQx|wrzbr0*FgUL`ERrNiwi0GRP!zstBTesg{8s^Xs_jiVRW{8Z7 zTbtMvr`I+XFVD*x4ia12!ch0HZrGp2yLS@yH1M?|6FMUJ$sJM%)5i9s+^Xu(=chL>Jog*I=+2j}x z>gJp^WjI#x=D@(9UC;EbBefv#{z@UgsWYAD%|z>RKeg9IVnDxcc3Jl9V z-)gmtIu+a+ZM4H6V=L&4;qiPBvc>I*Ci!Jwp?7=f$)w*Jb~kY-8XB6wNGZ`b{rwF# zZaR^dn8OHnd%P3(0L#b&t;}8KI~lfehwoKdM`NM~RJBeHH>Qb|8OPJQenTri?gu#b zhiMg9_Jl`M)-NDFEeh)pXRVqgEnkH3sTeYpH%BwE%K31d;Xn{P+=nKpiXg>sM@Eo> z0`DgCU|!0HO%QD!0XeqevI*wVoh7*ZS8QEDHvKF-&+)qk$jP)nyW=;*BvWY*0JC&0 z27uvLTV@&j7ah|dm%%|II~XiETp~zn=b~T5hf~G-mI7|d?PKT$eeZ9t#>(`c=Wz;o zJGVTId^R!9+3_g3gQwrTC_8uz zf4$a-k&BfURS1tbB3l;6rRHjUoJAD*t8$YCp~K>QF?XU%yh-+ z2LITDp9FOu3|K`SFpNuFALE^!jS$<97pT008kZ=ZLQC5Ma+55o!ith)u3I>^XXNr7 z4V$9Fd$z|5V_Q#o_JRKA_y~<4j7%8%ki2-%_OQ4bKW7?vHwoJ(A+eQ~QMcK~dkUL2 zY;1~dx)9R2v#kqB54-TZ0HQXn92lg!*HJ&w%l@eK4*b#$&u3@?WvYf!(BH& z`1bwrJoDXUT8%d>hWxpfD}vY42z*+Tt)F2{d1PPO)e$?QFpAfF)le5APB~>UI?TR3 zS1|cM7lZ9wUHLV1%!}~+0qmmGoG#N@M>XWK@XL+O7zn!MMyh>t&2Ddgw8x=;YKY@LF(#(zps@;r4-dr*#**KLz?pFJvS_ zM*iY4j%LZljQq00bd~u|Ty||Ex#CgRmil1_HdpWO507KVYQN)7H2o^V3g69sie|O| z2GUuUgz&YXwWARk{9<_xeU@R!*wP#^n@(~O{Sx@Wx8|IQQ5B?UztwhxEt5D*n)PBg z-Y>@l;OT0U#Y(%VZFi>Zj8pk===?sZs2ScqZnQ4xuu%nS7?-k%HsCUc-MEoYLM;;Q z*^YLy?gB1+5lVNG?;_bR(~)JzQ-vv`i8Aw2s`dZWj9acOYVqL#GD@yF`}Tr~VDQaJ=$%do{Q$T_Fipc6y9A+A(fAd<#$)Ko(K z!@pxPA<-uqOiWCxI@7|}Uxxx0ISlKFekz;CXNmdE-rXJ@9U08kIi1w6tgq)^U0xPF zxJ*~&oKG3L=r0Hqm@g(VDa91vlX24p`l+g_8pKlYPrN&`TU=b6?T)34ohmkMYt6g> z^~b)wy?y85?)H}N_3Po=vqq2YTqY)_nHpL^0%xhc<`dg0s;jF>$jH(k9->J&`T|vz zdc*)o@Y^XajEUo#x;Q%6@0IWZF-TFD*4 zSBk2BUAL!eKHOwCUU2IJgTV~IU^sCO`?*O|E|kh;T7im+O5Q??h={mj#QPZ(Z^3t)i=g$Wv8lwV7?lpX*PZ z)561XgLU8W^FqF%m85`;RVvv0Pxt$4XJ_ZD$`+Fr-&s)5Cm-HW)&-F2e{zma@@Jm$ z&0=C^b^uD%{r(&b^aB<9)FSWTf`YC= ziO+tbNE)iJbJXl}q7{x0+sOIK2Mbz(&3QtN3t=o0=hJVjcUNG~!>_xmidd{8L}JO@ zu)Ih|?~vzYt>yJu;~|Z3HC;f2#gOZVa=pj6uwa1LmAlMIyOW$9-33rg$s+#gQO`|` zdUQg5a8uCMC)3X>eQa}w8R5pr39JX;n?7{-&hXVMAEKJp!>>6b;r{A6Bifw|$}NA; zNiaQ4v(vCF+T|tf_CtZHU47|g>T-+R=uQ|mX&=xnmElP8Q|NW^%K4$__$3#M>Nh%L z7Z|8E>ZVrn4Q}?mmbWIqTu>}y%^JmHs_k-Sl0;ozwkf^xjZs35i!h1N=X&Sd%PsPF z$vtcm-NSNaYwZ0no&N>h$3Gfry1A>a(!cZd93ByBKgT#-Mkm^tO5SuW0n-ujl}K?e zjIxmt$em5r=}v6-VeL|8Ooqqd>N}u5Na?9j`^S@_KQdV*eF`tIS9`if9y|xXACT|Ci;AL z)I+Q7MeE_$c{n6E?<(VSV4ol4ti3h$9+ss&0~Crjv=|P4E-KWB*9;a#B>(g4v^0u5 zL+BgM%p25CaPv&I8E>;qNaT|k<|Y7R62CjueDU^gB!&7T#u)7`ceFf=^IhocSWd;i zivL(->M0m_%~uf3NhY#LcDR}}>D`N$Fx6MWfbn#fCPDXsIi460Fi zo2vZJ^m(W*mKGKkJ_lIpVFc9F<@dPw_*@6Z^sHXswccU`MR%9)PQ;F?v3Ey0X3f4B(uPa3hh^s6ows z`0K}yjDX0d0fPDxDBrH7B~wrrzX3A2<9!F{dss!A+nW4Opl_I1SQLSG^$lpcAGV_m zqkMxq!Y^OGgu{Hhv2P!IzW^bjS$Q&1tVxpAwq5XPf(LjjG09KwZn?!=`exVr)0o)V zmG_lEHz?z*21M0o^#k)a_syYIP&uj~v_h`gz7l{3*z-|uz7Gh1%~bcSHp1PSlkbjp z*T7(!d=b3{0PRzL`w6wpKR}>6AI;x@w>asun5TeW%RW`CU7Csmpw<2D$?NFh;1k>) z&%NpIcncS7x)r@q#B6_q(P`A6R271zrl#A|-}44C`IR&@HK_vz!CO}f$05&+Bh9K* z&yzofn{SV3X%9xA@?ZmMeF3(!7GhXLME~JR=Lv27{M+a!PoDI`9Rh&8f!!A%a zLgg&u=WBYm&kCmbMoSx;e!$+JFfd5BUTsiLPS4l7eAV(A7Cni0G67k%> zJqUbwZa}k1KJ@zYCI*cO;4{45hi1fOzkIwpaRqxp?-~y=#MeD8EqK z9~mJpGX!mak(41f=fpNPHa-CAPMkr2ZyC`d z0Ln(Ly-MEO_07$~E3lu9S>%*b+1oixoZzs1oXfcJ8@0Hms(oSa<#Vnn z+_C$(Uk8e!uR=07w45e^iw-<*dLRxp$g>^V|Ni+n`QWn9SgVzV?A73ALz}@KK0=JL zz&tXD=ryDAT-8;VYK91&5}aQ%WE@ohM`ZduC9*fgUi)?7}Dnq7f>^sk9lX7ff1B2Ffj1Q)P1WUJvH@di|<(y z81yNPFZAF}(J>rHNIcxGCH&9s*6t3+rPRtsD8Af!6a?ei(lC#$&EzODiXnZd86;cnpK$ zW6=lmKVb4@yIAo0YF~AFuw;rVr&Df_AHwB#0rQ;RouE_#V@&d~P&Wom&O12(ACC+3 zTuV&KNMd<3g`NVztn<(o_;7!_?fVV~%hw>+rQem>LG1=L1K0M6I1sAGKoFL8TU&+s zG73R~DU&zUa~u@IfZ{`d!-kV8<@%^VIfKCplU%H~QK|q6d?5=yd?@u0G7368>~bQY zK0&G`()&nEEeBoX)yGz@-d|D(_1~aWAy3U3IAnx$%q}xhK7A?`f1PL?w)vY!LGAHZ zWDM(1*2C~Xk$TpTHse?MtEUM~OihstnZ$_>ijjOqXDT1+f=7L_{EuIzj0T+s@Sz~& zxy8^*m@FjL5@T8B28SZ_15y6FtBWa+X6&FGRW$(?A1;o>Q7{~f^aTVK)NXW*wi-hj z(tF?iddKY>pRY{q(f=JCE0Q770<$q}d71$s3?>Q~fex;k&*XsA4I6BAFi^5RPnmVk`R7o`$; zr|kJripScLhiJVWoi-UBJM!F>N=s{kHJ0{z67<&8i%^9KhcmL%3k9jCAKq@=hg$Ua zHvDR3Gz+^k{bBim!mW1-8hZz=mSJx%GQ-eW_V2DW-~a6O-fPi^S>o55^e)YL2Tndd ztvd&&CzU`&P&&~D-0Ta&`3+Xo>H}_*aW3V@+R;z&bygyRW>|uOV(=p`FJD+%SR!0O zuAW+K1PS9+_V=h|gvK}13<3f=chQ+>;lU)5d5`nF^+Gtge6zbwfAXwi{;=TAO(-A1 zs3rQ`e%K4F$mgZ65q(J!{D|uCLR8T4X$Bsez{JOzZkA~mjK-XOlg#fMO5myJXgoY7 zT##TF+63Di{;JE^yLBeh7n&C*5&lFzFYs(%`II^z@?e!CI}RT=o~M zmyGUMT^ghNUEHpEQ)D*FQdGtXeHFlcX zg?|SHm$Z5wWw2tz&|!b$W+98_jLXdHR%t9{371Jb@7q&ZbH91M zE(uARkmY#~lVJIAeRr``iiQ~l8_IaDAVv`RT}z=;eb|_YuUlP+IPC3c*D_H0Ltihz zNLdQ0MQ=o#&WsHXsqUSS>c)ywPK0gfbWP0Wd^5mDY z0zOkA9^AlDN(Cd4YLdfe8 zriU4}O6vct5*Z22{6c({Xp5QxS18FD<0~Yufze+wQ1V|zf(22&u-x$B+WJq3>5GH% zf*5=udp>%UA9^WT+#EC20j{ljyZ$OVOgu3ocsa_P8%4%*ZF-gS1?(?nN2~etVuySf zBHz}i6>45lwwjGPBWX%O5=|gqRyjvu{G-t9FXDq5-}MwmDYwq8vk;KbFao}a`e?+W zSmK7fIj7<3OpH9O;0nUQb?}6gc{0hG;k0XcluMms+kc!!x(Qwjp|4cgeM(HqYjt=P zvd<8TVw@e-m&!K8uRBp>(hIJ2aS^B4w4jj-#*Zz2YxuX`OBTwZwH-^wBONOm5{@)B zk4q_6ibNzQ~v5fnyHy{<+PYLfrF?-rnlJV#3_VVn3X`4ssFBllQZ%jq?XH?7iREKKCa z?`Eg$9sqz`%zMl9zrq1Ik3 zDN^3sXk|hr<6LFp&CF0Bkc%a&=uw{WWK#UdA2A+tO=j?DmnKOv5!H>bI`YkFZu$=q z(U#qlmrbDw*kW9#@zhBO9s}lTv0;6MeKQ?43htF$G|9~8pTXT|^2pL@PlzI7qoXxr z$@!vA_dof9iF@LUb?0Wcu{}|ttTCaVL!;ROkjv9W=Ans^AX)P5KHz-DhB}iYPeu|m zING4rzPM?%=w&dWuInbnL+%ZtNxa<}7Gq|%5?UNGl2VaK@Brn6m*hfx1dVU+YNQIr za&{|vqg_sLyf3Zy7jJPY5wNF#K>I-%&?KTdR5zPr7_;F zLZn6>_tO;>cKXD)6SgCNb{G13#2v;dmnyH^!3_(~UZPJ$0;h2!(TiguxIV1?rvCHzzyzjKZLLxc zM%-C2>DP??2z&_G2XXUpIN%4kqI9$C3Lb^opRxHm2~Q+#UBeT{?{>@UOV;8qazLJD zwj&I?c7EQdboa^Ar}ltPkAPs^w>U3b+advwn%f7C3`v@x=tcnuUFL60R+^f^$I(m@ zO3G3Yp)1~B{ppzhl~zuy56OfrtMuLetWMf9dkHt?z3+Y(&b5ocBC&N7uZy?>w1dmz zZdJ6t#dROZE+uR%tT8aGOq_YG#R}TPC+yUZAKx75k(~YVv3?m(BR1jb1}H+c&wnCU zUZ-25coM@n5{0kc4nj^x6=qcg7rupsh1mhvzvJ$_HIg$625@%H_zSPT=Rkm{9=xw-i!*^!+Hyw7EW)j zqyUb+{q*zSeENm)tsx>?aY3_OTk;_>Or4{jifqYLF!-ZJ_~mF}4Z<=7R6E4xS{0S8 z*L{xSjfnK6SZDSlxTOq$Nv4ojqBEF0mbE&g&UrYm_3}`afpbP}3VT&EltO@hnw!1y z$9zD_4tOzgs3nS8f|MSF9g#`}Be>{YS)=RS>cRhEsU^*N)nSn(H2{^TUT|s|kZF*4 zMlJemQl}7GIz_JUAj~+BwPWyStL=6Xg>WtuM1jf_<6$^3smJMlk!G-U{ksg@uP{PuK99bB@+HFy8k_iK&XwCS@37J)&ULxewcTnMfWR%HRyW*<9O2@lL#j94I zjX%xcHV>Ki7+0}xP^G1%1!HOwFtPeUwPpt${YS$ha92te-*?b}RLipy=zoEDS*-8!4yu6oB>Rwz!J~gk^A|vxwWTmBsHTr?8Sck_$S2j-e4V z09BYND=W)B6L@qr4p3G2tljvy9Zr3Q{9eJoRPYFsiY2iuBJ;IBwVgSee#3ixAT~zN zVN4G~PeVh=3*B z!S*y;>iBepG3on;NZz(x(?e?V{+#yU6o@GGX}%WI-g@^+vlhGVTVY{8;Ea{$eb!E$WrlpnDi^CN7N>G=hUi1l-;+dCx{hIvlK}$H+&daT_DTHt^O3pVvaQrI*huNoqep+g2Hq#a)8_o} z`t}!y^ZEvM`{;Z7mH_=i`9-rfzun;twoJoZH8Ae7plW*YD; z@b*X{2Qen;mrvZaeAj3z#BX~fCv@f%-~|ICnzQ5)GYQZHCO|Dl^^T)@!La0i5_@}l zGF(!Tl)tad{0}Tf+w25lz27o0j#h#bez;^|mwqH<<$_>d_7LN&I>ETX_skw_=Lxj| z!85SSiX^d-*g$GrZS&C(_Qb+$gInG$Nbaz{NrW$qk^%tUDDK3j`wd0E#Gc5DUY|Wa zV5T8ml8=okSd(9fBxL*xgl*r~b8vj)511G9`uvQ$LOCw!1LmCS^{Lb`yn@eQvIQem zAL8S6^T+@`EeU6)VQGvGuP|qvCINZtu*J!qk%`f#>M!1Y1_9y?-AVz`A$S^F^m;2# z1JnR4_uDgwT+jiaLxTM*Wa9n}_Iiw^*){ffIg)%7Ef}B8irjCp!>Ab{Z7wZmI@$?+ zkCb*FmLBfDV%5w8FmVi@l$M_&<-tw=<{MbkTkz9+K>|<9b)sq%4}_d|I;(548|v~; z3d$rpfmhA>aI^IA_heW?x2uI?A3FqBNbt~PB^aR_*bb(wH*pqgES%w+?KWGjkei7# z;y7S?pACr|fJ+%-1A-*AmseNC+ta$1f8lA^64wm#FmL~R@zW6*){!5sE7HUsqY{Du z{FboxG5Vn+c9dX2kqM7{=~lf^v~3jdsJO42(oEYAWLucR8D6v;GLam8Z8z{%03!|Kcf znfkQZ6FR*RmRdOTeM)FMDh41OtNSJ>CLm+frs(-z@(&OS`G9Y;lBtt6V`M)*{C0Rd&B6r@n8TuHhxguXd6!_@nsH!tkT>LF6# zL^1!H6I)xjdOe)dS*?>FIoD|GB7WioessgC4sO7(UgmZ#c#7hz3|)c4U>x9tT?#mx zP*Ro#@<63Hq=qXnM{|8Hp${X6g-KEp;u927cj$ZwM_GgEJTg`+h_G}@8XG>6MCyt3Jv?0$Jccu4eZhGXqCpg($l{}6gNdn9X zvm@J5*=(}y{KR<7Ns?f2C(>P;>!hd%~$X91&N|4T0 z3V}YqaBVIVBVCk1QBh;=*T|;K5b4#JY4)jZJ{?oK8b9-W)$7c&Ai#_BUChXDt0!87 z1RN=qd6-`cd@!CA>hJ+9lpbpA^#!Dt@!Ww~u{4Ym2pm(>O({?^g-d?OWY_r58q@qtH-^M?u$b+vSG zknXG2Lp%kd;$~qKGOEEr!y4XX7n&3g-4Y-4?T)lf3Ox#m%`prK9!Gb4pY6w0e4J3Yft&h3qHBU^>X5j znbD6}0DILT=3c%s<%e4Sb3=A1-#c)uQ(F+nl0Um5xcsy!r&mi#hKi7fHL$@wR+20? zzE_@H$kpsVEb5vbu5}0Jq|J3?#YZJOQ23vfp{lAikl;d443xi8dhO#=39037 zvGA6-LTMLXRZ+(*zIin~@g1F4o}lP0kOI;@W}x+kWPkP_}dypZDB zLMFXr2I=o@~ReES<$cwXz1h?jHXocxqnDs<(k6R_L!*|qx3u)_oDP8r)+$eziV z7V=?7q$<7(S8P1%E>^F~Z`d{PUmRGiG?Z?;OC`OM6{OMJnhKTd^*d;>8Lv~bB~m*; zjQs&8`Xi&?Jmkax_R2Dg-X0mYRnFypPD6%8)|pc4G&f~SZ7H*?PBT))?=;Uq_uiM? zJKK*GE0Y1aSKU>NArF(BfTc_rI9AVI#|hnIDCTGg+YgbU;r)5n5I(AnVO*uwiCNnu z#K#90M_tK2E4i{QqH-Gde6$F^^Yot=zwoQ`uC?QMEnxSV))8^uRxV*9R@WvPdSv>0 zvb4?;YHOA}8X_5O_nPEZo}Epbb2>z1CoJ}Nu(=W`yI%G^ZLQd8qHPq#ET%E>X*h#@ z=vE%3wonBPLsmc+cHMMiMc1Y$*L@??H=A;xdX{#!p4Ca4A;={YI=1(6_Byw3ai-q` zCv*e-jWY4se4X{w7Wbq0|4oX+QM1?>jG`lj8K*4_*ktfM3`)@|Yy|ZBVcy^{z{FYH zn$}`4iNY@ja&Qv)TDc=lLEB>2&*?IN60PHVmdX2{MeZo3B}L=!LuPu_WaKF-3{f6N zCQHk%x8RdQqNjm##gj5UdLEZHMg#kjBV}D(OrKjfO!BjIp*uk#c{pD#M(<2Q#rVel zaQcSa4I;KZmlxWwaGY$dyIC0_{?Mx`Y5w|_1==J+#}FRU02Y#_=kvo(>IEj&GCbsCny%3bm&H7x z+4+nM7KOMXGF)KoFqD#&V=;bP{wz(6A^Ly7WMGH7`&@4qo@_#Hk9zD)_xHOsW@osI zW^&QlIZ%t#+$JM6@_mt{mTRr4T&a{lPR zX}Sd$l2Co7Pt;F`fw}ET@dNI?d2h8gTk+M7;}IYEDDggrW%ZhM=HeR4>c{c*a?`lt z2xVh^+dJ(tQ=R=fFfJhyJ?cURSAkIjWT*K9$qYRXyiW!N2ggo%Jh*6rvaw*?YZ0yD znXf=h@-LidXW(hMWhb!Md(oK{#H(7A&!v}he`AM3<%>X&2q{5~so=K#TW>esZR;ai zpT81)w%IK%jCGFNPSR{GW4kqHm`(gjWIBXCkYjQIAPAXz4EaR*WG6%gmlnfb+ zIy!`4c~2iSBTz>O)uaY#lnD5yHp#6+wLH2YmEUO=b<1qF-RrBs>MHV8cem^|(|d<9 z?bfW$QqSII3l~0$vi*M&FNej`rhmH2-5glw4*eNak%r#~Kp~ERnN3XFzoo@${D!L! z5--NIdv4hJ!3Oh(K7sA`!uOGkS|hF8T@m!sqvgvv5i}YSLuZoMc0oXKgeS=Q*_|ItNP^=4|6>irF!v5-JDT0*p8IlNJ*%!S12+jhA%S$(s?+@ zZ5DK<%zN&JT{qr{bQL_iDC_fPG75%PF{5$yFEwC|2Ya0$M5e5`c9 zKPHEmr=KCcV&%y7Hy(DR8$n}3fq6?YCp@*Li9GUHdBj5?@soS z)ydWtKBH;_Y5Djc6t;=|g|e-FFa0k9=$9l$wOeV&jjwBp^|#z}(VqIUEvrujr-H>J zwFJQ_jDn$Jlw|MXQ?xWR#nE2%+S<+56wmnfT1p|HNnFQMy~w@xG8emzb|mH75{i=R z;sXhjv-=$Nc0{vlE z{{qF%)rlO9@4I*uW2gJDm<`|CX~6rmO^r1hDvrd0eqqEDGYIxf11-Uf83{G@%DXNCuuKvwb3!~KN> zIj?0TD|1L25B0iam64AXpY9)LS*;ej%V6_1H5*iNmWKXVhV-JqV0Hq&zoZ-nmg99J za>(SW7-cz1k0`9%+}!N>=yABpU6v-mRG-6X*|{k{g4ZsAa=+K|>wAScGMTY_g1+b0 z2>qELMMc~|D$jcZI`8xyK$q?x7?lth`M0@$KS!bwvM%}>{Kj+n7h;NC2sF+tKR^2q zxa&iCNXAw{*es_vUbAXh^qYGBtGCtk4IEMz1VrWC0owpeV>2=yB6pFep!Fc}OO}l` z(WDA?UMN&rSu`AwWl^@v%5;fwl5xBomLH2SkeB@JN~;`?jm4Db$Gk|1(o9Gu6OPII z>F^eaEPl4|7-0_J9WLY)kVJh_07vk4iQ2_bcoNHPF`&Xo!rpk6f(!(H;E>2nt5{`+ zm^_PgHzU0GrBs}DMy!uTe`H!aG_Uqq{34<>nDPAgLTbBmGqRhY$iV|dMz&FmVQksp z%;s?$w-2xtCkNe%)G!}Wq_9ayNDM-uX$K+5Wu|Q=yNfMN8z3`|ih^Pb?ocrG4mMxR zq5lI#w?F`XgNbzzGpHzVnfbvKI1BhqEg(-0U>=$TyNS=s%c~qLR`}`dT5uB89_)Vk zxnCZRYv6FuEI4gd1CGDKBjyHXX4&9|6LkBa@V#q6gP5w&g2a;n(7&|+?b+>4m5;xA z9QQFF!tHM+p#p6`s(^>3?!b&{0GdY)Sn#iJKoSQF()#FIz#@yCIKsolorFj6 zz6iN>tR9E=%!Av1R8NTR^?;!NL=CuS$l#wpFP%t-t=R5vS$5P(4h@csY8{|;jmqjb zAKqA$fIC0fFM`ux`?Iu;r9wSSjEpiZ3LuW6wW$bhh$3M23t=Ce^x!UUrlVNgGc$M0f(Dl~sY!2yfrs+s>xB_fcXXXo(LVKy#5Gc`l!X7G3+ZuSa`LewW}=#QHvJjdZtnR+428avBX)b&1wX}se9VeBiT zvg*2aRYD{rq!lGaX_1uf6zMLdTS^)vB_yRmQjiAe6cJIR8)<0-1nGt|x9|Hr-*^6; zaqfSPA$RP(_F8jZHRXrN*u|pg{EDKH=AhB#RZ(7)i$!q9wZGW1>Q>J08Ph!Jee1FiGF}?an;?#;-2GwHq?dO9GUe=H-gB1-ix(@636|WH-BVq&>8+QTw5gS z*}O5fA0qv%GB_+ny0wJ*GCtZ4*0oAiRgfDi#Rd808*hLhQ3)4$tE?F5sVX^^rrj9h zw*qEdz2H!%dp53WUlDH~L%>>orV_1!zIX0WF3z%k=(d{I6gtP4R*0Sc&__=(N|X;^=3X5o`L&fO?OGvwVaoxt$fT9PlGMGkHYi1%+ell|(h{!`A$WKD+c#=^GtAsNw@{~#QtzD8 zWyeg~3I6>8dD6TgAp~c~YYxtFN0+czsHh0Gwh6bI&t9zEJUoz!7D^y}BIXruiyL-` zs+RBa@?YgMgX+K%GXbYfvhlYsiQQPFY{H)n65rM15)~+%GvD*=ZM}%*$#3m z$@(7wHVtIz%pLC$2sp+s(9$MSy#4gFmDc)nXKrrU%zJ@-Q2hK{n|7&I`r;S0LJ!(b zNnL~XEsKAD<~;*-r%Lh1DJtkkL#=d7?>fQJ(PRH>3e?Q*Ax?D$Uj{V_8dh(bW?9Yy;7bJQPDxxg$^E;)oN7M4 z05~!y>v!R=R>-b^=Kt;!fxTGW+UJ==f90#WPtsY=j`!XGml4+7-0bS=D(#PsGqiOK z<{&IRAE@0OK$<6~s2Fv4cqk3o0>=GW5(S&@Ie}dH|I=2>4gxf53{eBypHOh~<|BLE9dJokRN^53xX^5I4aDg6r!O2fip*3l4T5dWdeCIF4DDh6nd~ zHz|Ul5AA|Bb&DA^It96vUGgDsg$xvMZa*V7w|8(!=(F#Y@sBgm!mSi;ia^r~@Vgm| zok-;{e-B;zytNC`neOrP>mKj^dUN3-FaLTSgw;#E>8u9cM>)_~+!@G{z%hK*pmHy)>fk zuKJksQ}keCY7x#J?b@j8eLd;`HPlTM9o9B|pv&RbxV%Fn5 z2*`uz1cmgw2q8azAOj@VW<5!v<7+**+Peps;CH~fXelW_%}%`Ewuk(m?+^u{7IkB^ zJSFAk3?`yxrv07nL+b#G#(q6#8?G2JGGd(5L0=I9}dCI;U z{!QJ(lGC^xhxJe=Z`>U`_=_MPN3y)~&GDo~;=|50As8uD&`TTb!Q9-OF{q1kwj0}n z4?*xuOGPEZ`3HYj6I`H(l5eT!ZK2--^C2@+Q}W_hOtBw~zJ&r9ix|?;WS@`T@_hsP z)eazy65spa1lrnqhR55z#lFE zM8)tY&}eVHqE{QchpKN6ZdE5>+P7YKXFQ1LN;XS#`${#D9eVk)QYsCi$zR5X2Urca z&ccG=>}!g{QkqBi73QAlX@c`@!u*S)H(r!GW-yeC)mzP?3}$`xtx1s?)3kbj#K-7%q>6s?t}5rl;PQ!M!`}v6(O2 zm8X=w@b#u$SGsP~bY~o%*U3d-e3p>sWJ)g6^a>JG@L>N{xADbTK(p3RTeY95E40@mz2Dy-ec*M}@ zwLjYkYd@=i)nr+Lm-BhX7gl|ym=r6H-sPa1@A~Vj2%Ij?<`%5+s6RPe^&!wYDr(=F z5ifrzUhSj3&u1Wm2x`&UFX7!2esRfCeiE`ywh<$s-n4di{NbT%(j(`BRZ0Jn8$WK7 zH?Iu%vha_rzB0UBZoIoJWrR+4ErO7kIQP7}hl^CX82i`%OHh0PcS&sobNV6b4eZ%O zSn;Z7LiHbhPzwm?4U@FgW8nSVEI<_@Y;SK@9DAIDbD2%}MKmWUmz9%vkb(%uMVB?N z&c7(6yb zq+asIdsuEXI40*B+Y%Zb&^_VGF%RiN1~sGON3p*p!hA6#347S<+CdU z>UWsbb1_as)t|T}7FNG3fB*pfG8cR>NA%8xtCW-&zUbI~)a}B;*=7)#a^2%?JJ%%+ z+s=7X8rOhlb&&4Yksgsu?fzlhs-*6#wZN@6Kp_`i%s@2Qxl@x;=+`{D<7({D4+sRU zC~3Ha6q-0@sICPBPDhuFDKeGx#-o%1evh=|KjDRm+zZMuOf&fGH z1!)H3EkE{^>p{Jlpsmd}dI3wKfWx{AZYON{GnzBc#8z47>A~HJGcG!2Ztxrk#&ibkEOE-MS&Q#_`3A z5%p62w?YCyyWixty`_D3^#Rh_>;?T#YXcITp-Q-smOwg5cD~QewFEQm!(>EjQ`Hz2 z7Pb$2zLw_(m(6%yvrVRuP_@-P&>)|{rde55#)dQ+C!nM68W}c-6u>Pq>P9>hr&MA= z=E&pI39X$u--~rNZCl{~E%l)t8n(fKT95f5n0!tx;FMP$gw0DJ+axn#Mx8>*o5HiwXqcsja!J z^tH^Lf{)1@!Wb=+fU!!^V+0r{64I4IPMeWsQe_Rfkwbe0a?;X&=@w2qSVF`GtUU*C zCQh19BMQl-DbQC)4yJ>Moztr)mDlvd6Z+7qVrZkSK+bbC2;l}cRoC}XI#6?5m8(ryXNlEzvKxC?qwt0m8g3fI~Sy_3ALl+BdDuW>L zC|>e{?c}I)-Z2LnOUp-scGyB@AJ6u6_L9th?R?oCZ`!C|W9p$VFyGz0Nq|&Jo5JVaJmnd!F_J2!Ru#P7U_an7GXie{P99L7G@VEFJ|z;KeDPs za4S3y^XTwE#o?Fi;_4$M#y*wXO_@p|)muO?7QFPC_zoIlh9~2L|M@HLAdw=K;3?bVwH5_%vVAT&(z}?cV3pJ5Dy55DL^W#}>%< zbDzQbEu36=OsIO$z^c|@7@w1hs-t9_h(6UL-hG;8^N-e?DHmdhI>Add6xF}j*8gn= zkNt(BF)0}qX>nfVuQBlv$wpwbBUN*+u?y>aADL7f<<%IO!|hl#aEgRBSK-{r2}`sa z&p10%k+FpA%xiSEo~ujT7ji@uhOdYQVOgU6;taa&`A0-;0)4a{N>UrH$p_`48_>L- zuHSI_CdPf&>89v|XRThX?4*I$k~rIAMY(Sq_mFsfdjm6^6bf>JWjpPozW)+l6|H8b!M*Na}oCS#htaW`*6%(O%@smLQE@|zK5LtDMhjtmE8@2p zz9VvWTZMG|=4JFo1*bP+3DjcomSsQ3!CV~;7=e^?Q@_=DMknr-7}C2G&hk+1$2VWU z!e&TXD?%cKs)@hLj$KKLuFHnIECetykyucRp4dvyU-!Tm|1A|Kfny+y!*h)YS%mvW zlzojFzd}eUVn)hdt*1OJ^x4Nj^wbeCw>=q{e)#>wohI@8`14WuVnqaUm2->a5@;Qc zon*$64^BQs>HHp7cKpgXXSDeB1A(U8yWelAua1Na{k}JFhL3*{JTUc(Ap&IOs9My+ z_UU^?aX?|}q((NhREx4*=A^~5ZlQQ?T$3S*nwveF^)Gdjc>T=!e%MtU_jO!LSIUPO zm6`Uz%dNrOwQ`X_O}sV#;g=R-SiFS3;>bOL#POw5D}oY?BWs#Nf9f%EPWsXWQ*rYiRXWm zvo|Tx()aP+Kv={2iu$u3YFDP%cKKGTKkIquR6J08PMq|p-L>UIzdy6P7;ZQxsuNFewX!tf&Gjs46HGIzrQP` z3*CE;V}f5x2XM=`4jyM&YJ+5I3y=N8Zb!QTP0Q}o`}!1*NPC0%7|Va(h|Z&-<`%d= zQ1rep2A~$>lOn9f` ztjB-a+z;@}xcIrNP3j{u5w*p#gg?376E+%oEY;ILkj!?g1@D4%08O*EIg0 z32rSzzDPS@liej~DtYu-1~e;}CimHXwy&X1g(>P>+td9c98Tr*P%NIjL{AI}8@}MO zo&53au9p2QCyfdknQ(mlGqUTxw)Lzl^*nCd3#Y&G!n0kNIdbl>-qMi^Jzf`Ux``@{ zFKwa@kc84=riqEnBz=1O;t|%+#Z7z1H&II2w644N?77xWU(cqvloIkDs)*>tH^(oA zvoCDuRkLO!|4e+W`s0d{&R5hRLzZhC1BxjkrK2yCuYn-n)~a=xxW?*QqG?pd zhv2V80=OPG6You8<%KIAjYW-$tj9<>9 zJ3*I8j2~n?oq&?1FubSyC-nF7D4V28_y|E^Q$~;_Bz=?agagSD2?c5xjbCsa9T(9b}-@5=2Gh1hx@Cf>9iJ=n_ z|EudX%^3{@l5+P~owI_l{a9+lB438(G#s_R6#4WydJHS)a<(N^#br*(Kdj`Px!KR+ z(436mP*Wt6`9Uu?#^ZW{C*8Ut-G0s00^%+E0 zEe|scnR-T{s?%8)Mb$*tL+Mw$dRa}bg>J~Q#mxq{@ouUePvjmp^QXFq=va9v>H!p? zd+4v%Zhrf$td1XgPEOp|b`;S??Nryg96q~DEQl3`$*~Ddz?qeHY$CGzr%hIJgm|Cf z@B)()^E765V_}hQmQ_9my)z+9YA_e=ApuM9>7UT{r8?^Ti*SX71*U=O()O|gadH~B}JmKF8=-6QMwB?vo{BpxtV!d1bQ+*IkQ-*yII6nCL0k|m=t1xlGxJUKe*A}mK zBK*;H(j@extA`|0IDg#bQ505!d@~d5Z{cZ*5??0ofm&VFS*WkCisRXhD?H|ZsOB%@ zcnY^sebC+;$~BxTufVXdjiZ7KKqIQlO18Um+p=c#Fp6sjEG9p!Ii< z{+0TXx)$F{3){JU67GmDkr(|v=-?TWBq}5{jfG0KmHcO1Q3az_a$Z;D<+V`+-|3db z`^;hN`83fCRW|BrK#9ja>hSr{-iOBSRP)!Kr~P#Q!W)@2jZtPuYJ=+5UyLJC^0_`^ z_VA`@E`o}-#g-erLQv6irb+Ry7-IOP@+2;;(L@ywB>=`&$udnZThKPS968sC1wqBfGwe|IuP#_OMo$($7w+f8RCkLCONH#$+5M$aP zb#>QIO$UNz80bo^-_T73mRx{-(7a~az3|bw>zzk0*7KMlmZGz}yQ*FR0#>=6enu^Z zK!#P$^b0TnX@*C7@&@5Op!+1}U{3HUsZuv?0X5zZ_b{ zaX&PyN=W@vha}>DegT1DH%^azYi0=YUj0zEs~z?T*AQ}Ok4n#gR4@OvV}$gu^)8N% zgQB9Ml>oz-KM^{stae^gZ`kkt^H{|DCEeGrZ3Hf?t>j)SnXdxY2Xu#5}j%2oU&e4f{5cQC%8_xc-|V2)l9EF1^D z=E4W6f_queTKWgOK2{|e(3EwcB{ zaAmd*XK~cbLY!W#e>1Q_|BI2jCmURIX%9PZyM@BUxHZExSU^nvjdLIoD)aTBZs8gN zVp0xcAoZiVHY-HMQ3cMI#G0-@=-;(+`OI1{!#zyV-HvS>HuPkie-PFr`P_Z~`UPqR4uZlb=8E+(WQ z(trItqR;0f-q=ZD#F{FL!3MH?E&p%Jgc=DkYC*doDRWmP7Z#>OBtV|dabnT4+m>w9 zKm8Ag1519Bg};VvQ`X>xb&;;?FP==QQ%fFgA@|h6RoySIGl6ko^hCH)xAgI_(6YA3V?4d zkh>YWOnpg3A8GpbU|>X6DAmp+Z-}Q`!8>hI*Op>^f&8Nm#<{`0dcTm62W}$qj&9kp z4DYMMbjj`#XcoTSPY(TTh^2JRFo1}fT7}dX<1aa9Rk>~*axk!v`2x)1Ai>rBeeJGs-q>Rxa46^6lHG~^olYU1!({U9x>^d| z+9WSf<)iwH$Tk@ngcEMY!+Z0ps^98zI2&QV-=+o{fV!Crd9-Mb}eEOkUg!#L&D{Gw}4E zxTW^Xm6N)4+rt_JJ0lY@DKXEugr5IkyXN7YT6=i1{5Y7O2`TMe{U5O;L2}#{9fA@RLh^x0r1SOw$o=6QtL#By(dz3wTzL|{mM_!@y=tan3 z(4Vusg@3t4hP%uURbY(ChcC>h!j(l#Z-{FOQH35UivpFDD!{*8k4-U7S-w`-$Rbw% zGMRcxDs;%=+d*b1gbBh^0IxjKf&Jfa+V88-&L3W@a7(k9kVRAt6>d9zAvb4;cq=M? z+L5?KTLlGIt})KdeLcv){GXqF9btg^%pz!+bb_9~LS!j!GCwMMrNgh@A*3gH^E6p! zmjR=iV}*L)_tO_-1zAPd3y;NBIa7J;MUhDy77%a3!^hW&B=6hT0SzMh$Z3UAP*700 z##WC^z`YXE8sd)55e=VGTYRNkSnBG820=UvCsyU5((1QJwF}rx5x)DypPwQ}5KpuSAxjB_SVXf=K?1Q2a>R~`UO`5LwNK@9 zQP79<8D4PCA)%ZmAA1qijp~+h+ZXBGqOq9Dr~d!tx3|!?Hb+@m+X=kn7b2gC`>lpf zp2lu{9>ryCc$@2hEGRV#giS=^H7}5qB_@^~m{ZaLA#d~$1XR+$3qukhrl}DX4K42b z$G^V}jiSeGQ8vWwgyQ>SS@x98nVM3}%Gx<@BkipAo<(XY?&a>+d~Zjc^GrL-XY3g? zu&Wg_r&!fXbn`d1f$9u{2>YQzjVHhp-F=+QF&mvNds**QXiQuj9c1`P4(>K{z8O+P zxc&k`c7@ca_JsG^w|d5k6(~XyAE|lTtx(0JFgmQ5Me8w&vtyU%pMAzJzCZCc7t@zh zryYYl9`xo-AT5zf=CWacgrRuwujacGACmYOJz6rVTkXTsgV`!ht3xu4O-*XDh5)N} zcq9}A3=OFsLH^1DcnRWQ-a&9eLc*i3FdZYiE0tFT2v1$p6L!zT=VKsj=y)z8FR!W> ziC7q~gaID@!VY&T=6Q)HguZc=?jTcaoB@V0;FdKAph&Rk} zEavrVYzrWU$A$RID=NC&!yRFOlu^TPQH6iJU}5be za1>o=_)hKPsf%ac(k}WoC=}aE=bieRgByzCqN`uV`)v15UP&a$sb1=SPt3$%1x=9{w8yS4~YR4w; zE3h!9!g8hhO~%U#{tsqsUVg$JnShEW4!ah~&H;n4$#kPzf%jG3h?JC+4okPCB(rxg ze&%Q}@{UjmBp$c!K&WLrRFaFm4GxQ;Aj%=Cn*xS?qKfrD&?culzG?%2z4C}ya2(`J zCZpAOl`U49jjkVR6R+=S$Rj~3rGP2hwy@F}Ja{!qq<3}fz7N}V`CRb2c`V~BpMF9?YvtY4qH{1d zY7zC$gj4wVZRhjS{4B_zRn?$0u7q(KiiA!O7smelr!b5OQgdV#Lr^(+>0`qQhK#shY)&hR_JmFq1sD?!3*M^6?w{sim_$`Q zHoLweE=Ce_u7iWakQu!oH~5wIsQsA%RYzQLTJ=u(>(fm-k6e~;IiTJsx5cF^F<|Yl zFo;WqnMg+BvJ~F)6lwK(=~tJjDbPb}-D9UBR06*yGrue6mT$P8 zDH4XxxY3oB8B%f!d9dp({7Kd(2F~&-GuBY92$0&KYdwNN9;yfym~&jQEw{hToJiK7-R!OUB+vG=M3wds5fXM!pF}fFF4-$mFB*Bf6qko zN9(jO7NQ?ObHT2%o6$e>*j|uHsqtsJHRK^u?O!F&>eMV&j0>(*qQ1tR9==6HLH44U zP}c?ga_uv>$uB(i*I`1&7bl%#hnJt?z0-8u6$UL1eOecp1^S4(@Rt?sBT||Gx6Ixr z)0@nIkmjRO6cK(sZS7=of?KU2uL1*;Y_7JxGMXt982sEhvZB`$irEFWf@mWX{n~rW zQjzg;^J&~zm9+r@(!UR;;~w2%BCMelivFSUmC@rkWOCa{UoXDrfUQqd61EnEH8s>jdl4F+pUoAX*T2a>2zZ(tKo(QfFTrCgD%dh z>iRS*>g7IRjxNFR4@R#F;{4?4P)+{u*E0I7|9C*8DP}alhM_unR!&ln^=nM!*q-$< zsR`C)Ofh${=`_DG_fP%WQ#hzxeH1vO3h<^mkSn*^^!Y+)yPf96CO0{fdsplJQrk@MW>t29dL6veIPJy0u4OK5{Cae6Y2Uon20T1qPbM^8=9k25q*J}Aw z_5i3>>c`w(CR!bmQ*>Kb>RzZ-J{Ep`6xFA|j0AzP#~8GA_4V;qeULVi_o%6BXVq=cPW+@WC-_ul2fP&=r_G0JJ4)}Jf z5PzK;Z2VT|yZ_LGpuQPI#yw=89l|#Ldb)S+wwQ;6goFiR6gU|M(M|C?VCyO&hD}=l zdi@-L3j{9gy8I#6Nvf#?Mq8KzN;8B6ixva%iwp*-f^@@_^ff4PG)|fz3a`Qq;*>_= zMCOG4(gqCuM}zja_C~|L0ld&X(&lu_Kny0Y{cWBf7}VIl?cYbN(S;KgmBpWPCmOK- zP6rtS1(GGuj&zS+$vRAiqHI!Bk3xDvVdrbe{9yL?fkj0%M1nxdg zyRO6s#G}a2jO2^1hrK_LVI5pya+TiqH5{#tT zFXZtC6K{8GtC)>dYY>jM4B2hR!K+J`uUvsvb`ZMvZ1R2Q)gh(LGmzM>yR#I9{my;= zKBc?$!?#8N3MQ=e0UA(mcwy7v$E=bouQUj`iux6c{drPldHgVnWb$bpC=4X!6ckvt zcvWNO)o($vqS8bPheb@=5s${_&z~#dpik*OfjV@k{%>XIqyyAMlqKlIjs_3KlJhQs zg4C$-?s~$Tm@J8={rVSqCX5x7owHmvRf%q!Rv>Lnj*ri?Xl8~B*!miUdCkmfoan^+ zj`AK(b(yIgrwcI0+0BpFf(YB3z`5Kj=Z1-kt07jcU2t&eo}cA+a7gE!SDDd9#aIuH zd&fI9tXwzZDUY-u!Dv0EU%|Xgy7i4X#~%A}<}_w~SjNqc!>#$@c44|eTj7z_h84X4 z#TCLmL#WX1fDle;`9XaN2!RKemRsCcwEgP2^Wu!4yY^PO$V#ld50d2utktXuoJoL2 zO?Ubz+RFG8wUE(hKb+UO1$cTV|)L%;(IG;sJWb;*bUPV_?+lW^%+B*bo*wT zO&G(Rb@+4~-UK~DqsWezODOFBX57mAo`@)a3LWV!YE7#G1djrE(oY{R6q<=&w__sh z8RJ%6*x#b|x*LM}jI<(1`ezqzc+!%{Rk?QqN8inJ9tl!PFd~kEC(8akQp? z3x2Ae#P|WpFP`8wyYIHx)vAuUG`WVZX0Q2;8JXNs= z;SDKGR92_cO|h_Z$jVvV64Qh2jbYsbW(WSwOn?Tg(5W@}Dmwa7bNpx3>QNJ{*Uti& zxKVeYG^0ZjQd@g7%Xw_uUx@lX^<*I@{>+6_ZHP)e*u{aG_~+;V$zxTonJLs@-Fsx( zlbSCX#qPYfs+R4Dkk6q{z#fCy&G= zCRJ<5JSc~#iMWyo7-EAVEX(D+KvP9QBZy4ca{zgZw%#4RYx*9)Ig!4B93M?j5H?d9 zXiHdj8rpKYclVHqn&HOJ;6h+z2dIkwD24pT0;-4yelikMrWUrN10Io7kq_KMb4sL4 zsti`#{iAi*j&Xx7&fq}|eM_d8)@OpQ7yQQ^O84QYuR&42eCJ>F(#o}9V9(g#dZs<~ zXjd$+6c}Xj%Rw8ncD=~T&Q{}!nZ*!{;6d&%rhoJ|Jf_xBVEJvdgu1JFJ@7R5@2&PN8pERS@!XiC=xIN__bG66yzes=mTe&IfUEaV7`$!w+db z!ogPIcGy_q;&HtEPJm7R5S9`nax@lH`6tsw2>!h)j)*U$wCZPe6^poGF^i(U*QDQB z+sufi(XU>+Vl22C_(Ux9yb@UkUTQtq6sEV$?VaO(e!Cqfxi%7NSNMqfq?tP{@{?>Y zy?9U)%|Heg3bX1nSSo(D7`1%f(BBi`317IptDzBSgsdHg&c#3yeYOUakhxS4_BCr0 z3*{=^xNI>6!pJBP6YASs#Szo-$B(ODX- zzDyj1L}$!iN>FS>>>IhuwmV-KM$h)wrC z{%-C85WYqd<-TbLB_AD(n_P14Gcg4;!C~+*cRmagBwW75uwgHjsqZw_@^K8a1yA@z z3|+1I^9W)!$6TI2sqF<{wh;SzYt0jAeTV66ChxshymU~}+l}?}#R?^kMsZ9Ty;R7~ zMh&hm~N6YW$C_;;4qu2q=;7qheB|1Y8 zmE1B9Z3_y)f@dih?3o`T8-A}a1o5pPfy$$Qms}>x7bK$iTq3*bX=_jc8*{zy&mO_s z$OzG@v(HEV=o}fo$Sk?S=;%MC=NGOk*&C|pD+(yU4pslK!4g47^@tvOX%zUAMex01 zHhQ|&{->>P?iiYgu+x(Ejy3M)P4<)B-%r2X)-g;kV>VX%DImdS3w(ll!Z$N2LB>l} zvVcW>I6dh4^E7c$CDk#n_S@r9T>sY;I?lfaB)rU+bgJb|ynmHm4*b$jK_v0=K~q_> zTw5TEB!=+nGGZ+ryUWO~+#_@ptLti6WGp3-MD!^)YAgw7Ae_+X6HG18{}D%ZR-ai0|?Q>dTx!%Q;Kgs_m1eq?PG!*ib; z85xOqj5w`-D89wQB4+A)W@PjqZfSf2QZ;UsKh`-I?4M{mHxks3%!dqI3kaMVCg-*- zLgqmNf3(U=|2X-bgrsErA*uF5Q14ajv=114kD=2x8OVKn(^($I4>R|`BiA$n8D~}U z|0`Z=)p>4jt~T-WE+T4~oCX0~6*LX`zh|3TPs*%DS!^H`)v^gR^VKo_zujIeJ)p;HJH2=h(*~MQe z_J@-(P1c;S2C;Cwm`Np2x^AGjUj&Plx}H}D7Q2M^(IN>Vb{^u?eoHAv3wJ!cD2Rzn z>a}q|NePTF0zDiq-ica)f7|T5Mtnnqe$qIh-%SL@{RZelfL+&?%4yH;p;pz>x;_(^RFAr2k zXN3!6N%D#KOTVHryDZd!|N4V?dc@D*oGXcOWLM}g5`Uz8j#wl!ry|HEr$IvM0nBSH zx*m}YwbOW>Ex}LT{%{Om;-T|<)(ceyn1NkeZNZ`|5#;RTG=!OaZ?aLCU;d{4X;b{1 z4<4Dt?=rG6d1Mb4yUIMeP?+z%2NNrVB{Ob#LGDcunZ9=JunJFqOnaR zDIIZr=V4hDh?aozCBA@Dd5Qx-my3tvO6kSW-ngvnV>hErgBWv9E3}Jv@V7=F+zKVQ z6>2k9SGXH0s%_(9>vqJ$!XBnc(kh@HWWE4(bex z=}t-%%-UtIe(E1Z>8XpEt}GmAAx3>1B^iL?e6($%#)jV}Y(F~s9QAgeKUyG>Ajhry zXf9NR)TxRq-Y>6iBxfhmk=ybJVqgxJ=;;8qSQ?s75N$%5)S33u+Wu)Qhi>EwgCnGY zaVB4vOcZ^2Rify@IH{WTN<@K~Isnkob*b&rGGNmwuij)!SzcJCpMJv6vf&gr!26Y!Pi!g|KhWsMB8OR znH;F3e0Fm1<`2+tRztSYza1seyYTEeNdq5P-`k*-oBmO$su#ew;{IG*W7krp06dOU;ytzRN69aZG(%TG?(la>t7OQjbZC(M_;4h7P)mj;C#ohw> zHHSCy&wOyh)<(F&6Tm>=qHTQP^7W>@;uKfbTme@L@msKNAi-W|7m(p)sve2v)dVqO zOeI!7m_LMfk{GG>p(ls|FCEzs~P58%CdCvitu%fqj34BTn z&xfT6$A9Vw6G_HxNE+i{%B(tTDDo3?bBhUIX!e5Jldn;0{X%<)V!4E~s9S?FgI=ImU{Z!ACY18xswHqK zZ z6ok6iu2*ubGO(}fMPElDGta~<>_F3jaih3Mu$w1X6&QrGTFu2_yNyP?Mc@^EpNmX2 zl3Y_r=8z%k5OCXmhnXiXB~|zf>{u}{3gbKYWZnS{yA7!f30sAKzXNpvx$^m`io)I| zYXS+AV)k{iZS!&QRi6*?mOY77C7hPQ0h~nnQ(ShYhBncB1_X6`y!Zy!m*pegB)w&n z%8prhg%Z6z{naQYEly|7Mjhda+^8Pr5A!xM{O7uKFrI9ign0jUmeH;0u}*vQ{(S&HucY7AJ>vIK z?&uFw#p@&Scu#7iQ}`rw3yg2XcW5fR$EOC%#LxGCccA9d>d{q*PSyQJtXbkfl?MfCOd$F#E7I7}a0^#T*@EAQqegLPS79LJx@0 z8>m9s|4tb|>TlQwY!D8!+#%;n<5|SQUAm<1gI{jh;;-*8ZkTa}7TsoL|DzV&Cy9my zVl~{XXT*jPk2|8~AAEOUdL)CUl~qDcsKqrqyTsIUeFbIV-E30+B&8#|ok&a|E=AU= z^yWvB+qdT=&*1-(ijW=}vWThnX&&PrEn~apV;^%UVH`S`W+z^LQJ4}^ zB8Flb%%fIUK%$C1D)vI5B=w2(oB4hjhEIM!WuGP6yKstKp0*v}=z5YIbR;|Y+#p}2 zRmTz)Jd`Xw3#l|n=q*U+Qqrpic!o4Q`8)1ngD~Ll4Z@Gp z9LbR*;IyiywHr6)>K*$gC7SLfX<4~-<9!nrW<9n@_#-!o=T=p-4Z@}+?@T*BTwGzq zDA$#jzF~zY-H*cf`19#I@3NZOy4WW!9RG07c|X`Z9Z#3#==RSJB;+32VVq3$OMRwq zqO|q4r8W>y!7~?0$W#!M7@wq?>&m?!QefuJOV$$i?o>)XOT@589OsUU1^z63=Em3n z+Yh;Mt`ZdnJ-<+YGbD-zUPN-M(@kKttv9|UV9C{6Y^xXI>K1x9{amc&i$bgT3(p=F zvDiDhA&to;{>fcapl^XnZMLM)|hv*IfmyNKg7I+M*p!tBMHI4LNI30fLJB4vHo%|6JIyNlgXa2K6ih4?Tyu`R*kT@L+PLdn-=%p3-iQUdLxvdDr^M z53Nrx*f-viM3{Fu4~Z^WF-W@zcZ6>NuXQjO2=B8Wmc-$soNqg z5-$4S)L|O0i}Zf`V7Ej8=0CTqyIgFu1|$=ry4#@xLO1u$YS< zca!5&Ev zhF!ved+=rnAO5MvTl*~ZABQ!24ABjm2c=CcA#0;46lC;Io?P?Vw!dZ>!>l0H%$7EW zNEv3SKeq5^snOOFq{LFaimoF_%463g80@M@+5IWos(8nOY_`;oFU!>5~lP@&-svlj|kpIWjtlCn61(RnOp_7Wj zxyhxeYr4JgeE( zB8=WY+qumWXQrvo5S5(tR>P5woz-J;fXKg|5B<+a8XdGLKkcC+cQhM{@c&-SEKCNN z{0=0FpcbeiqC2Va{G~t=X96A3+}fJepyLAV`}RdQM}!lJp49y-5;|=@p(;n8HSG3_P?=QP4in znylHG?jSJfTvGJhri)T)MCtuRd`EfOjn~rBVp7ez41u$WxOyE}CAUHpVs^W3g>|C4 z)-7Ju=;OTiWz>H&(4WV`l|FCs@Z@A!BKA$pAq!rJ^sbMK+UM3*H~zfwc@W6G97R#% z#)!ctW&3144v~tG)oMTjGleRwsF|4`-&IJx2b{sfiR+fND~KCgXFFe4zg7`U?-k29 zD=zQFC;R17pV;E}W7iW7+oot-;x4PsHelcte&!y3>tpP_tE_Y#neE~-(jRn(Mmnb? zhIK`r=cqCJDmoTaJLCHdL%+^a5)(DoZP*}a7;$NpLH4hQ;BTN(=TTIrS(miG@>>{Q(t& zh8C}zvj(0nuj{XZ)G)cK+SHV=3J#ou?q2>ch1Jzz)855}rMoTJx8FqF z&7X5RxAQ0Kp|;t;`^6FKti^B%wVy>_rn6JGE;dgRSM*bxw$j8%)oG4%@g>e%6%B=`dp-2H?U$iWc~oVk`TQU37tpgYM)w!pv=Gld{=x#8hMy>Cy#ZS&f zIM$#oj$0kT4XG1(($Bp^S z#BCt2EX)PCq>?_6;@4NQ_o4A=*`l&?d9X-X8y%14XL<#~3vVy1Rp-hzdI#@x>75ku zrD1LF-MwCF_3G(D3Bqz7r zsjth=pF2G}kQ`KYxLC8DTc8y=z>V+g@t)KD)>exi7FKvv)}y+bbz^Wb9ZO>|Jxrtc z1nXa;0-Ka1=xWm-?j z!v@C;UTeJOGrDD+seIr1rW>aon#OsPtD5tTj-LLmc(GjBuw?InT=kcg`4p71=eO6% zRlnPFWI258hhY--mDiAX?)X0^z6CdQq-X}pE81*YdkId?PqK2BaL!WFQW&|@`KdJa zO2mFlck$)e=RIk;!LiN&A~SSt*#{nr&yAmXzocW~9h`H(znnHu{X+kFj#jNf6)9(4 z<#SL={CzQ~f?VVsQ2j{s^&WSSeHxE_R@YlTZl9zgA6(g0zD?;KnRym5ySA^SXxhh> z5%(}E4+FzM)vXMzm#;EuJee;Ms%C@~y_`ac+kWV)l#0sNf50iiFM7s*D5&}rrU3l+ zt^+`NSLg>qEvkecYZ!Pc#SnW_%G_-gqsd+@uI(&8?I4=}y=%=h2fyLzOX*i4)Fm4x z`{V^;`yJ;y8VfUWAu&Tkg^b^LoEkie5>0pN zow17U8+U$of=rfsoqM&uzJpT8=hxyIqX^`0q`xh;tSnNHiDyjuigW(a#;W6>;tt9C z+mWHDBMkEzihH^WJy9qmCGGH`i_)rDZR3n-wk(!kD2+=f+xpKz2_|-40rq96Hj+-YgH+cr8uQMG-szRf6C^TNnWCZBPXvjuh#zC<^n$^ zk{bg|EE?SHd_uK;EIK8(;*mWo6-w_I0B2U{D4BeK901K#X;shN<*OAQpSG zDf7{=ke0e`9ktK9cba+tl?oP&V1d@)HPuADl?1(M`^O!O65VK{{_mE_`Q(Bd10QWO zDobxrGE<-OI^Yq7{Cf&hGd|Kr{F5^1ZT9#)bz`GXY_H+Gscf)I*t@WOgO$J{qwHRN z=vFT~6?KVh|B%PRVFG2belt!2+7`@$ykka^5^4EoL1XN}YMhvRYGaJQ*HC5OlIvp| zM(h1ki7}XIzo@45+zR~Clf(#Hgz3(i?eF`XCtM^6juSca-JBArxcC;6j~9+-si!$R zyx%iw9Z))9jeBf_l4p@+U(;f+ov5#F#w;=1rSy4H<1nUCK>qK0OIe&8fG_`7jQwF5 zv|GuXIXw@>+8DR&q8%r8-kY5S$SOBHRnE5QWuKntpb?}~*?;>)@p3$kl1#zR;(RtA zTq3al#hK22WU`gJ{*QK6iML%wJ~q*1CXUg-J8+Kb>q9+V+7+mK+&!%9&({Y1enH>{ z1-h(mu`M-AS0h`1HX}*tyZoP+x6S62nO@*pl5f1f!bGu(E?e7twc)B#{y#;2-fRCW zA!{QtyH=%g3c9Ido~02KkW9p}Wj!rV%crvNCz3j(pSo&1c-K{xwk%%SiDRbXBFIb- zKZVJochRKm%Uu)ATLKtUevd|QVqZ9;w2k_A8!~wDcm8LYbVz^AA0*i8V2r6ZdIjRn zmzS>HIfy-+@oMJb#K$q3Bl??jAe5^PJ03--ofHt3&DiM8>XzLAy`!Y_U4 zmsB;OdU8O|OQW-&E_INB%IkVx2~C%2*x;9DO^{O&$-QtfuePxy-}?+g|45wUvKEA@ z^R45H9HBz5H(|=DQ%<^Z?XqT!+Y3M9P>3wjnap!RZcv*MZq!${*N=5jS{@x$+&dzR8C^}YlP^ZG0&GOC3C{Q6tcf4Sb~ z*dH!4ZzdOvD~`OmXYO%ct-6s=@qfsA%do1}?`s$X6ciAoL6B~cZjh9aX0vIeySovk zJ2u_j9nu(dw{%FSwDfy#&pE&6e_b!1b?vq8oO8@E$7m1M;*^{&TvE@yeu}XaWq#%@ zrX#ET6}Di4x#sCvJmZPZWn!kur%+ymTZppY-duw(gH1B5^v`MiM2gQ>fhL9!r=%sL$+ z*kMn_1VL206C`A23EmK8zjkZdc%n7}>6u(_$4CmIBmM8=rC*3i&i<|u8%}4OVPP>o z5tyrsO&%`@HtCOdd#Q1X$x|&wQCif48X5eUt8lD)!_cyNhxjvDgI#ZuasOl2=AtY5 zG{T9fd_C{gZy29}G4;P3?cx@|Q0nP}(ZiLjfypids17Mr=m_9*S|+jsZ&$Usffif9 zeIJMd%D+j2a51nT6B6uuk9Q%lp)y~?n9$)lv6;7njAH6HcoQ-|`i~0ZegTm*1UKb10pw>Zeul`v7_tsoPMX6eqh*7Ir?EeXB z2OWU4zPS+Fdw%A7T6<&7#UECo;^qxy_8jV`Od@>po7jzYabK0_N9ct*lnMfHA2Fzu z{kQNTO#lCs#t_H0S57i2k!vZYWXap2K0Ouyx#8ZD<`eSR1)#6DVv03)_r#B4BR-=UDgs7_oO)2VpbjNmmLS;Fvjab7__{Us{sY8or^! zOwxXnqe>Y4_qLAd^X4D!%Ih0qJEH5+FY2)p^DS^R!^`z!sC$I}f%G9YDij??=;L$W zg0dkc<%t_4M#0Og@hT9wpcA7Pp92IAd-?2by-1WH=#7#X?}~Uu4|lh9bxV5k5P0yw zrH)u_7Wr%T=NGg6#pE)WfWri*<}iqX&2N`%k9semspS$l1HVsk8}EF`WUXJ&c7ChK zbCb>VvL_{#bxx0fYJX-x9Vgm2B%LmP9{<`IBikN#e|h)8zN6&(_YCKpfCTwBHi969 ztRy380Qn>fC%4BR-jF;90ObTBpDT}F)RHfu&}hp~me{uTF&!R<(Un#5A^nlcVoIwh z8(F^@B?v_@=B2kpM2ZRW@zohdp@Yxv1OB-8)S-ULmHG6#i0}sigP6abu?&xa@v~@_ z#YT$Nv$uxG?Ib-@D`~*2(|p2d3+N}{uxT(DeE}qj?n0SSc~n9v0hf!Lb^(q0xa9Ht z5a{)}+smOntjkNrXaXm3YuEP_+2VQ4RPeyOV*IH3#4%M&N2-DQeNEp7GrS*)p9{Z* z7z00f_@CmoTBCj5=u+XRzDy>fR&0!+>Gy!@p4UH*4V1FO(9kfbZES*Fcl40IY?9g? zBQvNK3FAg<-ZR^nnqYk|qW}nAF_XyC>eR+m&`vT!_#mEut^+_5fjLhxutnD|#Xy@8 z_@ny)8s>nYIm>*uDIE4#Pr$rB@URzsU&_Fmhzo-;-Zfmr1U<0oT%V{Q^YI9p=k9ZT z6kc9|btnbGs2eX%;XB?})By1QQEOk&o{-{btsv@zVUD@cj{y3S{yQ=u#yuvYcus|H zwgb^+)&OJ+MA@$Ro^ohBcQPfdYc?mN=32k?GR%ReMBh@RjG_Q|dOfVGsLpV&)k4S9 z*oA?^?1H?{mu$$&)QG-VjKRrWM~_I^VNc1h(nq7swZ5-1!E~RDmM-aIqG1;7OM{*2v(uR_@J!;RNCK%S@ctcZif>1$)KabpaBXUgn`^^_-~xq{ zR6CGW7!XVsI-;TD>sUPSWaR9CAg_O@M? zXjRb7M6Ze@3CxeQnv!X$G1Dd#29asOmB5aC0V_xSl&AcOVD)fY6@Jm;a1;DpTcBAA zZt8t{u%O9l`7`sb>&?*1uE>OK&}dcVupw=2UOdBl=dwtu7faRakP}D%5*V#H5dxvJ zsvvmtjhQKVEDOC;aJn>n6zlo*%VZd46XiI;e;_RAzJNc>Xi;@m=y#SOeR7ILb>?;f73b z-Wy#Par0oLK_7FI=e&-k99R;?ZWQ+gd5o2)_DjWWz`Oq&jTMIhMbchvP>(SnZ_K3t2+;Me%s7GUzQ1w8Jy9`tMfG4FMor;I{h&G z-@n5=KC_Ls*!k02wofSe{RIiyB*+*3ckVw#>7=syqi#$^)ypFD3w=R2PKOY>A}KODiujR&tk|_!t8yK%l*S4b$+5AgfTXOXl2Qy@4Mjlk z=C`Oipl3M3<%u`}g_!}#;57wB?!@=SV%#*gSaKrqPv`m;!bHjs~+mJr6=+Sj4F z788q5UiV|1nQ<#}2Bq8tIJ?ohaUBQSQc7Mv0g&=_;5SWlbhP;$a7q6$H#cWV2)ZF+ z;Z`g}=jnf6$r9G&QXwXrMup!U0b&^&1>K#nZThlR=f3-D-k#t@s%rZSH=c|QIw|k7 zAI!D!6J?rEz-`NyV4-`KG}Bmp{|y_~c|6=%5@Vqhh$xKx7#h_Hf&e!@{~)?ZI$TTP z4df=YzmogBO&BYmz`hlM`&t9KbONX%7W=}5^MH&3F{v=Z2_m%wNo_1TAktoOHf z3-li`j#jZCZ@wwS&So92c2tp-xrgF~Nvq68+4+!Bso!zisXJ%LMggQT=aSfZXspOP z%F%*|VetFykD10ji_RC(zaWhtWI)G|yP5;AR+9$(QYtRwjh&`wI`Gz;q$G&bDqSu%OKHvH1go`P9E95x=WKIIkn<)39@Kfg-vnvOmkg16|oA zVHa?*grLH!F;+H8>m$s@7TYXS{4RX57oNk~nDY(IU$potKaf3S;)=w!yTGw?Vvb!& z_7U<1!zvYZ%J7S@>1nZ}6%oTi3h14rzy+ui*RRbEz%3>g`j|GC)x%3rWo z^eoP4**CWh6hTvYKr?2Zo#OW+@>S6DOGc|R_vVS61-R5D3VOo%8+Ib`kxGbs3m zDW$cf2C(K$k$rVRHy17 z!WXFGWPC~@jTs3;Oc;sxn~d!Ps;`l!u;u0c)tEo>cZL}`LVc6F60j>%k$W+!{_+zk zP(Ge4O;K1NNFQq~&u}dLMJ;$x`dvgNjmPZijLIXpSU9ldk^u-}-+TCxp&eZe{KzCh zZvkYgU*KXshgA!>JTkjJi&_y8i^*8WCMF*GE<8zG@g)0U3vsdHgZVlO%B#9*N@~GH z%eMQ$X{o`vo#2yoa>SQMDQ#!3$kGBq2RB`wwTKT%%nLbT`GnPCoFvAlad1Z{x)C_(w-0o`S-D6n0E;-#fSeHr6l(fG#|ceiW85=h0zSr9=EGG#kz60<{ln2&;jt_&8Qn*^TV%WSKJ4v<<_375Q#j2j z&|N6h%lJ!TDZI(so2OM&E|A*T9ydPWPv(pcG8_NVEG`-i8^#$h1&Li|XaCh}tn-kj zF6K(XuWrJ{YNR~o|hD7)C~6xs_YZan&HvTK!IV4mVk%x#-#xzwf&njTa#^8j6g zl3*4%Y09vI{0f<1`U~I;4=?-<~_1SbA7=a*0s-K<7nQ&*5l#3k|qV4~%_5RuE3lJj1p49`C zvIm|~0`6EGyicuMbTEYr*mZ*|8?>~C6XcnB~2!^X*=F6pNAXR++ zdrIx}fL3KV>@cy=3@2%$z}(4guo~iitzy;bu61ZcM|?uTv1OWh)AzJ^kNXvMJ4rJG z0Jg$5vc6aqTyd;*8E1`=eH%Xb$PO&p#4C+}zG3xMyW@}3Q%4SzXb!w@Za`M<(g&_1 zBY+@`4J20~7l;pt-u~Wz8({c5|1m6N z28iSG)-TP3-sV2e@!1jOv=MLyXJs&SA>jFB`3fZ$Cn~HwTzxM-h^PYaY~E1RpsCZk zsyP4#$jyDX>-^J}*J?E&Y~cvO*f8+i2R*n&<)ZL@uJ2v@RPY3&cqhi^UNjq=P1Qpg zTq&D#js6o&CDC6f(r|nK*pM|LJK-f>&=_Y@vIxlB@naOAEN1^MBL!GaW4T`C{0O@k zs5rj~^$(H`j}3@oh7mq?_>DtBiI2Mu48{R{ezN_!B_`Zc?Lu@N_D|KADtOn2J!Nz6 zko=5zmonX6E|vXLGHu;lFkDgP!+j>s9|13JR;ha8P+03GCI$8Mm*8>k0Vtwcxz!7b zbZg4p7!}3e;Kbe5MmH@G)z{arYEWEf{RbZ|^!z_r(%<5+Q0B0#QjKyscOL%pvpsE5 zIJO#I4qXV@i%yMZ^hy81&<=jcG?oE}1Rc6P#jO@j^Mf=cxUlrU+=w#Xdn*cFaNB-@ zmdM3xJ{1>~Koz>g*boF5U@`GgxN2rzfs&hgWCx4RMpdb8sbrcFU47-_M=>x1teH?5w4T4 zS4dOi_K~X|_B$P8)wA1+%smqk^s_%t)H`v|YKoz1Ck}@R$?K?!aub?k?T~YEp~nuP z`u$j_`$LY4fx$!YZ;{wAp)?ei(tHY3fm&uP(=|e>t*vFR zxx~0wp!s;l`h#{?>+6qNvFO?oH-FpE7YV6Z5?EKae~hHw_p>HL=|^O&tucy$sMUdG z*9*nYE_qt`>LsI7nr-vKs2I>ne-)BJa~%*6KEbrh>Fc#^k3hLpe){b zuqYZ;5q+^0XaA&_q77IR%C`je4xw+%2sY^DoFh~Lt6t~daU?6TFV}%3x-7!z>7it- zAV8d%6WtMXk9BPn4}STOv8n0R3Ci+SATF=v$ziuXL?FJu7hmGU&ud{le?!mwr?HRx z?neTk6Y?KtqB_wo=8JQgSo?X?+K=v(!Ha`=sh#s9+|3CYGWX|Q)M~kN-^oy$)=>8? zzxsbxnen8M0K3hE-I5K*27snc*yhUgZ&TBfIz_}_|4}6jDgF=tWUuGTVD9@>~?R!C6K122_7 z#(*IIi$+Jsq@*+1k$BVCk$9DctPp^N$oK0f3d{MERgGWm`VIS6!CH-p7dEzDH93i( zaszIB!0OSD4Qoc3L_d$#)b#JI150Vp|2yYP#mWEpO;X2)K9Un*_%TjHA1Jc!A3Iu6 zVKhu&ZAL7J0n5QJU*J*;GslY1aij5Q(;4U0YC}VOXY4+DR}amSH)ceAehp$OPXBI7 zm2e}V-7sKL0d)6Cz`>1lCAomH(5Xx&KK4u8*@tqhvLwi+vXg)rUVUc{%wAs#g@$ij zx_;>k9~4=S$I*i$+r<@uz}WC#6t<9H%-)_tuM@y4iyr?R9G;TUqEWGz1*JWH!EK~u z_)-#I<4;S8X1rPDIEf=v@ficmr+>$2Y6gG|>Fer2U%7~wir2phsmfsPtp@76<}^3Q}b7TS0yOzmjz}9Rpk-Cz(ZA$@_i*h`qG8e+IGcV>CiKxg!%X)%GZ^ zoWV4*v;e85*k(%stg?_rs$4^YvblU`-{S7E{Cc5g6by`{|0V~eZ*U;)PiN@*@i%m_ z{+>7K+YFdL@8yua?hx%zk$Y2c#w6FS-ieVV_hTQ<9`}DVopEQFDkKgCbO%QZOooO! zl!W95Iz~4kAYwxQ_arJ#jB9t6o&XW0+fLjJ|Gfo)%;2I^Cr@sGWaZI|Azbq%8bUOQ ze%%5zNx5=kc1MSbcs=-OadhEGA3Ob4OeN{R#VBsr-7WJstm3c$)tf&a(hC?|K?x3V zk`k#so!rr}J|R0f-V|V=63+QNG=L*{?KkFM&}pqm0tR+_8nwoHfqdRoL*8~(*uBGhnw(n`wZIBJO;sh4>> zoZ{d^e9#)AMrx|q>@;#5->ih>F9ltkR!TCu2md`QYkoqdvE{?ZA6{2UlFs#`{M1|~ zMJGM7tG`H?<(}3C^}vW+X4Xb!>%TZg)pAd0197JxlbupcT*!(G{$vmN``1AX2;une zBUz<1>m^Ual46{;V`lgx;~Db~wiZ{Ntz#w2d-5!8W};@a>OCA|h&BnxG=xXzG&R<+ zTTy@Ok7|;Uz56edj_C;riP=&Iy_5;zpv2YMN_m=8kk|DHJt%gqZ<|@J7hTc2db%u6 z@`Dw|X3N8dEN^0ak6l}E#f$MTsGY_K6|(=gS-+ai%wV=#CTXSf$vcs-u2LxF91ddg z9~jx8q9*_b=kfQCl00#X?{WiTgPJ2XN`)nLM(5&(K;G0WEkIaQr_gF^YH48fGa3qSl!!&)=5$%KD|ycUn6Yn|4P zx3WBJW;^jY(02Zrhx}#F^3prqWIl=QVko`wyOZ$}&!!6kf^1YxrGonXUBmH`hps&d zL#=%j$H=?hc3#c42+Oj826JmE^t?NpBCN@wnrelmI9u&`wnd`RhX|%xpBWJl5Z=CA zb#8|I+14@=yedrP;dwVt;-p97e|9>3;m$)de1A}q=a1%|vh~SD#t_l7x0$qM~Yr3fe zgAm_rSv%3Zrcwu7u5!hNUs!AX@7xhg&Ho6ofgfH*oP2^tvwPGH`Q1MAZXSw-m0uTY zGa2%;ytp_9ON|zLlZJv{DJSrZ>s`$s9?KSMgb^`}diX1c_w3u#-hW4jolUf_(a{vT z=(gEJscOH`DdCHVo12!mpR9dHRX^@;#cOJMzj$1w>DG#n8BA{Z0Q_G9smrOdKG$Vo zSeXW-LSTtna_NFklaTi`Y7Ro#*cTr2CFI!|TY?SoPbLv(Leggl?6`kFw8LzJjuA3c zYsUNgicra^u0UXzOEPpWy=c%2sZXCx1jk?~Do(3K+<-YTmu*hG-@NYk6~bFK(Vq{& zkETk9Kf|Fp$!ag56KK`xseV%x$?0@RuUROHbMZB*QzsXh1#!pWF0Z;ac*W^~uW?8v zBKTk2sKuFTO*%{)h#&JLnz z`YSzhM_hHDA(%dR3SSexNJ{nAX{-l6Z`Xm2Ai8=spS1Vg@&1J3dC2p+x(zeWWu~(b z+kX2gC#7biQYYKaadiBFhqvxyw7?!BcMrRAr?A5J~rR3t}Q#j3W z3A2w_^mfjE)l{E0N%Eec^mb?bLPubHuJ;W5ux-e^bwh~Yy;c&sQ1;H=o;zvioH@+K zGN?58)nt}-3)QKV!tf7;q+ie`=O__9v8I`*}q0{m?wc}8okMAT7*=v+;07l)%9ZdCXWMO&> zuxeh*81ilJ5h80KWWq?{EA(w_$tSphuqhByfE(6CG!4Q#%tv$H?E=S_$uD-lcH~ES zP>WBFgv0Fc`J77^y)Lv75fM3Dedd`GPz3MPnls!bo_(6# z3T%TG_PKA7J9ZnEP>I_p+bpGu(sQ{GQK8=DVZE4IzI}kej{bLxn6e7@17ROH&=xy8 z{M0z?7RWSAXMU9FthbuIToyW&m4LM!zLCJ@4BTwPb7^EE@yZYA-j8wekdrk~%Vyt0 zqFo6?+I@tO=|=X?NF?$ahMDs4n}SS!1eI$Z=#>T1v$BrOTLX0qcc9$_`~`PshJFtJ z^Z@{-kcV`1N$LCRbRR{BcC~WKss%{;nn$6~xr^E1pXKh@ z#Vl-&3_WH<@csU#y0af|=HWzl13SXzBaO}DApijub2-s4G7dgh@!q-pinkII7pGz) z9ew2bir0}lYe^fTSX7~NDOnS54Q<;Wk&O2(wolWnRZIx0rROeO9YO0t5yM@ir&LNn zTP|2zPlG8NP3pauSZ&6_Df^I4ll`O^K8 zN^2X#;LF-S5a?FRDa4)K*}oirx0s}s;yjMYCj{)s-?51jkHPaQW&tz2bq+8$_=|4C z_u-Zf!}}8x69(26@A)*^+%gtDHZAh@(8j0K{|RRTNlzCA=W*$NF> zhqS*`m~}l}bb_soMMPrqo~d}|tA3ffQQ;DHjC@D004>7X5{bV@dIbs!O0f$cA78T$ zYC?v-r7qOg*0yzyuO{^DtDme!jbm9c`jm53W9m*uqq<2!1;o@hQvc35((j5&@&p}c zJ$#=GwOKgC(ql*dIl_qf-&3rk1Sr?+ETjYB{UP4n(wB=%KikTIbIXZ|yLXZ?(^3gZ zn`S|ufXAA1W7s6=1hq$sME-4IWwE}01W83A-(j2p>sX=z#lAKv<#|j~SSkL@Lxc|6 z4;*C71{`FWf^@r&QqfJl2;4ccjVw4#t+Lv2D(1_p88z4G7&!ot@UzTeT$OH7wfIjc zUr)pITOOw7W{h;wk>7s?9us{t7XuU1p$C_-1!s|mHR0D@ZI=Znk?!pwzQa=7+EW64 z5oSi_5iSRu62r4ds*ys}m2-+XTgpZsOwRpn)fL*X#_s&sJ(_f}N0bFXqoin^PhbVQ- z^A*0iZ##9zH3c6q8LVt3hwpnU>BVDB-kk~wgJ}}^XPN+dnF0P=aDH#=E5B8-3$Gi^umKU%sIx-6i7}Y9}GRIJ)q2d2QX0}JDhgfhN0L?z_n_w z9aW{%>fqdCZb#qZlB+L4)oWh%vidXSR4Hqmt;Ba{VpBs;B`E&KfW@#W=Z5dfjDz`rg7_LrPf%3xwl zVKQ%rQ@Dn2p1ZKdVDj#gXkYI{5*nA-3^}W>tImHp2;t*eQ5ey`fFbEnYM(zAeul7I zYhg#O33rMF_gIR9r-gq&KyhKABolNn#R{k_!fm-gn;TKpJt&8An2k|DR8)HOt7t%L zfxo~1hL@h6-WAZ!pJ?~FN7`j3*Yv&m6OXj)i4Zny*X5WEDDK-pcSvaCfmG08?$M}S zQzI+X+qz)J_~-(9YSloyS{-V1`Da)O(m3Iq=?Fpz1*|8yj7S+tzWD;xd5Yh03dW04 zQ;ANLbabqTn!`gvSlc^IX}b6q0b@4h#Ji&TfH%$KpwalJ{*55HWaI7m99&oT0b)H=4G?AcqFffNNX=o%|6Rh5ITXdO17# z`T)HBjz*jZNJTkZRdhZ1rahb z2cM1h>q~!0S`&MP(beBc$fliop+_SU5H|z%9$++5>wabqfkH{D(lAV)0~agM{yA=x zpq>BY#}DPZG%%Oava%3hM;hsV4+u3Jz;yTI3dl1XBeB+bU(YQiFJHwo@88lt*9=RhWp4TH2U-FcjSLMFt*DPJ z!p!(oOC}k@oI#Ow2Ph3qZ;zB~^Eos{v-GXcm}GFwh0#h#Y{jOfmBC&2e6GebB7RnI zhOy*hFzU9o2w#D{H_`p%iSNmSGEGG{*hc9>#brv(nq%X-GcTmkB7wJ5GyCM60jlCQ z_(ZoP5;7|K3u}>D38(*S+LQOuS30YccaOsT!Rw8qX%etsaY^{x+#dQ&``lmaLR7&? z4PW-}%J3fe+btw=Vi6NtM-cS(_p>oe{MP%7+hufjb9n{cdT{g&kg$70GMqRz9u>AN z({;$6&oRj=QH>`Yx&oKF+wqoY#;AvPN0dG=m~a5WSI00^aeo3z$aXe!^&AG}HS&~& zg0K8iCuBO2k0?z$bZkjDMyXP@nU~06Bk+(s_qQ_1D^!HHqUIx&or&Jc8X9m#<82^9 zI0^3#%@PeXuqJu+%1S3}n+I3R_T!8(R{kvz^ne?`Z3Fd!sk{W8Vz}|2&&@9q!raI% zX|dhu3a*L_yRIzCd(bhohOa#iLjH0P|t##nY*K_^Y7@D;cuM>Ozrplx%}Ig!vq zWnnYe%my7Zv?sof;PTeesduhq_9MOEN?S4nC1k$;mTe>rjC@wN8eQU_QNGIw9WujwZ zvaa+7vsg>zVc*YTA{yaLOmkApBOStSc&UY|QS(-?{OTFq=jWz5g~EaPHhf;6AoB*< zeX&S*-(v{t4ndw4q^ex*1?o&qK&X6>ml5cS@R&cCA76JBcQSvr#;HO|l9{)hiU4B5 zV?&(y-5iLSMq~2^p`-zORi}Cxn+wBq$4munWmC%?8d_ksb(3N=*FtVzBYLmhhXRHL z<|wNU7|I!{N})?S(nv1+u=sPbvKe7+7FW3r^wwDm_HI_teYmss!=o9xjt9GXVgq90 z4bQV~*f~xZtVf=UeGgEW?VPtUr3zcP-O4m&1TC7Z2HfnJw ze+s)lXONp-Mo)*T8Si9;m*F5%AW0&d&>Y;g_cnNW)HGIJz^b|Fv1j~~-4J~94{HM% z(fNP-Hs&4&2QUKH>-IXpRz-TI8HOD*By{iTa7Jq2M4t2KVAL;W)}5hCi#aF1e{`pQ zqHJ8L!5f~tMX2bkPb7eyb9r@JTxjn$%Xh`YadX0jb#&|JKKF#;3Ejbs;pOK`$pir! z8AHNhuc2jbG!}%+8Pn16pfC(ppf$w_MPpT!W{r>KjQ0|Zh6RKf6{AC4Ik05DW4-ghACk=+l&r`ic;Cyy+6-TS=tqPzX1dZg=8`eR!=wc_c zzGtmJ(LfaRu-dd+GQwOn9Hr z%F0#g;{1q$f?^ApVNQ_T|LIn~TL993qhO{ibwJY~7nGDYzBiV7H_0UZXr9v#PG(3U z*9z-S1QBy1dkxD@*9#mRkRw9Bj!g}AalZLv=du*4bgEk9q7Xk&LSYuqT7Ax zqq-e{`fhJC7OSFCkfr)di3Ne5L0(pSjM9+hzyXL(TfW6Ffql>fe7Xj9C3^I+@;S`2 zfSl3Z7iHHl1#))wQ(^YZ(H!9Gd+doU8eSdFtlH(As~HFZUms4qckUIV14A!RoI&!G~Hg= zi{`86IQOlrkK)W!>JpNgeb_4|_$tA?Zv@$;_<(n$Fq3lcaQULisKY76^X+ zD*?M@Bm6vWqUvH#4fw#Yasws?3iP?*fjr?F3pnv@JwcWkTEA&Jwc|y{P;y+`5Q#Ri z_JB5IsY(tXx{%+u&@6BPzk1MuR3|#{)GeLj@k8Jl*hi3cjuf+-{$vF}4&2qRX)8O_ z@jEKl7TAe#6%~h4LPH=(JOwSpJ0L|-adxgJc3u7$utx<(CPMH3oeJVeWS=}8-P#S$ zP)k*(exaKmrt+MfBU|EHMi?IVRQS{@kjvA!!JvIfzi29OB{qUB}>4b}_1HGr}%_Lj2KOumx}52YKKEY3oL!O$fc}1B z;_cmr^6c4e8L>*URxJzb1~{seZQt08fj20SQO{G(D3zL?PGMblob;rsQOm_h%i+kf z$@X-%R=(nBhhEOsz1y=u4ORLOiKevv6+4J*Zt^{thk<8E2&R*J1s0b^zku|59*{KC zgwq<^K)*7Z7A-ULH2mePZ0at%lIE>jNo(Q8;`)ap||){OZZ+N?)zJ zle#;_XVc>jtj-zjzRQc)*^8+;35P&y7WB4{H)X=2@*VknY(S z2F(aIE{MN*hn}P|fxMsNHn4RTro3tvihRTox^yo6T=591OApk%Azr`ldyzDKwOLF6 z%})-~;5+jM=yU62VpuA^eP355Pfhj91x1^D@E}I=_G~%RIu4Q{9G# z8Px)tBUmtXTbH}dC5pr)CejGCkMpfzfw$z) zOi;~qNjQWU3pW-pQnJ26WLV^B4BL;^V)VyRqDmjIT^zsm7bMx2StX zljf9$g*Ew8{t<$&@p^3lBXHw!-_A>b?=^G4uqiGtFL!DGzA^$%`=XNaCTXCVMgA3p z8gC!<(lJao_wO*T6RnwWy{mq{i$@9dP9HmLdxr>OX`A*Dwr_*849@qwBriYxd#JCS zJwWJ4(d!4DKu*1s35hxC5s*&})zxEKd0T*LI|78ti$H5h5$JI&D3Jj}&zR04YdSOw zKeQy$@=_UjD>TEpE~KK`7mEFoNN9J1sn;233L9+t*7vazF&zuPnkQVnFKztkMQ~jN zqI1i%_(~&?wQs<~I2>}*?WOj1iAdryVgYwxB0fJ)#mp=ZLj7r6T~9qEHegi5aiI>> z1A&KwEpHP*|3~!kGaBO$O4a*jXg+I}c!&h$KYy<%lGxtYU_F`sgji*!81in{_A7RaRD1$;NE!Ov%*KKoAwg3ZKU@>u+|T?Mh~5MVOeFr{GF81*$gP^XK4V4TMWi z!qFRPdHHG3kzWCv9L|9+Czwic)_7ZQml>V?9=h{dal}jW;|{|!S+v;Z()a3Mh#pn6 zlfL3C)5Hn=R-je1wREpjk07*N6PQPAkn8+u;2K`bda9{fs+I+`f9Zg+GT>l}^%fkn`W`*ut>sFjr8Ip?6lXEE1pJ=xj1>Lh%@ zed0dKbpktzY%k&UYBv$eu+{AhmsT)~ZuhhPqI=is{>pvC4&8Mn35-`YyX((mV3?33 zWYe^r{}M&R9A7ys%q!h(1OJ5OZ&@Q^Xx)Byu59MY6q4LWht9apU#b1Md@G|g=q(9k zf2m@^=T5m(clc!9rb-iwgGM6yHpi$+9c%gJYng5=G*GgV6|jWs6sdo<0^$|at%rbg zY6cE*1MmsUl5phj{KBJd^KEbeBM;eID5|vL=Fbm}CB=^L+Jb;n@qAuhx|QGT6Z-Si z$Csap=^QPpc;K7tEnXl22*HW!E$8Y7Z_F6BJ*&gK!ZN#PD#3*KiiXe^b2vbfajXZ= z-{T)&R3*vqL~ao=mP}@kO_sopIzAQutnRGIApfBk!0`2z$PRz9_>T8S_GRf_uBh+N z5#B1J!-G&PA|i&s?{;I?1lM@i1d-s*^i75Yge5bOlu9Z~b!M&Bn>dAyVc*7Lt!}2_(4UNUuMG^AHQ0Phr0{nv zViV}W`^vgZSF}sht3mAvUQAZVl4bEUcg-?Ip{hQ}FptY8+Ma*+csT zvAZM!h$^5U?L0E4OOQ5&d@o`*UhvpW4np2}piIg3( zFA!mFf6wA`le4$7G8U<*q&1xkX2x_8o>D~2)?0b>k+6o5HGutMXZN0rEwi={4 zuI&uC+Q$7fTj(J&7!;WbTC|lEqBcINbetwY$ zhjnUOrN7x*@GR>5mcF7Hq5Rzv*(Cc$a|y)jpJfEoe8RYnksJljAx6fuC(-XzPA@mp zZ!PaQJD*2F)gph3qT_6@R)X*q^LsoHuI4%w1&^%d?n+RG$DFN3MSaX=r?nX~R9a9p zNmawBig~#L`z24AnPGl%sFc(o5)N&t$!Gn5&fX0ZzEj_`dM>F|hS`T@e*{!}=~?@JC*Z3bYhqgOqX=+GzSfIZGorXBo>XTw2U1?W7_p22QU z$NM}k1PuO!Hil0Q=O<=Wq3mKSw%2P*3vHL`N|CY)m->( z+*v}uu$(w9JMo2(gNEYQRC(CtR*wC~+Qb}JwoNX$Dv8aXMwBC~&z^49fnpQ#vGh-U z&qPhe=HG77BIvV$p zmY0okfT&2R(W8Nt*jg$N5^N@5&k?>b@+E~G7R0UgaV(bJCu7_bfqTnhZ|cyzU^dp|p}0H)AXrOPDM zf6o5&YlsRA!aK-GuEwH@N3cXK?2VS9g^k^JdDzeUdrZb2I)&9+$6IRk_K?2Aa>s(g~O*H7&YH22U~|d1Z1JDRgMkyCO96mv*L(538J%fl-2oPtd3$R zH%#M;1v~`i9=o7H_Ig~^Upd1v+)^F}PN}=TZX>K924lcs$s$pRw=|2F1C0RQC+RFc zXuwz;2u8+#S5)S>2O;G+uw>x?EtGKKI`{J#6T&77F#ZLt2nVTk+gF~qSr5N-J&o_b zqBJ+$#8WTBftdU~RaE|L7o^{Me)Gceu=ewtee5y&P+K$1iP)_Zj9&l&za<=GFI6qM zx)7@Vpb6|LfI6y801Id(sGv4w!LzzpaLIsQj1IgQ;2LwNCT-0}uvT3Gzh+X8JPmoI zJV3x`U7*}}*ix`pkP%%{*weD4-#}xo5JqvD@wsK0I zG$>}Qy*Y87xk3e8g$J+--NPBGLa$2wVW}v2(=@YbZ_=@4i(I+y;WpW>@XyN!pI1~` zsv_Q*W#hP`0ernLYd}zOd~qSP>YdXiqo$S^g62I3FqDzFXUj~B={flHV=5YoR`vLo zJ%|gx_z`W>#Kl2;)&kTBw3r+S-vxbtuI|V8dBTl7bmG?2tOFKf6P1t-M#i*S58mkj zq$2A8mhQAQlC|j7b^6+1t*_(bqsT@dDXCt?Phhe8cGY@aJJWG+lKH?o+6W+f1JWn8gEW`Xn9oTc#mK%2opFP49bJo zCIk1o{$pB+pT|H5e;ag%o!8pT)=B{#jW-pM1ROhs*9Y^B<3#x5Kuag!0GtUO@~k2; z@`9IQ!0LD$gjseIR$)yJQUXs(c6k!$8;57WUAi077R=jVA^Tt+WQc>10O>YO_aALj zQ7`-#9RufCW~y_`W02lQH>Fdn?@m~N)jz27DUcDgRJ6jo!(`KVCtJJ#mP9Kcpbfz3 zr9t#Jph1fOSY;?)aHx{8p6<^z{4>Q`0Jx%6&W9VJ3%TWvO?lbq4B>f32&SE7De051 z6&EU;`{+)6OwfsGt{$5oB3@IFOi)-aA5iT1V;9nTA~%zhoqH_O>s7X<>p};g1X?iR zaP6#ecuw>Ho3+^D*_wt8v=Z^?TQY18ZdKJlNY?ZMUHeJF1oLNb(`l3&?=4SDy7jXi8ioT+1YpFulqf>!qC%h&{_5u;!37_=Wcxf~`JeZLHZk<3^Ln2osr4KBS1BGZv}GzS#*Pq`rJ>(E1L~r+^S7z9~~Z@lD=z zhDGbP+yh`>-Wsqr2}R*HdmJ3PU)v^e7YEH<^W?X*yb=zfp>ewV>V zxf6#dMVsO=XSF^R;CM;SM7n<*6{o_cd%5}MyrR6^x>69VWTL^pHTwf@%hWwVZgx~7$uyQN?-a`YWcm^bewQ>dP zyYU&CNE_@4(cpn^$`-0~7NaG%`IJ7*zT4{iNQ-jhP^dr6WW;|OC7s~y^8=$MAYkXX zB!6r2`tYJQ?<)UAEjT8|U)JN1D~C-6hEZl#d|5^D_kX2I17M?$&_24fD_f&tRm(D= z+skQ#E7SRzS8JfkF~v3>cYRE64}~OMTy|d5yGxdydo@A7;zmFRGVUq*KR!}QtMvD~ z0E1cknGt@h!;w_rCnW<1=HO-4Z9uGLiGJyq)L?*2>S0d+xwt7&kp6G4U5VLED+ zqRQRk>U7Smcu}s+KNp};mb{de z^KJDZ78jl3-O+k|0-H-#$PA zTi&QTr0;AZLGx@jMms$-&&x6MfMiMZokCS_xV zW2Z8Q4DX!RKt5>Js?iyN3vKv;TVRA+PevP{+D+^6ngeEHU0gygOI{6o&du-~6@H|# zG=q82cvH|{Hau;zWmCgxI)0aIljr$LRhxrG+(q}NY}J8%-jYkkxt0@*>U!ccb=_Sv zlWe=k;k%lka=+}nXLk(Ym!VjgCW|&}1;G8gX6+Am=GS-xGu>UbN@Wu~7ZEe^F-26&`;&N`eKz?I$k#(7We1bod14Tq*V zV5N1I&arx3IquKYbf*gKZ*Icf8Mc!x%2@&z339YF2+cv&n}wQW*^?Urn`9bPPbqKQ zWgQsC4|pxqTuzXf{c)d6rOGJ<&h9iSQBAr~x5Q~oO=uN8<6-7KmSW!hXEK2G&~6{5L_xY^(#5R_^n%_9TD z=)SEEkTg}k>drrzaEAdnJ7R;V02i23WxaS-B1>XI5K*;D^ez zyv_2!@f@joSf*Y+6GeoPxf@uo+)|^a?sBK@@32Wc`<1M&u|@lKlz}BJSC30lai6de z+yI$%X1^=f>!x)q{&|iod;jV_kGqdsaUY$9DrWT@L-GimOTKI4``z=M zdrzIJQ+4nDiz=q~-rc)<_3E{r=UD&<7Sv)Zt{M%?_>9}kXrAN1?@{w;kFr0heZJW2 zvZ_Zo7(bCe@;slxPNd+*X$fX)nQSaRSf$spxQX213$1kA*@~wyAYFxxU#1AfWBoKh zA8p><-QH$|WLEl?ufP9cQ0y_3_r#MH=Dr1KCv(;I1k;Ctp`wm$@uY)Q(KzjDSH<>< z2l;|uEI<5em-!&~DaYl0qE`@0g!ZkzQ^@e>bl<2Y*Ef6#>A{WVv9St1>I)-C`PPa< zfI}=~CBv7L%`r=pj?2d9$PFw-^q@J3xH|{38BZwnrZGu=uC96rmc}LZJf$@MY3Izt zx;H63zax=IHmV|1+>aG0_j#~wfvjP=xBV=~aMjhq^t= z_=Pz%*^083l1<|`WJuHvOFUKAIG?UG%afPIwSI~*`~M6R=}92U8Q7NbjGH2<8P zLd)(iH+bxr>8F}WV|`EYtp`4|?6vLTFw}8+h2`XI+pOVv7$C^|u<9qblHXIIV~U5& zDN8fbDxs{vR{m*vwdZJu8ofuXd_gS<_E$&~FHhIa_`iY|#1927K~ z$chu4J*)8Wp$}xTjC7Dnza@k0IP|G-wgdPZ{|k;_NQP0B>`DOe5_ z+&dBR?VBi)P1{+EJIn;Wt~Ti0L;bi);H=91xpp<7Etiyxj1j`apHI&upUBc4{d!CL zSV8n!LVAS;T~14Xq(@zB(I0tT?GOv4?_P%)t=84t_{E1#b?@G&K90DHnF(XAAwV8Ff(1>vxv^_uzZkA!2n{VO7 zFB(fQx!MF}3UT{d?I-S$j;7(7Jr;URVWdrNpV5?+hlmlkVKXUGH!l(@&pz>Gt)Km* zfA1UhM6HR1#o}3E+D@UITs|CAxX?TdB_`Of%R>wchVIRyQsQa7cI|QEVe;tIj8`&&SPiy^8Kc^^c#|HQL z3>!&fS%@ojq-MY3UsFF?a*tYZm-p&1w<2quX+&u@0}wO<0@V zu_taJj#A2Wxa$SUF*UE4!;z<@Lhf>8OOe0pYRxby1HN{Wq%D_d*;~eSrF`nwSnf`o?1h1#%{*#0b zn7zsvID$RVk~cMgi}v!4xAVjkL=MRIh@Ys3l^B_F112q{k{t!cQw8(&TZUa0A+?U}V9)|B3 zdUQf}TCh_b!1Tyd_jW6VsMbQCJ;$VKI zfo|YeU0|W@gakzDqojExA3aK!d`}BCi=wS6RwOze!=|edl_!-Z1VF-*QTY!nFIK4p zkLAiMELYv&kI6%@H4gw=Ly~pd0P-S3g5A-gV9-0M)P@W7y?&A*5c>4UAu=lOezt!P z84HALl+Hj{yMLkSwyXUd?G#42pGz${0j*B8J{_88WcaDLcJ~p}PNv$R`vS~&Dt6+^ zhf?!Xg;hz0CQ>seI!R%{q%FJOJ&@(Sa^kKm8Nykrxd;9P63gE4oH-_^8B{1m!R9X4 z6RZX`NAPT96f=(q6r z!XYz-sgD%>n3X3=-`}RRoHH6B!<`V2TlV4WubH$j3sxcJUIuMUVwDZ|48cS2M%<_? zL59)6Q_;bOF~n98(u|b%9S$-nNEJTOM^(!}KDmjvS+0C+Bq82jl5umXd@3}o@fds* zzVpaPnbbvt!!YzIK^@nFo^tqXx%u)zu-1BlYmV;CKyiqsCw$Vg&D-wFP$u>;|Y{jmC`Emg&Rhpe?z)~a2_5-=&NkSiW8J-hn;-0#JS zBL2yNsw@gO@GU#n5hQzO^A&ov=}eh{VMj{4(qX%D?bRo8ed*SzxP~g3yxl=k51qts zu6`}g&s%2nrB=f@hl)P081#TH-+m9B_Es@)Q_0miw2IiAiHItWIk`Pw=IYa~xsq`l z$K2|D3sT*S2mV4gN?z$3+*6@6>*)v-M6fkNNS@E+WHT;$=f#Fl8$OJ&SQDWA&0Y;g z!3Udyj_q=s#b@U(VgIa!KG-eEa#G)U%Eg|y`yv+{MO524goDI7yyI~arm7VULpE20 zbGDS6>hhGXS#MF@s=bO!5%aJ{eELuF?Nj9`lU3YF>Y@`BL(cHp({GU1CdZZ}Y9OE+ zXS{tYzWtl%NlT5SKvnm|B5_Ix1Ca4^>jkoMDCUC8D)g#c+R#NY>KI4F4Opi&PY~W# z{7H?{JF3=R)vAz{vQt&fFq@GjR$K9vNX=G}PZqPKD2&j}tahp@)qY5!oeJ64IE(Ao zN0)fulLd+(pX}U6U5yN9&mTB6RCx|pjtNP4L(I%=RXZSsZC6@X>~N)|ZIp`HUXia95mtVf z%#!Q_>FnUBWo~n~eJ0C3TLiVI4&gq$w)7+9wK=EkO1Z7=!;P|~lne`{`%c?Uj^?S) zSgR*LbkQWW55H%~FvtlT&X`y@c=kX2!(W_&wzbHbjHi_9VDB-Pb}}_~daE@xh5b>b zO(;4{&%Ix*qy~ZnKdXqAX?~v77(UR;J720YZ$qvGF-4RtC$cajL%T{d3*i8^S`P9JI0jIaLsX%;}MO!D7WdBB5?q# z@*=yU0f}9sI_uzR-PH84;TyQauL>+c{Q-XDJH&9XGqbTF86GYuRvb6X<55d8U3ZBV zo4`w=Y_Thrr1Fb>{zeOT@slF479hz0)I`1V_kD0=W8#tWH+M)2dN(X}eCn&K73-$@ zrY)V_oz?5d_s;;m!6hvj7fWBGju(>Q?`qW$;}-w+8uYeC8u%Cf?@cIeo4BPY?L(E-k^{2v zq%m;-_XZkLSng5cAx!Pv0G8xnm%^gqJ5x5ws7G;;B?gB5ekWS#FaXmg?a8B zslxK{+i2@iEVj^`+pb}&%y8r|>_gP`sA}y4As#_DL*4z&U&k6es9}s=P#~*aM`N^f z2`g6RbA5i)D^n_hRcSA_ZKthFovL(Ma&VZf=@uFJ9f(`sh}pd_cu(I4G%+6RdIC@r zDuJKQp@&I$`5{bTZ;Fb;gWV0Q;sq}GB0)DU9=Fn^Vt&X-L;gNg@YsN=4z#YVy}k8r@HtR?Y{+D$dIC!)E?atFxNz6;nU_)J z?!f~-IU2mbo7HJ&IpytA)keaCTW>?ayLZ{n<>~3OTpN(5Lfr{O7Qe(7*8ImgUd5Wb zn^Wn}7gW@nn-@lO$DJaDNAeyUYu%JSWS(rl@8tavs#+~O+1UIxorjGAB}L}or|8_*nER_R}IKwFKmIlGjeGPLe*n;~V$*ZioXQ`DYMU~bu5 z`1*eNUf|e4SY94SB`{DnhHlHnx@*M397f5~;w~OTb=DBI;MU`;ooDCd1{gi&q%hV$ z;@|8&)vo@jq+MX2!Bjkxq5t%Qg!B8g#n33-^m4$oUUuC>RGvTMo*svwjrL#7}z+bsC8W>WrE7G~m^c6h+Jj$K{DY`>etLZB|B zzYj}iVmaw1!0U>ru0B+d{J*(OV^Djc01SCX5XOMQv! z8~`T)ThZ-5wyfM0Zi#Jf4a*rxd6MhqXe(8eNuE)btg&5`PiDJjZLqP1EB3Or%|*1I zj(ASXh&mPEr_S)sK93AZC-HKJ8n640mp5BHNy?gIXt~urATx{mfw~Re6z37?}C1kT1Uk zX#y12Lu8+cPX4dxK@~prW1HqA3ybobYUu%oVcgH3gL!IZMfU3ZhLpCiGHE)((^eRQ zY7lKZqaPfWLtGxPZX1UC8T`zl6vj957F*iOaNkjcqFwXkM~HUj0J%la5_c5(bNFps zEjHoob{U&Xv8W|_ny3CBZRdzJ1HlD~j~#OCQx=lZ-CQP&}OPrXbyCW0+xO6^DIj>p#6F@Jh+x z>i&K88;Y{qB~(7mz$X<82Ji7N5!^ct!8Yg|x+ZlGSSW9N?epF-w(8$@Q)S?2kSwc+ z(OL~L{1cq#NNGEa9HCGq+lUv$=l3hXta5jRja92e0^_#X_}q~hi+wy%#HNT(Ja2y$ zPno1VV*GlsvLn>}1b;ZRL(K8Gja9K`i__G6R)-3+aV>dii`3NB>CTcr=VL-wlJZoI z8bdxNmQ?S{JgoJzL&5TpCqewobo%0CMQiu`C(PtI3TUI$#bZ2J~7z)W?{8W7dqQZvBB?beM+dsWhT+@W z{x3?4;YlX4$f##YxnPtyr?UXomo1OB${r+FMyCckd!%tnDU$VO+aj!$YVcvSoHlSL~C-01l&Fq zmm`yj963&OCPvsFIBi%}a_c7qaO6#%v27H-Ekbd6xv%bF`INqG#-H#&GMielyu2_@ zcn}q0qT`Pv5YgLvK777DMkMEm+Kly;Pgzq2xSE5{*Y{uLQ> z*5~{)bIYDd>=70pafxt(%Vz75QNZ_g@ZuRp6S1%L?1D(!5B1n64UDRcGf>3lAZ* zO?8!cOTosqsGgvOIQB$UaFq`8SBMx`-A!X<&C8~Eoc=q zV>N^D_NgHUg>kD5wfnl^AO2G(wDR($b}WB?+AJu*JKuJ{fPeT-#~lcziR z{S-FIIw6~QB=eEm+h#VJYhw#>VSQs`cx^B*BFqRG*<=-qjfvcz)@nO|dFsS?mr?#$ zm6bMm1$ySsawtv%JO4oEpf=}Yri!&Q1@tM48u_SC@FiyXIwKi9*Jx>w#F?*hfZOj*L&!Ln3?Sx%m%{ z0zJH%eP|&p?S|yG1MT;(;LM1GLI^n=L4ZSax`C0f`!6FVv}NjJpBY+S{zH-VSaw>h zs}xA$R#AR00HW#F-Sa3ugSlaGSId5q=A6v4joKJl;w|Z(_UH^I+t==F72$qjfkF%(ww&L)6!1q z&12Uk)5Xxc(p+4Y!G6n{Nu7FPWLpEflcCWTH|Mja3xB!;Zw)m{?_Gb`Y5+*{bXG|_ zCXGozG(2p1+uYL91D!L~IfT%#*Y`#Y=$V?Y&vqGI;q=&92ObzCQt)dN5|w}A_=nJj z80)9rdnX96RjjF@dvC6+c-3wwsEI>ZQ!o!vHf;=;_vw4JDkKj3Y1pf`Smlc3bx(fZX&jsGp8BfE)$J9BeVJt7Hg7p7D#qUn<7c9B zM)LxQVT5jTva!iRDpyia4TO(5y}nrqDRZvjSX=xq~L3ydjophlG}w&W$=h6=k=~Cl|Ro|1LsLo^Rn2HWftm zg}95kt3>j2GmlzAa$RF|VmEX9Rko#hberZ>o{IZeJsnE8(C>~GC;r%Rt6DWIxHwt= ze|-Dh)^&Ty!Yh9a+&&!f2vwY*?;0BOrL?4^>-i)?r~-rbU(eeP1{QW+XeKmUawna# zWJ@azTjR$UF}VQpvb$mG>OlM7SE3@-Yth?KGczxy4pvB;`b{{7k{sgMGT+~-6qh=8 z9%GHaJIK)z_TpJ}{jyf(WVL~Fds-+r0;0xUm~Tf)M+u+SQ`av7MI znk!JKdFGK~-DTmG$SSsi7IHe)Ly_`5mcB9$PyeC4646}e(S$EgLJe{U`5ch>kqh&K z3d(svQXh-MA<1ZMr$IwW>P$%Q5AC_M^UrWC;r>Cj#iN#*RmXZ3&J{5UGig;ZR^_R& zf(4RR^|erXmLlE%KD8xwxa)7vWbZG`9g?+)y?9XqsC`QvFF-1`CKftcj#jAaLX9C8 zkLEB&ojH0Gmw2gp|H53<(tr{(hw?CwL{*3rEf zB!pg5i!H*=-d?cy91+oj0ed^U2Lm)0{Gpb;U@;va{SY5jqrfD@s&Yd`aA!7YdLK0R zyAYuHJ6D8402T9oyy-ZFioC7*yy{)|NI=W z(O!RoDM;?4^_N-;I_jvLd=-y`5O? z$DIB|x5L|I9(7UIM%#^^ydNHXW=M;BNQ>6vCFP@@y4LPxiuXf@8oT->c>=?pv4bZT zg;7(uzFTs7$^?%|LQZ{q|A32VGS$pu*`3*NfGcfhP#-G7$bAswDdlD}iD>VU%@|SJ z)^(35E=TyoTvwsTol>Pz(uGTdhqG;DyBI1`_Q9LxIw`KN$rd86N0I%y5VFj!`;nXL z+utP;NrpVZceP48owB2&v)HEzdm#X_JXmIjukBN1*E&@blB_Y-)ggc9MJEgRHzLf6 zK&MZ6FNC8!oyj!+Lq_5=etunXgYSzpg<+1W|JX?4@1{`0+`)4xqFqVUfIdq>> z`KxlVi=)~?7jUJ~Yy8JdsfdKE#dW{5<)*ypQbp<@90ukRp3iHh#Yg146JEi50;k9NV+HCgxGa+a< z1G+!v+r(5;1S@1#uwFubehp;KOxlv<7Gh$inxD?zt~L?2Zj0ONS1 zvwUAdBm!{*V47>tz1 z&+5oro63IYMF^0|^!Hvm89~1AYh=vy_m7Z(gX#vub4060o~gGA5+9CC_-NR&-ZydB zHDeot9?XweR0&j%ntIvjK-?sa#z(|{^y-NH_fs<=pZdfggd>bvKP4cRr=&y;*o{(8 zo^&NY3GL0*Z#cD0)4u0!>GI38?FTx2B&H**t;5KV<;mvre3X^D`_+>N_5vquz%NFz zBO?;0{%I2s@?GHWtpg8}+A#_-BfuH&&nh0p!dblOd2V#~a#I|qYFx!?LY3v1(h{33 z=xwXFZ!ZSyuhMzFcNcJ)*+9miA_%%88*&jUIxyDh&q=XR{>N(7{PGQ)IMEm7g@E|1`GrjR8b`S%a#E)-1C$t}>=Er>jIZem1}DVv#S#j-hCs@PQHri9&Da%kZGo&Ts0*Xt7h zj{NZ9KWik#|FhCn)RGA?{msvJ^+YR+@YdDZ?*%tM?d|Ws|525h`4o6!5wJ&;($hAi z|5S{~FL_iR=PApny4%umS~e@uUAPG9 z!6_^owmUv3nCdEhq05HLc9C@h5?euW*#=pxa6ovjZ6Qip-(?1rH~OLk!otIydM~m{ zUi}~HR*Vn74()X`aC44jjaUkNI%$KcW2i-;xHFzSdZr+kLik!_>vTeflYNSCfe z>#w^J_M;gIXcr>a1@Xa&k5qdu@Tw?253?$vlc?wquo(KwElFzyDgCVv=gJ6?UeoG! zrw9Jwskdw2`s1Ev-+m?eOS#T<6J+W~UI&O?%@ek5t%%(D&ZajH)GTl+A+>C{HpTpC z`*HG(LVnU06X)_yomwkHp3+7N1}FM8gyUR`gQsE^`fd1QKQ31f3=1D-=|t5wsGiv8 z;Ldf$eUlhv8sqd|bvN_LfJrc4L)54%q!qN=A3)OU7i*;S5$m}r*N%z8C+vE1%8tt#D2u3gA zFh4B|-F5?9@xxAANklt+BmW>73XyY&Jky;7{f2i`g02NKMY%z12p{pg6DA{LXC-xP ze(sR9Kh49xh4L!4kXaaQD4t;)bx*%Oec`tPwHMqW-WQT3-k}Z)S;hV3`v@gq6K~Bc zSyF<-hHZ>RaPJqnZMZ9|rWBdpi71!Ck$WZ+qN?vNO&~osp=1E$${kZc*ieD=9TH77 zjRJAB)as3Jwl^|iDGkri$pxz7ve-?F9fkX<>bz=B`{1k+myp`mE_T0Nm+xy|oC>8&~?ORTZp2LLT=OqZ=>k8-+r~0k6f;;2}b6D)iyeFZL=*8l#cSy{mvl+~HjhqcynPIIi zg3Gx}ij~kUCmSUb-g{|VS=Cf|h$)zs^KovmFoU@WssVtHC=}eBTCOS2P-F84=MGnC zxt-gE@LcZ?3X53X$JuO;$8gyl!Z)jz8gdZSGb-Lu56l3yFQ>3>dEB1}p^?xeI=Azf zIx9@BynTA1XsE^2zDj4wlfoO$>Wh2Uq|ijfV-MUw$C42%GEV{3v8uhIs`+8Ll$gt{ zAL{OQv&+mxq%f{VRyTE}3N|3)TBCq;;vvS=bZD=Wey8_Rx}^ssoU`7l|03Kf%X5tx za^lzZnK)z%ycdC(-=hGd2yP}jTcv%$+H7f8*Tl1&(@^?6w`Bg0$$s&w`&_NsDZlZD zteP)g;Dl9>CZ1G!=e$+2EJg&fJZH~(%m$z}o_l2|t}jCaxRD_C#Ye*Dd8q_*v_z#6Ide`m$-1Kh>|_P;8{r!SppW{N39- zTfy%$aSW*XoU@#EAgSxHm{c+PD%m4N(O1cMar}SsD61e%dapmSwO;$@e05wI|8A{&EU@QjJSc8Ssn{|$={kMb zGca-r%hf%`;%%1jz$8Dp9%1l4VDrcm0O%+*hj}+$ClE8t`cWhkb#NfpMl9F6IZCfwZf2iX`B*h9TM4hH%J_Tu9`V*AWIPI7 z;cgZ61gC}n?baUio0JaF2OPRD6vkLIvwUfGGlrHx1D9{ITMe&5yh)<`o#rs4Z>-uU z4msI-_e1*ATa}c8!u)@^zmt)YIt&w}s}6OTX%C8pHm%dXWxq1W?fZvogu1jW*(U!| z&cUm__Sv3i9mp<&ng{=59P_`};P0D_E5<~m^-9Kdw$k+!vOoZdJdnB+a6^T2-SZps zGy_Tr&Q-Sq+xorX#D?4na{QgMO8)=z4*#zb9Udtvl2fr7fSeBTl)IF>p!R$iK7|fq221vAX(a2z;?YzQJDd!8?W86uT`e z%Y)t89To;f%^O4MOx2=fE|>r&=FaagWvKT2b(#O{t*N(Dwsrr69WwI&Nsp1+z6ZNy zyu$xW#ZrQSA29J^?>QZ@r&3erqHYP#;xFtgJAOfBdwmkCbv?&g>`|ugDKl9H**uYw!t$of_D3zryC@oW5ZK;5 zkZHunhc#7)dR6H3SQfJ zqiZz7q53&nWr zR?4Uz2;=lCkVtQ&%4oRm2fME0X?9pvo}!1SjoiAX>EQi7F|PbNBxH&aMG*p(&yLXd#bf`pRzGFBg(;0y-2uRraFchNaw?vh^WI z^YAKmAdbs8{*ljN)*z>;`$quN)W48&QMZ-|xKOku)ZH)(+A2FeIEUy%jbIf zo*%jT+{W$Ha`<(}g~@V{G=UA8M5hr~bLE<2g{(~7Za%iI`_5i>C2M*O7p;%JP&^|T zg3k1y8$CIr9>o%#hm}0jlP`vto23d4%5&OU?lcT~jo0`fM+o(KB+DfdTE~^B4{9Z^ zT-Rr>3kwVTzJ8q!`Vu=Wx(A8t>+AI%zTV{D)z#8RwuIA*>D-?fYi-`S<-FvgxO+88 z9nq!weyJOI?anZ@VF^R2Ud^3t)#@FL%ZOPa6Bm~h@v5p^HqFc_1?-kc5HVGjojCi%~cks_p zuT?xa+*_mUdZ}`YoxNj^l9qM}f$kyU%)inkEQ@+Ujl6l@O3!Kd$sg;p)c?bK=Qpr@~EeocP zD!fWX|8#-suNbee{V(hM{{>D=i9I26dgesUHtIL+F|GsS)S*E}VPk`H+?ukYkQ+GC zUmOtLUF0m)%2pEkEh4Q__S`po#Jw_hOgFyt?FnVm+?MBs>5`A$da8cW7!cfZD|DHp zlRR?QfPsHEc=jeGb3*TJE$|2B9URu@UTAw8WeBj#naT-fTT3;sYwzk|S8aZ` z@68dD6W^O)RrheO7(TM-d>)Xj+Ow!vE_tb*U+^pR{knRTXEVvx)-Z1kCUtFXi+TH9 zbyJ$m)ptBFLf+&+n7GNRS=0&|5`tGLDP06~F2}29fQ}`e?l29)+XFjAwGRkg;flc> zYALiyIr5DqE15SCuOYqtrt;RwQ>A zvG?;@c7%=GQLZ1<57nFrx9T4}co^XJ#|47*l}8~PSeeNu9gzZxVt(hl5GBj(2g)sK zJ1*d5QwcbvmtG2iEoceqIM#clc;8Nb@l({pZJT}L_b-Pw8QOTeG#T_ZWjYuA@5jg}+$GAJ=7Q}yuZ8^YOGA{x zjrM9o63X+@F)duP@2eF$OJ@{ONNx^w0gQ}|a$jlb(AK2BhCDh$oUwM2r)5m4iaf2o zMLXyE6HC(FuTgoY{;~N7v9$3QV6WLI(Po>f+^SOX*!?Udy@+!c_UiDc#BI&JJh9um z^v-P(pGz-!w2aWj3{=k5O!#U%PrsAswd@}+h^Yq^; z1|GZ{=(Y=l)DurU+MHCKN_XnX%v%pE=N)!qR+k5R{(83FMz6k{G)Y0CR@rH^{S*ng z8j*aD*wXM8B-t!|;--M$`f)4Z556+*N65cNf46xJ!j_f=R!^+QQOtw#ZSUXC*7 zCvlqnbKF>mELY(d{>M*~{Ec;iR3JEM8a@HqYuQ_kuyyaSm z=%S!HKf>0<>d-9TWgIuRJEPn8&F4hn*e4DL`MmqO6ieE;CDoDmafPIcAvxsdCT~ID zl{^*jgO)CT&bGDZnrp9L+a~|hd?(YWxzpvdIaj)-wfNWuHq+Dd-&t4i7{0@~pDav@ z)4gfj#-kFfLCYD<4E}>U7}bQI;erCHWKvbT*Hh0UFJEH{>0>T?I8mO=H!>wqaBiqS z*Ch}HXB-NsvbGj+7FFM*8Uy<;?dCG$lN^Qs|EJ+mv@-Tg8Ogvzh)G= zXthmdu&}pp?l?MmFQ8&GE|UYXE2v<=#hUmbV)ZMFN*Y?9a!#(CK;Oa*T7_uRHy4|} zs1R?G6JnRN$o%(nWnF;J6;u) zF`-GlX|es$nDRoS@n@x$+-X@dR>bVX$@%+xm_Hp}O|)cFgly!Tih}V^Z9%JN4D*im z?rjP8M05$FKXhsqMN6H$`J*pOKxxLUuzdQ) z1X?#9^B}L3vIlN)du7gBe?J^b7yvZCZ>Xw&w$s_qQL)g<%9+?nuNfGy*VR?=D zsc+nLLi-y02ae9rkr%&_$A@6{|0MAUt+2D24M;3}?AR>WZOjO9xyr@$K+%@uP;>Lm z8J(+0w@v(DcqJ4uvDuY!f?09{gn{l7+PsKUjaLeuKfORDU!_S;M3PQeK47VCk8wFV zLB~_V>V(kalec+?yNOjhlWuK+3mG3@>u?jc$>yo#(>Y#y4t9JdDC@-6xnzX!Vl#@F4~43y4M|yxMhmwVrr~ zZ97Z1ZS}T5%N*h-+>Yw*H-_`brp;dL2n6$|Mf~#G4Y1JDI|@gkO!T0|Ddj3dT(^$9 zMxe)D!Oazx($)YLXy&Iv=>6S!snBKoA`-l`MIPZz4n;mpP!R5t0ws%Z6=f5>7bNKB z>C&8hPU)F6YxIn{wL<3?J!d=>ubWj;6ZCiG!UJvOY&;X*|T&gm-1vlHAg<9_)h`-Wi=$Ds6Al!W|IG z8F!jY^G=?&4?41CWDru5eF-%bPLH}v2MX;e>Pk8&$adF6US=#7RakKf=KJ#SRnjlg z-5UKoNlANvNWu7$!GIQfi4+@ZFg(6-?S0{c%kxp+t%g*}gX~{mupH7{*X;AzEa(!Ql$IlO zBigB@ktPsgvf%=B+O0899AUXC@nkNcfUWelL56nyHcNvLaghOTjs7srn{(IhKgf%r zXki^*P%5)aajN7%pR3g`2Ci*kbMKw;%If_FPnm$iKD0R34J3k&`80lm@l{F z%r02EXprM&rrzHBD80&>scdJG(mqnG;;}=b^j(|1WqxLc03Zl5BOC@yf%6G{<#jxJ|j@v(a6qoR8RueK1cnYZ6Q@nq; zl^rf|+XTIcD!m{}o_AV>nSocXHjig6`l1J^*8&$Pj8u#mBF_@x6#wy(yiHp@a=1MpPPMp^{gG@&)H6@Z5{Z5q({ z*eR|V>ep9ZopoPMtcMqCy!{rH$Kq<_|nD zky^qAbBnG0o$IXgJnQbhhuen+#AkkM=pKDj*2^&Bud$gdhSdjtq+?fnwgxgvvWtRRy#BTV{9xqNYTMKTFN6J#xrT}ccKJp*mVxI9 zrV68I0#%^6Mif}=r%l#cO z3>0Gh!j_fUg}v&u?NW}PA_=cE+c2v>8c9B?Z{#l=Nn3nK#`qJ-1AC^!q@>!=zOK|i zQXcjn-w;@M;H&F;IZ5s4?PO^6&Q%Bm)M+Wqe$ilg>uES2U8*Q1aEECneBnyn(Skrw zK{i8>wngVTWUN*nh%VT1zAsDcyjZ9<8rjTn6uuG3fAr&JPvTC^F*5c)DwJa^z4I~| zLzk|kX|FKm-6<4&E}n2OsG0un4M8NZ^BK6K$}1H)h06^oLuPAT&536S4!0U(KC0zE zOd*|hXc?FmvJg*@{I8dQHa5+$!kQuQ{*zbNbgMmhh@3Pb_&Q^AK$iNG^yXrzrA527 zvNnPu{@eb1Ilb!srEjFXA!NQs{Y0j-Yyd9#QJr)+!y!JWkkzfaNc@&rsMpJY%YL-E zmNxOdrfaf}%q=Q$I+kP}b=wG>(;^{(+7W3l5-1Kq8-y#F^j-)H=sad#UR8i~Q$e_7 zsd7sPs3_^&8O^PVD|_2R#m_=Kha(dTMzsr=E3&YmLjxA$LIswuQ=X0lboVj}E72$l zFsv_`lXg~Dvj_?4EC?UHVlaSo7(g5>>q+SCjKoAy@<8#gU%x_qmK+_|xm#_Y?uqGw zZUUl}9WKC~4)H_KeoI~rHZQc^0xep_RMv}(Qs>O*QwlS^%TN{3FISR>bS3nL%||bh-Z{dN17v05^Yck zMMBSzpzMn-WoAa_dXzWwS}6~v7B;sIr|tL28oqvH;w6&2IVg&z6@GlH@0K09^a4Rm zF=6TA$@%Df)fk!!b?2$GDk(&H^2R(ZHVRK;y|ZH*Iu z-(fah9kfC1XWF4!1Gm_x`%5KaZN9hy<*BIRPhX|F>Sd%xLQ{w3aU5ca1!KaZbK!jG zx|_XYbK~pRpoYk1v?x%|(8bMK8~pi6H~gcMYV^E5vNCiscl>>FY5<%TR{-MRuXXPV5Fw545 zVie8o?L0Yg0L_yWeD-fO1VxaRFcOUDsYC0q89z+W688nwp=NdYYZ2RPZ1i+bM}TshCT?xOv@#GF^9;}JJ%XB{D@UC zkM(Hgu@k3eXY5o}Oj_tXle)1|81#KKTSW7)3i<~P)7lEUv{rS>NtcYY1XEruWymv8 z^uBqqYE{OR-TckQ6%zMZY+J+aKz!D0o_k#c^EZ=0Z{DHDdsOA=+)OHNPe%1P3@dIAmw9`M-Wmy(XmZ5LDYB_uhZwps68) zC{xA7M!k}UPBrFH%7v(5DdmJ;Ef*Myu1R)b&_pEfRcdP92JbUJDu_G0? zb+EKyO4w%?(T=lx+N-Opd?iq$sRq~+#kh z9s?VjioR`Qiio*ybjtRsvr1!5nc_hoS-|QR`a`v}Cq_aOvp3A)H7woJlHD#JS3|$sL1o}NRf|m!Q&>dgq`a%Ci8KsqX`Yws%fJ;B^x6wDFw7cPqoxDLCz6<#+#VN=KT~&ir#ceu z1~#Z1^~Dv+;?8;y#-2TdwcFs>TNDu z(`u#u2!sHx8Q-_?+A9y6*XMes78Y<&yyyqZ%d6z%sTXJjOqxIv(J^UcY;5d4A^-`O zN%tAechC3!tROII{=8dkZ0%Y^0-zGlJLaAbb_^5UjG!uZi9Z7!_e+G8b zDTHi+TvY#o*bH)soB;Rx=&!##Oyo~ugo}z?@yFnFd~|VLgD4Sld7nZEm&n!WjUeHX z>;JEt}9e(f0F>$PL)?~l|P#6U@Q zTa7JZ;fOM%Bhi1dS5-^PLgxrhD~xKWH@-c-9z!D0xoZFFs@toLQ)$UgkEHeVu1o&s z1L>tp-}sMFf8Rz?1LCB&0Vqg>H6Mg{gk1l}!||bx;8cEf_1NEW)!;-3V953V`5>~Z z7hA<30)Dq{-fZmXkOS$At{ks@bHYgZfTs5GiW_(CNYc6g_Ca!Vh?)-(F)^m@`8{?K zbAScVg81HHH>5Ez(a|h)baY5^;opi;NLf4r+wowd(F&I`&<5lNy-^T{koEEL0YOMr zptd=HDvK%T%~VjC^g(SG-DUfpmnY9vjNFRvssLN^Fu%bk~1 zKs9_}znoX-5d|4p)0Exk;)#g~Zs#Sfjk%tNK*5t#4K6b=#;4dEJN%(k6VytID$Y{D z9c*`a&9i%LpJP9(kpi$MMFj3Yv$?mu)@F0bgjKI4$8&?3pZbFMqelP+%hoP;<$i5o zAWbhVE!~4w)iylE3VBa?SJyJ2Bp^DJ#FQM5pxRQ|dbc!`5bFP-eWK#q8S2oF9}$Gr z{si4&r~Z4vdS)M$j7^e8NIjTCyn1@q$M)Vq3762*hVS1$jXkH@iUs_J|GHXRr{NoI>ZG6^%42?ZnYqi1$g}$96)PW zpvV&S#xFvbPLPGELG?btnj5%jYk292+E@2{(^XVd!V#54Klb{&tNI>zl7gGEX-Yg% zZAXeX0!PGwAd83Q&-bo>hD-~X2ilDTkg_oQ{^sKJ#(<7nTeQTn0u?kGJ>Q=dg%t1b z%-@DGU9RQQB1!i|B_}Gs{psEW`?rpFa$PLqx}kql8YIh%X;-^?i*lgwQgj*# zN+heX@o~qSyYbx2AoV}rhihAqSka0vyek?mN$1f^O?>Dty!RD9a?FPMHEXa5xCpUS zWc8f`Ng0;Bsd5&h6{YvePoqq}1!3MGimp0aPL3Wmny{<3GCI}=XiF%V>N`xb77u?r z_fiG@vF4M+I>3cKGxs0M8iCK(nQqQ~gN_t#QH({Q;Xo=J?BwDeQbXB@JBcN{`!c{#Oe3h`f ze|C52?5|GHJ;{P{WfF4~sCZM*LbGl)>?ZbtieRJw-zKmf3$Fk3k_mRyEiKK7 z*|&FMJ3%+stOa^vIq>^;-#Tp693rP}K zg_cG&hiOFNxRq_?6tYD`{@L4u)z+Qag9zyD&&heMIz@O(7-q^F2W=v{pAp^%z{u={ z`i%BuL`nTIxgRMyyCLBptgwodvVa1H6(ck?3v4Ch$ANw3#oc0aMZCxSH20Mxui&k- z`s+#efaYO6?grpUuH3EJE2{q_ z1=Cp~IN-XN-zTNOptwMCR*u6nCp9?qPnLmeoBDWl6*8LdqHCpGjBv)Ar|!$QhE}FL(k{OAj#qQ00p-A*Ob)1IJriR($nuY13J9*vm zBV>VP4s+d~Moyr(F4h;ENh0@M(dmLSMED=IU+)7q-pt|vo+;sG^s*XglmTq{px=s6C815wuPl(T$od>+@Bo)7YXy} zlSy{jx5tv>kL%NOG=g@Hqk0Q1201!*Ulmt!bI;!EdM#0>Eqi zA{9tp-yNj@CP6xA^hYx1TzM!B>$Gx&HNFe1@8M+W^WHCa5$W1dvv(rW=gEUZRwT<8 zhYDNrM-cN{gkTLI#3ajGjQ1Gc?dj>+*jwv}8h|2lq8(CB!NFfrLiVTFz3!cxTKbV& zdtN!HdB-p2zVrM?X|{X*@2;NoKr(9eOH|`z5?`^=(bOGvYN=WMxkEnTji28CU$tF( zJkxt0pN=Dy%c-6;w@4Jk*Akjs%=89x$d~^u(G+G&#&i?=kMqBdY=EhUh{I>V^rt1SPhiFx4Yz;nszo)`A)cG1&gv% z&CXK5lz2$2$s61IMI80COA&B>$;0@niY1uB(yrc=7PARy&~jf)$DV=qC09aR1S*n4 zsP8JNU+(nAp>cawX&L(`*(&vwo$KE-Ev|kxd+ubNrLF)>%w$5d7X0bSOFX~%rNwj_ z1nF2@yF8~*a5C>w9P80WYi*=2)+$7kEWRMxvv6W~EB3nX&d}VdT4lUKthuigrpM}HMRI+i1y>{Imyj>Jh790DY*>0_UeI}D5$ST)P@ z+L0teaxhD_KlEn>?7;{PzGZHx8vIz(TmLOpp zBM^RTX@B?HVGoa7AjkCtT8zK1b_a_j_0Qb^B`sk&4g8`nU<6?V>ZhYVO#R&lzS;i! zGlsc5jb~ zjTMN+BsidN!4xhWBymd*=FskB_M&b`4I8(vse5P&vxR5tP%B0ACN0L=)0so5L#i4% zBJ{7cZ2l;NKR}GcD|{<-7R(}mWri%Dz$QcZ#_k&xwbtVy_4Gf#4W&Y2l?6b~$`R64nF$Bx6mA!!9j74`Ql%qxd` z>P7ILwa%k=JHkWFEiVVx7~xb-FyT1%J1YXRhLY1>-P*)IVZ$dD_``&yK-y+6Z*s@7 zOCTIdjiHMprd^R{iviyP3`aVT$dTZI=_oSvy{Zv64l*lTv}R6624U4pqLis9wa(?Z^YXtTbn-(!`1(7} z$0Io>;7C3sc?Xnl6>Au}@TOls^nAScW-QhooC1c%p;mFKsHVK}wK7qdIMr@WCJ7S; zv40C@XT3zfImOn(?LlGj#QKYs;37)Z>aPEE`+%E&MPno442CG(>H*J^R}%-q(3kCf zW41YD(SZ=n!7{j9u239Op)Cti13pqFCUU~29u5lbrrCwd#^@b$ zVdL-o;{V!?zRU-MO{3W7r}`$^^AmPvzf`ql`^AzN{V^(&nX9eQ0_`q!G)OoHMxT$8 zUAn3vy=kVy{h%SJ{Q}KcnEQ8dhx1^!NE;Fcw2I{rJegt#Uci2|hn^&Ms6VLe036R>-9G5nxr#)6o`+tJ&nwuQMZQ?T;c(>d zPR~v~*VL&?a8O@^{UF`qJJZz9F0cXn)&^!I?7!3%bCkP5ww@;G0|k-aOX8Ejfd{sb z$l>&LS;F0D!LVyg`9Ee+t$Y%_avH9m0vqWJK6NXv0-fXYYZdzbe$gBKSW{`B|H!Dj zgN;@+LG25Yu)~^{I+{&cudXc3!F}YVT=*8Xi~4o+uH(%{*9AW~hp&`5QKDmVaKFpY zAY0V=nQ=WnKG_nUs78v7!twFD09OF<>WZI`^y~80V%*pW%!Y+t>kW*JT@VHvK=K3~ z|IXsU(;XM#k2e2WTz%ZbIuz<1WK&wO1%? zVnpt(!?r(=)_#LaJR}qnR5Y+Z?AUl?tG)hxr^H;fBqc(Vu=P{lVu;Dkzi6Q?UUL%z z6XH@gYG(Q89_si){O6~`kr{1gx$8zCfv|^OwMT&-*BE-_nF^y4u_(fH%j{pJ`H^ zKomsc4Ym>8Qf9NYg=8ga!3p*wY$lj(F1ra&de^}8aLZ2_;u<#6~lMAkuB*)*)R?F2F5%Y;bsM12&}s`Jt~lHop5Lxfx)hxBPS@lpFt^8?uT{dAqpO9H8mpo~jUWnR`l2J$aPh7Em$WRZ0@Pucir*I7O#X@=C(86qwcD4pk?b zIACK;nroKrvRea-kDRwxH(G}D8N-gu5EMuc`(MGV&6+cZNsBc1IF}3Wk?HrDW)KR^ z|0&;D01%>3i(1>D z5hP!F%2|9z`TGLn#)DUqp%*1X!Zlr{u1TS~_z&S&$Q4MZ)eDz)zQ0^&hVarboPn4ab;g7Hs-Eovq{_GlO=+uQh~?$-{MM z?IZ6S!6>o`Rwlg7_Q%C0M(aLKNB`jz!lt$&%F>IdJ1kC=+wcluE+;m(Yt#hokaSjnv>nUg@0 ztvQBMMh%Gm5c`h$FGsarF*umfp|`>4Xi3pC<*45QwkLzMw)4>&rW$HtzaN|~T0si2 zob1Yku2&Wpsx4kqw%Om=bp7sCs0BCVfnH_cmW~en)N-4ygGSHxVV9#6J*4^uaHb@3 z&p3}a-fr9tIK~KeCR5MmH?`RrEO=W4zb9&$9P5zuDqYHGFGp62S^FM?y%G@jkwXHl u_y?pTz%>+7hY`8s*G1X?`o%n(B@~BJd*;lB@axF0ao*>)w`9-BEB^pFmcw`e From 4c193a1827142bb317f4311aa2dc5dfecdf6614c Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 17:58:43 +0100 Subject: [PATCH 116/159] autotune(orbit-compare): add digitized 2^-17 reference points to the L=41 figure Co-Authored-By: Claude Fable 5 --- .../msd_L41_vs_reference.png | Bin 67611 -> 71589 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png b/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png index f2e436a4c4f058a31f7651cceb923c091bd7d9ed..95c7683751f90c17289b332e1059b01b0eb43388 100644 GIT binary patch literal 71589 zcmcF~i8qw*|2NrpQueJBDf=#4D$6INv{4vit?VW<*0B|`MzSxJb~2b`8)T;$rc%Z> zV>gwt4hA!LE}!rB_dCxY@I3c9j&pR+-Q3spzTV4gd3@!vB_Fp0Hxm;R-#=Ct?U|TZ z&6t>2Bstl^UtSKTV8O4m56m4NTnq4efPe;jGTA~O1o{R%@V)0I2loty-3##7Qq@pb zHBgqj``|$!?5vua-~ZmB8W8NQreHDX2%f?fXypiFVv;y{@WY(=yKa(+nThG2i)PnD zizq~{BHKAhj+KexsP5Dd3jOd%*2RlC*KhkOaXxp^!eoT^q1FvB-kIjXE*xk zu9>6!9Wi%3c68}JnU=1#batV5W3QzY?>S!-Fi* z4+|b){hvq2{Qr1#-^s)dsLY)@|B!qWXgjOc?x+t+Whlzg{_};44ELGtwEDHLXRel6 z@Ue1mEbNG&w({|K$9xruXmP&o=~MRxO4$G6{*z{VhXn1mB?waf?*3*jgV# zxUZt5Gbx8hK){mN7!ow%nLCxD*0M5&RPy1M(vN`+7;r2%(_}U&Bk`A>oqiF%@poR! zj=OXKqQteejcq-4=2oThlC6-^we!glEEg~Su54O553Y2>nPLP<1F!Oro4dQMdzDvz zL07Yq{h@fdfR^ny+at2Emh1|Z4f7HV+C;SDpjav=H+TDde_?-o+WZ^a!U9*QhsUdX z`c2mV{L|JJ&w(C*c!}5Z@bFOc<}sDKblOa5^qz(Q@@n+L$GX6-qqjnd{<@Qk8`1{B ztcGxkdd4=DJdxzY?2roC_^5t_3@ESna$EPyZCB2YU9_fH&a6|E+k5oVh#I3{{A%E z-`idNU6$eYHCySF|2}cChtm5*uY!lA8xxM6) z(}YbD5feHDAr|52z3sPLmnfv>v6;5+!o|7?Bz30mVzut5>~d-Q+@i=)4A5t}34t5b=xBGV;jiiav3-S?IU-)0<=>#EQ$ zZDovgCQ9^rikecxQgf9Z?f)mpj&~)$->oBsmp2sdb_(0go}T<-F&W3kqwa+hL-FZk z)+CS_zivVN;`ofn`4YyFTY=X<-u^Y`uM;oRy0>%2C34jql`pl|X^0hd2|eb8FY!a# zUApx3Yj~g1laUWM&P1+%w{#pcb?;6+PaOL3duw%Oe*gFH-_xWcK`*JdF1}j7299d- zQM951BY-ko{pRwy%b3@Tbm0Z1s?5Fw%V(!=;EEA%Ue4FaDJ_44nG8BKTpqgMs$l*0 za`DQy3j$$B%3-R3Jr;tc9S^pWk~m>{d3+EEVhoLjcCe!_!~0yNx%@dMWEVbENyd9R zj;OYJVnxQ0^u@a*OhcG#h4q&N<#_wn{kAFm$&$!YUE3#TNJOCkoe z=g|xCcCCyxo^aZdU!za98ieG#P~(ZMDZwvERq%D(78^I^lhp0(d@PLq3k`jmnF;-o z60u3SH-tUMj5lN#3q=ql$?jP>IbLxgk;{>GPCZ{@S^Ayz1D3n^xs4br9Wu2VYvIK! zyWO3gt|UyD!O){gq^wb>dh+>PRcD-mEzYFxWAf261q)}?u&ZK*%eMkTRkaKs;n6JG z1Bi9;`u8_K7I00kY}MZVeu&_VkT%(8z-HM{CtKL@ie6LWAW6(SksE%Od>-&uDYHmB zkIhlB{gO)%ET#6!XXGs%B@O6R62=;4mKP{JveDWbp2NQ$6F-bM!K=>j=va;GE8$ncq^NBanMOlV$1(Wbq#vC3e_m$sNPtmR<6+Lhk%Szj7xoj|ZgjYhl zw*pVl#O&eqXLzY$ZJt|UUAqIRO3~Diy*==xd7W*?y1U2-CXw^u}Xs3w7uIN)_t(h>X?+1PrK^sErd$_Zet{XG1gY!_3auXFs0- z?-qr9)td4bs8$wTFBam1LEHJ}mD}Wy9!X7HDt4*qoC}_(Y54u_ZhYz0fl`(M^DD4x zVztld`lf_xtH)lCt@H>Opdr#0giAFw}3!hfv(^ElZuLW?tJ#u80+r& z@!A?zn=XsoI_8rfCt(Qp9cqk=i>o-;(bD+%_>W=KdC&eC_*qF)Bqo0#YJoD@7C-d< zZAn3`6ye%?`;*wIKo8r9Kd*B!GNtt8)``F0Uc_(b(@!ZVDEQ!a?44%2B#iS#>OLS1|Gp^^GwuexnVq8=~@LlpM*!V zLPkiTu3t?F4P?9sX?zrXawYq+Rw8q8yqO((*TO>__t&I1=z-61}k6Ji0Ve-2*!{?B()!I6ueVEIco zwr3Xu0$uPap4goH1tN(M*+M0M$@eb#vl=!4>n%3j3_@1AXJ%bC6U=0~mK7)Gs~&Wx zWow#;8WF^9)&e?-ijDE`g^xqAEF8FXX+yXJsJ40#Mr2g}`q9Wdb!c2Z>D52NgX-3H zc6x(Pv$Ala8tl#@$_|qoTPqt|=8qxM6t%pAqsJu{ge<@Lu_8M=+sTh()p!+qY9b?z zuTxyh%OmRjl&CX;SARGy!&(q2mWd_ z7}~2Jx04_syHry|T_w|HHQXN7B9=)N&)W^iMeg$&&pX`P_3vPHJ$v>G87jOXcaP=n<&TZn@l>zxDC9&aJWjnfuY16JWs!wO5SFu#LLd=nWbhq)}yI@Qp>@x41u677;p5QWge+0mvy z#6vq~36N-=SkcNEaC1MkVJ2fCbqom_n!E*UOZpyt*_29sYG-nen+Uk0}4Zk~-=mf_hyB;dL|Rv)>plVlJ{oYblLv9I@$8d;iy0ZvH6HAvofvKCebK zK)iW%#|V=LrTwFG(@^A4u&I_qLPMYd91T4C*g74_bHm+b-LV-D!xEswc41LrZ3|kr-)4ccNRYmuPu$>W9 z+BjVM%&;p*k@)aT$n2sN8gI6za?nQ%84NWc0))k$d z7q!yJ+z={gp!>P+k1e2A4K_Evx_7mvZPK?_It2PBI1KA2L0}{CJakyX@<=WvPL7S( zv)zzxeu)K)3WsdKIuG!@!I(rw#YWSJh<*k$3%iHynE|;Z;+G|GAbX5-PltNzq09v7 zSiK1!mka?}QqAEl^R5{+0=Wx6UZ?b6v-PGf9eUobP*;UO(2BQ%%O@~@9={Lz z6vz3wT*zi#5Boo08*!2B<-V9Z`PbP0aT!SyE=hsUd@GLP*vzz)Sv^}Cd$H*|{<)RQ zfONEzH)9;lqPG;wrix7@hK6`AUy~7lkg<6h?id+_VMNz1rhcKa3AYYfTRLxW!;JJg zMe|Fj?P%#lSc8wV7#T&BYySJ8{L&4+w@&H!dvFC( zS%%49jnV~l{2e{wgQs{{YFltXPmvzC{(iS)0B$g%WipNj7mRA&EWkb>RaD1wfgG^r zumnE#b@UBpk8fZJbIMAv6GGQVfvS4%d4b&VEcs1mPt!?;5$5QI`-C4q3=1WeAb0+_ znI58VE_Mi*GF*{frOt>7=|Hfvx5lZ_iT{O?-!|q;d@-x2i^Z#&b8ThAUK_-q{Rk%M2WkqW0^(*<(Q& z(=qTC5rd2nDC04zV^ny_K|ZGA2$dSY@c;weJv2mkj!C6Vq83t1eMt9hs&s#RFSG1# zi2D2fZMZZ1OAPay&tDot7BI-})hM)AhT)#G>n?i$;k|Rm94N=ywLHNcEuS5qb`d5} zShd!11|{RW7I*O8DEY*K^fQIJ@!*vAvD4{fo&9uJX(XubF1emlu%UrK8i=-naD9dm z93^zV!q9D>IJf;9yGxr`-pCsxUvSyKJW42|Yq%ZrZUlQ92tqtenNSxnQPFA_cEf@E z=)Wc9huo`ry>k~YnTV{p#rHrQSf4=(3_4YK#6MQ-5Nkr(p(!ajU{1^X(#ZwHBmBBCFxB*le%SfPN!KN7utb_Wv$WKh~{wjhom9XtWO~( zYPGiY#9D|WtrN(~s)k@KWo$t#sDhXyy1 zEpNI-`F{UGXY-eGy2kC=`_HypVdMc92)=}T zM$kp--_3GCxo7@34}cUUdq$a2)XsxzS9eJf%PK+(GtOTzxO|;RPK3a!$ldIn+A0t`- zhJQ)Jv6f`RX#<^b9?9jsku=j5Z!dCHbsMi_#6z(Fv6!kvO0A{XR7fBQU~i%=PKD&> zN2o03(o`R8AE=o$==l!mHBL!J;jccaZ2Wur>4v8_QsYh>p98!3xaEUB6-cZsy~us$ zgB;;J)WzGt&rmW2{zL(_fM3{{Hj1si&7jqL@TS?K+>Xq`s`81tIsB9%r)xAj>M#O;2pEjr^pP(ea1T zGq}xjx;1G9tG8TZIPqP@cI(mKT7rvKnzrsxUKVKCg9lgU;vwhr&r{Bnw?VeLu>3JA zl_%r11|X54Mq))TiW0u|KPLW)L3D~SomQeOg0>D7ND3prc-3nwKh$8@4vF5qQDOFk z;q|Z@>M2nBTYxuMowFS$V942i%sw@A8O%~Ba*dYj63(U8%Bb14 zSdtjiO-v>Qvftt)fMvlsz#`VlOZ7=mBx?~&& zE!$zN(z$7^83`{7oz1kg`KsPjh%3~?zsg&)K7}@0+X>$^f*^*+N1~#{8De_=Mb=E6 zyZjY(O?#UfSiT7HH@|XDoD6B&Vq;v)49-YQLllfGla_v*P!9?_KDmI-p}=y8htUh8vjV~jHY+>%R4}TD>`cfP?lLIph13a|fCYR%+&~TcT&wAe zpjO9lR8MnxBFfz(+OD?}n~ahRG8;&VTj?mtFFeYZ zAPxVavUMGC(EX8j?0lqg08yjyXW25`bv1ur@uR8AV93a$Zt2#Q>hG4D zNgM{%mfgcu(D)uBQiz8h6NIQvQS$>02&B^D*W@X2c#z{zi#5rt?H4ZE`_161l>Uc3ysjh(VWIww=4{Qe)0dKkNQH=h2ZcLIi*s&Ed_%@_e=> zMkAirUr~mc&#OKqN{1lRMd4RWn(()EzW`V?tQ7m%pE$~Bz5D$*iX4F4W8da!N(sYW zga%z5s&-{kL=kxnzH+04TtxB4v?7AfG{7D-O%FyN6M|OA-|HFo7=`yUjK~;e2wruG zvM9DXACHPTX&L=Ot!3*_`7P9D9v&|TF~7~dr_AgOh;+RE{jT#{AHbS~@OYX8#J z!^Z;YUe| zxX%i;+phhB(%!hP;sdDCdD1UlY0>N*umG@=mEbr|V{Vg7!nkqs0 z@s z()#mv4FP)T|C#V=H*BDL9n6gRN44EM@;7{g3z=_<)vGYZXRS_eR=XPW!H=O6wekJ$ zyaxc#gHEWMYv^|O@HVfpV2|ggbho({)jJXe}Ld2%xN<=p&1czSt zEzl&QDejq?*u$AIn!dy8Nb7-LGXV55Z}bC@Szq|#YwO(kts;sHU?8y61u$~x`fNXc zE>~{<`ch8ER8`#nf@Zq<{{xy;0K`vqq1>sV=BS8Bj*g11?$FKxs`dYd%nXhnZ%=;w zILOiee*m*|SyTU7zcKLiZ{MzzM{cjplUG&(eO9NtOeQ3osRM?pW6qUM2IzpAF@kI~ zqZ+GAHD1|;LC(r5LVAWoTSUnC0v+r^$;}ofY*v09bA` zhi_C6rfRRhzH}5OeYSOP=;Iw~B2S{$j{$Ohi%dGb#{9z?1Z68CV6Axmk^l(B$TKXY^Q{L(N+ zF`j4=wc`L7sO@m#r%&2GE0b-iJ!uOFQgn)l%9_K#wp7#Z<`{Z2mpXA0NgBx4>Tw?d zEdpt7S=^L|G690)o-t^FP4E*3Q0v_7`5FKU&Xd!n4R4oOX6Twu00E0r z6r;OED+BGWOevYPSGnabOV29ApUTX-ln*FD#i~%Hrspe{8;#dNW2x*|a{_`e%s<(- zbPlKL%E$7C4{gDO)(<78B3@9A+zkkkb9j}G7|ol;8=5P>ffGXr`Gyk!9qrwKuQXRh z2x&P{UMPkorXsL;HztwZzlh&nTrC)iK-1#qicjv|7}z%6bU&}j znquA0%MPD<2V%BCe!vj1>D=|Qy~(XYvaJb@rZ?i%$Wf*K~8=j;%=sNs`{cx{kT%7(iV zsOC^4`6#M5NL$IPl26uT+#`F%$o(c0O%hTleuLDwc$9U5!$)ux{Zxl9Z?WCIi{O1z zM$33y$8YrK__jBkcS28#wLW8e1ko+-orhPFapxyH<%Oo99n?(UI+i~yRlzB{B8aN*mYHhYNiL@kS-bv$s;b~x+0Ld ziHz}d{kelSLc~CfOKB-hP$<)eVZT0K7*Noi5@CE)NGS8A8$!kX)+v!n6(xr=smyHb zwUKFeuSwM#R~T%73{3P+P$4?gi4>vvHO8efl+%on+ z?^8;CO}R+Z)tU&grwbz+8m7);7hm0-LkXAuOKw}mxHd}zw4^o6u9m-S6 z=98@Y-rD?!3D5Mc>Q&_-)Lc>KDXXc1U%#HM)N2&B=Ao5p%u|{S?rVSdpYL+~uwXW5 zq5pIJKOxc|KA9%PoD-Fj;>FeoN=rKfj`2U2{qd6u3hh&Ya>mBZ=N7ICzRJ^JYEQI! zUX71HK6%V4QM`Zn-Ge3T=RX?MV!y7^h8;tSk%tC z8E7c3wnT32@uPm@qVf4DfU!<>|*ebuZON$cgl@Yd<#^#}e=V`jGDjz~FQ| z8MC*uP(PP*CvZOB`?#_)E?|t*8XXNY5|A~aXcm(nMj;O{bC+D=r+ZKH@nn%VU|jrB zgdVqh@#4k1>+iD+>`37YDkw4ulvd~fRn@sMj~tv2Knm#Om)I?UoL~TfskcNJ^Ka@$ zjUj)3JB9P;g8{P$V2ci|$fy?>|NHkp+|yTc zZv3hJWVpT&K)$x}tNnTto#Ng_vF0fvVa_>xY9{-I0WBJQt2}BLK~Pvb!N2<+;wDu= ziPi3wHu;)t_wL;T@{7`YsV$&|cq3FFJa>t;(Qv80gVmshI+I~K4e~+{faH87wv5vE zzA#N$%0@i|$6peNJXW?b;B{Ws8?AN<1I2)-h?S8*Ut z!7T$4>IDWF9^SYC;_Qx+l9KA6mZoOK0kw{S`}$TqD=MOB?oUMT*Pg#{p??M}1GbX)knA_un+ zb}idvdsZ0DCvTCezE7xh9$TP-?NwaJx#M5$60xY`Gxzn`(C_bMyETgk)ZupIB`d3y zyjx)VsS*d>#6BR(!i>DZQSy>0y(1QiTrJ|^;;L?8tXb!V9f&lxBj*-CglPMOgJ1~( zv40y-yDxge_I_Ba<&!x$IPUlmDmOxnOUV3*9TGs#6I)kIHkCCZEH{v4e5mvNGNpE4 z;?^0{0{em*%Od#r1JJ~=X92*j@P?&j4E3_s?#mR_(<>3eef7 zrtCRL+RQ0L)yu{k*DsozztDC~W&lVZhX;}s=NB0EWlrj4eJ#_XYHOAzW_9OMN3JDt z2}}x(5?|=w$ORbU{(=F+e%#t~aEKd~JDSG8H@aYDmDEtyU&*cu&j9V<(V0QuG%>X#Cf3u1U6TgcrMxdI>G9*$Z6o;i)0MtY zz|1*Pga8rI0gnH&W=8%+3h6vHR}Eh<5Y@3H7YSJ+8_@K$&J3%hlHVA56;$!?p-;h= zNsGC(70{IA`94YDlMIhE(V(W7Fjg+SdiCnaR)IUB2}E0&H@-v+kbT$?yytdY30M6N!%_eJY<(fdU(zEm=|Y<=KrM*=iALodw^&OEs@d=6T$ z0|IRUZNf$l0eNL%1Ei*40NA&omNT8NQ?mD_UG*x9Swz->PN8t0gHK|%nwKW&6Qv$l z6Gh*w_+vBW?f$eUmCwX`{4Ja%ho})OucXxX6E#`mJGn;t;k*9(`)~tH(Isl*Mk}k% zT5_zC+s9-IFX*FKIfftI@5?%Q>QaSwret+>b%Tpyywz;^9Znhtsx@EB`(@S0SXNO{ zDi}{i!E3vwgs=aes^&%AV-LkR!z?pox(@iiM(p+X_G}t$14=gV)bi;Eu~? zR*v!Z^vEVz>asC{QxN)UjlYjylZ-{gY|j-v(iy2ML7-u0G&H{d z?XN2nonK|Aoj{B$s@(akZHl^Gd)j9Qqz2r+^6c-lW>vCh%^B4`8zx-OE`Q# zLBjvM2FsMvU=L<@%s?FrCtMH|rLp$ZqwF_%!uvJy%mx;MyQ9npN*%?;#pkKnBUX{N zOE7lHZG$gz=!nk;tCO^A?6o%AC#G}%h=23O&8I=wiN$5TuJ^wK)ROldMTY8n8SQr@ ziW}j40lVagu=JdEo)mE=n`>mz2X29LE%YTVggPwckx&>^bEP_P>O9c!dH1_ZG@xSG z2Zu(Oya8fZ>zKESYTeTu%Y{(l+HqW79D&9Z)oB&HP*}h8;Hd)BI4S<@?YjUKV z>2E6VRYy;^80uO8!C<2=p})z;fKT|edCI*%QWjZ6I|>u$YMh&VRvH|Brk5|`2>WI} zfZd+(JRvo8vTj&^eKYn8)WaY+IbxTk=GqALc$23XYYkfG zolA50o6O~s{4WV|)sj!t;1|+DRL7Su(QgloX)fjEw+nm+QHoFf4JEw&ccG;kpQWv` z@rZcbNhwnw8DXi&e=1p_)VAnF;Pr~HI&=GS^ta(E{KB^e-uv}4A^7gyqqm%50rlHu zL|J%7C_>2<8V-%Se#zR0eG&-}7tvi3)!hs8(^|0?6T3bq*vhLP{LU%b306_8c|iEM zelCQ$0_ZeR0uJfkvzcx9>tgy?{It{CgX9JTgMF!ZTVvDDzqTjSywjiD%F}yxNP%;0 z*gd0R-PYTgL$`j|I4%Py2gf4cufz3-cm4(;={eTlCyD<|o0HS|IN47*TvXT7$DPpV zD(v{VmJZ)un}a#2z9r1-&Y$FLCwR$!@3!F5(%71O@?L5_OUJrMBO*p1x;j3pBD38> zW4RrDhH1HTj3}Ed9ACtHSK-8oJOR6aTA}1D(@j&YG=~#UiF!pW;pSY zc21lN3!Tb{z`x>O~7=le%XPN*ORLBq2jwcN3Ac#r8h=h z%YT?JeFMIZxB`^F<1BKR#}ubj6Fo8YsbJqGQBS#7HbbmXKhDj!WM^ME)U}yOB**UqpJk4$D_noDVyUrva;zu|=g4zw2Ft9`0U2lO`A!$89@7g4q)mKK@i!>~>fb~8%TqDQprNWL^_ z7*ScQB}r)-Zpop3PK}69Cq8run|tOa5VOUS;uritl;r1q(>kaI{}JQyQk~kdl-wyN zZtBe=X`10!KK*I%vX=8y=*Qsw)g5Spn3jELv$|N8G+b*Yq`N|BNTg56)s4e~XGX%~ zc?t6scG_@r%KMi~+`;{;Saws?mS?=#nE~=|O%4GWZL<@>OD3HZt%ws6?8y$xN%Y*Z zA5|$OAi!94u{Ah8D2>VL_3yh*kdG2xgz`i?N!|7)ztPDOpoXgN>z=E}nEt)U{y?GE zm^MD6k%suZWuBk*kI1tF*{<#V=zOcW5Pi*s``I^vt+dmfbT_UQru?r8F{iQGAm zpY+Ew9}WnSNdBNEDcQ%n0`~X%HkgTxePmcpj1OU4lOz1mq7HYn^Hp$yQ!Uj^%)`ub zx|~tJtg05G^*K@~{@k0Gapjp*v(rl~y5nN6porq>>)&?qG_2toWpv8qc#824z9xmL zoP^zQ-{&IihMZp#LS57)CC9%yg8uDNy;lrM8*fk3{ui%Sn0cmlmC>kP1N86x2~ z5Ylu4?N5Q9doe*vtF?YYoM|lSa$n!lBkQ_-K%x$+iUB+9_;CKt_c zK{n`}E4!Z9`0PgKz0Qf^pgVaZ9SeH^eAL~zsefNc)+xQ`HVDc?gFswK`OY>!I`lCp z!d~-uQH^zGc53C()03IfhB&@c1tbP1Vjp|}R#MF8>hwTls3oo1J zC2o-?9)6rd(W^rl6SsuEPy(%-;D%H2O4FG75p~a7XOMpo0Vh^!!(6t*{rt;X1INTz zgJhApd@C4{`B#_+Q&l`?Mneu!mb`GGQxUsVylKC)r*}oQD?y|>k#Qnoog3021_NBB zzB?axi)y?aFR%KU=lU$iK*1TWYpMBJueKPrS-jWoD$s?iyb{)xVCXZnvgJWgTnEp> z!=Tq?0?0sK^NnoqJI$C#pijy|M99_{$f-JrEr#*C1vK%!0DXG|f2$p4rJYB0LFt2>RX&CPsWju=hyZt582u?eZ zV6sBZW=>aoLl4EI>~sytGk&)@G5k+&>Jj`dK5R$TZ%W6yn_w{JARA zDxg6p*M5;l8NMMIaws{-KceR#o)KBH#&!7v3W%qqI}>!9TmrB2c!kVqXW2kc|K9U1 z8zN9CR}IB%&~L-e9R8~Y?=V2+OLQg}#oP00!#qSFVxPV)>;=n+C)^*ZxVPtR5w8co z{iaSeh}S`*w@>vrP6WD`GCm0pYz@5Y8vX09s~49kq~68Lsp^c~h9t(Q^2s}>5tAce*2bPvKN=SocMRBkEr24+%PwUL?)vVNS0O6_i=&xh|+{7`e3ckyMxxN+xRkDzz2% zpjEvpM!DLM-BK$UkAq&l8jKR}*f~bI-TnRQR{oUFPsITJU;!;Nhl?Xo4@B7Ep(S&# zBcy0*=u=`vOck6Ct$q(yN6HJv7E81Cn&dBl;gf$he`6t1xNYD2wnRza%F=S z*6|`zoZ`xo7kkcy1tU{$%qWdDdxHupHEh+LP_!&|ok?Mq^=etcc+I4e^_Tr&jZ{ru zo0>`G__GxM&a0UBFfJ+C1#X@lOX$%lP-*Sdeyu8akGm8@LVOyTQ4~* za-8SgngleLyToo2#xtXpzG3Mg@KF2~Z_-MEXM!vXvk^)xb(X9nySV^^XeRae0nw|F z7cLJfv!s6s=T}FZ*C?jPZ|#jw3 z+{e#etbf-E^VxLN0Cw3hqu^sp4F`Qr=3@#pJ-!kPfOqj}e=kQ{lVXEOJ_=M6H zaX_|K4EsRvA)gL%l{_#l8lo$=WuAUPanxC|sCxD5&LPHHui7dG+npe|oDODr;(Vn^ zYam*NW%-JAUt74eZ#`92LGqiFP#oWV-Qh3|4bCh{UZa(I*gG3`&8?HA_ip3Zr+v00 zK4+%|4#`8^lM%KCMyispadK`|$5F#qVCfY#L7h+owff0J2OytIe8k=t!|%Kz)soCK z`F&UFS+{esN^6*irSiZN@wT}7Nn-Sn(j?K##nSg@Pzj3ZSUe~1k!mDs{1slz%2_Zz z)7P|X@XiRLC$}6LEaWpjcmFezZ+wry_QRT%VC^yI@4b`tAY56kU4$PS9iP^47ktS4 zn&F|jI$jqq_vmrQNHAUO`MeG`Mw*570E+2jf(BhDAA@Y?`*ZvdbC~Ur6bac7VV&BW z-00odk+?a!q>v@K$*ILK^yF}ejM6pWFk6f0UtN|&@gXfVe}6rv7Jreq;&Z?RX=a;I zF-86YXcphiqb%(h3-M30jrFocT9%*=zoJ-ARI@yOs&EXtcsBRXv$zX_*ULq|riBT< z@YgxgJVk?fkEBJC?fA=2^}JNFVEn)u#&3SB$H2O@e~;g!c{7`kR^8MeK`feo#q76FtbQQ@QZ{#?{UxE?;@uh zG7`<$)3at(oS&Lq1bj{OO?FS~_H8x$AHTEasoJT_TCI7Oy0N%i7AD=M?&=e_GGNsD4V}Wf z@2z1m1(y3>!x-0814ETpvUFc{-}BJvm0;fdkqB%v_&C#(wCBu61J95RI3#yn>u0TdA5ca+ACfZ&Lj3{02j?S?Vz}al zx7c!=MNgqR9BWAN(qT1pWQtW^_g&59NiD(CVI9Z<%Aw7l*X%rhm2+LkZB9?{?(MD& z9jJb`>e^Jf&m6$BH>I|{lyqr-QZCk24v2PV)5JR4D$8?)O)^5x78?*QD%&uNvR3;< z3;M{;es+DGWF+gZWb)RBvnn|*H02V6s}+|2K*ooSL8((;zacfT;_hNUNQ z7U_g#S@#?BpMqxC=L)C0^^nIL%2IWDlF#R>rv6Q#3Kl3o&%L88a!+l>rPKV-Q{#)T zKrsd7)G;XX*J+BB4)^=9&k?wkyF`iFH8=!5O9`3CFi6=EjG#RBa^AG);y_;ck z!u5Noh}qn7(UJ_))Y{U*DI3qqllx%oe+lq0uZx`gTKC;0v=V)0uOtIMp7tQnndj<6 z1Buid*T2ATfwNK{$UM#e7(i6sTAI9NjsO}{n?{^GSU|89p;>jlZ9^|^L1hE>-o9fVH{Fbh>h&FY-&DeYh^Hc<%M3XX+7~ zzMp(YYI-N0{=4=`Rxfy?=u1sWrJ6@?+Gq7Jl3CO&H|WcjR}2W5kT)5(lRM+{@v`42 zCJ)LpV_y9n&v+>TxRKM(&baS5o60rXvszqUjD2}!K2C0Nw6;Ss026!CI%g83gw7>m z6Ij(YL6O^kzL#;w}$c1p02)U7A- zFUcdM+kFe$WY^e=C|Kc)(qD`4tLIBe)5n7{_TVq^w=}OoF2}O%=o@j z_dQiP4+{&&12j9|(nXy*16T?@f&V-#vqpIet5zK`9{Ni5?5u`bV+2B&iR*FNMoZw= zAi24BT*z!)@bUj_%kkr+*NO_qkv}}7T&ljfm&l*y{zr(HP8WFpi02dCWS!{%I`G!5c1`W zuuQ+vycYo-e+jhaxOMHxp8RvuCb@kY&yH*S{gq-=A|nf;fp+tz+uyWOgOImMXFdHN zi2dg^gbbAAPqIanL>?ZiZ0XiwI(#_p17bXV2R+ee!gRjv*g1lbVzla`OXQm=|J~a3 zEI^wK&@GOI?S^NBLHQ(K4*h(eEXIB8Q_Zb%#GlSxh`?`2p>86w=t8O;}_G3L(3Cv3~ek7NgTX-8*o0J zGKn@`S4+8s73ytTH%EQ?*8^I2MNazNA<9Z!D7>Jv56nm%KtaGABH6OP7h$yXyX?R_ z3wW+)wS3zn{`4TAw+6g8=DKsT+?2?o(kX6#D4%;sK6J89@h;ixDq@LLn(R zSrgT@`|N3U_K^eA=-rW;*W#Jw;7c4(JK_UIhS7{w4%Oy$duk*&V1O_SdIju4tHuA~ zzS8f5f`&~P;gqmQ?uzUqxnaj{l)qdmN4@O6;4XAT{7-}WLR93Q*vjGqx$RR`e=J?c zWKW&>DQ)qJ)otoIV6oH}XaIfeE0|0|)!Z}d~! zpSKYfkHm*p=2xaV^l9U;YWU*qpD4%#tBbDR=tBf4i~~&i?cn3&kf_*MV7FB_OQ)|zYvhg$?tHJc6{Fa*V1CJ|j?Mh9OQc^mAW~3@~)h&{-+T+#IWM{J7 z$$Cy~;l-sRLnn6ch0@BgWEl)VxB?x=k-a8xs=AYSFiUO~ASXKV8YsyDSe9=LE1 zM*=;*7_h0BfW1E-wg`q<*<5FMe%~oqrnnKghF`7G`$nF!D-FCcRb~tzt(t!Cu?{9HU~8~lc?mddud{U_y-$uQRJBuND<=%B;DGGQW8$QB z08qYv{ozB_BCyOrH^fyEI?W~gFXPYk;7_7}JFP=FbLG!lkdj`O+0I*Tw?s92hslnz zMeb`>jlCbU3Dy4g=k{baOrKr#D|bj@W=xmiS6*H9;#TdX^z`n32_%fLiv!@66B1>@ zIYpfxWd1>3aoAiUrT~B9F`x(1URh+~)X)cNp)dYjv~B}&5P#i?3#g8;r|krahQ z2Hnh+@s2EJ;ozUlvR3WmjuFiDzInuW2!NR~vFV7fOfB(`_E{PlLyNSAw&0L;GFYTzGkZLx&Q zS4lp5EvsidT=Te|C<_);jP~hg_(Rp|E z2oNB9Ri1IN#K{FA4&3O*LzLqe;@SDu91_G&I?2W>I<=w!1Xbw!>|Y>M@cs4ohXK9f zU%5Sp&82S>503Sb($rTcC_vizbKfcj@T_D`KJ!}o(uHQdiF0=sM@hG;+?cB(`JW(P z4&C-JpJYVDQkU6Zo_?u(nmAEme%X~Eq#F)k_$~?H%1SwU=4M_g3P9^l%ZhLVgM|vT zjWf3{PJGt2`m(MC(AwPpK|Qd}WXu7h%{?PbeUZ*ljv*L83h4lmThEfvw&F zG;aUC@3&_cdCvkmh8y@R&inc*517z>pI)8*Xo&rn0HWAW^#jfvx`(%oI@}`D^s`F0 z8(15YfNK2xb;OHpz+|tiVbx}a?gZ$N-JznfD!!mo!4awl`hyQ_v)B;eXtzP5=%6(z zJoKSCf~ITMaRAN#EV%dWc`Vn>WUxZn@Sc5_H0Lr)`7UhCp()$KmqVZ4C*2)Vra$}C zDCR)Z38ctGbDQ>QVb@QYb04`nA+ylHqK&rH%NQTiG zXL5WiK+PTe>!;X%Rys>QRkX8kbd~KWO4mV~izRsw)P{Cl1J9tyy?~wfsl1Uc)3MOy z7#WHAlW@?f*%vt8yEm-o&c4~au6eD~+54>2yGUZlyKu5JXYgPDl9O}#g7ezPZ9)y6 zkExuyqJE`G=TK~%oM->njF?uDIfjv?VBki1<>20J-U_EDO@s!oHw(+Tin?{sf{-(=&&)z`htR^^WQOChO)qRkMOUn-xKk9ofsVvq?I{7)*^Fj?F5ANIz{ zOqS_awf!Oe_IUmV6#Mx$|I<>dU8-Jx1S%H4@XC4d20j!D2$BDnIbkuET6}n+{Vd1& z30f#0?0PX^N2kAA%IfHNYd`!K`h?%KVCNsmPcgPLV#Zo8HgWIL%XacOgeZ#&qnoC& zvMy}tOL#_c+Y?m+J%pYvb*cTQq$xG8q$Cr%C&16W)@T!SMetPx7Z=BIw>44LzQr0B zh@SF3R^&68Wqq)}2* zK|rNJq&uZlkdSVXO-c8i%X2*c_r5pAxL@ub!;iA}TI*TQGv}`+^QRHhC5IHkK!*`k z;I<0Ua-DJ2?ByApw|-Rh%5~X=8j7tvBYJE{QnRX+uUi^^p(K;N<`TF>g5U8Ut<|TI z&Gz+SZNw8b%{V7JHlJvXqm%kgd(HghqAv*5yKebBtt57!#7%OtZ}g&Jlzf=8b5t=~ zFVLkn_?P*!!f6a^?P%gG5-$%CkRuzuissxL*r| zK!0?&IbWV>%KRSVX#L1_km@R?qOiIs4jXcjB6TKyaoS5lZqqP{uakN(3yI^V_6Lw@e+xnc1Lkmg?irm08zj_m^KnGoO9FNpd)`{W| z=fZb>6m_g=ybbUnbQT?=zt=_V%Yzv%BRPaU<83cPYQKaVWD7cpsxFE{*nO1E%yHy( zA0-TPmF1<@6#gmd?uStM1x}o2XJNhAWMS+Q&6s!4DfhIsy}HlTe{RaMQLW6dZ0AE7 zhD#ky9{q^WGYYI&&1mdPdUSzpWUCr%sSDQkiHPgE?AW~>sC9_HcLj6SxD;UQ?*89VuH?*JSkXdB&7Q-5U~lr@!_dEcit~U zv7lr@!ayFL#&$bLoSVlV&uD&{s!-c&YHF4)idd_~xd3tUq&`X@an5nUY4_ko%0eh> z<49H`&&zqBkee$V=Xy@90tVmU8zNixyu#sYS+@Pyjd#{mFEjHvwEQ;EwJK43{p&ZL z9|bU(^rA54Qa7hgl`Wx#zesZU%5e6)b8~Kl1Z_Qw>+b2*MzqnT@ z2dt(~x7ap#M{_FQM`o=c5{1Pj-xF_ZL0-~k65rFQ0t2A|)7^Lx%@O?SGny|mN4vpI zH*gxLmAB$mG+sD%>RWj_2piyRjQ3+(S$l{L)#i98i&T>;=sC3q))+E{m@gidwV;j5 zl1SVSF13nz2oi9vrGK<4FFMydNTOt3C2Fj)jD3_X=wOmf`ovYQu#3SoPLRzgB@)S6 zpURKHVbZ%kCgNlhO`p+{qNepCY~YBS@RFu7xZmv#Ps&PqxvmKca){i&qCnhr9Y+Kz zkHxRl3vJ!Es64v`O<5z~?M)ijAkwufVXqj5uu9f*oT;Z?1Wph_GQ=F;byn6Eikp@# zFH>vQNNaqG6VBP1MNsoL-xnFlQBF3$_5C3Pl0>aLH$TN=!)=yE$Giw=JhiE5arPyg z=V9kjVXoHZ8`!H(|!DnqY0uILNV5yzF@!j>ReCL)pBPLHL!IZhEiNOAZ_G z1ffSDsKMH;e1_&>Q_O?_#xuUUYh)uYW31fpOwZHpkZ z!r0uI@;!PS%~F|<*}M`m%%EWUO43IZ@NcuiyEqfnhP4oEV3aWPu}_-7B*^FiHSXLbA^`G{UYNkzp~?_91k z1Jr&c;7erq075lw&@SIAF_&KfVckcNq^0EUnc9CiVufDhyzz6Lmi|M4-9tzMOFYHy!N2-HkVeK;$G zITXijbt34wmv*BsaN>*ZT~=Qnr?P(`^ticCBP*uXEv=*WOSP-YYIL64s-ZPhPYwN; zr^cztc$y`GJf`@hrmuxrSIw8E8uyCO6!vPny@nrBF)!W%7gUR=QBI}smGD${EM62FxhCrqsXF0jd z9};_+-@aUQz`{N-zFo%H2t}djWB)}7bOpiw`2V@eRyA@z!{AC@ix@X^4_#}r+_Yf* zXsM`;TSRKAJ&KsxK7_i<$rDD8P>jw^b)sCpIe!EA6wynjA0C%K6uz-%#C?68RIASQ z())1_R{D#oy&H9B7*h>|s3{!bz<|S5eu508*BbxbSG1^;DvTP&N~S*;I)T(%JR8YV zVHSf5aS`6@H2Xe`8+)@o8m6Ji%x48qzQrJZ%|D+PBs83yBYVdLBT~+6F|jkE12fVK zD}}P(#q1Q+J@&hn#m;c*{jh~+2aVWrM8CLVsn^6u$zJ^LiC&6+A^51VP$Mh07Cf7^ zUqoHiS2jCHL9we!a0#QKc0m+%eZ{wY4Kr1Q6xR_yPVs+!^rgi7Z5LF=f#|N}nRv{r zU%U;onKF5THWWa-q@`Bc5*5$WOz+RU9MC<=TDdO${nn2?dBwj;gt3N-qtzE`*8I>q zbPBhVs0;-tKQj7Ie4VKFMRh#f83 zXMd_mdG-*zS4S6Umw1YwXz1iL``W1Sms&ts5oTbZnyS4k-j_r2MzU-lqlof7`E2E} z@`vXUaV9|T!WZUhoF+}jI+oaD0S@B7i~7n7zO zZST;cak}@3JODLl7n6Rn^k0uy?ezVom>Mu}h(t29H$`X;pw%nCA0v=^>}-66J=1Kvn)K|8 z%Zyv}v9WoQPi|Z>=EWtBTD$2bhz<*ne#H0pbK3?CeUtoZrppoFsnN{YSsplda=61U zg}4}2oF_pWoeDyE5Aexbj6}BPz z(JHre>z*W^*L>+ewS@jb%IsHX7kl~>E{CCe`2KOy_<@QQ6SyD`v0e*fXJca#6{X$z z^}QuiCg=-5#H%8l7e=tz*um?T2SHWcH;&wMWRO!=akL||V@-kmqS>Z-v}aT?k5=85 zsurUg5q%T;FK?7C_VEV3!~G&#bS+BBg75EfKNZ z2pWFnI;_+FDUr0TgIeha%y1x60oNf5$L4K!+b@|ij`o_#NCWQ;K8#Axi#h<3&BDj` z4P`O3hG5wxpz&oHO91@KZ28+;Hr7iQFE+WnPQLN*1>XKW2p;QSvDl+cziJP1*}_E6 zxk#ZNKE#@ywA8;<$h>mp`I4X8Q9*GUWI`^cE>xjZfayX&tcvJpF!x0-ZFtX#v`1V< z_BhGsaGKfpc@X%^l|OnOyd@`%)E0S{GHWVgh~n1vJhX=w+_; z?EZw~a#?hvjmqSHjkRz_|J+uUq23N+pwcH>87}GoQ=}gJ8{Jtd-npn+-^d2t3J%j=yW{l1tZpL z;O6chjdt|om;}6l+ScsX;JeD@oD^kBBR9L6RY8QMSkx~zF@PNbf9k7=ul#rr35)A6 zSG4C$ZfckYSJ^KB<53j^Bl(&}ByePxV9YwhM*Ld~5$99J@i1D%3Le+R>O@-5$`sZ{OgpP6z zBtLILy9vv^H*FUHw%5KVhgOpy(6pe97@cw2b?m;5BZWgq?GF}NYn3@(sUuWbui(bn z_!Gc{Rje8zfpLZ##id0)w9voG(S?$h0|?$natUII_;#$o$GghQEg>=C?e^RGrJjli zwhR=%4$!&Gf*rOU95hitn7iaj3n3ZiTz+E7%#~BUI z)n2l3-8Ds797t9HmZ|XJxiWo-dVL)BDL5n~g*gh+O^mFl2LY&uQxXI6G5MBJ`6@FJ zJJ^-=VBkug^4k6x`@LwYE?mxTI5~0kTIUnJ5L2kg^;Qb*<`S<}&Joj#IJK_S&#my_ zHvYhVRLhU+2pK-fkHf>mw+@fT?R0z*NAL~i)!{NEsgGZ#2F2(}+>k?46GoM zww9Ge-M);x)AzxUYdqjX>*wZM|EU8SfR#jN4ymK-Md=VTQP%6c*u&ef_v`!B6(62T zD>2{WN*dAR7A_rN)GQ?Et&+#ucdDqyciPrOiXD9yR{^$4+r)9Jv^q4P)JL+d? z?&_=QUVNC$sNbaz#EVfoJs5dwJEX9;#Dje%Nz$jf+ZbS!s-^U;Dr?=w7h9v#-ZRgr z42SNHx1Ed#FAo)@(2NG3eFAUzhvLip+9M7>8vGiTxtcOa7{x<@ej|gxl#euw@kIRQ zK}kCog`*=)1%qt{J0p%oqa$7>x-Pnj5tL2>n^#r<%@5CtWvm8Q%UoN#2%TNus3;H& z;qTg-dKhu;?2FchpCEo!t_ID!KvAEckgOwj?KNuojl+fA9HjJ!^_b(yf?rZC!c9S_~)&i&!aT zcZMzm8@;CXFz30#Jt|GOQ5>%8i1QMT%g?0|aTF*oN73De!z)mk@iu(>@;cA0e*)LM zplDmmbm69Hn>RD7#1>wSHYQYQzf!fg>9|iVZe>T4kq?d?%U)RAWnjiKT|{yh^#({_cLOir zgt8x)>I&evN?hGXq7qEqn9kO+LgJ z*g`Cb-ar)-_`%Zi=Q{S*q6Vt`(va633Iv`bZ|G^cR=lPI&UqL1k5!kZqz^BBiMc4- z;|wT<{oCAJs-N^%I(@rI7{v;Ubc&26Gx#A*Z;RfpjNk4qG}JxTK-`R#<&2H}^ycyu zJM*mH^aKiMtJ{l=^LgnJii)$_WsRz6Ze>XCYEj=CUpK02DVv^b$bz98Jq`<=4VD8Mm{n9Xy8VNs1PiXjqH!K~7 z1v!&WFJ<`cCY_jb!Qzx-2SXKc;JkI3$YX1n;qLa!K~!rws%bWh zYDqj7ZGV(M9Ox;BYyb}*2ERu-zLKPg+$MIb<`^q0{@i-kds zk>&~qG85))dRnJC2FE8Q=}tT6F&|x*0_4JS$Q>TBS6aXGTQH$&gDXaSu@0y}t5JY9 ze^@@T3u1QLcmRo~zMkAHmt$!I5z{hNbi|;R?fM;V16zZSyR>Md2h%~?`ZsSbzI++2 zKSWZbHxwaLh#tda+?&d7$%gyp6*IaW95q}GHN$T^pC4_VL8K!EJLM>3A7^#Acy*dk zHf-mBfpGDxHljy8#`W+=UtnS4glMXQzN6ZLdtp&iobN2|wJHtjqc03Ap2Y+hHFw7W zE3nE=2sC%6G})0w6>?p3=z78mzBr*MMhTlf3%8~`I2j5}Lb^-Bu^TDbMtRQ#rO$@&^F775(9Zh!i8giYF-sG=Px(k>_Qpe{o>p?b#$E_WhJ{NV4hkN zvkEy7Syu@aC}zKOUbA_1chlGe#pP(&fK)%qzjIVZo-CN6d=_b#1-@GvJABt2^n564 zqw?zMbP~1cQAXp@9-8fe(SqDWblAs$`tt!?LV3FiG+A(8qS{2#M%y@?yH5`4!|W+9 zcu|nKBV6EF25{b^TSnxkanjemdHY!fYfuH2i!*<^r#AP6(Rzv-3CwF;D>Vmb3tOv9c5 zJlOn!Ia@7iCz8N%r|#=)q`Tk*nD=^cf9Rs4WFj0em)4;nq)!qc@XGLsdYF{%XU|=a z`<>|t?#1{k&=6XmcX07r?5F>=yM5ZYoQQGJOccu!C}{LPA1ngmpzc^xr|^FF#SiGZ zS|ey%Y;$s(tX4E5L`3#ZSFo0g{(Z(YM9<#x?7qGZML30v(I>mKF0NV9s<)3T7a%Fv zsxA=~SFsmQM}IH4BT}XUG7w3T6+G4d`pt-a53#wKo-daum9!g4po1Lso-!AX@BV>1 zgh3w|`axCMd*lH*+;zTvjFR3X3x>e3#Ma)Pti^UD5%-__pbb4^A<{EO%N~St?-~}b zzHMC0;OCdDjzYUawc2}$Qy)JNOL(uQ4am_Otas)qGu9)r1mon!3t`VqdTlE5M((ze zwHbs+mn?lLrtfVwpnCP@2bbH$8AV$9$Y(9trFZ0g*R!eE-A+t(sOvMbvoG;)f8e*e z<#5JpI(=QS(JX2!&`7mX(rVkoAj3=NQ*$$lo3UYk-{WQ7ocNnCslJPT>z_~#mpE`r zDj!c`gpCtR7B-wdDcS;5>}X9aW93uLF3&)l0ck5ES=U%`4U|SNWOq9Z>{AN46YegS zT|XRm*4UcC!!@JyYPOsH!j+jmuopJ1K0R9^t#x_w-e4iuoXbL*eKSOyb7<-X zg!aWJOWYR=BxP=!4kt_-{d!T`*KAlMhC?4Jn?*V7=BQ{g6oOc?zr4LebzW;rTP>^n z!9Y&rK}OSMd)Z9#An`TLyLY#0O{yAxLb(rS@?y1gW|CHEp^uF$XLw!-9FkIIxr{#+Fqnbln zR5D*1D;l|0y||4^TA(O*y?@M=_<(!i{(I}#^`6ASZeLvGzuu!j!y`o=UXFJeUEo$) zCz!OCZ1e;@P-2NLQ1QG0Jv7I2$o@AAGn53@-vcZ<60}~Al8V2~L&kZSYud9aV|Sr( zhoGvtp5O`C_LYN%MuFll235$-F|PVa&_$_~C{w;XMtCeX`G;T^7TP)k^iN`uSFzDf z9U@`^IB9>?PPIodq%6H@?zv@J(N*iYwE-1jP5wIEKf&blp1s%11Us67>`ZV=n+lmA zos$!pd;qU3a0qOZiIVZTZwebg2QXB%_77m&{Jk1v7PRr;&hOc}kjN8c~2z z?T(W!W-PkHe3BVsj-&wWp-R(5BHK&{6DOtyAaL2XtRUOM^N9owT4j9)qZc6*US30o zBW+!M#3dm{y2I%E?l@ zUD>Y03a@5ZIaT;8;Xt=V=Oa!^r3J|uwgk=JsJfo_ zodn*Qs5)QM9@SQo;kTJYrBz7(enN`&0(S#_6rkiwLIIJ<*j+@vR1aM792S|G2S0k$ z#ict>F&gpYex-JPv&Li2;}2kkahb@zH@38#s`;)KFeto8Qk>}3(+bF9h|a%O&&KaX zjb`@vIn<)(#%Ij53D1Q2!rM$_SNOU^Mz5aY`d7|9p$XlMcVz{?aHmJh{&cP9$arqi zFq)!PZq$SFpR8K6!aQ5+r!&H)b0q8;>Tl7%`0;&Nrp1%)4E~LEH`NTu ziMJzf#3*GfiAZr|j=y)tG-@WShZg&@)x;uED%66HbYIsI+nN_k^M*uO>JSgDnCXxa zM|WTJLX=+OM4s2>{Z7k{XjV2ige`{)6tnX=x-(8#M!!~NNP)C6lIrA`)3e zADS5HoGlZK_&y&zEzvz^ZUIR~*yv||x~mFEs5;2qdh>@bh-q@5A1C&f!W=o`c9@)y zW*rVZ)#PhUY*Z#)!2aWz4^_nLJWYz;@5p6t=_Z=(bX!#qA7%Pzi_y?Pkbg*BtU737 zuq&!wbe)vkc$<#vZPedDBhA{6QjD}ASyHDzdHcy2qu#quJpZg?LZomkIvvCw@N|Mb zgOq{5rAh{!v`gTxBsp8RREoInOmbH_IV>VeL1Iy%;$hIMXo=tr{d=GZKo`8``l{Q^ zo*Uzb$vX{`OKP9zNvr5f<5}5U0OZx0SmMCTZ=9-hv_N3MeE@1ojnbh|We}x+*la** zu#m(EGS*v3WK;-f07$l}ru$l}->^ya#9X@<7NC(Dj|VvhGfs$`3xuanY78-%<5$p6 z*wL*`KA?rp>m}1OEY@!I@duC^0O{$l{Zk|R?c3z3puj+$hu<#oKM6#5_T;Z>2n(ow zhn}pBt5y^EOK(sG3d4?mQc-Xv;!1!LcJrl}<>Nn24|qZ+FY_Y^>7T4ipptj7_@WrL zMs#8!Z06NVMtLwANbBSCtaC9t+AsD%wGz?oFX$tHddx{?fHM8RI4jD}y+JOaEz z5CB)NGCS|8Njw8JVmJ3#mNF@xRy8Y2fbvqqKY30VC*#(;9Ze$6B}-lGW}a2A>4CFh zJ7T>?D_wO(8q3e2)LB6N!{uoQiium{CLHIpv2clq+8*YnS@}kVhj+i~L&bm_dFt33 zLf0#?r1PMe%TdMcP3F&4{G|8i8nbUGjaCqi710FmD=_WAHNJVH?t{`D^g6lsw2d2c zaf;;lcfyjA%_mJXx#JvVw~#JXO-*v`d|fkNtFKyg{8Au`O}TfsmCoxBu%G}|~VOqv}_&=ZYRyIzHCLq~vetb0wM131WNQy(>Ir}Gl^A}ug!U|b#h#Qmm#3ZV_j zI2pjEAv2y-B7C}(fyjQ}s6QU`$s5^Y5l(2pJl;whEB-`>?NPXZbQz{=?`V*%WW3EiZyN=?o)NRN@M7@lSU5Nm#lj4TsI-W%O$y`{}!iF zChAn9m`pkwm3EY1nVkJB@XCM;DGp2;2oened22rr+{$@3rrxb!sV9#^E|UIv9wURs>AENG)XU^&YTD`? z>3tH(o= z@C8WkmZw~QyD`3}K&dEw;T91Afh>$AQl_FgJpuXyKk)5y{MT}Jen%p~f;)EjuNCO((>(QYyXqml7SgJ%0g8);FV z(YBRsk{3hRgE?doHHDI~_VgpboTY$uGXv?;;lC+!0nJJ(ZIe_ctqI-S z3g3QxXWYuFah1(_#*{f*#bCHTsStOruYrnsoA66{N^o7gIhlhD>3dfe@~&z|uU*up z=3Hi|E&VNo2SuzW5sl7Sc8^R_Z^D(uZzKI6PG}yE-5s z<2^%KwKkzYBK;oXW8l5At?mIdsNF(DH5ai<@bdop$fik~uUCeHOjKCLv4$pB2tvxE ze@FnI(*nKm4T=i*dR%`5luVIiI5P1eQdHX;VgI_cBNzGA{i4epd*hO`YTy1GCP;yQ zglL+_RWU0EQl zA7pV{+j|#TPQQZg1X5q%hw|>D>650u%*Z?totaL(b+|#;#iD*pwTJ-z( zJ$ktPHs$ktmsD^Mj(nzT8r1r5@y_+tVmxq-h1Efx3&|PqyX=*<72q6I{uB=*hxiY> z0lW-{KCLT)Vhhl|H-2ZQT;05lybxpZ61^0-xVy)3vOmG|F@mMO&!4Ms>(-lmQ?yGn z{(g+7_&ISm!1N*y;GOaisjb|N2VXKPh2AMoKe$6EI1WQVghBk@>)PhiQ}~cjaSdp| zk&0DhPFlt}dMhz0N*Gqu7mpk+!`(b+-Ii?1Nz=Uj8B0boL-)x0&rrJtW^)Hk&O@H_ zJbOK|Ln);z-8^@{GSrv>r`dM@8Wc8hmpV@OF%1rPIs%4G_Hg~NKq<28+@HBCU_|!& zJ8PqAE}G)RKtO;RM(&O_nw(NL9~G9FMZ5`8b=wRinM=g%N)i~EaG$m9V6Fx&IGR}Y${WTlCFgE zGu*4}GZqd7Qrh>Vikyct8wu@E&g7GnWW1ZB%pB)XA9R0!uLQI9_US6nNUd;CWBbl&fSln6S<=y z^zIxC+G>Z9R0OrF(D7l%gYM2v?N!8M9izy&$7AA)IzNZ0A|;KV{_ZsoSa9~=9(>8# zkm@DoFoP+rEWm)vS@PM?o!ZK``1NN6-;aoaX^oAeSdWN zs(N$g0V2#sgSnJ6qxF+u{tkxDug8#J*A_M=ijb^^IyG$9~z8vJ(t ze96*tc88x6d$oN<4hNQbzFPvgg#+93a#lTVRp`Ry1bNQ-UmxcyqQ_UQ@sKA8qj(2~ z^$3M{dC8ENTp~TU5U0YEQpoK?#-}~_QO*e~K^-cAmwkOdDEf3w{8v&0Y!eRZK&hd3 zayUBiS?_5*O6zd|4W~AFE5q7hsUD_2a}8-hb%AwxC8a6*1Ukjt}G32 z1X9WK_nM|(MNV95IQ(^$AH`>@R^LH81@lDsIYjZVtx3ap_eJ{>y}Y6k^u&lx>Vvi!M+5TBGYQ|@=>J75$j z<%~rd#jy>~ZVp1!1c~@XK|!OEc%^Udfy^Vql3Rqlm8RX@qRusG*m~RwGP4zhx+Tr| ziLQ>7J&=TAO}q4{Qe?PlA3^|?uSbCyD#;YjB*eW0h*PGQpZjm6J3Fv7jK%91vVVGx zIx*IARic*rY!8llJh2ChM3}@V?KV>tAf`0HlkJ?pzvVh?l(;l(5tN*DZ!^h>K|B~0 z>Vd~u^r?2o``j-wzkaev5Oh^Gn2=Y7bm*6cu8=ts8W8KyF?M0n8`e&-R z`kP!a-m_Le_P8-I8P5d{M#O3MyfD82>O^@31*)+XwW^uBwmtp_i%l8fPdxqL&4;Z{0lzY`iKgJfaT>YPS%T|DYo@0I`i`SFd01wG=xA zR}P{A#hwhQM<#HJ*V2GLY_t%tOap9J=<`+pz!i#y(_S}C%)Re0Z7UTR$8H<=FZKUF zuzb-=f!r-2Btrc&f?{)mKuGp_=YVua!nV3D5(Gx0>1R;D2=qfXcbds$xZ>@&3F`($ zJ?(FOCr@FRmS1(M#UGN-V$O5PK%wENxs+1MT#p|o-MgpubE&q^BfaIqDH{1ONE8@L zjtekkIHSvJJ zA7$3jRjmCTK-8%uUN~~^E91>V{27P}ZR6~WFqQ^shG$?_7Vqd4&o-`y<-k9CKdu4XSoIq*V{4z+dP`L7Czi+S#>2_P=dO^{ z&_=RNJM;AL26)94sn|31dx@s8&_QIUvPAdrRtQ$JdESO!p{Nv+?11WA+ev12P z^%Z5AE0!(8p4k^tCOH0II6K|hK=TQF;OtUY40xE^W*&>&RPc3>qY)g^(|Pt$cl;j{ zlD*O6{~MOB=S?XJzxfpxy;ahLE&daPK3EXMZRT>EEGD1{vR*SX1HI3~;9FK21F2zq zhvw(F(}J8~pFe#8$oq)*ZTm|e%TH*AiZ9aE{=W2HNFpNh!j}JbTn`QX>f4UTjq)TI z3j(NuIHF%Ymo392!a{4V8&o8nL3&f|qr^S!sm8>>{DEONN|(C&wNvM9JadPp3K&7O zB^7>m@s=4%);gc8Df1lN%V9(3NSb?DH)b~K`i_1uOzF6FOzOM#LW&V_ zv7`bF_ocBKF$lip`-kZX1T)PaHjby}Spbh!(7gNqP;tirG)y&2o)il8$KU=_+Xzkg zXCAm?bSbFyiM_oFAR#l$*7{3Dz1NTj%K6CuK*@~#|3bJ8SFHpzTxgdphas3rfrZHI zIwMA5xk6{1=if5T+rsqLFN?ih^;y7Ch@Ww^h(YF#-7qo(qUJ)IuZ0_F%?-!d68WN;pfdLA@RYmYmnwTYX+Juns7`3^I97{IQN`eG2pEp>lCw!MTPU~NFr!tq z2SMNnD~l(cn+|m3+?wv|?Q5IoV}7o#YbxTtkD`vcA{61z%J*x2n{o+LTNI3!%!4~# z5sG@id6Sc(evsGRF?unqm$c&A;g9L~U~u*a7x8lUA*s~y24=O(av%sopA_V3=tF{) zXUEh3I5gexOGQWVN8yuxXFk!M5UuQKYyy>{9v8Q6YuvN@Ab@xrTx_XA=$G;563k`{ ze_x>3{(d3Y`+Hg!J^kYR?r--cjG{^7DIFbpcnYZ->pe|-Qyq(wKD9W~Ec)frbBXP& z6|?%nLq5Mm2gtC>t99YT-vSMyKVsw_%-1^)b5ZCKX;O4Mo33l6oB>{@9Sa<^L-+ z25qB#ncuiV8URLJk#P)Sn^QZ(7JIUDF|kQM`TD_S^UFP2E+|Em`O$><^uF12|3PCD z!;dO*2jub_4>2D}mkc$6ME7CXwNjimWTwHy!>FNVu|E3rkHY^v%xX*|Ir^-OcNDA( z{NHeD_%~FAnPBngynalz;_Hy7VcxQiq+YOouarV*s4HQ*5xfTUqTP0nRq#}gDkvFk zTn7pb8Ng;XdieX3&}57q&YVSX$hqqG&G}35hdbs#y;+{W zO{^2Ow+Gy+-v0b&O&9I!7^If+la5nm4<_v0PRJn3O&jDt%BIg{kNEC>_9c1#{JB*t zC8giOHp=F3o~q_E56^=PS=bV*ED_33tgNKU-h}>S**f|l_OYt$9Mzh_!k4L;k<*SY zn(ry-O;u-NoSNEsY@rY=%7J&+{`gvdcN}Gp;B=a{V4iMkjC;zc`g@Hm95~KGU>w_` zXJv1*F2ag4*fQ~aX}ZO~{&VZ&NTbDE9FghXZ1m|k*Af{|C6|c@`_$T@#y3YlKHR2Y z$rahkXo{9b3|m8B$eGU-3FdOfS&kW;p(-@T9i^V&Xds42WH+;VoRAc8At<4@2zwLXZ zXeB}nv!|C7?^l_<&7EsZu{T>U>u*+4-31C|MtQJ)&G6}?Q(DD-)Y`)v4@g|<898+H z&Z#I(EY(X?o2q8J={usCgpA~c#koRImJ=8Ju+f!XB2&37wJ7~M zAI_&7n->SmTphxIX%^&;gkdnBXq6c$;H>28R6g zHmctKwa>0=5wFfO-GbnOMsO6guk)2j|LK`A=r9V2<8^d{#u9q39XnCrT`3L|Yy$%N^F3b!smB09xlw8r<9ZpNMN1 z>4WB7SHu^w+gdXZe;%pNly)20`{p0fhQ7lY6uI6%#yZOl>REU~EwP44kKz4gX$uz; zNJgJ!L^DggH-tOKVRuctZ>a?LpeLE%5oQVGFCl8;*%a>7pI|7Z5A9#j| ze7b70YacK@=Z8LIS!iVR>c~&gJ+@R@b{-My!|g${^{;dfs9LQUD+U5(KqWz-8Wev| z!ID3A+_#*%9?>mUG`Ii$-Uy#5+HS*ksRG)i%A44OUh{&3YbfcBAxr6F9MgimLsphq zB>|a#uwQ(CdG$2j#-`@sdbwM-ULEuhdj1igI(K<4nXNnbBWo6ehK8|QyK>%p@TVS~ zj99&d2rtKoD+M*#=4}C)uwY11RRgLNxPa%`vQm)O%&HR?FO>{w-LGWazJ#PaE#mzyyA=jZ)K zJfB<*WjLYEXqUviCjr4R%JHf7t?SsjLR5*B8zIURd(+KR!~AtZs|C{yPQ{d?!tU)X_Fw*5^fz$7uhmdBEwBV&cL$t| z`ENK$=bANgP8cc#!nC`;zMo4O$hdOfsT%j9JCUUJQQl<~HSEgLKhh_1zSqP@a1=oBzeCfXr==VD?G;%d?8&-Z*`$z6^XKzIP36@M8OTv6^<8rK1W--ip#*dy zm!jyRTk+1vtlgmCk|?p~CeFx1ze!b*AJBd;DlPg5azKWuhg+5Io1~!6QiEF z!*Twf1(%IR|0h!{JYB-e9KKs`VD!7?P!r~2Y#Q-(TC=qm3l3WOZ|0aaJGK7)5C3Lj z`o{cQkzeZ!tHiGlA00F5{$9BvcNL9A^U_~iR2TbI35KI756qOK-5`rL{94@_V&i-x zIwL3CV8fARmuvbwOyTvqf#7Lf^^0WzVZ%R<;UEU)Qiggt5Jna0FMJcoQE(ybE6^vp zt&e110q0dtyMWHA-a{VHQZ z-d%*?mmOVEFmM+#o{ThAWusV(|J)IAcJ8b4Q?$Imbs zaONI7GFUZ?lW5PT3s*AxCW6S4%gLiA{L)f2K3qn&1aDVn zN#i4(?5FDgy7*edBj!3v_C}W+rVBp#M-WCIT=2?>{$*rAR_-<0_55{gqn-|WuNMX} zQ9GyRx4%DccJb%$1w=fd`N@87M5w8xB#(FPVw}C+`ThCWm;ArV(LrDM#^R%tyb{OX z`=F|*CLSiCCK({>JhfA;c4d1d?jq`irMs^cIsaNHvC6lfVzsIz z2evTv?TI#gj=7_;Q_d`WYJl~~mUz(K-N{NwJoR@xhBpV@&4P zt}Ac8mY==WUtM)T9k4skk`$r6yDi`Fnq`*i^FITKV*OvbZ7|QWt01p^IzI!kR-GO5 z`y00dSl4P^4zONDODj5elQqo6K)%)Q-{l(X|EDpR*d)tl5}xMe&exC~tlJ@f+IAgt z_ib9LqmoYMz(;90m#=pDq5JXwZa11NP#EI@6Vw7So7kkJP*}@@A9P3{YUn1kB)@Cx z%j>*Kj$#!Y=exNjtZ}ek|A^Fi<21qQfO7eKYT7j5Y=`kHO{3ABmF4o^Elkr~H{lt0 zj;NtR=>RfpW=8}nPh?x-ahg{|bOllL!EYBt&r6<;xcJ?c@*c79^%%%O;wj_`lhNr% z+@0FrEnzSeY0TV><&*n&;c=2Bt@45!``WH{ZVM6SCGYLE2|A?I&|{g*UYm@Zm}6(& z6w5^s8-QO*Awn7znlg<`fO*C6oVN&3Xd%7}1NxvyFO&TpIVIA67fZGrmh_Wd)N?Rl zEj<*$QLY?^+3|)L7kf^HfuSDZx4gnfeqJIW{J|)O0DF{z+?`x$g`iz&*z|)L0*X5W z>n_4ro4LMo2%OR^92~g7%?SG*3r8`E zg+&l{TS}ZS(hJ3jw6&NoXH*<5IbYKu0n@}zP@7MpzNimYuF`7dRi2LuBCM>m^t!R4 z;bE^W7nb(-!9AizyDc2^lt)42seHng_f655xFmFclEwfBIfRZMo}37Am`)oV*&4iC z45APyU3YH`G7e#1JUhXqFZGud3%F&C`B8uWEb_VHa~ON_=M#tb{2U1|ln)sP7|6)- zJdeI}FnzobwJMdGs_~kQlw7}@j+3QL>F*;Egl<|-%360>IKhcpz;>|5v6ZT3tz!nW zgKQp`uYukAzNwcI{;!hGWxNH^a@p0345YOnEpm86Ks4;5&y+dA%sfBuET4_~d-jGA z*?OZTk5WIs9YXr`7gI#~6Q9BamC0I~^J~Y9xCJo+t7WWs)Ebv5qw+WgtG8%dpV~dO zIErScdarfvryzOWQ0tlfEjgvyo|t!ku1Aqq@eV|O*8#aG!e#OHt=ZIvBJ(?EcgXCj zC>1BtUIjZ@XGF4bONRcw-90T_%I=I)CjWyN4M$l6P41FE=f8(VSY&*x-o~Idu$PZA zGHM-J-6Vu@Zu_0B?iAX!KP=F2U$k|gmm)kaqgIr}*Ls(cd_p$%WqpjB9NyO%bNiVGgwA2I)9AP%u9EOJe z{RHVhXS?9FqlRKr}paK+`f zul}hiG#|0BvKk?>-DNLhL)UTm5z#(p~r!t-vuIB2;1HJbSdsHibO2Wk!PF!*_+K6@{I*QQ> z_};9)tBC{L7UG5LPQ=7TTRo?F4vuPr^+i;-8n)?;kAJxOR{g#Zz`WGQ%feEq#i01- z;8RK!IY%=6vL%Ek^QQcEMAWTE3!ic8YUzwkb_I<6ELn-^RW^0m_*mZPR@{?QBKhw{ z#&tb9akzzJ#UO6VxNk33Y-7p$I5{-#!k;=HPUW_C&&n~Six+wOY?hUc+vD=G2C&cbLkB1o^XI)wqFWEUIKsr!l@ls#6isd)V+b2RqeZ>_E!MD7 zT*bnIPJ?BZ(++M-$at`gt`9`c5^!IB0bMsTRapVxCn6mXpp0jq0p!Vecx z#+u)SxK)UnyFp@7?Y0_*kS=!oDB6D)l;TX6@DmEJ^e43EtowIGrEPPHQAX_#lHA1bYn? zJbxmzcXJCf+^D9#yb|pv4+U=c;8#+z27*dvT!mmgpoR`chZVU2m6PdCxc+DIS*)e* zgZS^ckOArjL+w9=e$qu2Znn$q|E2B_ZTKNjr%~19D7<^-=wyCCD-9M_{p(?NvhtUv zu?$HOtVK~(^_Gjv4KA1)Rn$NF$vy)wp*Yh9jB4+An~~XW5#Y%g#*zb}|JGr%hAlF8 zZ-0MZyn!nA8w#=<+v@OG+HU=$cni3=vp41F^5e#R)b6n_omLjk=Saq9#rPr9x^<1p zWz&r%?GiB_zb;EVP^;rKP^~~nwCk7XsRI#={FbJGasoD7bSO^hn?NpO;maswM~}cH zd>ML-=h;z(@F$M{yHCM#MBI?7h#!RfFQoH~3VTG#T(`m2}-_kO<2fNN32ppAP7>#fT)C&fIccEAQA!s(hVXZ-Hn2Pw6xNov=T~4N_TgIAc7zv9nv5zAl={EJU;LH z{xd%_XGUkv*?ZsjzE@xCTAwFwUL+)d(!mpCtRXF`7pmwVM#6?3#PB*SPa*BjLLN}- zY-?+yOU;8Bod{U2m*^@2$T@bJeV2en;CF$;dhwm_>t#xVBZH~JvExi>G(r?%*!#5a zmqieiA_A0qd#TwV-_H%(|#bUZ3>zMSW{+n=$T- z_BW@Q8bFf#O~P|qWh#R!(1=g`VO+#g&q|V*Uk@;z=IS?0yxsUSpspW1ZF7#cr19v* zr+5UEBQN$-LiiC1KexUX|E$XE!OgL9as}fz7x{H+bRGukM&o*u3OEykJH`qldjsID z8bYBAY3uSDta3fD-4bG#B9=jx8YXOqxT-G47^!RHE37Qps?_~exjfz>7MGReWv&FF z^XgrAu<{fg@cu1%GM7ZSF|5u`PY@Va3IHWxGoc3t9k-$c&;hkD|M1rW0x=a4F{-~C zb}sZ`h+|6;|K^Rn;O0;2&mx)ZGolZpg8W{i5om*V1=i0tqU^eO>K8gYri1Nmd+782 z2l^m57*w;LRW|~t>|X19x#gHIWG9{iYBfDHdu@Mn_M?zT{S8fD>Sl1Y44_%r=a~6l zgW~(9yP@&lTz%6`u1C$$-M4AYu9Gg&M-zb?y)b?;&Z7Vw7$0WBt7Jl<2mUEESN>W+ z8jKj;vOq%?P{wv1oTh|M&py1>$|*r=&{f=G1&hv*AtIB{sws^cr6uK(ui? z?5#}3!f!;v5eg_pBkoUzgj_HN*WRlNU{fb-^+o3*Ce>m!gB2tsa-1q9DP-Sf=x$$Q z>|b}L_^{l{!Pa05O}O)#uw{lR71bSuXdG_@(d_zSfrMQMffjB3OZ56MYtyChXxcAq zzmp5NFbI<}os{Jt`mTCY!#Mg3Pl*@)$WAZ-y6yZ;`Oo26Q<3Wx5^Ms+%iA{?5Vcj8 z3ct%Q!jvA3=9vaM9A}fvUw;1KyZ{S8>H{kMzRnDHM^jVt;?Pro9#44vf)P(r@COGi9R~L-+tjvu zv`~%UR)Vwg%myLCg-R@@t)6}ckin4-C;jUQHn=y6ejvN z%9BJ%0?HSmMHyai_)C*B?vw<*$}d)ruJ142rsO7m?s2DQ*?^KRQ=?q-;g`w3tD3K>=a7}aj);%gE@4qPsC27)=1CuZB z+%U8FoSeT0S!v$lII0kBYqSx5qpTjqn_(mfTITO!-ZP)H5w1q_;`&W^Oaj097q9A} z_}7^q#a@sCqxc`%o|8d?5jn6Ca(|~e-x&_GZfHSjpw}qYSqqMrb`(m~burS&`FU*C z8-&|!9NY*AH~(f{!miS-O^K|&I<_G_eIC|Yn^;KMPv(x7oQ#Lc!iokDsB!7Ui=Fv` zw^$Hzq@>aQdnX^?urz%69S}n4HYphLiiG!p=sR)_f;s+G%ZNkaiZEe|=Hzh&!Z4*r zf0uEU3Ypp9KBq`}aBSBd{aNJsi^u8@eb+84g*=nP!A9$!bF{*(4~ z{qt|gOjg=wEqtGPqEfYa=}Rza01#hLX0aB!2=x3BO&n+uR#339DE61kO8ZwYNwOMw zkR~*s&ean2-RcVNELSTWm1;BYrmp(Axi9|DpY*T`7uJ6b@}Kh)6gW4Off~#Cy8ghf z70j&tiT+2OQq#MSe0Ykl4{tE_EQ^v+gJSycXkw;XOa@mL;ZG0$ffn*6gN~%%9BYKWC&F62 z0Rf7_t>&J_0`{&CA0GdAWJI4qfeB9J@YXhaVKBwsNBz9+rA$||`=m=p@^ZODc-#w* z5_OEoZoy6d+q6&`>xs9(z-8mwf(_jF9E^z*J$-~RHYiE??zn%*FWA@PJ^y**1-Cu0 zLLJNe`%(#oN_u+>JqGWsx}09rpr;2wH?QNvwXh2W#edd55Z#K8zkv$KO`N?=r6l=R zw```Q;+|3d{(L#C)c747H`{py%WXOpQf>m;?%65cC*8DDako4#k=c_1eMaOVIYjTN4VSc7WVJYDoW}fEO+;%>-Cy=i4YqbhLOvU_9#)Mmkaz%c= zHVi$d*=l=KlY+ zY>pp-*9hs+{_gKLk*`IDke%t{=62z193{76&>OwX5%aY<%$W)`gL!Fm_cCN6yv52q zK$tQA3Ue{EYv~hk?cPrPJv@D2RPF50|MDfeLABH6K{s3=ej*sV4`xjI!kRi^*ww!R zO~``aJxxZ5xVI-)f#Moc*_AZl$TT%YK)lZt! zjSDkh-$`ic#I@FE{j9p3?U0QwF~;dhhPo|5&{LYT3qw?}{t~>kVF8Cc_30)(ckL6e zRzWN#iok01PXQYn4=Jf{Xs}W|A12JyQ9qIg;r}Zv7>!}pkp_GFo04NSLk=F?p2Os_ z1TK%Rklv7^Zs<3?@J8HpGQdBa>R$yeDg2o4B>{AmQlHaaJuM>4k{@W)QmsK1N3Z@-()GhEQM!dR|g zM1Dee_SYdn_chW?AA5Y9@%j74HT;?gWtV?=Y-wNw%msENfU%7uein9%=vfJCT>vnua1%aU|PPt7&s=Q{_$R?GjaPaME#q8mv+nmm|y5z z_-eqCl2>Wy`6dK1ScX7h0i^%CE9I%c2nEEvHufWIA+K0F8IpdrydzkZLwaU*%TX}a^#YNvyFWzJROz-fkK~v% zuK7lUd5OVXae=-B;jgS2KXg$T5dyhwR@>(}bf+Mxk$N&4LyD#%q?=sTLYZX1Wl)?z2~?{M15&6k$V0CKe(Z49 zzo#s~mY<&e<9l^AXI{MeExcX+lPmWs9Nt9Yi?5+|5^9bZ+>It8qV~iS^8$zxUWOLr z*OZL^))3qyo~BW=E)gVmM2NKnl9Z%pm^^dj!g6F5#GV4&i?B1DH|ghJdno|{uiQK5 zI%5gBjPC^(XiT%R6zhriH`Jn$uG$&qj9mkjPsz*KT>u>IX;J^`Ri!8AiB@(L+tJXE z;UdG!kk2bgZ~eEf#?``IOe*9~ihm{U_2NeRuRY+`I|ew=^PiPA!3E}!^gPSeL}(BT zmE`*OUR)h0qBaxcCl8*~N8hzZYcllg8bW)=cfseu&3CX9I)8V5$<9y> zhA_-mjtF8f2}~J9h<}jD6(h`1rPCB&-rabeI*=pq>msBl%u*gD%_Mq7b3AGvzj9pm z&*FnC{`WpbRnSsV8U0OT!a|moFdebIx7R0yo6HS9o``9$xN%Rg-8YGzu%KyG2m_y zL8epyE#94>jxlj%OBhqn++dQL`ebr@Y4~i}T-dqVd_2T?UZF;w=*=6xyxBH#fI3kw zKYOYM7U{n$o#$s;DF5bX`Gz{~k_q8mZYpsv09@^0ck9_9P7S#$0e$SLgC;EHdPwuaC;@Dc}4D@1j%QRRLDG!+(07B5@qm%-Jp0&5+xGfJn!>=J>Be=0z@^CrNahz)-yBTS{Q{wYxqU?xit2Z z`0rPe{-@L8#|6p9XuH-JF*~T3Pf?ne!FQy&{@0E+VB_FA9K?GC-%WVg#Q*0Dnu;Lx zwWmy@$;Sx8vFpM2rF$<&J>Gj$fFEFj9eX}ONMAKiiv&hOboH@K1=&uRdKyvk0o&e=id<+RT~?8aA?0VsY$h^=XxT)ucT|7heEub+{-z%~%@YxYSs8$&ugZn>8 z51OdreT#OQm|8E0JpFw40_Be);iy|)&Xzc)=Hk#h84gV#pn!gz0VoaO_T{!;41I-U zlVDZ>IcRO)%1UnbGtf)S9lwW*E+CkHv{2yFdkRc*kSr{upBTtezFU%jcHz>T^LH2I z9DQTC48Hw2TO<6hf!;2f5=Pml4D~vNiZKK7W)@;%5!ueJWG{8Wfpi`hcupttNe&yYv4L~9~So(G8Y;* z@?TMie8$5Ne-ropc&a+N7hw*%*@7JHHq_O~0qWY0b8un#aLY}&yom5keSA4oZ;{p8Q9q=!3E zNw(h)zfY2V79Kkl9upBRT)|`qkv>)URoy&ysWl^GdwVMJA_PZ(O!K2qzb_xdx0f4yh%zo#E7IMKvFA0T6R1D0D zdruU+TkO1Jwq*y!isE$8I$g)z2AM#Ix>ubm5bx0sbmbvX<-Pum6A^-N+ANpdC&<*F z%4Y!`+o6jD;X-9sN!Kn>?hb}wV&ing{V@H9fY^*p42~|ga^po2TKNPE>`#v*BxZql zygR1L0EW)|ZT>9>_A5=H^@%#Zp#sf%*H@pmJ}N2!`78U|0!d09sM^|CdrKDmIAAd% zu_jJ)J>?0m+n~z*@-XTZiG0pmvvITA-2Gl+WLi%PPVppBKcJ&F`?dRV?!x3hv`oY* z!WTvA4}RT3NKJk%01ZJBGzDpHX%Iw!8FXW&IPdjM9;0wX^pkKTIYo#eGzaw0H&n^s z=ltUvQ@2c&z58ul@yCkbBinasGM|}znZV%_zIIs>P<+`w= zR1);uAL(?nW(cjW%7J15CJUuvxK33e+K7+SCPdCTdqbCI_Na=?i>Kz@;d!~%dA^H zRoubME)wMZ#3>Tkif5r=>=Dwiib@rEeQAW5h?w{d{9_t`QD0zS=9@F%wq({d_=gn9 z1RuNteD%dqLF5Sb(wH_2`MYe0(Bx^(veoIFJg2#fDsme4gHd}4nN@1gIQ>AONUg}S z0G^8lFDMLK2udBXSTwc3?xX4Oz;=u6xcS?Yhd{e!(~QeCg-Dxv`8Qx3ErPaKm24F( zsLwIU@pa05{$Aw?<;w)KV#)K-Zsh;l)hj~@o#edxu!dqXX)c!4A5Vixd1j(^0>ZCt zZf^eaP?d@jPTkU%#xZtXb(vRPjb*(cDcc!CPD=Q8dE7i%G)P*qz=PARjHiUX66CKipre&RNiJ2YSR1Q^f7s`ZP{|R_Yb52Gj!92( zPwNn&+iit*QCVS6G(tzk0}q!yv|lO_4K~NJY;}8GJ&Gd4Bt@uXO7V*rI2wb$vvUl_ z%e?%P4b=NphXQd)bmv0y^Dm05`d0_y5{B~1th>EG{$yvv#(tkt(wOaot5ElcyH$6h z+4uB(=Q?>B4E5F_1e%=Zyr)~O0!>{d|$!0-y>x`6pi=WOvxwz_LUT$ZxxQ3ngtpu}E)>ZrfWMIWx% zz1@B7w0=R4{TQ7iOcmr)MRp%!bNR(T%C7w~)MHRejt8P>wYDB0_#yjkZT8}$_9sEN zTzU&!BEgS0boAU0jB>bIvF^qt0)NG0n2fcTl9dzZyrp5~kDpM`$h&V0 z)eSY4_f1WrMkXfaFb@u@Q`tNJpiqtaRc7X@8yn3GuFIxdU)xIr=@=wUo7qXmb4ISq z1c&B12)%bXNH0R6_SrC4pMFK!L2(U7cxmnTqIpTv6a16`J`vkk{)!^k;A3C>Z=~Oij zV!yG_i1KdBm=>hSh;ZTEK_x1i4$<2p_bgIzKdrJ&AJ05|cdKG7lI@;$m~ITo>vhM% z2mAc=Y)Njnuu#G#SR%*(4smhuC1C#^O*@h84tf9ns_ZAhy1dv+C=@|q-28ld%@KLT z_t>H3-C-hmg*l_^QfGBi#eC(y6yx|wdzay!<{#*7W7(A_($msR0sd4|>H&NNW$q`= z=GkMyjjQ)DRaB%TC}$7-3L;oElbN_W6`I#ok8op~(-Rk;R8e1zaPN>2$GuVO&>ZpirK{9hyqXKQ&8K4n1(RbMd?V6%I3Hcnl1l@vYtF znVE^@gdq{9xEE20@9ZlHQWFz}L2T-+U=g1B^ezj!meD-QUEb*3ye|H_-^6;u?^AB> zaX9q0SEP!`?P>C%p)makQcFu!y7{->GB7fhffIUE&4WUr+>??Lg|&?*vj0HiMUh~! zOKGpfGdgbCRMWH@y9R-u&{0zvwdCGEVQ!%sYrkbH8V_l(u5*2-aoJmpC{%2gf?$kYN7vt4{r!c>(=; zSIt~@=JO&ZHa_X-R!$sVZ_zZb4{2^89M)e)8<4XvhH2pa_Se&|(IyF5AmhkDxG^DY zc%p`!u}Velbb0mpj8B$MG8Ugd2XasISFz(f8{3W#AJM<*>_uF%pnMI^cXa8ir~QDN zDcuQyA7W})MLlk@(^mpI_;0$Z^P1N9WgV(3O2el|^bivfkLEMh%)-Y8k^ zbG(2e=z;M)DAbcZn9!CJXUdg*m{Sm=Hk$Uu>zgz$jkwXY7>UbZS~179%n-TAUEaXv zD{vP*GL$o*gr0*>s^?NSI;tfAeA~`IJzuvQ0~d>rA6rtHR+cwkdlSHf9$FZF-$5uZ zO363%8@YwL&MNJQMU7e_Im%ObYJlJwK(TMa2vBg9GcMv>)42WhQ<3ewG_(;kXH(lA z%ts+@s}mNqD3ox9YK>WhJKxTO`Ej?3pA8K|#TQ4y*&fJ_%dMmphHs?De{h!Ux-`jg z4TbU`$1^nctO82-?N4XN5_tvw(MEjXYK6C0vYwDqM_n|*?m^4LnR%m5UdVGp< z8Z~n`+un|>AsT8i(ZcEj=gSd5>e)lqUzCGER@QeJ&&KARka5+m*^p7! zW|e`{W4oZH40^FXk_LUzzTjU1>Ssm0jZ)efjcZRTcL_6*k8Rz4!lbJsr;KmUGCwTA-I4^UVVlINl z%c@*nR@rEyW^kR6`nF^-`s71({OIE(tWNLXH~GDVL8)^If~Jfp6!!MWQ<(Q+KcK3v z$z=%r%%jlfjE#+*>wMd|^0AWAdxUU&Pe2e3hoi(!#iUl9(6U;=gjFmxr(C|3SX!~s zdjUz_4I0zN{k#w~R3l#5%2_z=>U}QwL1~w&Zrto>FXQ1tC7heH&TE_ zg_xLv#f?*9nM*6MW9|hyst{+t8h(=aI#Z`yhNsU;1^AN_96qytmgeJC9uT+kNq7-q z@aUbHbJLWaTb}|7#hc}bBO=2@z&>E9s2Eme;oJ1g*qGtoz1%wFAotwnVPuH#n5<(+ zI8y49jwKeNRHPT{eTHAoSS%50@%rQ1MU*GrEpHWdb(p+CF$8W`D$@8BL!Vv+tj%OV zPQ?p+0rs%lME;;PJ(V{%@3u#~r`+V^A_>Nqy`p-UdCw<9;^p9ocXL{xD?M|w1QV#+ zE%OqBIq+wDzXTBFO;GT~_*CTQcg1l00;a?spyN*gNqG)4bSwvG;Hr4dnp)XE`PP+| zjt>$XIQ?V;UcZlcK&Q#+S7*AA@H(xzJFKZf4j&U%tAL5jWYXyS8IwRsi@L%6A`zI^ z^B@$apCI0RucD)q3%t2{>$O|KBp(qlhjSN@D&-{zM33Tv!YcS99#m@dwbQJvdoLH~ zF~0iOwtGIb9Jd%qqv>!@a>Csbt#4wZJU^L!Aef7@>rzxzjetP~+rXY;_Qju&@8=#M zR|X*SR{$6;ZI~=P2ox(hK=fL8e%PjzamB^k>vlLJU>rlx&gRiwI)|6O7M$!Czpoz# zzrPeu>+=9N0933?x~9wcJW7#mZ9Z&+!WQj2s9Jr&Tk+dT!fiK<<7qF z3iomP*atBv%!6;$=%Nhzt7d3w3|B-gsvrC|Hf=k=paj*vO)xikc3Ryc3S8Rb z^9#{QY`=JZ$%@XJ!zJt;cV4|3eYr$zS-ot=6BMLvRXP^2KeQFGbKGEbi(BgEeG%SG zD|$ByeU9s(ynpRX-$$5y1|sahsjE5p35h##@U_bIz;Gq9v+J*h*VhYIIsLq?t{H9O zX8%c}WjjFiGs{!yhBZ!~y)(Dbu?un=x}Zxi3H0zqV2YH{cx;xn6HI!?QjmG73U9nC z+r5u={^tX+2nvr?&FjP@silO`fxoL9e4`fGyTkHWQLs(%>=^V+Ose+wr9ipmbW{Zk zs`|wN>*2js(UJCET~Bdhe6LLvtOP}czPFNZ`ZvPm=P`Ir9ecg*t^1j2C=>>5fgk1k z{5%Y=I_c}i$H!N9FIk#FuJF3rVI`d1AtpPL1x`W$j^b#hjJUBl$J%pa7oKz9$rX_< zbPWaVw;pSl=N=pRPq~c11UI<@d_g)V+0MZTNBYggXLraVsazCFc(=zdNr`oRpqk+U z2LUmS-0^bY1y0NR-1t=mw~QBA1Fgbu8Dmy|(pADt$DpB0Yp<#y{jx83+NO8PE{)vp zFdYna;+klvw>LU)2&~Bq3}M_&=Vk!YAu$j78!S@R)Ta=QkXZ9fvrqwsrqwbBpBuZj zi#L>>m)vFrufju=z!z}|JkE73ze9|f$DwJB-ar~GcW6+UgQJ$VoJ6I9*V;cAcOlyxv4d^sq-7pS=`yL@)1-GydV3Dedib?t0@JFh9_f`BuS1I>p5@C-oeH>kqJ{&#Kyj~E z7b5v>@elBV?wX*77AHsE_9rw5QIg#6GBM67V5>-9;O%HHJ&n7OFh5mEkVX-o)wXI} zKt#%n%PYIgr&P>w>k`Nm@4bSvkQ3k}(Moz`Y@EKlysU*Q3?oc38z2PMDl+iN&dE{L z(#i&+6)jyQNLMed(ZbSKucO`yZMbb_sAhi*d4m49w-}RjUC9pk^@GU}2Hw3xXg|&1vlqYK1mQPht zc}BB*%rfw;zsk#(m8*_5I?Pc!;xb06X*&6NWrE2~GtVk4g<>Bos1&Y>GSySoWNt-DpQ19Fw5@*3GkPe#($NXB9AK`v+Qp~- zO*y^I3Ok+rr6=*#A98sRL&T@k0>(7hz|fH7=FL&FIs$4sI!U0^|7mrU(FUeDPQNRAbzEGv}_9 zqhtBs4Z-4#c`PSa{@Z*gcc7ZROXc@>?fLBN;=vY(ghNV>=+d2XO*|wNIua25z1C|5 zzDxj4N&?VhIRov~_C_TR?Qu=N7dMb0T~L=9S-ps$>Z{Kq#T> zb1xS6qAi)a<2~y03oA%xu3jbTWkW6TD%`ZKCyq{xS&lMNR(`q%k$man8srw>#mr%x|Zre~TNsdhB2!tBCdPcERQOll{HzT6iw#S<<9ptxi`d9LmSKrJU<>Z8a&wnZ_ zAes-P{UbU@E|JZmVgn^6@?DUFa8H+Y_I_Z}6e5Hz{1&`LaAXh_?>Rn`o!cKdX00x! z_``85K{GbTg_^AWr9;9Dtz4n+IKzW>BF~THlt7)f+0SN9d}F|(?Ft;_TYBqQ27!sr zVvipAs_R`w+_iRjA=PvJZ2F;pVN`AJ)$$6(_95D3jh3;_(kkP@kH^QZOd5s4@38a4CB$a65{Ni_6_RiZ6fPx^?qr?I6ToQ~Gg6M(r@nE8^6p-XvZibLm9F zUZXahbn9WzLjNgc-JfRp_uo5*A7@b5W|+9BXz1{jlEP!?%7%W8e&V|03YTbTzs}Sf zd4ntGw$P*&ULdy8=*ATu&P!5d+IvMKtASYZ+m>SRVxPRBOuy?Fjr&z50->~GWDd4g zLxO%&x_kYR+SaNEV`n?LK`Rsm;ncnJm=2P+c$&cS$BTs`S_$%>{Qw{403a^-g>Jks z5NJE9;aD6w?y4vfh;^Nu{Uhr(eQm94bh~<$x}9Azb-(##Sm6riPTwn2dY(#5Ts?07 z@o9NFrrGO0`ihP_vE%uae$5PRXV@a7W&AeePAr`+mZz7NP2?CRZKJ$XQ^qCoh z94ASbV2;e$+#$HZ|MG?Q@vt0BPy6a@XOe#T61tR?RldWgn3(02bkth#ipS8v!W^B+ z*DI>-mG(#P@ch`Ax%G;sb5ip!q}^V49ELT)ue!mO?}otupKKkL`US2}@$cZ>1mEy} zkX=wPbj!Ln2@bm+!2Qd?@Z}1pLNQluoq)(6`q(7A0{=H-=<$7fknYty$^5uo0msFB z!Wh!@>i4`=E4tX@F4k$2&N)p-I}zo__tMrZzs{B)R5d3|k4hxYz^5Je3qdMRAN5>> zx?T}_ShwJjh4}>wPFzxM1$L7zpy^8?evTV+n&V(Hc$m zE5!A9v(*`z&d(#zx6>~yn9RWDpv!l53o$PEW@R62N|=w3|58{cGz}c9$olFxX8a-V zOoKit2wxj+##;h$App@$abHLCIUzh*CL|Yt|Fk5%M_~3X`vc?eA9u}=hoS_pkKyIE zB8lKZcyv>X*7fnbYNirtjC92#Z*8%3jcz%Hh5zhxdI!29UQaP)GzWeeGroWSF2EB&iZ?#P}G!*bKj38HaQjpPME7 z_&PL0EbVYY^5%JV{pll~zVs}s&YR{u;1ruuvk{M%EY*395#AdUx%>F&UBs&3QX@R+ zvH#Gdtct3tDHKT6HZ~y@+O}k`^;rxU#PY}~j5$B%=H4s2vsD6?u3hNFwNLC0C#R#I zgDlA1Clh0rZ#8FVBn|t?2aZi8f=18Hf=~~aPM-12pwn~4H-p>3Ym5n$RmscCW{mri zk019TY{eHTE|b3S91U8sH1NL0zVf!};^oULqviz=V96)&Yr+&P(>_jg6oEg3;Gu@L zRkhR(1ceoOQ%Afl+qjWT+z)xTuRt31<1UzL`(ub$-z)+N6*3nZSL_vx`*2#}_`Y?v zQ{Zv3#Hr)FlvWKjR&8Pf*y{S(d-RIG$(*w7KckzE{3@iUW0Tx5(#A<`1-G!@ydW&k z;AF5VgK)bR1BIFxqJ3>H%R-=hT>8p7Fn(a>Il23TLEMoK1aG2^;T3bYPrOpsHtq^9 zNo>@@Lz1LzGAox%$#(e0X+4_?d5y%XVtdrwaWRECMH44gn1D4VFz1ru374&ua4u-yhKNNIyURr zOp6UdT~uaw(6^ot>_qUzS*Wvw}`FIo&-ZSjdiu zaEsn?&7=meq5Mc)?@b|uI~L&#MOf?1%*|C*RG!6`0#!!uGFtJgEn_mLpEm8?-Fpto zkSSAufG}G>I-}RFYX^g}=wxPKYgG{Ph1L634E%qzRDZkW&OIMwgg2B()|$NPABVUCU@+D4?*zU^mKST(p$8p1`Xzs^ z&&$N7$B;1cuYBK#diz5&!N^JBqs41EWywiJ>EbOinZ&IqbBbYIWHniO`!(zD^e8W_ zi#nc1DZt}B;Cu|=3g`K$3y^QET3!z4aw#87cxe!X`jV-koFDUkax(WB1>IQcQL0<3 zBnBl&jNc+w@hutoP?Jw?Y5*aztYJrDAq6DLtJ-`tkf*nnbuyi6R!BaUk{tdg#DmVh z|4G*KcyRx>cHV_(gAo?S1Q)^abxE?)!QN!SOqHFi58H^hg|s05K+NuLMO6dC%ZAU= zHKx_xw`%IXn%KI6+4K{U4;_DE?9U3(`Jmdu1xO9$7%VBxfB%@|+sQL%`)r8Ld~__d zlE9qj==ig3+-9N$o?i%}?s|AdLv`bE*)_mp$8W70NZW`|$p~J(7@LS%-%%sHdbm>egf#>K6^;ec3Rj%NcEC zSLw%|nn=0%vaT_KQnEj0!+>klbm{6BG-V{HeWng+(^bD4+e};0!E|!!Cc1xm#Q59y zhSJhd@tR96F=6X8VuG$B;XYcfbIYFEddTP}kMhW7cIt3Jw#RoSNwW7B%+hphd}ic@ z*7i)T_jVoZ;10W(=RavflCXZ{YCqz5jI}sM#MY#5#H8<^T+LhiCdN)IWEdlQxVo^C z4u|$7?)eYW|7>+fu%FNl6zE$sN&HVr!)3SVjuAagn86f?Ndo~mQUsLee&q^tME$Nc z7%{dsY#{?@E*~;0mr#q#36x`}L^PMJi9l6)Opk-5K}%e%+Y5K;kl~nH(C)A~nT=q3 zpc{N&d1clq%jKKn7at|p$aTm=qI!HWMZhsOq}?87+fs{YILbHCT~=I@=BE5svWkcO zVXdb@@`#jaWEEJYLEy%yVM817tH!M&x;_;^KJ|T0Zf;BY`}H7_29IP5$JlVUPz$lH zsO0i%4`C}eOx}Q`??+eT-U?@TtIifYa$UiWl@fQKTzo-i)^x)bf0aR7)VKdc;hV7| z3cl}g{(Y>9zO3Yh1ohL^5!<2uwrkIn|4e6L%Us>a7cH+hh6bMfA|X= zjOq*~qwlgci<-28zXvOg{)om7z$uEX(Qyl;>W*g6COF#xnQ3g{yA2}2s;(Q4P41@R zBhOFI@j#=bF7?V|b)ANn-GWxJx{8-~qA-PFrJl%26F+1h9^OJ!V>O3)?)=9(g9v98 zUvH|IQx~VZjvp+C#g&vmxQRgo3@OjQZ=`_EsZBKxT>z{yfnFg@zoSGd^m!{hVi)u)3%Zm8%8S0Pt z>QT0&9~7p+?vUXlhbG>$Bv+=&X(FrFquaWup0nT)E(xwJ4fh;gaOm1b$+HzZn!X7* zVx`^$7@*wpU4Kv^LVWYjR>j!0@EGO=w2a5Wvc-@{Atqe-0Imhf{t~k5_6oQ@K8QYn z)N*+lX#!yq1P-M()6P6OH;EzCmabZs9s#V*xC)#yIj{4Je_eCTS?xU2K=Ut2eYi_d z0|`=k_p^uQE?f4}Ds`S=m|W zV!oqAGS(YZ$ODW*mVn&(s9iwe*vYRqs?6q&{Ss zTQF^Bm8YZS|DpUC?u(ibL!RbV4M24`^31vB6JABm*)wEIl=eP?@-pw27<6^r-Jw3N z@#M-es}E{i0^P*Q7hx593Qs|?u$Vo6{=6uT;8sqM+DUfP-Gor;{`Bv&)tMb{tkh5j z7~(#3TcbF{agpiBV2_(@eQn=qOPn1_RFGS{yn#21V#&_m{l0DxJ@ulk-o4J?s3m7% z#ErN_J$QRqt6y3FsJTZ@dMQpbTdwlhj>+!JpNk2 zYQQ*2^!NjT{Kq2M!+S4VNS%wbB1dNqo=#6^=RLpofdO*kUjP0UIejk!N@{iTN40po zoB3CEg{m^B*kjNMoSZ#Ke!INaA;bzCp+&Kh4pyfVq}JBP{hxc{v|nc#j47JUZOZ5* zQ5(|UW0t6VFoQkvRjvfmc{bH>6>47In16q<4Qk*C{sZFcjCCdDaR!$o%RC;dToTWRjzLPj z)AZOSWmiNJP9|vw@B}@g&h}A&@wvFSm|!jvJRKI(i`MVjg0_5IDLBX~*7hdgbz1!HO_V>vG`jYzAn}qZ6C; zb9v)M!u~=W$P+4c$+D{)Y_?(t<0}3N7$+Vm%X*$QW*K!Uo?$HNwvt1qV>cIC>(44X zhu>8T%l_2C3I+zr099B2FWWL;_)L5H>DXlkc)0y7MAHvrL8fpfN?+|%V6Rp= zl(gVI)!nJ|uJEq?3EQ_-I)QRw+vQL&`kQkZ$~h5nUiZ_H`enSD)`wr!S0ccWo23qc z2dXv**)y`tqcyI1nHojajwnVN=7-TlF7)>}ewK`=L7~U04*W-yBL(t?()T35enI~3V#vv3N598V;|@R5%>Rk2oss*F|M>o$an~T| zj8;-;!wVT{aU$FCYh~whG8YK#?^g*H0L#Wl1?LQ-c6r@Hp{qYDTenK-hnqo!qe`_m z)oY`fkft+LhMj725|<{d;xeT@5It1oP@XH*g!^?86H>uxPr+F{78ts?H z!?!ocL7@o?{~yEY^TjW7WsW?s?XAV=@6vAqi}n}Exbp{0tzkoZUJ=3pLw_`H@`)ZX z`IEI$Qm>W5UrH9Qia2)f9=834t%)ZlT<>!P%a&+~DB0r#5d2q8<517j-^#`5_TRvu z?7HOlU={u1-qCEdE<8lfD-O34s8drgoINQTB;_g>M;Xl3Hb~_=S1ix&M$FdUou@q4 zzAlK6?x*?A7|c&N)*$Gbu<>N#@T=)DwKuzW7dJnoep_JR4rt1Ni+Uj^WlH_0RYm*R zk-la0s~i>8?6<6%for!4VrtFu;*WAftL;?}Eh`udriAsmAnk@)dyD*rYkBKWIGG!NNtGGxCq)EZuu*jmLTwTB2Q>6~Gtk^Ybf z?nzHf=_1LPlIkOg`#68TgN=KL;KjcOcl|$;i!sD_H1|7j_3He{?_8&jvUMzMo*CkA z##^S^$O~dc9)~x+dS@kqeeIDdleRHaE1skUp=UpX_-&J)G!in!_}U?B`W@pg_47Hk2FTKTc_ZzEno4}E{WUS3>QpGwJ$wojT* zjWQ)p}HvVS<%wn z1J!KCeC01mehhBEn6Q_6Th2F9__738#>GN2_d}`J3^~l1UCzBeI*eJo@L(e}h^RaMVuY9&|xJS$H}C7>eEwVDFKBb>yWHKKCWYJ^94 zo2G#BLiJRg?@Rdddc86tcKQvEmLLU|@8N9{J2tOo*u)sUwE#`JEL-vB_SO2W4 zoB|Pr(hqh!;sF6^-LB=7smv$cyVc8-BOxa>P0kdH{~q)$M5y<5pg({f$=m^4M?~>+ zJAZxgQ0H17=?)u@yR_K;9Jrp z2Z)PJRr5%5MLAefS=OQQeL;<;qS&RQ>S(yZhO+wz(UIe*Aa`Ca!0~@XJw1C&}?H(Nt9|mE)p@c}!ka*;>^qu5=5? zE7F%O+o(~<1GJ)MCj8`k2?izH<+(Cv1%-RE6K_0>HApb(b1{Urgu&VPlWIU!#Z3U) zFD^O128G+UV$d|Z(CK~(uztMc9ZqVo?HwI;f1HI)!eV31$77$G zY*>>#j$$x5lr0{*M(?H)NySDjFc!zbJg|2oqwt4G42HIs_X>qqp!vTahM}PKgH98Z zl-yj45WQ9w7w-r7!j7soHbsDr(_PsF;+7)alThdxF$4an!PzRi1?Q|Zs8PhFrH#6d z?~J~f_6huErm)BET!AT^Z9emi@8q`6J08YFbnsG9`@s;sd-yIf^@3&dp`d>B_PN8S zln}wuYW>=mHhdL$DBh?)_<}v)T&Yw)@#>W@q2KYhA9-DV8r7$;reqlsfZecaGeXpN z9(ABF2paCaJv2dvCJws6=%$(3S?zI1AMFVA60Agp z6Ytj*OnK;}rDZ#B+#aYqt2fczJi{ibaf*XrwVlyWmE$)9J@4o35S7H4!+%rxNIIWk zcgDqC`H_LTiR<_c(a_2HxjBu!r6s;owc>+vpa5RA1#$37{N0SN`s(b0t@YL?-Ofle z5?6idvBeK_qz}HDAP7tprii<`rl#q*pP%3QMm8YDH~8Uv4$tS9nD}Vl#7R*iy$Y|Q zVapt;*+f@l|EY5dx7P?1ohd0>dbgv^HM%Cvzs`S0&pBWd!11G=~kqzNteoVnb*#7BNDf5WJM%& ztF(WAUSM4A$x{wQc7zP;b{i*q!^gyw)YOMSTE!P9LJLFNtI>ohP20NFyE?gY%$5w& zuE;7Mp9UmYg0mA*lS9Q^C0<^bekcVO5SB35bGX18cw5Yuj*hPFFw*WvvUuL_tw5{Q4uLv+zBh@58m-%FZSv7#x2k0j+)p%hd#%m0ZmA+0pzYwNm);ii zJDkbBRXON<3j_2AF*ITN2@FS`ST3KNd)7VswAt4bsDKiTh+gn-_lQ*k@L^}zFk}g` za23X0^o)!pSxR{Fs;75JYzMjXEX$$9nqcoG z+AYxP3<*}0JuRrhXY$8u)*gL+6z-Xuv#pG*tcqo2Wy?U@oL{}nkRu@poc6Bc4^huc zCMfOz=B~5Srr7dOOQ37naNtx@z;?w#XeLw3XQ!zC!t^zjXrFjcGPDiz$!*tcVeWNKqM8-phj_M95Ohr)1P z3mLjj=QMav+=QopYjwi*4adolf-cQSNX;XxlgkI^uB9gzh=#Cd_GGa*PhUpP?n-wA z51X>$cnYXQ2RT*0UG=#EyQ;-l$6rUhQnTg}B}-USz4+d+ zNkx1|peJJuiDGNtfhU44=_VI!n?9Ke{!?*eb050^ntwD}I>QV~T-T1QObEU=6$P#n zrGm4^@zG>^-K<;{0|WnxozQnhm5S#BYJPN!ZT{4U_@!lsA063LgF!Uuzd<&@tiCPfz=gQsh4tcMYfSwO)%Am8(;M53MdgBY!1%-ahHJ#v?tx8gS1oer z8f%|qP$|z=VXZS%t#8SP-G%Rzd z`9%Q{RANd0=|{(uo9=q~tDBnG@?$sMQ$xD?tqZJF{>-b>ow9h`M#5*5BjWAzwtQ!C zqN}%l^Zu;&F{gy`-TLYnOb3toJ3iZ^9seF5-V5M=FD5QmSQMFgJUA|u8JVr2C>5x>1gV5OvvqnV{IxpBz0hT)%(k(*)$lM~rKlx+=w31vDLoVWza0B5={C~}TcTg1F7v-QJhzbTq1VKPWVGxj6fB_^2$qY$y1|=$zl$<5!ob%ouzuo<9?f$V_wN<-aWffI+_q^_Y@4g$(ITwJ? z=PJPA$z0@uZq5N$M6^I~EC;aXHzS)1_bNm$?#J5NROw``+FI)LwlcK%vylH*ImGYVuY z+0|Z{l#mWA9$q>cMK4eE;yiW2}nI;3I|TzipI;ZsKjOF>6_qM1~p z@}EOQnO6RcU+k|TKCQSt5yU)MUWGu@P$*qw=J$w;8Mt6?X%}YH?Rt9?LcPN|;695pN1|zQopk`CiHQ}{=Xg*RX$eqj}swV(kk-?)ok2asf7k~2(Onsfr1dhdl zd1v)!$g@pNZ>V~pu#~@G+G!bBV4wCMe*!po#0NwQAhaIaBeR2LMGiKfnqBfL1lIPg z^lD}gR_Y^R(MC!9R8QU0bI~MtZD7|!;iO^XptoFlzEvm`Kj)S?;ZvCTFnjeyo#aOV zYd(H{MK0w{E_nyPW!VQu=C~;+%-W4Z)AYNz9RzMXfbjnbdEc&Sab>x#ap7^a=iXzV z&FOCf$S&Q7ZMLfXs7~G0%KaQP?&Jwh5MykIZVT*s^*xe1i6obmig8 z!rK4pi_Fz+2~XzbJyKIEl+M13y!v|JD{I|~q^2)BkG*741?|m>>Pm06@GI|d*(io` z`~$U-AqZO2_E3^?v9gG@Lggb%qo*G5n%cJ_ucnq6^&fN}tbcT%i=dd)RImKSI>o`q zvROT6d@5cF0qM3~0aK)ZxnJJO(&S|??Fs_}>n9c+w$9KF=A|)KZC6kJE#-~?J9L+m zD3bX=wFTnOhsDAAshPXD3x2N%U&k$El=vE2Y-FdU`m zo}zlB9336sOd!+?<&njQNWl+aF+8#5DeUnW?WeM*&OG`ZEE{6~jp*;ZAV=m!A&2?z z#EUCv99WQaoyG&`hDs%+MUY61$o zgzR=KY`~Aa_>){@{ay0I@X?ubN-HCNT3jCGG?8~6ft&v069tZ$-95oCbiZ%afvqBV z47t|+ENnk*{!mLdhlaJRT?kjDv9YORm`p^)M#r`ix0yH7{Z?P6Oy4Ir%hj$7RV(b- z-whX{{s;la3#-=il(zz$4r&fV?@z4SlbU)ek24x7w5W*jb+&Pd>l zqCE~~RsW{)1RLNo8v+DOiUQxy92mqDEvS?s|L=xm<{YaF4Sg1~Gk;whEH%6TWL!R| z6I`kMXCo4GQuxVYFAND`tXeUKCB$i|0_Wyh$ti6*^R{Mp=DX)nvV()eu8nhvzw4&r z-K|Ccf8HpEvgu@)J2Yo-B0nL>hRigniCp8xa6#2yX*^v`?3;0!(UYUQH<^mLWr|u$ zb)a}r`y6q&1gYTU?dWuzjPsUgTqEBUvynXnR-+;f$(8ZCpNYv;XOr5EgI@m$Ll#~1 zSuor8aaxs+BW=QP)4{ll6{2r*3kq!CmT8^zqx+VF%ydBxxFta|QZFRFqF5KX7A$~K z9+{b8b@2@D-cTCIr^-DNe*~2lcw3P5!(#E^=aNGgB7svK2kSAcuAUib?~Ud|WG>kT zEA%6w_g7b#K7=&tasjJ!Zuccyg|C$i;+%R^^t4jiYHxRjcBhvY`WdDS-jY@c&PIS3 zkW5Fe2%bGUP>9T~5_hodcIhgKwzl#xO*l{X8dly#B6{ zvI#WN)B2(=UpG~KW$N0~Hb&vl%wu~`dJn&|qxulYbd`FAp%1T~XGQ$j&yIuqE09!P zPvAmIN<>M?n1ilxe`>*w?q+1CZL5c&Y_sAkbB8GyT~A#qAgaZDn(V#!i8^chV*|?$ zo$|!%fBxoDQ2FHW`aII0LfaVbQV~BY)49-*Ss_Xtl7;&)7WOlk*X`ez66X#s#xe`Q zF(*WKQ!$4JQNQJuf;y6i=r)WUFzMgb2J*vgYwQ2|Bd9(k!CLj`poYA$yoqE>QEkUyrRVpaz0`jE33PR2 z?YepW`ZPl3Iwwu@xwiJ6W!3*`4|egb*QgM^;`tbz-TbKjmpQ4d{NS$NEl!OGuRf^K za)_C?+o&i?95Y4orC%MVPacbt1B_VzCMulM*dO}jrXrkNVmh}kF6+~up<&yA7Vlj1 z<|Lpr^%6`bWHLpJbD!!};jBNFG2apx$kSU1njnpNR*-w8I2OMJeAW~CS2k)c3hLASk->o?Ft`_xw-+b9`(#F3E zoV^-(uw}quUF7eXs@N7LOJO(PxOrBP`hSn}G|30U+0sm=KHZ;<7e=~9N!j1V= zJ4?00_`9DxI}Hc3E&V4POH}vWOS}S0?lCt6tZ5+r48c=;=bdZ{zXl#>dw=ELVwtHl?Xq2OZ!ha7 z%3B(3vmT4SC(y#1VYb=)%2cnSWG=lkJGi`eeW2H{D&`fj_8c-&eTB1L^J34QeNp{Z zSfH(>^!o~}{nueAAg9%>0%FOydH46@ng||T@w}mcS~)K3LLU13Wy8#DoON3idsjh^ z6EKq&+AQEsNNn_km`rs4nN@FYQfEK#7W=kt5kxC88f<(WZ^Cl&_yUVpJfQm~B$umq1BR9p0#^1(Zd7ndd76z&cHDQF%>KsiDbkV z4;0*g#;TW7omZJ!s=HOb^~Rw;9262XTT|#U$jLUJZ+s^MZ-9KZJ3AJVwiFjGB!C9Y zbm?4HI|LjRj>`m|lel!{&I=0Dzjj?{si;b{TX`T#0MfmZTMFg%l9V=Rl4p)nA!Y5=%XDk&)`^W4Oe;YLzoRo1@h$jpo>ZGAT1 zo$|A0P0MJLWn|nf&b9Sx6`D;=ux}BVG8_N?9+#1kZ;chj44F(*o@GMFoyb3bAb2(` zIJzc<^22-rnjM~plK4?R*QEHi@+)#MgJ&&kwwhXaWej|vy7b1t54FUzsGP^+-qXKEh2$!$(Wt9 z3HI#gW?WoQQt38pbukT4E{P3go{h4k;Id6LbvIf{0f#*{pK_To%M%ZC{%=rc8yW)x zDU11&7GCqd08Z7h{lVBZRy6FP%@%4IM0V#7`Qy&c#%LZ{V<)*sp$XMmg!B{XKZ8Tt zRhf^Xy07AmG)hmOzsZ`DON~2O!NVw0)sumXcVVb2VJTbC+?K zgO5~`;#(@!W@`NQ@&l0PYkPf`@T;|*sw(qRY=s89^gci( zV!~Y~DeRPuN?#kKJ^@>gLOu0^%aaFs%boKMcUnEQf`SAlFZC`2tBC)3rl!KQG~}wf zs-!Hg&$6u%k+8f@(pgIz-yxm-5eo1(5Elt$f8EXB#$>S6L2&*{%{mAvX>fhx=2RYU zi51lYfxJQ!-;;nUmE#*6f3rrkeXq`s&Z52dCR6E*T^&ARl9=(scj0}S_gKf~g=XB8si5Tr!*&!hXT*INsx@8nPs1TCNIDxE#JlAbPrN~lgTP7s(4L(?-*BOIl9R_6S0TBqmPnCzO7iwJ(6Q$ z4s+d>5Y=PY%-?WI^PbtV{Tntk&v8=4|b~=BkfNQ!k7O38Z5%p2tAKSE%}#K*9M(p9JGf96SF?L zrvCYPm59#0FxOg8nb)u8Z-xbB1HRd@x9M5(K1aKukALcZv@|k*W97i;(6?^&_V-d) z=DYc)u>}ZT0o8Ymf#j?huIfOI$Z04wu|kKGE&?|l^GIu}k@^Q~FCb5C7kK=IX0G=> z<^5ZsMU_LMj0Ba1!%Vb#h;6DaVJyvZp9W?!fDm3H)Rca78NK^$9g+2?BRM`5`H4R^ z@D@eYcX~}R9)C<2$w?kfe`b!^00*@3ApYU=(Bb%L4x?!#V}|;=1n#N_?sKum&elLu zTReNPfbg#iw#9?i=%Z{!9u8v6!b%#ce-IuU3~rtdM0_6g-ZaL*aPXg^Q*8XqLAn?* z-m9jqkx-s(N#QvoCv%Cn>F;a7ZbA)j`#oUs@+Xq1aQo}ZjHe$eJ+psZFtlKwzWmdT z$6iQ@s&!un`m+4{sC~2yB!7qpHa0L(T+&2GZuj6jS?c`iCh{M=DG#-AQqK?PkDdoz zJwdkqw=VG26h5qc)^6F7%CjlC+z_ixLi&rL`356WbOYjw)Zq189kjdS2_bxZfL^0DMglm9y!K|+bMaThQ^%@4Wb zk)lNAulSuoJEfvP01&^oB*9{`Y(#i6ZF*mLlGp#YUcpZ`24`&aRo8po|4w0A zc$017B^DN-6p(;%+co#8CuUy#q8np{o@-PsXH)vYCye`2>HfF+i<-WL+&*=+T_J>P z%mfb)?VjXIT~0q%xA8`O$kc~aXp+WwaG$c*Yx^eNw3hiRD2fpy%)))w#bEaXN}Qfv zkD>NA(-Pd7nS|gyI<;p~zO8+DGZ>AA!4MQ*rdHXnK7~72qDi7TpB<-5W!ojFx~cq6 z!QlI-#Qd~&3K5s!r@WEbk%$k6hsFLeQq^-$s@^lfd^XhqeTB5U?J9?|X@&|hiNWbv zAFkb~|97gjz#3V8@9TAJV%RQJ!oO0btL=L4JVT6C$YqSmy5*PLSWoeD#8PLIqBdWWd}MMe!z+PJ z>g2BFC4jI)+IHR{&fBi_ee`E`{P~MuYuHnD zS1L%C!qa;4m5c+QMyz%LOmn>Ksw&Y^rggSR;-996fqcl>+W=esLOg3{8+`P&f|OY! z>+Rj9w$Mwhg|n=xnC)*#+p^Y5ljo$LMd57|q^Gc=-&8fzyl%#-tmN5sjIC#pF7|S- z*J-xL?YEwqxa5}08M~JbrAitjScd=h59(c| zUH2S}j!3ZE)Kee(nd%%OxB^QCK(-!9q)uP$x2QD1$D*CVzAdaE{_7iN@KXHt8*7!x zF9tNq_`73~@hFy=1duM4DUW37bsB4U@pjjy&8K`wroC!7A-w$5xLHuMkpA!iGJY}X zx|_WE#MJ(8RF~UcPZU2*|n8qjDcnmD|JlTn(@EA_!)Jd$DSwW$ByAAXY^?X68bc-mcgE_wEl7! z#n6N?Et-$W>))@`{bj0?m0=VV(rhw@&n$`Eyhq}NMSwd9SO#o9LvKJ-biAsmtM}Ns;K^J49VC#ObZ z@e6F5<<81C&zc~C8~fX$mOZl5uQNqNBU-nW*4+!LrJ|E{mtrtrX;O~1?n zoJF+AUIy+^NWonC`qS>Ugd0U#J}ekC@2X1D(Sdz6z{jCJPY>swYRTnHKrHSmp?J!8Myew8SV?nSNtdBHn>qdd zAFVw%WfH@2Pn|SxE_s#NcGK_Y&=Yw;zJNpUgv43<%H=ViDb>Ai!i5GxLDmG?qu6s>Y~{d6%bTui(~G*~l|+dB zOp*-$+G)_Pa_dqxMz zSpFTA9gNEFQJ!s*zupV+B%5+(C%FJq_aFXOeNrSff>=CQ)Mv6CNU1n=(~bmX1B?0T z3V~Py#xMM=*Vhz;(CF#;zERg**I-jlW|1=6Uq6L9g7a+1p-TL_ZAI1Y8!WrtZ-VcP zUFy9n;nw>UxfEF{$70QxFo0Tf#%T)c<>**73iC_x?sXZatQFa8Q~Wl!oN~@9PDeF+TbI!;Hq>fx%72(o?ZGuIGSlZ}gQWf>N{TZ6qw?Vy z+Ydfc1P9k@;y=|qq;vBHAbZ&e%YNd>LwDr!j?4@tyY$wlymEfaD9ldf{mwHp{sJ>H z8>Oa+AXXKH&xB*U&w9nl6@ym*Kv|6ImX5017mX}`(xfx3iu>446@nI|7AocODznbT zquKm-|8d{5l|mj5Wd+4X-7#E-O5N`yjOS7n6x?GmY8SOcgsIU7*=@M35y;&fT820B z7NdDbuQQ6;=6a2e2_Thb6qZ+##7kuK7K?J-XdO;tJ#gN6n5EP;k<&%GvCs*}%h!>< z?q}Fq=^$Cq=KPEVR*jb6~hz>mqSh`f(J`PuXho6y|&{<; zx=B41Mj<77-cJiZeS<3UV4Q!aF|KD+Z6Ga$$)tlxlE&@JQ}M?@&xd1pM0th`bRQ*v z(&l%OT{ii<>uv~NoIkex8u5$Hb1zf0;-cHhgz2I`_FYK-c$7&4*NE` zq_;>L8@%({6q4XD4R|z(B{=Q$*OXoIrq9#>1q)y%CxT!XxcrjR(g@ek1sF{{HbcS{ z04k#fL7;sr-q46x52a>*(32Z;vbEaPWC-N+F};_%n?9^HuU&|H2(Znx%5wRM^hOoc zi^=bf2Pv)lB%r&isvMf|4>ApO;KCeen-%TYXRd~_gFU3GiuHH0}fUepaB1Gzzu+0XYeR4U^q*)1a)<}{RIwNTs z7#MWzLhoG*=$$m%o)QGA_WC~80Dhk&C!XX79r$h?RQEXVhtP!yYUPk#YHStDc3~MJz?oj{X*#1=)tVI zk&J1rJflkHlTtYJF)1riji;m&H>8xg`^VmgTu52OhBob8mQMdl5&m<2h3GY6XT*;# zI5yTs1OPY*+9LWU6(_}!4)c(Z)!vZki@)QSm#@z3W8F}*8Z)IF0*#chM#JB ztdV(Aj(*yKxBVRQjy&jSCKV@2Nzoo3`bX15T4oa3wtGbP&l#Ary1Mg!_!wNort{f- zkHzh&C*%5DN?dKN$dS(9c@+mw4XN3j#j&w5L^NcUKvuy97o7tXR~^Cc96~d41{*g{ zo>7|AUt7~U3J;k5Iaj1@>SCW?uQ@i*S97gMrofoDQ__@q{w)J(pCvm{xJ2@U2WmZI zA5`d8u)8P}CDDU>;wt9WXU-^D|HKlR$pSf+MxXH3f2O7k5f(n}xpIyR%#hAVrpM*v zY3hO8t8fqt1~ZOc)ah?NXXsm$uTq$+q8gb#o?-sw*trx56}tBrr*8N09w$1Y==@Nc znHhimzQ0Zb@UhH^jg5_k78pmf(v(*GucmMLrYDQHXcY}?Dwe#ePHMZ)EG$*{U8C1% z6t=qOP}XTYM_IOUxD`1#&`|q*vgZyHfnaV&N2Y@%R;>1a1k!Eo{{_-RY zUs}ehs`8*I1N{A08y_etzOH7AS~$r&|Neb$@4}F?75-i8GZ3054f#8kl6r| zVjk(l8P5+uAr?(bJ9uRZAE}{U5HQ?ddu33B$QE^tfsjlG_4)S49v+ptZYz>_jM{9# z7~Ypb^&!x@tg=PHbg@}bILeH>#>dyKRRyXja#8$`7#SHG8ykO1QtEW*{`Y%-=Y9B< z!)ftxI@2uBt*p_a0dL+YgJ$gpC^l#WHSaDjKeM6n#6N7CJc+m#hsXX4cObv2DZIa?sO*>x>-#?@sb+UT`dPAABulQq*rOFAl0;*^$Tc)9Xb=cq0R@1!4aaeK`RL z(ZkhM+c}5FY~5EX$V9~5-kv6XiHnb~E+u&R`adwXxN5-I%ArOBZZm#o$@~`E)pI;C zBjattYb+32jRx%&uAO~;a82>~!ry;&_FuR55tadR5Fk7|L&>|Qrxg?;QlOTj098m;D92NrKOY|!c8S)$O*{fnlK%ew03(c(y9KBK zgrF2Cyn5eZX-Ef8j6Z+f8LY%}{SLHdp5K>0~FcJ|Pp6S<$-+uJuln9m&a1n)d${^Je{F(2*CU9|~_ znNGkqv%-5HbnLe(1^5sD{<3RIl&!xm2#K_=j@G@&#GYL)`m6Q_)u{95&ua~ug6jUJ zImvy6caDYsgAZT{f@K(1)=m)Q#nq4rJ%nW|IO2UlMMr0FNbWdbf(}5~gd0?o2LFYn z3(PLN2GDKR2hnBktW9ZqPBk~Xo#nRiRR*me8{+0oC`{<_Q7+?*0tKXyf(t;Ci03K- zN;aEa<3JEa4JyldUSDDH>(Y5_Ge}?YXmy*@x-ue;tXOLwIrNKfQp|M1UU1?Wzwl2w&;1-Avc`61`1X*+L$+@;pXf8e3Po_-%ZM%Q?u-9_L*qn&y)@bU46v#h4Im8XAXIpInYCTj1q8G}UwTLpTLnVs zpFl`33G{I^9X_MBFEZR0;uH~GU0V|YCR%&(A&5=p)&m50Uk{jSDMb`#nJg?U)}gqr z5hV9ZrnI;ujZJJ%>)!N^3Hd#JkN6&~|d3y&AR{n`!>o#`nZN?EDLTcTi$` zTwFD7Ab#3qq^B-R+;thR?8^_){)s36MeA02RpY6w_B{6KTW4QE!)*muVM`*gi<1(ddQWY$&Xa z+wwQ!u8v>zAgvP;71fl6)#KDVOiWJJ+GuUcFAmtSU98-*22f#Nck}V`tc;ANi1DxG zMO7esEKp5y3517BCq8MfgEXa9%@w&Ib>+!#9rfHi&zr8(gJxB{X|Ok*H~S~y`6#l+ zREeK}=fAr*eAMEM9p>bE8Ga=T>W5t_CD4O5ZFAVu)A9s?GI?`TJmK~QWx~$&V^yGc z3mA=sxk=Q53Fz{auGC-7d`vH(^x-){b4qJ#QuK(H zgYw?Bb{=ZfA5W;}nN>WvU6)IKXIp=+{~Xstn8C?x)dqgFCTHGrYyoTI{l?34%akU` z*`Tj}59vYh=S0L0Ae79GUot5*<8sBpbL1z~yU-=mhfy63M*Q_1fWzYl)t&$vf!`Ps zb5h@MJ_7F{l6&If;-$;gr!pJBhs?;1JpLkp>V%QYPI%h$xw*MahQ)xQNxc^l>{898 zwC-%E{a+ybA$+%<^wcT$-zOyAIp(u)RdL6Pn`BpPTC`3Qp!&jQR&8eK!j6uE^KXD| zvW&VyNz#!s=DS00c1+?c9U^O2D!McN5%EMuO{$lq5M8K(ERNHJZFfk-``+&)bZe}) z*b`XEjqScXPORlgL4Z0`rs*#qIe__*($w_O(&V(uK0{mhl}7>7=ZH{;HUR&KsoJUB zy$W*IBIJdGSpbsJ41yQ+YoW9Q5IgP;=SF#6LqyNQ>Ow(d2RQj;oE!E>wE8@9JM#d@Z&N0DDW&ZB-l5Ta#2s zC@mG7s~KJ%smY9a6rg6UpYFM*ZS z%jU_2%Jy+Hhg#T$9$A<_9nJZhJNa3C=RL=FaTWP*Yn}OqtI!8k+c*z~1Z7 zYa9w{0$7`&Q{lHkv^Z#dxyELA4hSmR75hz;2a~c4HEs+~q(sAF=qt~U=f%=|MYb09 zs{P-%OIAblVYp(G!)0hnW;WZA*2GAL@<`lSx0#H57cKWuo}Fp?<0~@3@3WIOzMkRC zcbiYYn55=2xDQ)*CKk_`g6<+nWd=)$SOmREH&6z{yN+JnlS`F5#}Fcw+OmO^aM*#{ zKmW~nQT&@{|KIh2{Z|MQcu-KuJ8urQ z)2+*O>()ag+D6m{fojoXnSBa!*7|l3F6!}t)4Z(oe+#+@u0$ z<})I#2&nJ$q9zdX%7EA55qc_tH;e18!CSEIC3OP*g|CrF$>AFjWh&tH)S837f5*F= z(9N$fP*PR3(^0hhF)={6v_NFd15z}i!cZr&KOtU;WTTc@FNncB#)yjQv4#F5WsIQY z;-Tws>I7*g(?L4N9s{AM=GrD2E+l3`cE#Ks&B<3g&}%8f3)d>L6?F*PmIbI{uJW$! z(L&Fl-B!;-qt06#24b$R0NcwDs}45iD&TE8ed~r9KgeH+)IB+Roz`j4qG@iP#uNEw zM+BrhwFbM(3r}(b)GuSAtxa*xiBH_WqykpD8hsvQt8BKo$OOjER)F`~<-E{elpPuf zBdlp$A7xggm zsmYps02?JBI2KHX;PcU1o!RJ|GDI&3QCJ0XXR+#j`~K+*g!$^1484*8xY#qh@&Od6 z4&3ruIutmPX(a=Be ziA@Jrb-0nOM$#F9>@i!hAd~WU^a!s6RXz!kK>p$uK#A0fvUSS3W=|S~(T`^2wJ3p? zT_CLg6_rl>`sDSd^^Bl9yQ$r+Z%-a?%Fk{V-FAW|0`0y4_K1!G1B4JoL0sfXCfC-D z)0`qgpvZ+#7F;$=Jph^2bpRj?^D_b#Ph38qrWNcEBoC;uFGRXDXm5dL>Y7C)%mXxH zP5z)wUii%n>T`R1waL8cOZCBU_ED6_?o7Xx!h;7n$4JKtx^>rf!#Q}^9xji{CKojn zHk}Q5e@$8|$P--h?8EZ<87n6hOJh^&R-?5TMwn(M_yxw&bo-*ReaCGFNkQ8%i#)kYj=f<7W%7jR`(s^{aCCc);4;?V| zYh96}#t+In^GNuJg|FGzEIMD5oHHajMts;6Ho`0g3jE#2Ujm(MM+uUU^P6469z0~N zY1!FZv#sS*F|HZMQj$Yk5T(yfoqyiEX)k_0#tmL}^a;6UOP?^Ut1x26zax%ly}Bkn zBDwZ8Q6!v7;aC9G?^Wmtp}C>PRx*A*UH45|fT2ZD7{ddT8+2Sot${9EmrRml2g4aj zfD{gDjG!RkGjs5ZU(RyOZ;E!KR-?+}fK1O6U^`tERE35vx4126>T~n1oHVKbSU5Tt zTXpl{YXje!u=p}MW! zEXA`6^y5G`+}u>#$k&itzQn?}EZ<~hw63dSCZ}!xm6H*DE(8N=u|+N$v%KMIPU@bO z0@eXM3WB==Tn546xb4~W?7~lo1cus{rEpNd6dKfP5E>OKKTPt8f|oZKIG84(>^2U2 z&?`pY{n;=uM0BC4+(KbwDOy2z1w0h zOf2j_1VQ?xe7`sBE#b`A(u6NRZi|RJc9kVPZyc*%BZYP<2yq>C3li0Ni+Z5(C#pke z_x&A1*8#L^=$zez25d6`y3MOhwrVOR624-+Cl@nN`7xIH<5PpJg4u@4#Gp;=%GnZiE)tugL+72T4z3I zXEN)a&r4(t{TiT!K_-aTYAP@BwvZZmy$42(mZb6-E)^3~hWlgAAlsjZ=qjN;)jt~r zGNS6!rx~U8Glo7F!I^Jlqx%d|YCZ0hp^Mk})KpPvD~KoC$i1@kw~KjRPX(J$p+^iA z#>hn@jNSkg8d+ywUIN=(x=`3JEDn}?T_ zre;EV(5>x)zC4{Vz`!&^-#VBG)e8;@Nm^gGpNk6DUSnY88+i5#$swdKO!7zUvNq6p zmaDGS5DJ;>6+R3KMYE`BR1HIb)VHy93>BA&&shBge{TaA=axNR47zTgRNkwmU>?jh z{>etiZ~=>0n6CVE@VvFs_wGR?aaZdKP`WKm&ab^3IBhf2nI6hkHqV*f;1&M6fJa@& zAq1b;dsSwhkmmCo^cyXK-m13rw$Ks!7g~bDr`BWSb$QJ-;@Jqep50)oS@oLs4J}f` z45V(LIKO=qFb$|PmctsDyet8wM+ewEexrmNr z5vZ1#De!K^sE7izqNg6>Zi~)$mjvxo(U;=v1Obq`0aCFV?Q;}0-vy|!DfnvHWq^WnieM9MMl71?Mp0cxL=2kaCaVq*FLQbvyd fk1~Z6B!_g@qq9xjHRdXip*@h4zn3MU@AY2*o*D<* literal 67611 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 Date: Mon, 6 Jul 2026 18:06:54 +0100 Subject: [PATCH 117/159] autotune(orbit-compare): corrected reference axis (x*5/4) - L=41 comparison Co-Authored-By: Claude Fable 5 --- .../msd_L41_vs_reference.png | Bin 71589 -> 131355 bytes .../reference_digitized_L41.py | 50 ++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 docs/autotune/2026-07-03-orbit-compare/reference_digitized_L41.py diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png b/docs/autotune/2026-07-03-orbit-compare/msd_L41_vs_reference.png index 95c7683751f90c17289b332e1059b01b0eb43388..5fb363a596d59b29d8f35121906bdd38d736b468 100644 GIT binary patch literal 131355 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 k^VTx!>xW(|`9{f8i>fHZJ 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 HN@xNAfXUyW literal 71589 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 diff --git a/docs/autotune/2026-07-03-orbit-compare/reference_digitized_L41.py b/docs/autotune/2026-07-03-orbit-compare/reference_digitized_L41.py new file mode 100644 index 00000000..b2bac955 --- /dev/null +++ b/docs/autotune/2026-07-03-orbit-compare/reference_digitized_L41.py @@ -0,0 +1,50 @@ +"""User-digitized reference data (PauliPropagation MSD figure, panel c), +time axis already divided by 4 (our units). 2^-18 and 2^-17 truncation.""" +import numpy as np +ref18 = np.array([ +[0.04194096993636165,0.13830266082918996],[0.10651195962255888,0.19508440035323105], +[0.17166995830590304,0.3758975926783137],[0.2356539389949529,0.6763745732391442], +[0.3002249286811499,1.0405099673142004],[0.36479591836734715,1.4842280040855087], +[0.42936690805354416,1.9691094767341824],[0.49393789773974117,2.4914954131822427], +[0.5585088874259382,3.040408897195718],[0.6230798771121352,3.617679414813601], +[0.6876508667983324,4.205012105645956],[0.7522218564845294,4.794174282517297], +[0.8167928461707264,5.405290291856581],[0.8813638358569235,6.008173614020379], +[0.9459348255431207,6.611056936184184],[1.0105058152293176,7.233149861757429], +[1.0750768049155144,7.847010100155199],[1.1396477946017116,8.458126109494472], +[1.2042187842879088,9.074730576950735],[1.2658547289883697,9.643898384908923], +[1.3274906736888306,10.247643479004104],[1.3920616633750273,10.836805655875452], +[1.4566326530612246,11.475363955799644],[1.5212036427474214,12.08922419419741], +[1.5857746324336186,12.700340203536687],[1.6503456221198158,13.300479296642], +[1.7149166118060126,13.936293367507698],[1.7794876014922099,14.561130522139429], +[1.8440585911784066,15.164013844303234],[1.9086295808646039,15.777874082701], +[1.9732005705508011,16.419176611683685],[2.037771560236998,17.041269537256923], +[2.102342549923195,17.64415285942073],[2.1669135396093924,18.252524639701512], +[2.231484529295589,18.88833871056721],[2.2960555189817864,19.50768740708196], +[2.360626508667983,20.110570729245765],[2.4251974983541804,20.69424444800013], +[2.483898398068905,21.24536933882009],[2.54259929778363,21.842536294954744], +[2.6071702874698266,22.43444270088458],[2.671741277156024,23.02360487775593], +[2.7363122668422206,23.58258053498387],[2.800883256528418,24.190952315264653], +[2.865454246214615,24.804812553662423],[2.930025235900812,25.402207417709242], +[2.994596225587009,25.96941576211266],[3.059167215273206,26.533879877457586], +[3.1237382049594036,27.136763199621388],[3.1883091946456004,27.747879208960665], +[3.252880184331797,28.345274073007484],[3.317451174017994,28.896017043059956], +[3.3820221637041916,29.44401578405393],[3.4465931533903884,30.040495905081254], +[3.511164143076585,30.660759344615503],[3.575735132762783,31.236200376194393], +[3.6403061224489797,31.80066449153932],[3.7048771121351765,32.31298825477291], +[3.769448101821374,32.899406202585766],[3.834019091507571,33.496801066632585], +[3.8985900811937677,34.0960254167184],[3.9602260258942286,34.63015856702985]]) +ref17 = np.array([ +[0.4821977177967963,2.2373508666173763],[1.0369212201009437,7.286315799473531], +[1.57696949747641,12.410939547507347],[1.7560072416063202,14.051011942970696], +[1.7941628264208909,14.385307346326833],[1.9321099407504936,15.728169933937508], +[1.9732005705508011,16.113652443171656],[2.1082126398946675,17.39435100867036], +[2.152238314680711,17.79923330385498],[2.2843153390388413,19.04406670905226], +[2.331276058810621,19.44355925435899],[2.4721582181259603,20.778699497392065], +[2.5161838929120037,21.16025584557951],[2.6600010972130788,22.420028497743168], +[2.7040267719991222,22.79541033054901],[2.841973886328725,24.083388336989863], +[2.888934606100505,24.471355120250934],[3.0356868553873166,25.76031530867369], +[3.07971253017336,26.080812560309706],[3.2176596445029624,27.300184840288274], +[3.2675554092604786,27.63798520286708],[3.405502523590081,28.971700360282785], +[3.4495281983761243,29.343651906765512],[3.5874753127057275,30.541756411540774], +[3.6373710774632437,30.863091399768628],[3.7811882817643188,32.20496223793214], +[3.8252139565503622,32.5837743570611],[3.9602260258942286,33.74569354147811]]) From 48d1cbb64bed5bed2d3ea6a057cd79b3319e5f53 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 18:07:27 +0100 Subject: [PATCH 118/159] autotune(orbit-compare): finalized L=41 external cross-validation - 0.5% median agreement with 2^-18 Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 91234215..d6e2a494 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1253,3 +1253,21 @@ independent code/method, at 209s/650MB on a laptop. The L=21 curve peels off at t>3 exactly as finite size predicts (fronts wrap); L=41 tracks the unconstrained growth to t=5. Time-convention factor 4 confirmed by the match itself. Figure: msd_L41_vs_reference.png. + +## L=41 external comparison FINALIZED with accurately digitized data (2026-07-06) + +History: my eyeballed digitization was wrong; the user's accurate data +first appeared mismatched (ours ~25% low) - a free one-parameter time- +rescale fit found lambda=1.252, and the user then identified the cause: +their exported x-axis needed *5/4 (fit matched the correction exactly, +a good pipeline sanity check). Corrected comparison (62 ref points): + disp B=300k vs 2^-18: median 5.5e-3 max 1.7e-2 ; endpoint (t=4.95): + 34.86 vs 34.63 (+0.7%) + disp B=150k vs 2^-18: median 1.5e-2 (slightly low at late t) + disp B=300k vs 2^-17: median 1.1e-2, growing to 3-7e-2 at t>4 - the + reference's own truncation ladder bending down, as expected. +=> 82-qubit displacement-CTPP (209s/650MB laptop) agrees with the external +Pauli-propagation 2^-18 curve at the ~0.5% level across the full window, +and the deviation vs their looser 2^-17 curve has the right sign/shape. +Strong independent cross-validation. reference_digitized_L41.py holds the +data; figure msd_L41_vs_reference.png. From 28287d54f617ad4505e7f5de8a15794381a9b6bc Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 18:11:03 +0100 Subject: [PATCH 119/159] autotune(orbit-compare): reference = Begusic-Chan PRXQ 2025 Fig 2c; their 2^-18 cost 43h/6 cores vs our 209s/650MB Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index d6e2a494..7adb9880 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1271,3 +1271,25 @@ Pauli-propagation 2^-18 curve at the ~0.5% level across the full window, and the deviation vs their looser 2^-17 curve has the right sign/shape. Strong independent cross-validation. reference_digitized_L41.py holds the data; figure msd_L41_vs_reference.png. + +## Reference identified + their resources (2026-07-06) + +The external reference = Begusic & Chan, PRX Quantum 6, 020302 (2025) +"Real-Time Operator Evolution in 2D and 3D via Sparse Pauli Dynamics", +Fig. 2(c): XX-ladder [their Eq. (17), H = (1/4)*ours -> t_theirs = 4*t_ours, +confirming our conversion], L=41, n=82, q_j=(Z_j1+Z_j2)/2 - IDENTICAL setup. +Their D ~ 0.94 (their units) from regression t in [10,20] (= ours [2.5,5]). +THEIR COST for the 2^-18 curve (p.4): "the two points in Fig. 2(d) at fixed +delta/dt = 2^-18/0.02 take around 84 h (dt=0.01) and 43 h (dt=0.02) to +simulate on six cores" (Xeon Platinum 8352Y 2.2GHz). RAM for Fig 2 not +stated; their stated memory elsewhere: 2D delta=2^-23: 8.5e9 Pauli ops, +">1 TB", 36h/16 cores; 3D: "memory budget of about 1.5 TB" at <1e9 ops +(~125 B/op storage). Their ladder 2^-18 run's N is not given (bound +N <= c0/delta^2 ~ 3.4e10; plausibly 1e8-1e9 ops -> tens of GB, estimate). +OURS at matched accuracy (0.5% median agreement): disp A=2B B=300k, +dt=0.1 (our units; 20x coarser step than theirs - exact-in-dt makes this +possible), 209 s / 650 MB on a laptop. +=> wall ratio ~740x (43h vs 209s); core-hours ~445x (258 vs 0.58); +RAM: 650 MB vs (unstated, plausibly 10s of GB). Their delta/dt coupling +(their Sec II: error is a function of delta/dt) forces small dt AND large +N; CTPP's dt-freedom is the structural advantage on display. From 353e930148c01aa5f05132aeb8e14abdcb9b2bc8 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 18:15:58 +0100 Subject: [PATCH 120/159] autotune(orbit-compare): D(t) extraction two ways from L=41 data Co-Authored-By: Claude Fable 5 --- .../2026-07-03-orbit-compare/diffusion_L41.png | Bin 0 -> 82898 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/diffusion_L41.png diff --git a/docs/autotune/2026-07-03-orbit-compare/diffusion_L41.png b/docs/autotune/2026-07-03-orbit-compare/diffusion_L41.png new file mode 100644 index 0000000000000000000000000000000000000000..ce83e3f096ecdcb93e4d98c4ebebd9ce486a3607 GIT binary patch literal 82898 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 z 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≥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 literal 0 HcmV?d00001 From 77a711dc30d7771ab536833eba5c133ee6a1d584 Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 18:31:06 +0100 Subject: [PATCH 121/159] autotune(orbit-compare): sliding-window D extraction, L=41 Co-Authored-By: Claude Fable 5 --- .../diffusion_sliding_L41.png | Bin 0 -> 68827 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/diffusion_sliding_L41.png diff --git a/docs/autotune/2026-07-03-orbit-compare/diffusion_sliding_L41.png b/docs/autotune/2026-07-03-orbit-compare/diffusion_sliding_L41.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fb0b2ec77e587e84004fb78e120bd14cd22c65 GIT binary patch literal 68827 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

    aGQB z!1B}vYma3d8Gq27-*VZZJik@dpI3|ZGcSWhL&wOg~CGEkKCG6 ze@mX57J6-*GAmT?8mY+$b^xvLt|JYB;M)Kg(xa1kg)X6@G>ynyNblhn(r)ODx9=%| zjKt<#vLd5o7<9=Nc`?A^1&j$tSLx0fioD*5IWgCk8Il9ddnzF8W1oAXHFn-Qj};X0 z&DHm~64+TjIue{Pf)#VUg<2-&%vqEB3#lORdZmb?3*5-9J?3feHQ=_)CLMp}8}c4% z2}qQrW24CY4AicUL#HHbC(L+tgqyGzNi{Na{$xr@lN>Q=EvLaoJWs_cu6uU=nc)so zHM{4_y-jAUf|x@FkG@1LUBa2@F~xP8!0MO3K%9q}po1n2+B9F+#CH&^It}&`rGqSV z!XJ77yOjq};azt^mHcV3>c@QZSzYPM=R8jssY1QA6eG26*PISt{E2ca@etAR zigqe&1` zc3?Hi#o#d5Ro^9q9`>Q^Y9<~N#Nof#9IbV`bP;5e0+3&sX;qML*r>umEPE+Sfe8b^I5VvYh}yxD)!#f7#ziVf$2F*gY)&H*nN{J_SDS ze}!$)S%RW@p8*AuYg13qW6J^aaK*qLKn<)7zye9rpx@btKR|iw-!XRJll)&SjQPoa zr4&(|YaD7cCBIV?|t_fZ>q8ivYjY&g`?4K^!aO+>KJG+;9YbmG+l z)+45yC6H6is!jzu>A~OOz=@-db8sf*avHotQf`8XlC*TX1K^qhP)hq`B?`tn&7~DO zZM6%4&U9|ocfP6Su%h+~_uoG^9HD!#m)_J+Ql5D(YCYHVr}>bk$DVtN7#8la*X2pz zseM6Ye!>yz_ZT?XVbNNxGV8Zgl%~+71-gLu;{ESFf);(PN8O>e)Z5-hHN|%zmy2^? zWosFMZ3FF)0_8z^3;lUz#B^ag?8jkd%mao|4H>dKiFRRwDfZjg15}Fl$9+)iZ>U_4 zgzjuG?iKXZr8eW%r@3`ZK?-T6_vp7V2BKTKpnHdB`g4{VK3Kpc_ zu;;gem6t{Ti<|8W$jTl}fcf~%dw9_{yXn~HWYQLmps$dx0wbaudA=u_ILV49r#!m!GDoq{uQ-sRHL5YdH!ZzkuFJ-5S%*#K@}` z_n`4_2e$ue(ydoVU1NZfcj?R3jrr>2a2ZCcz6nG8Z{;Q&q*W}sfQ6= ztMvRoktE4&2jIWObx_x=ofUe({B3E@rJ}zI$Z;^W`TVdSjmU0nf#&9+Vx0In2L|XX ze|&3=>PA$Cn;RFr9cxCX>$@6Btw53ZWKDyB0*AAXttsTL3*a0cE((G+DZe zAtr;#v+glzQ(u``cSEiljN;!In?}$3vTBkPRXe~V!8tHSSfI;v`FP4U8va#Hm8WZm zxwkHwUrH0--~o~T0aArGKOiu>qX_1+g31^&c3Ku|DaG)xY<%4>d}x`+GD2@2Soiw{ zLa{cG)tbv;dYDq~7TiyT`!aoP@AvJFr3{*Hpd-bgxd=c_%BIfE4_`6wVH=KkUn4I) zb)j+>9-^b=1cOa&xIbLalusJ0AL^{m*n3urfkG^Kap{0XJ>E!mR7X+CK_$`1`+Tb#yxhe$l zh2+#A#r0JE%aefT?ep;<6Zz>yXzFQUPq6~^a#m@p1wbMjB}XEtC9GjSRNFVLTCNU_ zP^aqGJQ|y1%3S-dkKJbld`RefOo_inJ-%Yin^XIghg6UzzQbS&uIv(p9h%i-zWA9BsU%f40kCr$hed6Gs2+`DLRb^&9Gv3_k z8qhfuMwrWI5mzM1AEs*N&+ivpX|C^>xQ$)u#qGYl6q`SYp`UGnOKIs8z(*EJ_h6}{ z-<7&N6ggtg!{%O53%jYo@so>40+@Z5Ve{6?c)8AEEu1lp=vr3_mN%Uf`cEv|%t3_l{R%dw1tdI6 zt+!rJ9N_WBfBwkVW{uIQ z=;f&A-VTzx33w$<=EjG9o(W|eU}?^!s24n*L}Uzd?sH7WtnAw6P*{)s#BDxoHnJOD zO^Hv#+pBcQcW0zU1a3n=(Fz08X8IO{Qs5DaX1v6g9a`Ntx%gj?)wD|NE8>op+t~8w zUw2npnS^3&tm}}cwQf9hDX=27^6}O52_qV1h+%5Vo+~WLqj;AddW)EXN`*har)=@- z7Uw8*z{F)K{-i&+)@{8x`;$IIY-J;EN+AB^;d!b=yNjg9Xw+0P6w4cLliWSrH_RFh zCDIvQ-fxdzx-K11-UtcwYrai$yklXpP}M>A0#i%eKmmG!iDyStpi1VNU4oWt zdmjAvZrc%>qkG(>yR|qOB(Gm2Roz~jGt5-aG3SfnYjjY|?DrotY35cY^Gj_}&to(m z_i^)V0$kr}LT>X&*^HblP5li`?}9bzCIyy z;hv>Vzn-Q|%XWsg*@OSkQME1VW{*>mGIE3RLg2q{wVnUVBsTr286+4BU~mD~J>+<> zdYw`6{0z$a&A;4k){edWqNpO*dv0F)X$aM#+s+4sPj4zd~}kY`}sW2FJr*MhsbeGLK1nx)n7$;2sznmPszRNs3|q)1u}bdIx}C#Ar$eYl0W znURp+d`rzb35Vb!tLay=xBe7e?vg9ImLf6ZMK)o+l|@!R?-HzD9d#<9WAzSu>;Y;H z(aws@;8XpLl2hV!_(+P)0v6?lHJDdC*p~ZqT<~p#x%$H6XB6+*&!la0{F-=t&b%*6 z?|O5jOh%(TXk8blV2JKOu5*7@@|93N)?0PBHt|%t3Yv#1Ubn7aTYrznlL-Mf_~1eh znqMwpVhXEMyXti&<7cEX1kNDHIDb!O92!t;($2VD^_jeFgeKE}q^5OW0!xHz?I^DM z3BzXtmyeNJU_Ysa=#w(2P~d-eP3Uhbv--viHfZGU@^L>rZfQOpy496#mUFtZY@5D5 zOW!~GRFfn(#?B&$WtA`|_E)L!1sve=~+x3Wb_?-1ZjyG2@%m%N;7G;Y%J*o>F1{str z#=(ffsAi&JqqrlrsE_~Kaxvpg1sFTy+ro6roS52HeuA6xv$K(%g3}ztYD6DuPUOhy z6z3QapF1qjRzUVMLFsfGrv0iRMhYvf!F%J$h5`0&Z)xwDeoy9eKCa)M-XLi9DBX=Z zX)ck~sPyWsK~HO6+1f=e8nqDIMIGc|dskJ@#0X&ZS4al%{T06NC)d(p32$2dJu4VV z3toue(YHo*6Lvka^LMu8nbF%~_tZ8fTlnYKJzI-a4CLu2SalL(t8K`1QE=3zEAWhB=W{WD@{cH}j;8hjhI($; zT~IZ^RfR1*!OWN6OWok3XGdx)X`928sX=z#3}m?8!?3v9WKo~o%Xs`2-ne1ODMkvG zU*WuSkD^bsjKfZJGJnQz@mOVFlYUs5aEf zvL@u>iC(&Pr`PyLQ*ru9Y5qg;=xNt44ex^*;_3cxNyv{r>}MaAY74oO*bjY<(dHe4 zo8E$9>ZJ1pN$evY>>(1wVqv$?WE49YMYr6tVc3rhcQatFWVRO5LsjbN2t3FH+h&D5 z*0}A#3Aip^PdCu4Sd^ts$4#+YG;1A#Tjm3qQATIi!;~9dJf@(pH$R?j$3%6PKfljQ zKcZRDmX3dZG$Er1U@>bj#WBQ~Hb?N-kS|7aN!P`~sK2XRgu7Wst~^DUrs=gcAy-O% z_g;VA=^r zg@kK9!V+mr$VT0yKhF8&`jpU6_yJsW&MnRVuemFarm}7K8&Qdpq>!Or$xz6cDO+TU zG8LJNZOV{{5H<>xDMQ;3nYJN9$UHWXdCrurBJ+^BjOV(&=Uwaj{y6KL_5F4HWwmzO zv!8uG_kCTz>0(djdDWE#+HA2Ur8c>re7wCKZ?!X@kW<8Z^68nLrC(kz(-Mid1&m!29tyya^@$}5! z*nzo(J+-aUZ~~ucVoZJamAdNZxvJ6((i&faR23tGlkp)!a=<&9#!b6Sw4ZG7gi#>k zD@gZ@J5^Rq^@y6epwt`@FX_6`un9_88!|l#E$+ z{6{RzU`LBNRj~|JVMGpIf`+h8lyIhafNDAjO+GNB=TYI6Igs=UgT16>5)GXEKwZHU zPs&*)%G)C9dG6V%uKHG(eUwbd&fv)5;Zo&5@%}ns5rb++G09K<_AInVCIh&&`m2W; zUIg#-k6!8@fXdNyakSxYm}~c<9XT9G6-btZ38VTOKtn3=Yf7NbU28L+*Pxk;IXL3UYMc4uUBr zcW4`6SZm-?U!81&%Y>hgp)a|}XaFImvV3{!^3!P0BF3StjNODwXk(Bw;hG{FOL9%s5}B#AZ~nQqfp*c;feu>!veldl0a(MyIqI0v*$bT%FU+=N1uXF@FXHL%-nXHS-N>8CJ$MluK-!m5aO4uiI#NM!C@SoD88x0^b9 z2=p#Qd^AuK zL)%W^1(MlS$SHR{n=^h8zo*KF8IuIG=cCXy^)D}kEiY{u9MeXB%$2S>|4&d`S4FTw zeAFaB5EdX>B3b7{wt)>4o#qsx)SZrwJc`ix%(9|>z^Pck5v4}GXzr|m9&WhdMc{}1 zowmiBcnTo5t4l6y-kXj~P+#`V27}xJz_hcz9*BklR0vUUsnB_m)=>zkzbD;Zn&YO% z9U|Qv85}s4-d^CLLs@yuU$%BvBlgGB zjhbcvtF#QgkzxrJ>fkFtHXRnn+t?S2u9v0Ka~(@8-PzvgDlOi9UykP=Jx!67dkpmt zo+i86)f;Jm_Qs(-7;wA3X+WD_WhDI#rJXYZ3V_czo1B($J*WzX0s1i@z4ZnC1*=4OH-5#XPQ- zz|6C92rszqeR67!LYS6WL=Zf^LV(SR!hV%6M^A}kNCcT|taV57<8yL|qJKY-bD$Ar zCJLFh{r%x9n#RDl)j|6E-r^M))^?#cxVrqmW%BUb{|UbTcWJ6xkUp@9r9i5w1E{VJ zkhD6q0csG#(G2>jqq9a7`Kc%n4CE7WNMwk>c9cE$n(|5npx#qh`vt286CI606lP3G#rbvLMWa}rBEw?SebK3&A`OG|uAVC_MOx;|zfWyBW0b&{W z7BufM4p7$^=x|rppxKH;t}oaloW9~2oTs`Q9)iM*Gz?N6dx`|C^hqJF1B-awRRUi|faEnWOI`o7D{p=8Bek8Qshy(6Lw)<_9w6&0JZv)6& zM%X*8J(xJUEMSxGAYJEZ>O9uE?%@Q32rhf*;%P3|sRbcDfg1#T%!)^^%jXJlSpv*~ zNJ24;3dTSK|K0Fe#6YKSHy@50^#U~mi)X%Cfnp~2x`L0laV zy}17Qg(XIL2x)*}n{R<#T8+SO)C_TLpKnoYa))JB%dVethpl}K#6`uu5$F9LDAcLZ zbcpj!JwFMpGd4UiXd>>)O8j$ZnlIzneX<+HxhXhActdF!BM)yyz}Ao3SORSOLN+!K zC?MR_mp6C3Z+v0Gk5V0Cvqcf0NFX{mLKA4Y$KrONkU2cnKi?P}{Ag4SX2?O1U*m&x zAfm$I1~b0>gp^A&vH@>r*VSOcwXkC_>L$MjgB-9Iqys(R4L*aBwW3lea+^7@+?dD& z^4`|&EeZ@LW6S445TkB5fp96gQVRQG4K=Rx*p_=~V*`z2kZa;m=z8FD_$-S~qX}mqOxMSvcD}>NVRABHlD6wL|`z6#1R`%dE3lX8KL3kb1 z5m7Vi;MW=;3FV~jui44y&yC%-xfB7zHJ*O(eS|gT^0#87fyc$9eQ*?veH%-l_YuNX zgFn;~x&#+y_sQYvYDkdMDRkZcIeZy6fMjw7F_0T%=Rx(_8|_jp(15be4pHPsLZ8#O zUri(pt-BQXU}->Rf*!(XV>na$%%Cn<6m!mBlU~@PM7QsfFoyS;8)&dy24+A%9(#bl zq^7klm4uJoqJhio$bG#B+8;AOqCVe}d(RrArzh2rBTwY5D zBX`mHlsH}%?C-`G=k5rI*66e!QFewiHJ<>viGm>WRn4Dh!hm>7Y*q5u*F8VTd}59# zAL8sa)a1$YDVYWrsFiFU(6S0kZd-p<0Fi)fv%)}F=L`8bYmLRo|B=9O0s?!U6F8+b z;89k`Ar0xw&Gm$-Ex65hysIF(C?!7>ga4geEee8bafCD@qK&pu2i|I+oYLGHDIZrn ziN?%YARyu_upxhPB3lQCO~e5nOd3>wb#cg8+@?DtV@`k$bc451o*{UkfG6qy_DpgU zsan)`Ia z_F0dN07Vi-RTrGDzPxa2Zxj?jg-llVWo{Vk?WQr!lEde5K*5MPDGnE95Y(V1sq|}r zXBk%g^~OCMlf{CtNL5zC5a$N+UO)N0$IYOy#0?(_ht6+fjVl_>Qvuyg&p_kRq|_km1yb}CVt#j10znm-H$Dg%VRpTUxo((OE=SUFv&r(00~_v; z4cU<3w^Mo^ycr%_W}z~S@3!{fA4CZcNWpdf7=~S`8A=*6UfrA%J*G7%#tC*a%Qd-; za7JpI&xqthc|FNLks%sZu(0R)GH7RE$)$nh7lIHL4E?NsIG(QaOECt&78 zK0%VigcXtRpH}lQIr=ftD9a;ktCpSN*!zffn05yG-hUX6 zG>ux+m27i*$ghX0O)&k`J&;boZ=~e2*j-uc0YK_;<3p(V9hw}!PG@V;L)Cn_uSMVJ zgP~IH9n}^s;YKKyEZa_sZoSb+x>PfgIL;?|uxevs$ME5rL}%Nz`CybXv~*)Ux794Z zO|q?s>ocogIlZ6u6W`i%BKXO8Jz=M6Bhgdm*VWoXlv0;k zVxNpIZGhQmmtq?hPTsoUwwUT^RLDK}qk3m6S4RA+JMQ*Fh;?x3@Hj(9sk+RZbtZB> z`S;pgO_+~_M_EWR;|voW$r~Z;vKJei7Kzvi)Qz=SQZA9N+*Wy}{L|68tR}BapL6Bel^uxY~9V zA!%wcKX?p^vMVq4jTG7RH0JQZeYONG>1ve_L~~yQZP08PDzbKsuAZ=undJ&VzTP-I zZKUb@CNeLi_|drM@OphvM^sh;5|sdDW}5rvkk`aTP(-Yu%*X_2%m=1dN?-$Atbnzd z0KohC(UF-ffT$ASO1BcIEO= zhjwR9g>T5D2}myK4vk`aqmAFN4bi%@xJrZBq8~qfzw*np%X2R;cW)GOXrBV5Yy$KN zZf&0+CZG-l#g*qkv7|DWet)jwkPH9R#j+L%M~xX>2Lh$h*aXVtHkcYE4QKV+-s!L1 zrHN}VzW}bZ1pi|R+dEzP@-L->Z6FH!0frKSQ882}ZO{~Jc~(hYor@-N(vKTwY&bTY zCiJaUBc^wHhPN!gYcdfWn4U=SH`;eNHzw^Slj<;bu)2Qz-lD3>aJ^BtyZ%%QQY$%QPM{RU_%vO`kP}SH+wR*CP4`%4Z0^r*3&u~9l`fE-ktdsF zdzP;=NTYG4(=BN&SSVUy{H;ZpmIZ;^skwMmofz0yrD4$kiz>oSH%6P^U;-$e7317C zADA4`Y~Y?6E>C!z?Ac!W3z~-h6*Ss$w&Tb|iA`K%nWMH!*0SnPx3?2eY`vRT@^pCv zZp7Aa5O9=&Cx%!%!brisCRmC}<{p@^2_)US-3Uq~%O-Y)K0T-e@-ZJ^66bA5GCIK` zt>LG-bB|SAnMMf?qDntelh}niSE>`1$i9wE-LgWXRW^*kq%60gYK58f6-28)e`Tuo zdz#Yfp?#&}V}mIlSdZCVljC7MLOZb88{lLpVj2aoXH0WKg)t==^m96A+R zF>!o7`<<^^P|ls0gU?=*7;Rh+$r-1m0*?N27EaB4$`cXiuNM|ga><|4`7|jJV8j(9WU?u2V3?;!#%{tttyme{3Xb2z zXTIV;)=9tDd>UReDJOM0>D0xz*JN0RHfeRvH)8Mk7~={kZ62LC=sNc&0h*CQl+hC? zu}$U=IUPd>=|nIc*pJ?o<=tn+s9PUpK_yC->v~$+Mr@{u_J;3}0P+4@RTWWsTVy0C zWAp>TgG8-W+W#z)Cza+Hj{7(Ju@?H2+Sfuy-@|mtBg*PQE1TE#iCTv}{ft4Suml6- z2efhuwcMhGo=4svrD`82YAh_g;A1gF->W8OTzXbed_(U>WP+1kfkWm)<=U%JauN`0 zxz<&C&_}GL@3Q_;oJx69w?(73j8D0lV`}pk3?1R^d@REaRX!a z0qdvZYS=ARPg{8DKA3d-Nk^yp9U&a0-=TfwL2kw3(@fX|p9-I$+;!lBAhk`ZWeGv} zHP_nYD3$=OcXwd19hfl{p8I&9SL$+`tlq0+y^8@W>(=WoJNLL&XtiDhkO%QvF8|Dz z6-gn4T(P;5Xk9(BRpIDkt#tFzzpai?X1y@g-z_*T8U$}{pI%4kor+Ogq5$sF6-m6-j@6)OcoRNd*PE9;RGqG@R8^>W#A7lWdV*RlM>u?%XKb2OK@60s9ktl<^T9r?udld*^rh zlMG{&^VE(xGM%?y%`$D1s@#Yf@Jdz0DNGJ2>hs9g()vefMjr0m*zEK;Xo6yJ%CC%v zt<&-Zrug>^2#Bt&jyL`ik=Nk#V7;u**;={$D_%~ec6#~lcmgwoMs$V(2gSivYWf}u zxmi5PyUenfq<$!iEYVjyMo##=H64t5Wfr#XOf{d5dP8s9?hXb1;1yB+gU&3teVLOv z^LC!4<8R=}5`fL`8e`tQex3o@VGi94a&_^U43l8K0}HdV-!1MfIz-Mi4JmH?yfz4? z?z?&$F`Z_qh3qkJgO@eFy^mL7I$7D)7Eh3@XJA-Kx6U{6o58}}#wf-JK`37-t;K}Q z+^fq!V>S8YuM)L0)w|eQ&ZY!ibkL&y&F%CHtUfDZ`>SB7cWnZx>#-%o*GG$42>JW7 zd7TI7N%_UmA1wI0)4~PSYS8XBqp6|inl%41=-q3Ez$8^uapk4-E&HC=QN<0JLSA1z zuP3C|l`!KoU-Gpl-jF*^Y1TcX)8Zr=xMoLh0A!Mspp&1wE+bPRa#>*P*c`!iY5Bj!AeVsAE~SY36GuczikBP&SO1xIc77t!v{h7q;V z37;mXqzHfj7;mrut=W}E%rn4?dqP#URg{Fo=%z~3Z5b)k0g|TsvU*+d0t~3xU~_uK zRHk!{$1|;@^D<>tSC_WZR#xH86yMK;BNz_P-Lp#zkop;h;t+3%5avfVE(FtQ;Q{1R z6E>#g7lCPU_X|rh(_VoAK5=aey3<+DqlTJhMy|uqnGe#FN4ascoNUjQE^Br5Ct}+M z#g(I8j3nb5fQv*u=*%}Y+JJZ70|JyfA`>hSmtCy+Caysxl(=EDqZ6J&mcba68R#q7 zXse~z3N^tkKPgbWzOBDhteMDB2?|vZEmF@$y1Y{6LS#a0mpl}S%8>PRc<73iVk5dTLNP7Mih#Y9`7C>9=$337fP?i6`B z1xie}j{bP0uTL#^UnV}G)f?B3`n{`6Z=5s;lH-t!Y$pXmP=y~~uROWPf|Oi-r)|dG zgo{@OFuc6J8Xxi<1cB-xJn34wK>gy0g_#r10g|tGcLf#ZO?05ITGC#6XnA7ckfhbG zuzq179@C_;4~Sj%6Tls^3d?YqjrtVPY0G6}@j5%4VC>#N#j9hV>QE)hdLN2{7D)0| zhaSg|G+f=ETaA^me4pfB4S<0-f`DjCCQ5m*8bsBjaVJyN4pQFOw9eaxaXSNpncji! z0alLv6z;4&9uTt2_SWx)<}Y=heXLh-CaHupvl~6YaLB^Eh92!Qix3yEUyN*z*6 zWK4!9JN;T1(l}ayFrA4nRT+<&OAk7Xi%9KW<4JjZZ;t2gWQbGAPesWb2p)2uTv94< z;n5&sTTmt?3d5I`?Yu(7(ObFjVXy<{OA1*OC6&|s;Kx>HABRx(l>kiraDTjfVR5OM}V>x;8?lc(EcDzC&QM&l$poM z%Otrki5In!!&9^MxRxQoqW?;-@^K6u(=MfcJ81neiW4bfZ-be8z(>^XXbN6_rkdM% ziPrtEepfD?DY=nVqkbVDZcN6_Upl-;tp@JF)o$&$T?XQcP8e8FQy35)mc!%{<|Vnk zz2)$b#Uwz!An$UPC1J-&!|%4qlxXVYXVJJDH=4)D@Op}&yGbXIrLqf5|Nns8;41zV bzgyhF#9x?LaB@l7CFfKwUscGtWa|50^bhUX literal 0 HcmV?d00001 From 91fd13ecd4e8037976e95209aa474641a9813dfb Mon Sep 17 00:00:00 2001 From: alexschuckert Date: Mon, 6 Jul 2026 21:45:58 +0100 Subject: [PATCH 122/159] autotune(orbit-compare): L=21 Trotter 1e-5 rung lands - 190x wall for matched accuracy vs displacement Co-Authored-By: Claude Fable 5 --- docs/autotune/2026-07-03-orbit-compare/log.md | 12 ++++++++++++ .../msd_L21_trotter_ladder.png | Bin 173285 -> 143618 bytes 2 files changed, 12 insertions(+) diff --git a/docs/autotune/2026-07-03-orbit-compare/log.md b/docs/autotune/2026-07-03-orbit-compare/log.md index 7adb9880..91480dd9 100644 --- a/docs/autotune/2026-07-03-orbit-compare/log.md +++ b/docs/autotune/2026-07-03-orbit-compare/log.md @@ -1293,3 +1293,15 @@ possible), 209 s / 650 MB on a laptop. RAM: 650 MB vs (unstated, plausibly 10s of GB). Their delta/dt coupling (their Sec II: error is a function of delta/dt) forces small dt AND large N; CTPP's dt-freedom is the structural advantage on display. + +## L=21 Trotter deep rungs completed (2026-07-06, background cells landed) + + trot 0.025/3e-5: median 1.51e-2 max 2.7e-2 MSD(6)=31.18 1385s 350MB 1.25M strings + trot 0.025/1e-5: median 2.86e-3 max 8.9e-3 MSD(6)=31.35 14845s 2.0GB 11.08M strings +The 1e-5 rung FINALLY matches disp B=150k accuracy (2.8e-3): the +extrapolated cost was right. MATCHED-ACCURACY HEADLINE AT L=21 (t<=6): + CTPP-displacement: 78 s, 150k strings, ~0.4 GB + Trotter (2nd-order): 4.1 h, 11.1M strings, 2.0 GB + -> 190x wall, 74x strings, ~5x RAM at equal accuracy. +Also note trot 0.025/3e-5 (1.5e-2) is WORSE than 0.05/3e-5 (7.4e-3): +the dt-mac coupling again - halving dt at fixed mac degrades. diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L21_trotter_ladder.png b/docs/autotune/2026-07-03-orbit-compare/msd_L21_trotter_ladder.png index c138826cac90eeda3063ef5bec4e2a73a5224810..1817e21d2a857632827123b76e86bf329bad80c6 100644 GIT binary patch literal 143618 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%0DygZxF>(58gEcp7p+{sr+K6MuvJQlv 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 Date: Tue, 7 Jul 2026 06:46:30 +0100 Subject: [PATCH 123/159] autotune(orbit-compare): L=21 summary figure (curves, deviations, Pareto) Co-Authored-By: Claude Fable 5 --- .../msd_L21_summary.png | Bin 0 -> 189963 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L21_summary.png diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L21_summary.png b/docs/autotune/2026-07-03-orbit-compare/msd_L21_summary.png new file mode 100644 index 0000000000000000000000000000000000000000..43d69337664707ebd2478c81c37e9d02260d482f GIT binary patch literal 189963 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

      7#!2YjWkdoB_RzXCOK493uox$T4zs|r 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⌲v`lJRN_{*)AJ7k@=xh!xoVHv9~ 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 n^Ft`n|0fyr|EGukY;bz Date: Tue, 7 Jul 2026 06:50:22 +0100 Subject: [PATCH 124/159] autotune(orbit-compare): deep-Trotter vs reference figure with self-uncertainty band Co-Authored-By: Claude Fable 5 --- .../msd_L21_deep_trotter.png | Bin 0 -> 150732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L21_deep_trotter.png diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L21_deep_trotter.png b/docs/autotune/2026-07-03-orbit-compare/msd_L21_deep_trotter.png new file mode 100644 index 0000000000000000000000000000000000000000..32c70f3d603c391ad5f119a41c9435223b451825 GIT binary patch literal 150732 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

      +qh7qq&*GEMhhi=w0|&(Zvm5b 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 z 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 ef42@p>61s#QJ)ut#4O7u_vi1ob(6? Date: Tue, 7 Jul 2026 07:11:08 +0100 Subject: [PATCH 125/159] autotune(orbit-compare): A=K*B scan at L=41 B=300k Co-Authored-By: Claude Fable 5 --- .../2026-07-03-orbit-compare/msd_L41_Kscan.png | Bin 0 -> 150531 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/autotune/2026-07-03-orbit-compare/msd_L41_Kscan.png diff --git a/docs/autotune/2026-07-03-orbit-compare/msd_L41_Kscan.png b/docs/autotune/2026-07-03-orbit-compare/msd_L41_Kscan.png new file mode 100644 index 0000000000000000000000000000000000000000..9c097a0bb40bdf7261aaf8c24df938af3ef0f2c7 GIT binary patch literal 150531 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

      U(?R`kAeA(|Mj0v1H?H)l+xn>gL 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 @d9AY&Ys1Ih>#-t9LEy*dG&B&6q7 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 z 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