From 213c8165a4d38d54194db725652042e2a5b2e31d Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 19 May 2025 14:48:12 +0545 Subject: [PATCH 01/27] chore: try bls12381 --- Cargo.lock | 29 +- Cargo.toml | 1 + audits/rkm0959.md | 2 +- crates/p3-bls12-fr/Cargo.toml | 32 + crates/p3-bls12-fr/src/lib.rs | 364 ++++++++++++ crates/p3-bls12-fr/src/poseidon2.rs | 134 +++++ crates/prover/Cargo.toml | 2 +- crates/prover/src/types.rs | 6 +- crates/prover/src/utils.rs | 30 +- crates/recursion/circuit/Cargo.toml | 2 +- crates/recursion/circuit/src/challenger.rs | 6 +- crates/recursion/circuit/src/hash.rs | 12 +- crates/recursion/circuit/src/lib.rs | 4 +- crates/recursion/circuit/src/utils.rs | 26 +- crates/recursion/circuit/src/witness/outer.rs | 10 +- crates/recursion/compiler/Cargo.toml | 2 +- crates/recursion/compiler/src/config.rs | 4 +- crates/recursion/core/Cargo.toml | 2 +- crates/recursion/core/src/stark/config.rs | 18 +- crates/recursion/core/src/stark/poseidon2.rs | 20 +- crates/recursion/gnark-ffi/go/main.go | 8 +- crates/recursion/gnark-ffi/go/sp1/build.go | 12 +- .../gnark-ffi/go/sp1/poseidon2/constants.go | 550 +++++++----------- .../go/sp1/poseidon2/poseidon2_test.go | 2 +- crates/recursion/gnark-ffi/go/sp1/prove.go | 14 +- crates/recursion/gnark-ffi/go/sp1/verify.go | 28 +- crates/recursion/gnark-ffi/src/ffi/docker.rs | 2 +- patch-testing/Cargo.lock | 24 +- 28 files changed, 881 insertions(+), 465 deletions(-) create mode 100644 crates/p3-bls12-fr/Cargo.toml create mode 100644 crates/p3-bls12-fr/src/lib.rs create mode 100644 crates/p3-bls12-fr/src/poseidon2.rs diff --git a/Cargo.lock b/Cargo.lock index acbaec969e..67a1a27608 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3662,18 +3662,20 @@ dependencies = [ ] [[package]] -name = "p3-bn254-fr" -version = "0.2.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0dd4d095d254783098bd09fc5fdf33fd781a1be54608ab93cb3ed4bd723da54" +name = "p3-bls12-fr" +version = "4.2.1" dependencies = [ "ff 0.13.1", "num-bigint 0.4.6", + "num-traits", "p3-field", + "p3-field-testing", "p3-poseidon2", "p3-symmetric", "rand 0.8.5", "serde", + "serde_json", + "zkhash", ] [[package]] @@ -3731,6 +3733,17 @@ dependencies = [ "serde", ] +[[package]] +name = "p3-field-testing" +version = "0.2.2-succinct" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9051d6c0d8b41bad3daadcb7d7d601b31e4a76ed0123b12a85d3351a4933aa0c" +dependencies = [ + "criterion", + "p3-field", + "rand 0.8.5", +] + [[package]] name = "p3-fri" version = "0.2.3-succinct" @@ -5708,7 +5721,7 @@ dependencies = [ "lru", "num-bigint 0.4.6", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-field", @@ -5745,7 +5758,7 @@ dependencies = [ "num-traits", "p3-air", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-dft", @@ -5781,7 +5794,7 @@ dependencies = [ "criterion", "itertools 0.13.0", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-dft", "p3-field", @@ -5813,7 +5826,7 @@ dependencies = [ "num_cpus", "p3-air", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-dft", diff --git a/Cargo.toml b/Cargo.toml index 298220ad3d..4bb6b3ce76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,6 +69,7 @@ sp1-cuda = { path = "crates/cuda", version = "5.0.0" } sp1-stark = { path = "crates/stark", version = "5.0.0" } sp1-lib = { path = "crates/zkvm/lib", version = "5.0.0", default-features = false } sp1-zkvm = { path = "crates/zkvm/entrypoint", version = "5.0.0", default-features = false } +p3-bls12-fr = { path = "crates/p3-bls12-fr" } # For testing. test-artifacts = { path = "crates/test-artifacts" } diff --git a/audits/rkm0959.md b/audits/rkm0959.md index 2c09f508d5..3ea94568f1 100644 --- a/audits/rkm0959.md +++ b/audits/rkm0959.md @@ -68,7 +68,7 @@ In `hash.rs`, we combine 8 felts to var using base `2^32`. ```rust fn hash(builder: &mut Builder, input: &[Felt<::F>]) -> Self::DigestVariable { - assert!(C::N::bits() == p3_bn254_fr::Bn254Fr::bits()); + assert!(C::N::bits() == p3_bls12_fr::Bls12Fr::bits()); assert!(C::F::bits() == p3_baby_bear::BabyBear::bits()); let num_f_elms = C::N::bits() / C::F::bits(); // this is 8 let mut state: [Var; SPONGE_SIZE] = diff --git a/crates/p3-bls12-fr/Cargo.toml b/crates/p3-bls12-fr/Cargo.toml new file mode 100644 index 0000000000..8dd81e9056 --- /dev/null +++ b/crates/p3-bls12-fr/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "p3-bls12-fr" +version.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true +repository.workspace = true +keywords.workspace = true +categories.workspace = true +include.workspace = true + +[dependencies] +p3-poseidon2.workspace = true +p3-field.workspace = true +p3-symmetric.workspace = true +serde.workspace = true +serde_json.workspace = true + +rand = "0.8" +num-bigint = "0.4" +ff = { version = "0.13", features = [ + "derive", + "derive_bits", +] } +num-traits = "0.2" + +[dev-dependencies] +p3-field-testing = "=0.2.2-succinct" +zkhash = "0.2" + +[lints] +workspace = true diff --git a/crates/p3-bls12-fr/src/lib.rs b/crates/p3-bls12-fr/src/lib.rs new file mode 100644 index 0000000000..c1c012ab47 --- /dev/null +++ b/crates/p3-bls12-fr/src/lib.rs @@ -0,0 +1,364 @@ +//! The scalar field of the BLS12 curve, defined as `F_r` where `r = 52435875175126190479447740508185965837690552500527637822603658699938581184513`. + +mod poseidon2; + +use core::fmt; +use core::fmt::{Debug, Display, Formatter}; +use core::hash::{Hash, Hasher}; +use core::iter::{Product, Sum}; +use core::ops::{Add, AddAssign, Div, Mul, MulAssign, Neg, Sub, SubAssign}; + +use ff::{Field as FFField, PrimeField as FFPrimeField, PrimeFieldBits}; +use num_bigint::BigUint; +use p3_field::{AbstractField, Field, Packable, PrimeField}; +pub use poseidon2::DiffusionMatrixBLS12; +use rand::distributions::{Distribution, Standard}; +use rand::Rng; +use serde::ser::SerializeSeq; +use serde::{Deserialize, Deserializer, Serialize}; + +#[derive(FFPrimeField)] +#[PrimeFieldModulus = "52435875175126190479447740508185965837690552500527637822603658699938581184513"] +#[PrimeFieldGenerator = "7"] +#[PrimeFieldReprEndianness = "little"] +pub struct FFBls12Fr([u64; 4]); + +/// The BLS12 curve scalar field prime, defined as `F_r` where `r = 52435875175126190479447740508185965837690552500527637822603658699938581184513`. +#[derive(Copy, Clone, Default, Eq, PartialEq)] +pub struct Bls12Fr { + pub value: FFBls12Fr, +} + +impl Bls12Fr { + pub(crate) const fn new(value: FFBls12Fr) -> Self { + Self { value } + } +} + +impl Serialize for Bls12Fr { + fn serialize(&self, serializer: S) -> Result { + let repr = self.value.to_repr(); + let bytes = repr.as_ref(); + + let mut seq = serializer.serialize_seq(Some(bytes.len()))?; + for e in bytes { + seq.serialize_element(&e)?; + } + seq.end() + } +} + +impl<'de> Deserialize<'de> for Bls12Fr { + fn deserialize>(d: D) -> Result { + let bytes: Vec = Deserialize::deserialize(d)?; + + let mut res = ::Repr::default(); + + for (i, digit) in res.0.as_mut().iter_mut().enumerate() { + *digit = bytes[i]; + } + + let value = FFBls12Fr::from_repr(res); + + if value.is_some().into() { + Ok(Self { value: value.unwrap() }) + } else { + Err(serde::de::Error::custom("Invalid field element")) + } + } +} + +impl Packable for Bls12Fr {} + +impl Hash for Bls12Fr { + fn hash(&self, state: &mut H) { + for byte in self.value.to_repr().as_ref().iter() { + state.write_u8(*byte); + } + } +} + +impl Ord for Bls12Fr { + fn cmp(&self, other: &Self) -> core::cmp::Ordering { + self.value.cmp(&other.value) + } +} + +impl PartialOrd for Bls12Fr { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl Display for Bls12Fr { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + ::fmt(&self.value, f) + } +} + +impl Debug for Bls12Fr { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + Debug::fmt(&self.value, f) + } +} + +impl AbstractField for Bls12Fr { + type F = Self; + + fn zero() -> Self { + Self::new(FFBls12Fr::ZERO) + } + fn one() -> Self { + Self::new(FFBls12Fr::ONE) + } + fn two() -> Self { + Self::new(FFBls12Fr::from(2u64)) + } + + fn neg_one() -> Self { + Self::new(FFBls12Fr::ZERO - FFBls12Fr::ONE) + } + + #[inline] + fn from_f(f: Self::F) -> Self { + f + } + + fn from_bool(b: bool) -> Self { + Self::new(FFBls12Fr::from(b as u64)) + } + + fn from_canonical_u8(n: u8) -> Self { + Self::new(FFBls12Fr::from(n as u64)) + } + + fn from_canonical_u16(n: u16) -> Self { + Self::new(FFBls12Fr::from(n as u64)) + } + + fn from_canonical_u32(n: u32) -> Self { + Self::new(FFBls12Fr::from(n as u64)) + } + + fn from_canonical_u64(n: u64) -> Self { + Self::new(FFBls12Fr::from(n)) + } + + fn from_canonical_usize(n: usize) -> Self { + Self::new(FFBls12Fr::from(n as u64)) + } + + fn from_wrapped_u32(n: u32) -> Self { + Self::new(FFBls12Fr::from(n as u64)) + } + + fn from_wrapped_u64(n: u64) -> Self { + Self::new(FFBls12Fr::from(n)) + } + + fn generator() -> Self { + Self::new(FFBls12Fr::from(7u64)) + } +} + +impl Field for Bls12Fr { + type Packing = Self; + + fn is_zero(&self) -> bool { + self.value.is_zero().into() + } + + fn try_inverse(&self) -> Option { + let inverse = self.value.invert(); + + if inverse.is_some().into() { + Some(Self::new(inverse.unwrap())) + } else { + None + } + } + + fn order() -> BigUint { + let bytes = FFBls12Fr::char_le_bits(); + BigUint::from_bytes_le(bytes.as_raw_slice()) + } +} + +impl PrimeField for Bls12Fr { + fn as_canonical_biguint(&self) -> BigUint { + let repr = self.value.to_repr(); + let le_bytes = repr.as_ref(); + BigUint::from_bytes_le(le_bytes) + } +} + +impl Add for Bls12Fr { + type Output = Self; + + fn add(self, rhs: Self) -> Self { + Self::new(self.value + rhs.value) + } +} + +impl AddAssign for Bls12Fr { + fn add_assign(&mut self, rhs: Self) { + self.value += rhs.value; + } +} + +impl Sum for Bls12Fr { + fn sum>(iter: I) -> Self { + iter.reduce(|x, y| x + y).unwrap_or(Self::zero()) + } +} + +impl Sub for Bls12Fr { + type Output = Self; + + fn sub(self, rhs: Self) -> Self { + Self::new(self.value.sub(rhs.value)) + } +} + +impl SubAssign for Bls12Fr { + fn sub_assign(&mut self, rhs: Self) { + self.value -= rhs.value; + } +} + +impl Neg for Bls12Fr { + type Output = Self; + + fn neg(self) -> Self::Output { + self * Self::neg_one() + } +} + +impl Mul for Bls12Fr { + type Output = Self; + + fn mul(self, rhs: Self) -> Self { + Self::new(self.value * rhs.value) + } +} + +impl MulAssign for Bls12Fr { + fn mul_assign(&mut self, rhs: Self) { + self.value *= rhs.value; + } +} + +impl Product for Bls12Fr { + fn product>(iter: I) -> Self { + iter.reduce(|x, y| x * y).unwrap_or(Self::one()) + } +} + +impl Div for Bls12Fr { + type Output = Self; + + #[allow(clippy::suspicious_arithmetic_impl)] + fn div(self, rhs: Self) -> Self { + self * rhs.inverse() + } +} + +impl Distribution for Standard { + #[inline] + fn sample(&self, rng: &mut R) -> Bls12Fr { + Bls12Fr::new(FFBls12Fr::random(rng)) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use num_traits::One; + + type F = Bls12Fr; + + #[test] + fn test_bls12fr() { + let f = F::new(FFBls12Fr::from_u128(100)); + assert_eq!(f.as_canonical_biguint(), BigUint::new(vec![100])); + + let f = F::from_canonical_u64(0); + assert!(f.is_zero()); + + let f = F::new(FFBls12Fr::from_str_vartime(&F::order().to_str_radix(10)).unwrap()); + assert!(f.is_zero()); + + assert_eq!(F::generator().as_canonical_biguint(), BigUint::new(vec![7])); + + let f_1 = F::new(FFBls12Fr::from_u128(1)); + let f_1_copy = F::new(FFBls12Fr::from_u128(1)); + + let expected_result = F::zero(); + assert_eq!(f_1 - f_1_copy, expected_result); + + let expected_result = F::new(FFBls12Fr::from_u128(2)); + assert_eq!(f_1 + f_1_copy, expected_result); + + let f_2 = F::new(FFBls12Fr::from_u128(2)); + let expected_result = F::new(FFBls12Fr::from_u128(3)); + assert_eq!(f_1 + f_1_copy * f_2, expected_result); + + let expected_result = F::new(FFBls12Fr::from_u128(5)); + assert_eq!(f_1 + f_2 * f_2, expected_result); + + let f_r_minus_1 = F::new( + FFBls12Fr::from_str_vartime(&(F::order() - BigUint::one()).to_str_radix(10)).unwrap(), + ); + let expected_result = F::zero(); + assert_eq!(f_1 + f_r_minus_1, expected_result); + + let f_r_minus_2 = F::new( + FFBls12Fr::from_str_vartime(&(F::order() - BigUint::new(vec![2])).to_str_radix(10)) + .unwrap(), + ); + let expected_result = F::new( + FFBls12Fr::from_str_vartime(&(F::order() - BigUint::new(vec![3])).to_str_radix(10)) + .unwrap(), + ); + assert_eq!(f_r_minus_1 + f_r_minus_2, expected_result); + + let expected_result = F::new(FFBls12Fr::from_u128(1)); + assert_eq!(f_r_minus_1 - f_r_minus_2, expected_result); + + let expected_result = f_r_minus_1; + assert_eq!(f_r_minus_2 - f_r_minus_1, expected_result); + + let expected_result = f_r_minus_2; + assert_eq!(f_r_minus_1 - f_1, expected_result); + + let expected_result = F::new(FFBls12Fr::from_u128(3)); + assert_eq!(f_2 * f_2 - f_1, expected_result); + + // Generator check + let expected_multiplicative_group_generator = F::new(FFBls12Fr::from_u128(7)); + assert_eq!(F::generator(), expected_multiplicative_group_generator); + + let f_serialized = serde_json::to_string(&f).unwrap(); + let f_deserialized: F = serde_json::from_str(&f_serialized).unwrap(); + assert_eq!(f, f_deserialized); + + let f_1_serialized = serde_json::to_string(&f_1).unwrap(); + let f_1_deserialized: F = serde_json::from_str(&f_1_serialized).unwrap(); + let f_1_serialized_again = serde_json::to_string(&f_1_deserialized).unwrap(); + let f_1_deserialized_again: F = serde_json::from_str(&f_1_serialized_again).unwrap(); + assert_eq!(f_1, f_1_deserialized); + assert_eq!(f_1, f_1_deserialized_again); + + let f_2_serialized = serde_json::to_string(&f_2).unwrap(); + let f_2_deserialized: F = serde_json::from_str(&f_2_serialized).unwrap(); + assert_eq!(f_2, f_2_deserialized); + + let f_r_minus_1_serialized = serde_json::to_string(&f_r_minus_1).unwrap(); + let f_r_minus_1_deserialized: F = serde_json::from_str(&f_r_minus_1_serialized).unwrap(); + assert_eq!(f_r_minus_1, f_r_minus_1_deserialized); + + let f_r_minus_2_serialized = serde_json::to_string(&f_r_minus_2).unwrap(); + let f_r_minus_2_deserialized: F = serde_json::from_str(&f_r_minus_2_serialized).unwrap(); + assert_eq!(f_r_minus_2, f_r_minus_2_deserialized); + } +} diff --git a/crates/p3-bls12-fr/src/poseidon2.rs b/crates/p3-bls12-fr/src/poseidon2.rs new file mode 100644 index 0000000000..f854c78e40 --- /dev/null +++ b/crates/p3-bls12-fr/src/poseidon2.rs @@ -0,0 +1,134 @@ +//! Diffusion matrix for BLS12 +//! +//! Reference: https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2_instance_bls12.rs + +use std::sync::OnceLock; + +use p3_field::AbstractField; +use p3_poseidon2::{matmul_internal, DiffusionPermutation}; +use p3_symmetric::Permutation; +use serde::{Deserialize, Serialize}; + +use crate::Bls12Fr; + +#[inline] +fn get_diffusion_matrix_3() -> &'static [Bls12Fr; 3] { + static MAT_DIAG3_M_1: OnceLock<[Bls12Fr; 3]> = OnceLock::new(); + MAT_DIAG3_M_1.get_or_init(|| [Bls12Fr::one(), Bls12Fr::one(), Bls12Fr::two()]) +} + +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +pub struct DiffusionMatrixBLS12; + +impl> Permutation<[AF; 3]> for DiffusionMatrixBLS12 { + fn permute_mut(&self, state: &mut [AF; 3]) { + matmul_internal::(state, *get_diffusion_matrix_3()); + } +} + +impl> DiffusionPermutation for DiffusionMatrixBLS12 {} + +#[cfg(test)] +mod tests { + use ff::PrimeField; + use p3_poseidon2::{Poseidon2, Poseidon2ExternalMatrixHL}; + use rand::Rng; + use zkhash::ark_ff::{BigInteger, PrimeField as ark_PrimeField}; + use zkhash::fields::bls12::FpBLS12 as ark_FpBN256; + use zkhash::poseidon2::poseidon2::Poseidon2 as Poseidon2Ref; + use zkhash::poseidon2::poseidon2_instance_bls12::{POSEIDON2_BLS_3_PARAMS, RC3}; + + use super::*; + use crate::FFBls12Fr; + + fn bls12_from_ark_ff(input: ark_FpBN256) -> Bls12Fr { + let bytes = input.into_bigint().to_bytes_le(); + + let mut res = ::Repr::default(); + + for (i, digit) in res.0.as_mut().iter_mut().enumerate() { + *digit = bytes[i]; + } + + let value = FFBls12Fr::from_repr(res); + + if value.is_some().into() { + Bls12Fr { value: value.unwrap() } + } else { + panic!("Invalid field element") + } + } + + #[test] + fn test_poseidon2_bls12() { + const WIDTH: usize = 3; + const D: u64 = 5; + const ROUNDS_F: usize = 8; + const ROUNDS_P: usize = 56; + + type F = Bls12Fr; + + let mut rng = rand::thread_rng(); + + // Poiseidon2 reference implementation from zkhash repo. + let poseidon2_ref = Poseidon2Ref::new(&POSEIDON2_BLS_3_PARAMS); + + // Copy over round constants from zkhash. + let mut round_constants: Vec<[F; WIDTH]> = RC3 + .iter() + .map(|vec| { + vec.iter().cloned().map(bls12_from_ark_ff).collect::>().try_into().unwrap() + }) + .collect(); + + let internal_start = ROUNDS_F / 2; + let internal_end = (ROUNDS_F / 2) + ROUNDS_P; + let internal_round_constants = round_constants + .drain(internal_start..internal_end) + .map(|vec| vec[0]) + .collect::>(); + let external_round_constants = round_constants; + // Our Poseidon2 implementation. + let poseidon2: Poseidon2< + Bls12Fr, + Poseidon2ExternalMatrixHL, + DiffusionMatrixBLS12, + WIDTH, + D, + > = Poseidon2::new( + ROUNDS_F, + external_round_constants, + Poseidon2ExternalMatrixHL, + ROUNDS_P, + internal_round_constants, + DiffusionMatrixBLS12, + ); + + // Generate random input and convert to both Goldilocks field formats. + let input_ark_ff = rng.gen::<[ark_FpBN256; WIDTH]>(); + let input: [Bls12Fr; 3] = input_ark_ff + .iter() + .cloned() + .map(bls12_from_ark_ff) + .collect::>() + .try_into() + .unwrap(); + + // Run reference implementation. + let output_ref = poseidon2_ref.permutation(&input_ark_ff); + + let expected: [F; WIDTH] = output_ref + .iter() + .cloned() + .map(bls12_from_ark_ff) + .collect::>() + .try_into() + .unwrap(); + + // Run our implementation. + let mut output = input; + poseidon2.permute_mut(&mut output); + + assert_eq!(output, expected); + } +} diff --git a/crates/prover/Cargo.toml b/crates/prover/Cargo.toml index 60680d6728..d8cdf13fe3 100644 --- a/crates/prover/Cargo.toml +++ b/crates/prover/Cargo.toml @@ -25,7 +25,7 @@ sp1-primitives = { workspace = true } p3-field = { workspace = true } p3-challenger = { workspace = true } p3-baby-bear = { workspace = true } -p3-bn254-fr = { workspace = true } +p3-bls12-fr = { workspace = true } p3-commit = { workspace = true } p3-util = { workspace = true } bincode = "1.3.3" diff --git a/crates/prover/src/types.rs b/crates/prover/src/types.rs index 34e81d9f53..331cb5db01 100644 --- a/crates/prover/src/types.rs +++ b/crates/prover/src/types.rs @@ -3,7 +3,7 @@ use std::{fs::File, path::Path}; use anyhow::Result; use clap::ValueEnum; use p3_baby_bear::BabyBear; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_commit::{Pcs, TwoAdicMultiplicativeCoset}; use p3_field::{AbstractField, PrimeField, PrimeField32, TwoAdicField}; use serde::{de::DeserializeOwned, Deserialize, Serialize}; @@ -47,8 +47,8 @@ pub trait HashableKey { /// Hash the key into a digest of u32 elements. fn hash_u32(&self) -> [u32; DIGEST_SIZE]; - /// Hash the key into a Bn254Fr element. - fn hash_bn254(&self) -> Bn254Fr { + /// Hash the key into a Bls12Fr element. + fn hash_bn254(&self) -> Bls12Fr { babybears_to_bn254(&self.hash_babybear()) } diff --git a/crates/prover/src/utils.rs b/crates/prover/src/utils.rs index 4667a6f3af..255ab794ee 100644 --- a/crates/prover/src/utils.rs +++ b/crates/prover/src/utils.rs @@ -7,7 +7,7 @@ use std::{ use itertools::Itertools; use p3_baby_bear::BabyBear; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_field::{AbstractField, PrimeField32}; use p3_symmetric::CryptographicHasher; use sp1_core_executor::{Executor, Program}; @@ -29,7 +29,7 @@ pub fn sp1_vkey_digest_babybear(proof: &SP1ReduceProof) } /// Get the SP1 vkey Bn Poseidon2 digest this reduce proof is representing. -pub fn sp1_vkey_digest_bn254(proof: &SP1ReduceProof) -> Bn254Fr { +pub fn sp1_vkey_digest_bn254(proof: &SP1ReduceProof) -> Bls12Fr { babybears_to_bn254(&sp1_vkey_digest_babybear(proof)) } @@ -89,7 +89,7 @@ pub fn is_recursion_public_values_valid( /// Get the committed values Bn Poseidon2 digest this reduce proof is representing. pub fn sp1_committed_values_digest_bn254( proof: &SP1ReduceProof, -) -> Bn254Fr { +) -> Bls12Fr { let proof = &proof.proof; let pv: &RecursionPublicValues = proof.public_values.as_slice().borrow(); let committed_values_digest_bytes: [BabyBear; 32] = @@ -125,31 +125,31 @@ pub fn words_to_bytes(words: &[Word]) -> Vec { words.iter().flat_map(|word| word.0).collect() } -/// Convert 8 BabyBear words into a Bn254Fr field element by shifting by 31 bits each time. The last +/// Convert 8 BabyBear words into a Bls12Fr field element by shifting by 31 bits each time. The last /// word becomes the least significant bits. -pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bn254Fr { - let mut result = Bn254Fr::zero(); +pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { + let mut result = Bls12Fr::zero(); for word in digest.iter() { // Since BabyBear prime is less than 2^31, we can shift by 31 bits each time and still be - // within the Bn254Fr field, so we don't have to truncate the top 3 bits. - result *= Bn254Fr::from_canonical_u64(1 << 31); - result += Bn254Fr::from_canonical_u32(word.as_canonical_u32()); + // within the Bls12Fr field, so we don't have to truncate the top 3 bits. + result *= Bls12Fr::from_canonical_u64(1 << 31); + result += Bls12Fr::from_canonical_u32(word.as_canonical_u32()); } result } -/// Convert 32 BabyBear bytes into a Bn254Fr field element. The first byte's most significant 3 bits +/// Convert 32 BabyBear bytes into a Bls12Fr field element. The first byte's most significant 3 bits /// (which would become the 3 most significant bits) are truncated. -pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bn254Fr { - let mut result = Bn254Fr::zero(); +pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bls12Fr { + let mut result = Bls12Fr::zero(); for (i, byte) in bytes.iter().enumerate() { debug_assert!(byte < &BabyBear::from_canonical_u32(256)); if i == 0 { // 32 bytes is more than Bn254 prime, so we need to truncate the top 3 bits. - result = Bn254Fr::from_canonical_u32(byte.as_canonical_u32() & 0x1f); + result = Bls12Fr::from_canonical_u32(byte.as_canonical_u32() & 0x1f); } else { - result *= Bn254Fr::from_canonical_u32(256); - result += Bn254Fr::from_canonical_u32(byte.as_canonical_u32()); + result *= Bls12Fr::from_canonical_u32(256); + result += Bls12Fr::from_canonical_u32(byte.as_canonical_u32()); } } result diff --git a/crates/recursion/circuit/Cargo.toml b/crates/recursion/circuit/Cargo.toml index 8052632d7a..8d8d5c9f30 100644 --- a/crates/recursion/circuit/Cargo.toml +++ b/crates/recursion/circuit/Cargo.toml @@ -19,7 +19,7 @@ p3-util = { workspace = true } p3-symmetric = { workspace = true } p3-challenger = { workspace = true } p3-dft = { workspace = true } -p3-bn254-fr = { workspace = true } +p3-bls12-fr = { workspace = true } p3-baby-bear = { workspace = true } p3-uni-stark = { workspace = true } diff --git a/crates/recursion/circuit/src/challenger.rs b/crates/recursion/circuit/src/challenger.rs index 4be9da49e2..2ca633018f 100644 --- a/crates/recursion/circuit/src/challenger.rs +++ b/crates/recursion/circuit/src/challenger.rs @@ -435,7 +435,7 @@ pub(crate) mod tests { utils::tests::run_test_recursion, }; use p3_baby_bear::BabyBear; - use p3_bn254_fr::Bn254Fr; + use p3_bls12_fr::Bls12Fr; use p3_challenger::{CanObserve, CanSample, CanSampleBits, FieldChallenger}; use p3_field::AbstractField; use p3_symmetric::{CryptographicHasher, Hash, PseudoCompressionFunction}; @@ -624,8 +624,8 @@ pub(crate) mod tests { let perm = outer_perm(); let compressor = OuterCompress::new(perm.clone()); - let a: [Bn254Fr; 1] = [Bn254Fr::two()]; - let b: [Bn254Fr; 1] = [Bn254Fr::two()]; + let a: [Bls12Fr; 1] = [Bls12Fr::two()]; + let b: [Bls12Fr; 1] = [Bls12Fr::two()]; let gt = compressor.compress([a, b]); let mut builder = Builder::::default(); diff --git a/crates/recursion/circuit/src/hash.rs b/crates/recursion/circuit/src/hash.rs index 7aff6dc930..f01bb6bc1a 100644 --- a/crates/recursion/circuit/src/hash.rs +++ b/crates/recursion/circuit/src/hash.rs @@ -7,7 +7,7 @@ use itertools::Itertools; use p3_baby_bear::BabyBear; use p3_field::{AbstractField, Field}; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_symmetric::Permutation; use sp1_recursion_compiler::{ circuit::CircuitV2Builder, @@ -159,22 +159,22 @@ impl>> FieldHasherVariable for BabyBearPoseidon2Outer { - type Digest = [Bn254Fr; BN254_DIGEST_SIZE]; + type Digest = [Bls12Fr; BN254_DIGEST_SIZE]; fn constant_compress(input: [Self::Digest; 2]) -> Self::Digest { - let mut state = [input[0][0], input[1][0], Bn254Fr::zero()]; + let mut state = [input[0][0], input[1][0], Bls12Fr::zero()]; outer_perm().permute_mut(&mut state); [state[0]; BN254_DIGEST_SIZE] } } -impl>> FieldHasherVariable +impl>> FieldHasherVariable for BabyBearPoseidon2Outer { - type DigestVariable = [Var; BN254_DIGEST_SIZE]; + type DigestVariable = [Var; BN254_DIGEST_SIZE]; fn hash(builder: &mut Builder, input: &[Felt<::F>]) -> Self::DigestVariable { - assert!(C::N::bits() == p3_bn254_fr::Bn254Fr::bits()); + assert!(C::N::bits() == p3_bls12_fr::Bls12Fr::bits()); assert!(C::F::bits() == p3_baby_bear::BabyBear::bits()); let num_f_elms = C::N::bits() / C::F::bits(); let mut state: [Var; OUTER_MULTI_FIELD_CHALLENGER_WIDTH] = diff --git a/crates/recursion/circuit/src/lib.rs b/crates/recursion/circuit/src/lib.rs index ec268151bc..ba53f49a35 100644 --- a/crates/recursion/circuit/src/lib.rs +++ b/crates/recursion/circuit/src/lib.rs @@ -6,7 +6,7 @@ use challenger::{ }; use hash::{FieldHasherVariable, Posedion2BabyBearHasherVariable}; use itertools::izip; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_field::AbstractField; use p3_matrix::dense::RowMajorMatrix; use sp1_recursion_compiler::{ @@ -627,7 +627,7 @@ impl>> BabyBearFriConfigVari } } -impl>> BabyBearFriConfigVariable +impl>> BabyBearFriConfigVariable for BabyBearPoseidon2Outer { type FriChallengerVariable = MultiField32ChallengerVariable; diff --git a/crates/recursion/circuit/src/utils.rs b/crates/recursion/circuit/src/utils.rs index d4211dcb97..8f085b3d01 100644 --- a/crates/recursion/circuit/src/utils.rs +++ b/crates/recursion/circuit/src/utils.rs @@ -1,5 +1,5 @@ use p3_baby_bear::BabyBear; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_field::{AbstractField, PrimeField32}; use sp1_recursion_compiler::ir::{Builder, Config, Felt, Var}; @@ -7,33 +7,33 @@ use sp1_recursion_core::DIGEST_SIZE; use sp1_stark::Word; -/// Convert 8 BabyBear words into a Bn254Fr field element by shifting by 31 bits each time. The last +/// Convert 8 BabyBear words into a Bls12Fr field element by shifting by 31 bits each time. The last /// word becomes the least significant bits. #[allow(dead_code)] -pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bn254Fr { - let mut result = Bn254Fr::zero(); +pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { + let mut result = Bls12Fr::zero(); for word in digest.iter() { // Since BabyBear prime is less than 2^31, we can shift by 31 bits each time and still be - // within the Bn254Fr field, so we don't have to truncate the top 3 bits. - result *= Bn254Fr::from_canonical_u64(1 << 31); - result += Bn254Fr::from_canonical_u32(word.as_canonical_u32()); + // within the Bls12Fr field, so we don't have to truncate the top 3 bits. + result *= Bls12Fr::from_canonical_u64(1 << 31); + result += Bls12Fr::from_canonical_u32(word.as_canonical_u32()); } result } -/// Convert 32 BabyBear bytes into a Bn254Fr field element. The first byte's most significant 3 bits +/// Convert 32 BabyBear bytes into a Bls12Fr field element. The first byte's most significant 3 bits /// (which would become the 3 most significant bits) are truncated. #[allow(dead_code)] -pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bn254Fr { - let mut result = Bn254Fr::zero(); +pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bls12Fr { + let mut result = Bls12Fr::zero(); for (i, byte) in bytes.iter().enumerate() { debug_assert!(byte < &BabyBear::from_canonical_u32(256)); if i == 0 { // 32 bytes is more than Bn254 prime, so we need to truncate the top 3 bits. - result = Bn254Fr::from_canonical_u32(byte.as_canonical_u32() & 0x1f); + result = Bls12Fr::from_canonical_u32(byte.as_canonical_u32() & 0x1f); } else { - result *= Bn254Fr::from_canonical_u32(256); - result += Bn254Fr::from_canonical_u32(byte.as_canonical_u32()); + result *= Bls12Fr::from_canonical_u32(256); + result += Bls12Fr::from_canonical_u32(byte.as_canonical_u32()); } } result diff --git a/crates/recursion/circuit/src/witness/outer.rs b/crates/recursion/circuit/src/witness/outer.rs index 66c49d520c..0330ddfe3e 100644 --- a/crates/recursion/circuit/src/witness/outer.rs +++ b/crates/recursion/circuit/src/witness/outer.rs @@ -1,6 +1,6 @@ use std::borrow::Borrow; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_field::AbstractField; use p3_fri::{CommitPhaseProofStep, QueryProof}; @@ -23,10 +23,10 @@ use super::{WitnessWriter, Witnessable}; impl WitnessWriter for OuterWitness { fn write_bit(&mut self, value: bool) { - self.vars.push(Bn254Fr::from_bool(value)); + self.vars.push(Bls12Fr::from_bool(value)); } - fn write_var(&mut self, value: Bn254Fr) { + fn write_var(&mut self, value: Bls12Fr) { self.vars.push(value); } @@ -39,8 +39,8 @@ impl WitnessWriter for OuterWitness { } } -impl> Witnessable for Bn254Fr { - type WitnessVariable = Var; +impl> Witnessable for Bls12Fr { + type WitnessVariable = Var; fn read(&self, builder: &mut Builder) -> Self::WitnessVariable { builder.witness_var() diff --git a/crates/recursion/compiler/Cargo.toml b/crates/recursion/compiler/Cargo.toml index bc3d476469..9b934671cb 100644 --- a/crates/recursion/compiler/Cargo.toml +++ b/crates/recursion/compiler/Cargo.toml @@ -10,7 +10,7 @@ keywords = { workspace = true } categories = { workspace = true } [dependencies] -p3-bn254-fr = { workspace = true } +p3-bls12-fr = { workspace = true } p3-baby-bear = { workspace = true } p3-field = { workspace = true } p3-symmetric = { workspace = true } diff --git a/crates/recursion/compiler/src/config.rs b/crates/recursion/compiler/src/config.rs index dbdfd40c5e..48cc854efe 100644 --- a/crates/recursion/compiler/src/config.rs +++ b/crates/recursion/compiler/src/config.rs @@ -1,5 +1,5 @@ use p3_baby_bear::BabyBear; -use p3_bn254_fr::Bn254Fr; +use p3_bls12_fr::Bls12Fr; use p3_field::extension::BinomialExtensionField; use sp1_stark::{InnerChallenge, InnerVal}; @@ -11,7 +11,7 @@ pub type InnerConfig = AsmConfig; pub struct OuterConfig; impl Config for OuterConfig { - type N = Bn254Fr; + type N = Bls12Fr; type F = BabyBear; type EF = BinomialExtensionField; } diff --git a/crates/recursion/core/Cargo.toml b/crates/recursion/core/Cargo.toml index f549193201..3da869a5c3 100644 --- a/crates/recursion/core/Cargo.toml +++ b/crates/recursion/core/Cargo.toml @@ -26,7 +26,7 @@ sp1-core-machine = { workspace = true } sp1-stark = { workspace = true } hashbrown = { workspace = true, features = ["serde"] } itertools = { workspace = true } -p3-bn254-fr = { workspace = true } +p3-bls12-fr = { workspace = true } p3-merkle-tree = { workspace = true } p3-commit = { workspace = true } p3-dft = { workspace = true } diff --git a/crates/recursion/core/src/stark/config.rs b/crates/recursion/core/src/stark/config.rs index 48e812146b..c6f735d25d 100644 --- a/crates/recursion/core/src/stark/config.rs +++ b/crates/recursion/core/src/stark/config.rs @@ -1,5 +1,5 @@ use p3_baby_bear::BabyBear; -use p3_bn254_fr::{Bn254Fr, DiffusionMatrixBN254}; +use p3_bls12_fr::{Bls12Fr, DiffusionMatrixBLS12}; use p3_challenger::MultiField32Challenger; use p3_commit::ExtensionMmcs; use p3_dft::Radix2DitParallel; @@ -25,18 +25,18 @@ pub const OUTER_MULTI_FIELD_CHALLENGER_DIGEST_SIZE: usize = 1; /// A configuration for outer recursion. pub type OuterVal = BabyBear; pub type OuterChallenge = BinomialExtensionField; -pub type OuterPerm = Poseidon2; +pub type OuterPerm = Poseidon2; pub type OuterHash = - MultiField32PaddingFreeSponge; -pub type OuterDigestHash = Hash; -pub type OuterDigest = [Bn254Fr; DIGEST_SIZE]; + MultiField32PaddingFreeSponge; +pub type OuterDigestHash = Hash; +pub type OuterDigest = [Bls12Fr; DIGEST_SIZE]; pub type OuterCompress = TruncatedPermutation; -pub type OuterValMmcs = FieldMerkleTreeMmcs; +pub type OuterValMmcs = FieldMerkleTreeMmcs; pub type OuterChallengeMmcs = ExtensionMmcs; pub type OuterDft = Radix2DitParallel; pub type OuterChallenger = MultiField32Challenger< OuterVal, - Bn254Fr, + Bls12Fr, OuterPerm, OUTER_MULTI_FIELD_CHALLENGER_WIDTH, OUTER_MULTI_FIELD_CHALLENGER_RATE, @@ -66,7 +66,7 @@ pub fn outer_perm() -> OuterPerm { Poseidon2ExternalMatrixGeneral, ROUNDS_P, internal_round_constants, - DiffusionMatrixBN254, + DiffusionMatrixBLS12, ) } @@ -179,7 +179,7 @@ impl StarkGenericConfig for BabyBearPoseidon2Outer { impl ZeroCommitment for OuterPcs { fn zero_commitment(&self) -> Com { - OuterDigestHash::from([Bn254Fr::zero(); DIGEST_SIZE]) + OuterDigestHash::from([Bls12Fr::zero(); DIGEST_SIZE]) } } diff --git a/crates/recursion/core/src/stark/poseidon2.rs b/crates/recursion/core/src/stark/poseidon2.rs index 4ffd872c39..be531c48cf 100644 --- a/crates/recursion/core/src/stark/poseidon2.rs +++ b/crates/recursion/core/src/stark/poseidon2.rs @@ -1,30 +1,30 @@ use ff::PrimeField as FFPrimeField; -use p3_bn254_fr::{Bn254Fr, FFBn254Fr}; +use p3_bls12_fr::{Bls12Fr, FFBls12Fr}; use zkhash::{ ark_ff::{BigInteger, PrimeField}, - fields::bn256::FpBN256 as ark_FpBN256, - poseidon2::poseidon2_instance_bn256::RC3, + fields::bls12::FpBLS12 as ark_FpBLS12, + poseidon2::poseidon2_instance_bls12::RC3, }; -fn bn254_from_ark_ff(input: ark_FpBN256) -> Bn254Fr { +fn bn254_from_ark_ff(input: ark_FpBLS12) -> Bls12Fr { let bytes = input.into_bigint().to_bytes_le(); - let mut res = ::Repr::default(); + let mut res = ::Repr::default(); for (i, digit) in res.0.as_mut().iter_mut().enumerate() { *digit = bytes[i]; } - let value = FFBn254Fr::from_repr(res); + let value = FFBls12Fr::from_repr(res); if value.is_some().into() { - Bn254Fr { value: value.unwrap() } + Bls12Fr { value: value.unwrap() } } else { panic!("Invalid field element") } } -pub fn bn254_poseidon2_rc3() -> Vec<[Bn254Fr; 3]> { +pub fn bn254_poseidon2_rc3() -> Vec<[Bls12Fr; 3]> { RC3.iter() .map(|vec| { vec.iter().cloned().map(bn254_from_ark_ff).collect::>().try_into().unwrap() @@ -32,10 +32,10 @@ pub fn bn254_poseidon2_rc3() -> Vec<[Bn254Fr; 3]> { .collect() } -pub fn bn254_poseidon2_rc4() -> Vec<[Bn254Fr; 4]> { +pub fn bn254_poseidon2_rc4() -> Vec<[Bls12Fr; 4]> { RC3.iter() .map(|vec| { - let result: [Bn254Fr; 3] = + let result: [Bls12Fr; 3] = vec.iter().cloned().map(bn254_from_ark_ff).collect::>().try_into().unwrap(); [result[0], result[1], result[2], result[2]] }) diff --git a/crates/recursion/gnark-ffi/go/main.go b/crates/recursion/gnark-ffi/go/main.go index 5f9acfc9e6..99c38f66ab 100644 --- a/crates/recursion/gnark-ffi/go/main.go +++ b/crates/recursion/gnark-ffi/go/main.go @@ -198,7 +198,7 @@ func TestMain() error { // Compile the circuit. circuit := sp1.NewCircuit(inputs) builder := scs.NewBuilder - scs, err := frontend.Compile(ecc.BN254.ScalarField(), builder, &circuit) + scs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), builder, &circuit) if err != nil { return err } @@ -217,7 +217,7 @@ func TestMain() error { // Generate witness. assignment := sp1.NewCircuit(inputs) - witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) if err != nil { return err } @@ -275,7 +275,7 @@ func TestPoseidonBabyBear2() *C.char { assignment := sp1.TestPoseidon2BabyBearCircuit{Input: input, ExpectedOutput: expectedOutput} builder := r1cs.NewBuilder - r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), builder, &circuit) + r1cs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), builder, &circuit) if err != nil { return C.CString(err.Error()) } @@ -287,7 +287,7 @@ func TestPoseidonBabyBear2() *C.char { } // Generate witness. - witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) if err != nil { return C.CString(err.Error()) } diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index f987dd58c7..136fc332d3 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -87,14 +87,14 @@ func BuildPlonk(dataDir string) { circuit := NewCircuit(witnessInput) // Compile the circuit. - scs, err := frontend.Compile(ecc.BN254.ScalarField(), scs.NewBuilder, &circuit) + scs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), scs.NewBuilder, &circuit) if err != nil { panic(err) } // Download the trusted setup. - var srs kzg.SRS = kzg.NewSRS(ecc.BN254) - var srsLagrange kzg.SRS = kzg.NewSRS(ecc.BN254) + var srs kzg.SRS = kzg.NewSRS(ecc.BLS12_381) + var srsLagrange kzg.SRS = kzg.NewSRS(ecc.BLS12_381) srsFileName := dataDir + "/" + srsFile srsLagrangeFileName := dataDir + "/" + srsLagrangeFile @@ -175,7 +175,7 @@ func BuildPlonk(dataDir string) { // Generate proof. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) if err != nil { panic(err) } @@ -268,7 +268,7 @@ func BuildGroth16(dataDir string) { circuit := NewCircuit(witnessInput) // Compile the circuit. - r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit) + r1cs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), r1cs.NewBuilder, &circuit) if err != nil { panic(err) } @@ -281,7 +281,7 @@ func BuildGroth16(dataDir string) { // Generate proof. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) if err != nil { panic(err) } diff --git a/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go b/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go index 617d828a68..a486a2ca7b 100644 --- a/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go +++ b/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go @@ -7,466 +7,338 @@ import ( ) // Poseidon2 round constants for a state consisting of three BN254 field elements. -var rc3 [numExternalRounds + numInternalRounds][width]frontend.Variable +// var rc3 [numExternalRounds + numInternalRounds][width]frontend.Variable // Poseidon2 round constraints for a state consisting of 16 BabyBear field elements. var rc16 [30][BABYBEAR_WIDTH]babybear.Variable func init() { - init_rc3() init_rc16() } -func init_rc3() { - round := 0 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1d066a255517b7fd8bddd3a93f7804ef7f8fcde48bb4c37a59a09a1a97052816"), - frontend.Variable("0x29daefb55f6f2dc6ac3f089cebcc6120b7c6fef31367b68eb7238547d32c1610"), - frontend.Variable("0x1f2cb1624a78ee001ecbd88ad959d7012572d76f08ec5c4f9e8b7ad7b0b4e1d1"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0aad2e79f15735f2bd77c0ed3d14aa27b11f092a53bbc6e1db0672ded84f31e5"), - frontend.Variable("0x2252624f8617738cd6f661dd4094375f37028a98f1dece66091ccf1595b43f28"), - frontend.Variable("0x1a24913a928b38485a65a84a291da1ff91c20626524b2b87d49f4f2c9018d735"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x22fc468f1759b74d7bfc427b5f11ebb10a41515ddff497b14fd6dae1508fc47a"), - frontend.Variable("0x1059ca787f1f89ed9cd026e9c9ca107ae61956ff0b4121d5efd65515617f6e4d"), - frontend.Variable("0x02be9473358461d8f61f3536d877de982123011f0bf6f155a45cbbfae8b981ce"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0ec96c8e32962d462778a749c82ed623aba9b669ac5b8736a1ff3a441a5084a4"), - frontend.Variable("0x292f906e073677405442d9553c45fa3f5a47a7cdb8c99f9648fb2e4d814df57e"), - frontend.Variable("0x274982444157b86726c11b9a0f5e39a5cc611160a394ea460c63f0b2ffe5657e"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1a1d063e54b1e764b63e1855bff015b8cedd192f47308731499573f23597d4b5"), +// Poseidon2 round constants for a state consisting of three BN254 field elements. +var rc3 [numExternalRounds + numInternalRounds][width]frontend.Variable = [64][3]frontend.Variable{ + { + frontend.Variable("0x6f007a551156b3a449e44936b7c093644a0ed33f33eaccc628e942e836c1a875"), + frontend.Variable("0x360d7470611e473d353f628f76d110f34e71162f31003b7057538c2596426303"), + frontend.Variable("0x4b5fec3aa073df44019091f007a44ca996484965f7036dce3e9d0977edcdc0f6"), + }, + { + frontend.Variable("0x67cf1868af6396c0b84cce715e539f849e06cd1c383ac5b06100c76bcc973a11"), + frontend.Variable("0x555db4d1dced819f5d3de70fde83f1c7d3e8c98968e516a23a771a5c9c8257aa"), + frontend.Variable("0x2bab94d7ae222d135dc3c6c5febfaa314908ac2f12ebe06fbdb74213bf63188b"), + }, + { + frontend.Variable("0x66f44be5296682c4fa7882799d6dd049b6d7d2c950ccf98cf2e50d6d1ebb77c2"), + frontend.Variable("0x150c93fef652fb1c2bf03e1a29aa871fef77e7d736766c5d0939d92753cc5dc8"), + frontend.Variable("0x3270661e68928b3a955d55db56dc57c103cc0a60141e894e14259dce537782b2"), + }, + { + frontend.Variable("0x073f116f04122e25a0b7afe4e2057299b407c370f2b5a1ccce9fb9ffc345afb3"), + frontend.Variable("0x409fda22558cfe4d3dd8dce24f69e76f8c2aaeb1dd0f09d65e654c71f32aa23f"), + frontend.Variable("0x2a32ec5c4ee5b1837affd09c1f53f5fd55c9cd2061ae93ca8ebad76fc71554d8"), + }, + { + frontend.Variable("0x5848ebeb5923e92555b7124fffba5d6bd571c6f984195eb9cfd3a3e8eb55b1d4"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x26abc66f3fdf8e68839d10956259063708235dccc1aa3793b91b002c5b257c37"), + }, + { + frontend.Variable("0x270326ee039df19e651e2cfc740628ca634d24fc6e2559f22d8ccbe292efeead"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0c7c64a9d887385381a578cfed5aed370754427aabca92a70b3c2b12ff4d7be8"), + }, + { + frontend.Variable("0x27c6642ac633bc66dc100fe7fcfa54918af895bce012f182a068fc37c182e274"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1cf5998769e9fab79e17f0b6d08b2d1eba2ebac30dc386b0edd383831354b495"), + }, + { + frontend.Variable("0x1bdfd8b01401c70ad27f57396989129d710e1fb6ab976a459ca18682e26d7ff9"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0f5e3a8566be31b7564ca60461e9e08b19828764a9669bc17aba0b97e66b0109"), + }, + { + frontend.Variable("0x491b9ba6983bcf9f05fe4794adb44a30879bf8289662e1f57d90f672414e8a4a"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x18df6a9d19ea90d895e60e4db0794a01f359a53a180b7d4b42bf3d7a531c976e"), + }, + { + frontend.Variable("0x162a14c62f9a89b814b9d6a9c84dd678f4f6fb3f9054d373c832d824261a35ea"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x04f7bf2c5c0538ac6e4b782c3c6e601ad0ea1d3a3b9d25ef4e324055fa3123dc"), + }, + { + frontend.Variable("0x2d193e0f76de586b2af6f79e3127feeaac0a1fc71e2cf0c0f79824667b5b6bec"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x29c76ce22255206e3c40058523748531e770c0584aa2328ce55d54628b89ebe6"), + }, + { + frontend.Variable("0x46efd8a9a262d6d8fdc9ca5c04b0982f24ddcc6e9863885a6a732a3906a07b95"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x198d425a45b78e85c053659ab4347f5d65b1b8e9c6108dbe00e0e945dbc5ff15"), + }, + { + frontend.Variable("0x509717e0c200e3c92d8dca2973b3db45f0788294351ad07ae75cbb780693a798"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x25ee27ab6296cd5e6af3cc79c598a1daa7ff7f6878b3c49d49d3a9a90c3fdf74"), + }, + { + frontend.Variable("0x7299b28464a8c94fb9d4df61380f39c0dca9c2c014118789e227252820f01bfc"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x138ea8e0af41a1e024561001c0b6eb1505845d7d0c55b1b2c0f88687a96d1381"), + }, + { + frontend.Variable("0x044ca3cc4a85d73b81696ef1104e674f4feff82984990ff85d0bf58dc8a4aa94"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x306197fb3fab671ef6e7c2cba2eefd0e42851b5b9811f2ca4013370a01d95687"), + }, + { + frontend.Variable("0x1cbaf2b371dac6a81d0453416d3e235cb8d9e2d4f314f46f6198785f0cd6b9af"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1a0c7d52dc32a4432b66f0b4894d4f1a21db7565e5b4250486419eaf00e8f620"), + }, + { + frontend.Variable("0x1d5b2777692c205b0e6c49d061b6b5f4293c4ab038fdbbdc343e07610f3fede5"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x2b46b418de80915f3ff86a8e5c8bdfccebfbe5f55163cd6caa52997da2c54a9f"), + }, + { + frontend.Variable("0x56ae7c7a5293bdc23e85e1698c81c77f8ad88c4b33a5780437ad047c6edb59ba"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x12d3e0dc0085873701f8b777b9673af9613a1af5db48e05bfb46e312b5829f64"), + }, + { + frontend.Variable("0x2e9bdbba3dd34bffaa30535bdd749a7e06a9adb0c1e6f962f60e971b8d73b04f"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x263390cf74dc3a8870f5002ed21d089ffb2bf768230f648dba338a5cb19b3a1f"), + }, + { + frontend.Variable("0x2de11886b18011ca8bd5bae36969299fde40fbe26d047b05035a13661f22418b"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0a14f33a5fe668a60ac884b4ca607ad0f8abb5af40f96f1d7d543db52b003dcd"), + }, + { + frontend.Variable("0x2e07de1780b8a70d0d5b4a3f1841dcd82ab9395c449be947bc998884ba96a721"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x28ead9c586513eab1a5e86509d68b2da27be3a4f01171a1dd847df829bc683b9"), + }, + { + frontend.Variable("0x0f69f1854d20ca0cbbdb63dbd52dad16250440a99d6b8af3825e4c2bb74925ca"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1c6ab1c328c3c6430972031f1bdb2ac9888f0ea1abe71cffea16cda6e1a7416c"), + }, + { + frontend.Variable("0x5dc987318e6e59c1afb87b655dd58cc1d22e513a05838cd4585d04b135b957ca"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1fc7e71bc0b819792b2500239f7f8de04f6decd608cb98a932346015c5b42c94"), + }, + { + frontend.Variable("0x48b725758571c9df6c01dc639a85f07297696b1bb678633a29dc91de95ef53f6"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x03e107eb3a42b2ece380e0d860298f17c0c1e197c952650ee6dd85b93a0ddaa8"), + }, + { + frontend.Variable("0x5e565e08c0821099256b56490eaee1d573afd10bb6d17d13ca4e5c611b2a3718"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x2d354a251f381a4669c0d52bf88b772c46452ca57c08697f454505f6941d78cd"), + }, + { + frontend.Variable("0x2eb1b25417fe17670d135dc639fb09a46ce5113507f96de9816c059422dc705e"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x094af88ab05d94baf687ef14bc566d1c522551d61606eda3d14b4606826f794b"), + }, + { + frontend.Variable("0x115cd0a0643cfb988c24cb44c3fab48aff36c661d26cc42db8b1bdf4953bd82c"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x19705b783bf3d2dc19bcaeabf02f8ca5e1ab5b6f2e3195a9d52b2d249d1396f7"), + }, + { + frontend.Variable("0x26ca293f7b2c462d066d7378b999868bbb57ddf14e0f958ade801612311d04cd"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x09bf4acc3a8bce3f1fcc33fee54fc5b28723b16b7d740a3e60cef6852271200e"), + }, + { + frontend.Variable("0x4147400d8e1aaccf311a6b5b762011ab3e45326e4d4b9de26992816b99c528ac"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1803f8200db6013c50f83c0c8fab62843413732f301f7058543a073f3f3b5e4e"), + }, + { + frontend.Variable("0x6b0db7dccc4ba1b268f6bdcc4d372848d4a72976c268ea30519a2f73e6db4d55"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0f80afb5046244de30595b160b8d1f38bf6fb02d4454c0add41f7fef2faf3e5c"), + }, + { + frontend.Variable("0x17bf1b93c4c7e01a2a830aa162412cd90f160bf9f71e967ff5209d14b24820ca"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x126ee1f8504f15c3d77f0088c1cfc964abcfcf643f4a6fea7dc3f98219529d78"), + }, + { + frontend.Variable("0x4b431cd9efedbc94cf1eca6f9e9c1839d0e66a8bffa8c8464cac81a39d3cf8f1"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x23c203d10cfcc60f69bfb3d919552ca10ffb4ee63175ddf8ef86f991d7d0a591"), + }, + { + frontend.Variable("0x35b41a7ac4f3c571a24f8456369c85dfe03c0354bd8cfd3805c86f2e7dc293c5"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x2a2ae15d8b143709ec0d09705fa3a6303dec1ee4eec2cf747c5a339f7744fb94"), + }, + { + frontend.Variable("0x3b1480080523c439435927994849bea964e14d3beb2dddde72ac156af435d09e"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x07b60dee586ed6ef47e5c381ab6343ecc3d3b3006cb461bbb6b5d89081970b2b"), + }, + { + frontend.Variable("0x2cc6810031dc1b0d4950856dc907d57508e286442a2d3eb2271618d874b14c6d"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x27316b559be3edfd885d95c494c1ae3d8a98a320baa7d152132cfe583c9311bd"), + }, + { + frontend.Variable("0x6f4141c8401c5a395ba6790efd71c70c04afea06c3c92826bcabdd5cb5477d51"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1d5c49ba157c32b8d8937cb2d3f84311ef834cc2a743ed662f5f9af0c0342e76"), + }, + { + frontend.Variable("0x25bdbbeda1bde8c1059618e2afd2ef999e517aa93b78341d91f318c09f0cb566"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x2f8b124e78163b2f332774e0b850b5ec09c01bf6979938f67c24bd5940968488"), + }, + { + frontend.Variable("0x392a4a8758e06ee8b95f33c25dde8ac02a5ed0a27b61926cc6313487073f7f7b"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1e6843a5457416b6dc5b7aa09a9ce21b1d4cba6554e51d84665f75260113b3d5"), + }, + { + frontend.Variable("0x272a55878a08442b9aa6111f4de009485e6a6fd15db89365e7bbcef02eb5866c"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x11cdf00a35f650c55fca25c9929c8ad9a68daf9ac6a189ab1f5bc79f21641d4b"), + }, + { + frontend.Variable("0x631ec1d6d28dd9e824ee89a30730aef7ab463acfc9d184b355aa05fd6938eab5"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x21632de3d3bbc5e42ef36e588158d6d4608b2815c77355b7e82b5b9b7eb560bc"), + }, + { + frontend.Variable("0x4eb6fda10fd0fbde02c7449bfbddc35bcd8225e7e5c3833a0818a100409dc6f2"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0de625758452efbd97b27025fbd245e0255ae48ef2a329e449d7b5c51c18498a"), + }, + { + frontend.Variable("0x2d5b308b0cf02cdfefa13c4e60e26239a6ebba011694dd129b925b3c5b21e0e2"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x2ad253c053e75213e2febfd4d976cc01dd9e1e1c6f0fb6b09b09546ba0838098"), + }, + { + frontend.Variable("0x16549fc6af2f3b72dd5d293d72e2e5f244dff42f18b46c56ef38c57c311673ac"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1d6b169ed63872dc6ec7681ec39b3be93dd49cdd13c813b7d35702e38d60b077"), + }, + { + frontend.Variable("0x42332677ff359c5e8db836d9f5fb54822e39bd5e22340bb9ba975ba1a92be382"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1660b740a143664bb9127c4941b67fed0be3ea70a24d5568c3a54e706cfef7fe"), + }, + { + frontend.Variable("0x49d7d2c0b449e5179bc5ccc3b44c6075d9849b5610465f09ea725ddc97723a94"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0065a92d1de81f34114f4ca2deef76e0ceacdddb12cf879096a29f10376ccbfe"), + }, + { + frontend.Variable("0x64c20fb90d7a003831757cc4c6226f6e4985fc9ecb416b9f684ca0351d967904"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1f11f065202535987367f823da7d672c353ebe2ccbc4869bcf30d50a5871040d"), + }, + { + frontend.Variable("0x59cff40de83b52b41bc443d7979510d771c940b9758ca820fe73b5c8d5580934"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x26596f5c5dd5a5d1b437ce7b14a2c3dd3bd1d1a39b6759ba110852d17df0693e"), + }, + { + frontend.Variable("0x53db2731730c39b04edd875fe3b7c882808285cdbc621d7af4f80dd53ebb71b0"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x16f49bc727e45a2f7bf3056efcf8b6d38539c4163a5f1e706743db15af91860f"), + }, + { + frontend.Variable("0x1b10bb7a82afce39fa69c3a2ad52f76d76398265344203119b7126d9b46860df"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1abe1deb45b3e3119954175efb331bf4568feaf7ea8b3dc5e1a4e7438dd39e5f"), + }, + { + frontend.Variable("0x561b6012d666bfe179c4dd7f84cdd1531596d3aac7c5700ceb319f91046a63c9"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0e426ccab66984d1d8993a74ca548b779f5db92aaec5f102020d34aea15fba59"), + }, + { + frontend.Variable("0x0f1e7505ebd91d2fc79c2df7dc98a3bed1b36968ba0405c090d27f6a00b7dfc8"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0e7c30c2e2e8957f4933bd1942053f1f0071684b902d534fa841924303f6a6c6"), + }, + { + frontend.Variable("0x2f313faf0d3f6187537a7497a3b43f46797fd6e3f18eb1caff457756b819bb20"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0812a017ca92cf0a1622708fc7edff1d6166ded6e3528ead4c76e1f31d3fc69d"), + }, + { + frontend.Variable("0x3a5cbb6de450b481fa3ca61c0ed15bc55cad11ebf0f7ceb8f0bc3e732ecb26f6"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x21a5ade3df2bc1b5bba949d1db96040068afe5026edd7a9c2e276b47cf010d54"), + }, + { + frontend.Variable("0x681d93411bf8ce63f6716aefbd0e24506454c0348ee38fabeb264702714ccf94"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x01f3035463816c84ad711bf1a058c6c6bd101945f50e5afe72b1a5233f8749ce"), + }, + { + frontend.Variable("0x5178e940f50004312646b436727f0e80a7b8f2e9ee1fdc677c4831a7672777fb"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0b115572f038c0e2028c2aafc2d06a5e8bf2f9398dbd0fdf4dcaa82b0f0c1c8b"), + }, + { + frontend.Variable("0x3dab54bc9bef688dd92086e253b439d651baa6e20f892b62865527cbca915982"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1c38ec0b99b62fd4f0ef255543f50d2e27fc24db42bc910a3460613b6ef59e2f"), + }, + { + frontend.Variable("0x4b3ce75311218f9ae905f84eaa5b2b3818448bbf3972e1aad69de321009015d0"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1c89c6d9666272e8425c3ff1f4ac737b2f5d314606a297d4b1d0b254d880c53e"), + }, + { + frontend.Variable("0x06dbfb42b979884de280d31670123f744c24b33b410fefd4368045acf2b71ae3"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x03326e643580356bf6d44008ae4c042a21ad4880097a5eb38b71e2311bb88f8f"), + }, + { + frontend.Variable("0x068d6b4608aae810c6f039ea1973a63eb8d2de72e3d2c9eca7fc32d22f18b9d3"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x268076b0054fb73f67cee9ea0e51e3ad50f27a6434b5dceb5bdde2299910a4c9"), + }, + { + frontend.Variable("0x4c5c254589a92a36084a57d3b1d964278acc7e4fe8f69f2955954f27a79cebef"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x1acd63c67fbc9ab1626ed93491bda32e5da18ea9d8e4f10178d04aa6f8747ad0"), - frontend.Variable("0x19f8a5d670e8ab66c4e3144be58ef6901bf93375e2323ec3ca8c86cd2a28b5a5"), - frontend.Variable("0x1c0dc443519ad7a86efa40d2df10a011068193ea51f6c92ae1cfbb5f7b9b6893"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x14b39e7aa4068dbe50fe7190e421dc19fbeab33cb4f6a2c4180e4c3224987d3d"), - frontend.Variable("0x1d449b71bd826ec58f28c63ea6c561b7b820fc519f01f021afb1e35e28b0795e"), - frontend.Variable("0x1ea2c9a89baaddbb60fa97fe60fe9d8e89de141689d1252276524dc0a9e987fc"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x0478d66d43535a8cb57e9c1c3d6a2bd7591f9a46a0e9c058134d5cefdb3c7ff1"), - frontend.Variable("0x19272db71eece6a6f608f3b2717f9cd2662e26ad86c400b21cde5e4a7b00bebe"), - frontend.Variable("0x14226537335cab33c749c746f09208abb2dd1bd66a87ef75039be846af134166"), - } - round += 1 - - rc3[round] = [width]frontend.Variable{ - frontend.Variable("0x01fd6af15956294f9dfe38c0d976a088b21c21e4a1c2e823f912f44961f9a9ce"), - frontend.Variable("0x18e5abedd626ec307bca190b8b2cab1aaee2e62ed229ba5a5ad8518d4e5f2a57"), - frontend.Variable("0x0fc1bbceba0590f5abbdffa6d3b35e3297c021a3a409926d0e2d54dc1c84fda6"), - } + }, + { + frontend.Variable("0x6cbac5e1700984ebc32da15b4bb9683faabab55f67ccc4f71d9560b3475a77eb"), + frontend.Variable("0x4603c403bbfa9a17738a5c6278eaab1c37ec30b0737aa2409fc4898069eb983c"), + frontend.Variable("0x6894e7e22b2c1d5c70a712a6345ae6b192a9c833a9234c31c56aacd16bc2f100"), + }, + { + frontend.Variable("0x5be2cbbc44053ad08afa4d1eabc7f3d231eea799b93f226e905b7d4d65c58ebb"), + frontend.Variable("0x58e55f287b453a9808624a8c2a353d528da0f7e713a5c6d0d7711e47063fa611"), + frontend.Variable("0x366ebfafa3ad381c0ee258c9b8fdfccdb868a7d7e1f1f69a2b5dfcc5572555df"), + }, + { + frontend.Variable("0x45766ab728968c642f90d97ccf5504ddc10518a819ebbcc4d09c3f5d784d67ce"), + frontend.Variable("0x39678f65512f1ee404db3024f41d3f567ef66d89d044d022e6bc229e95bc76b1"), + frontend.Variable("0x463aed1d2f1f955e3078be5bf7bfc46fc0eb8c51551906a8868f18ffae30cf4f"), + }, + { + frontend.Variable("0x21668f016a8063c0d58b7750a3bc2fe1cf82c25f99dc01a4e534c88fe53d85fe"), + frontend.Variable("0x39d00994a8a5046a1bc749363e98a768e34dea56439fe1954bef429bc5331608"), + frontend.Variable("0x4d7f5dcd78ece9a933984de32c0b48fac2bba91f261996b8e9d1021773bd07cc"), + }, } func init_rc16() { diff --git a/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go b/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go index 178c9447b1..9e58899eab 100644 --- a/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go +++ b/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go @@ -48,5 +48,5 @@ func TestPoseidon2(t *testing.T) { circuit = TestPoseidon2Circuit{Input: input, ExpectedOutput: expected_output} witness = TestPoseidon2Circuit{Input: input, ExpectedOutput: expected_output} - assert.ProverSucceeded(&circuit, &witness, test.WithCurves(ecc.BN254), test.WithBackends(backend.PLONK)) + assert.ProverSucceeded(&circuit, &witness, test.WithCurves(ecc.BLS12_381), test.WithBackends(backend.PLONK)) } diff --git a/crates/recursion/gnark-ffi/go/sp1/prove.go b/crates/recursion/gnark-ffi/go/sp1/prove.go index 270040396e..ca90f795a4 100644 --- a/crates/recursion/gnark-ffi/go/sp1/prove.go +++ b/crates/recursion/gnark-ffi/go/sp1/prove.go @@ -16,9 +16,9 @@ import ( ) var globalMutex sync.RWMutex -var globalR1cs constraint.ConstraintSystem = groth16.NewCS(ecc.BN254) +var globalR1cs constraint.ConstraintSystem = groth16.NewCS(ecc.BLS12_381) var globalR1csInitialized = false -var globalPk groth16.ProvingKey = groth16.NewProvingKey(ecc.BN254) +var globalPk groth16.ProvingKey = groth16.NewProvingKey(ecc.BLS12_381) var globalPkInitialized = false func ProvePlonk(dataDir string, witnessPath string) Proof { @@ -33,7 +33,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { if err != nil { panic(err) } - scs := plonk.NewCS(ecc.BN254) + scs := plonk.NewCS(ecc.BLS12_381) scs.ReadFrom(scsFile) defer scsFile.Close() @@ -42,7 +42,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { if err != nil { panic(err) } - pk := plonk.NewProvingKey(ecc.BN254) + pk := plonk.NewProvingKey(ecc.BLS12_381) bufReader := bufio.NewReaderSize(pkFile, 1024*1024) pk.UnsafeReadFrom(bufReader) defer pkFile.Close() @@ -52,7 +52,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { if err != nil { panic(err) } - vk := plonk.NewVerifyingKey(ecc.BN254) + vk := plonk.NewVerifyingKey(ecc.BLS12_381) vk.ReadFrom(vkFile) defer vkFile.Close() @@ -71,7 +71,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { // Generate the witness. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) if err != nil { panic(err) } @@ -158,7 +158,7 @@ func ProveGroth16(dataDir string, witnessPath string) Proof { start = time.Now() // Generate the witness. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) if err != nil { panic(err) } diff --git a/crates/recursion/gnark-ffi/go/sp1/verify.go b/crates/recursion/gnark-ffi/go/sp1/verify.go index 3d53fad71c..b9961d1355 100644 --- a/crates/recursion/gnark-ffi/go/sp1/verify.go +++ b/crates/recursion/gnark-ffi/go/sp1/verify.go @@ -23,7 +23,7 @@ func VerifyPlonk(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkeyHa if err != nil { panic(err) } - proof := plonk.NewProof(ecc.BN254) + proof := plonk.NewProof(ecc.BLS12_381) if _, err := proof.ReadFrom(bytes.NewReader(proofDecodedBytes)); err != nil { panic(err) } @@ -33,18 +33,18 @@ func VerifyPlonk(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkeyHa if err != nil { panic(err) } - vk := plonk.NewVerifyingKey(ecc.BN254) + vk := plonk.NewVerifyingKey(ecc.BLS12_381) vk.ReadFrom(vkFile) // Compute the public witness. circuit := Circuit{ - Vars: []frontend.Variable{}, - Felts: []babybear.Variable{}, - Exts: []babybear.ExtensionVariable{}, - VkeyHash: verifyCmdVkeyHash, + Vars: []frontend.Variable{}, + Felts: []babybear.Variable{}, + Exts: []babybear.ExtensionVariable{}, + VkeyHash: verifyCmdVkeyHash, CommittedValuesDigest: verifyCmdCommittedValuesDigest, } - witness, err := frontend.NewWitness(&circuit, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&circuit, ecc.BLS12_381.ScalarField()) if err != nil { panic(err) } @@ -69,7 +69,7 @@ func VerifyGroth16(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkey if err != nil { panic(err) } - proof := groth16.NewProof(ecc.BN254) + proof := groth16.NewProof(ecc.BLS12_381) if _, err := proof.ReadFrom(bytes.NewReader(proofDecodedBytes)); err != nil { panic(err) } @@ -79,18 +79,18 @@ func VerifyGroth16(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkey if err != nil { panic(err) } - vk := groth16.NewVerifyingKey(ecc.BN254) + vk := groth16.NewVerifyingKey(ecc.BLS12_381) vk.ReadFrom(vkFile) // Compute the public witness. circuit := Circuit{ - Vars: []frontend.Variable{}, - Felts: []babybear.Variable{}, - Exts: []babybear.ExtensionVariable{}, - VkeyHash: verifyCmdVkeyHash, + Vars: []frontend.Variable{}, + Felts: []babybear.Variable{}, + Exts: []babybear.ExtensionVariable{}, + VkeyHash: verifyCmdVkeyHash, CommittedValuesDigest: verifyCmdCommittedValuesDigest, } - witness, err := frontend.NewWitness(&circuit, ecc.BN254.ScalarField()) + witness, err := frontend.NewWitness(&circuit, ecc.BLS12_381.ScalarField()) if err != nil { panic(err) } diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index 22ff593f7c..c62aab0047 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -46,7 +46,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { for (src, dest) in mounts { cmd.arg("-v").arg(format!("{}:{}", src, dest)); } - cmd.arg(get_docker_image()); + cmd.arg(get_docker_image()); // replace with modified image sp1-gnark:latest cmd.args(args); cmd.stdout(std::process::Stdio::piped()); cmd.stderr(std::process::Stdio::piped()); diff --git a/patch-testing/Cargo.lock b/patch-testing/Cargo.lock index 65c3ca0b70..9cf7edb0a7 100644 --- a/patch-testing/Cargo.lock +++ b/patch-testing/Cargo.lock @@ -2688,17 +2688,17 @@ dependencies = [ ] [[package]] -name = "p3-bn254-fr" -version = "0.2.2-succinct" -source = "git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix#e780dafcdbd9560b41e248d061837d3000ebdd15" +name = "p3-bls12-fr" +version = "4.2.1" dependencies = [ "ff 0.13.0", "num-bigint 0.4.6", - "p3-field 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-poseidon2 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-symmetric 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-field", + "p3-poseidon2", + "p3-symmetric", "rand", "serde", + "serde_json", ] [[package]] @@ -4313,7 +4313,7 @@ dependencies = [ "itertools 0.13.0", "lru", "num-bigint 0.4.6", - "p3-baby-bear 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-baby-bear", "p3-bn254-fr", "p3-challenger", "p3-commit", @@ -4348,7 +4348,7 @@ dependencies = [ "itertools 0.13.0", "num-traits", "p3-air", - "p3-baby-bear 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-baby-bear", "p3-bn254-fr", "p3-challenger", "p3-commit", @@ -4379,10 +4379,10 @@ version = "5.0.0" dependencies = [ "backtrace", "itertools 0.13.0", - "p3-baby-bear 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-baby-bear", "p3-bn254-fr", - "p3-field 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-symmetric 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-field", + "p3-symmetric", "serde", "sp1-core-machine", "sp1-primitives 5.0.0", @@ -4407,7 +4407,7 @@ dependencies = [ "itertools 0.13.0", "num_cpus", "p3-air", - "p3-baby-bear 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-baby-bear", "p3-bn254-fr", "p3-challenger", "p3-commit", From ba0d825a34469918cede0c9e446ce307b343be15 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Tue, 20 May 2025 09:44:54 +0545 Subject: [PATCH 02/27] fix: use correct field inside NewSP1Groth16Proof --- crates/prover/src/lib.rs | 150 ++++++++++--------- crates/recursion/gnark-ffi/go/sp1/utils.go | 30 +++- crates/recursion/gnark-ffi/src/ffi/docker.rs | 2 +- 3 files changed, 101 insertions(+), 81 deletions(-) diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 3a291f0873..e84003b999 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1518,66 +1518,68 @@ pub mod tests { let core_proof = prover.prove_core(&pk_d, program, &stdin, opts, context)?; let public_values = core_proof.public_values.clone(); - if env::var("COLLECT_SHAPES").is_ok() { - let mut shapes = BTreeSet::new(); - for proof in core_proof.proof.0.iter() { - let shape = SP1ProofShape::Recursion(proof.shape()); - shapes.insert(shape); - } - - let mut file = File::create("../shapes.bin").unwrap(); - bincode::serialize_into(&mut file, &shapes).unwrap(); - } - - if verify { - tracing::info!("verify core"); - prover.verify(&core_proof.proof, &vk)?; - } - - if test_kind == Test::Core { - return Ok(()); - } - - tracing::info!("compress"); - let compress_span = tracing::debug_span!("compress").entered(); - let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; - compress_span.exit(); - - if verify { - tracing::info!("verify compressed"); - prover.verify_compressed(&compressed_proof, &vk)?; - } - - if test_kind == Test::Compress { - return Ok(()); - } - - tracing::info!("shrink"); - let shrink_proof = prover.shrink(compressed_proof, opts)?; - - if verify { - tracing::info!("verify shrink"); - prover.verify_shrink(&shrink_proof, &vk)?; - } - - if test_kind == Test::Shrink { - return Ok(()); - } - - tracing::info!("wrap bn254"); - let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; - let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); - - // Save the proof. - let mut file = File::create("proof-with-pis.bin").unwrap(); - file.write_all(bytes.as_slice()).unwrap(); + // if env::var("COLLECT_SHAPES").is_ok() { + // let mut shapes = BTreeSet::new(); + // for proof in core_proof.proof.0.iter() { + // let shape = SP1ProofShape::Recursion(proof.shape()); + // shapes.insert(shape); + // } + + // let mut file = File::create("../shapes.bin").unwrap(); + // bincode::serialize_into(&mut file, &shapes).unwrap(); + // } + + // if verify { + // tracing::info!("verify core"); + // prover.verify(&core_proof.proof, &vk)?; + // } + + // if test_kind == Test::Core { + // return Ok(()); + // } + + // tracing::info!("compress"); + // let compress_span = tracing::debug_span!("compress").entered(); + // let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; + // compress_span.exit(); + + // if verify { + // tracing::info!("verify compressed"); + // prover.verify_compressed(&compressed_proof, &vk)?; + // } + + // if test_kind == Test::Compress { + // return Ok(()); + // } + + // tracing::info!("shrink"); + // let shrink_proof = prover.shrink(compressed_proof, opts)?; + + // if verify { + // tracing::info!("verify shrink"); + // prover.verify_shrink(&shrink_proof, &vk)?; + // } + + // if test_kind == Test::Shrink { + // return Ok(()); + // } + + // tracing::info!("wrap bn254"); + // let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; + // let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); + + // // Save the proof. + // let mut file = File::create("proof-with-pis.bin").unwrap(); + // file.write_all(bytes.as_slice()).unwrap(); // Load the proof. let mut file = File::open("proof-with-pis.bin").unwrap(); let mut bytes = Vec::new(); file.read_to_end(&mut bytes).unwrap(); - let wrapped_bn254_proof = bincode::deserialize(&bytes).unwrap(); + let wrapped_bn254_proof: SP1ReduceProof = + bincode::deserialize(&bytes).unwrap(); + let _ = prover.wrap_vk.set(wrapped_bn254_proof.clone().vk); if verify { tracing::info!("verify wrap bn254"); @@ -1596,26 +1598,26 @@ pub mod tests { let vk_digest_bn254 = sp1_vkey_digest_bn254(&wrapped_bn254_proof); assert_eq!(vk_digest_bn254, vk.hash_bn254()); - tracing::info!("Test the outer Plonk circuit"); - let (constraints, witness) = - build_constraints_and_witness(&wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof); - PlonkBn254Prover::test(constraints, witness); - tracing::info!("Circuit test succeeded"); - - if test_kind == Test::CircuitTest { - return Ok(()); - } - - tracing::info!("generate plonk bn254 proof"); - let artifacts_dir = try_build_plonk_bn254_artifacts_dev( - &wrapped_bn254_proof.vk, - &wrapped_bn254_proof.proof, - ); - let plonk_bn254_proof = - prover.wrap_plonk_bn254(wrapped_bn254_proof.clone(), &artifacts_dir); - println!("{:?}", plonk_bn254_proof); - - prover.verify_plonk_bn254(&plonk_bn254_proof, &vk, &public_values, &artifacts_dir)?; + // tracing::info!("Test the outer Plonk circuit"); + // let (constraints, witness) = + // build_constraints_and_witness(&wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof); + // PlonkBn254Prover::test(constraints, witness); + // tracing::info!("Circuit test succeeded"); + + // if test_kind == Test::CircuitTest { + // return Ok(()); + // } + + // tracing::info!("generate plonk bn254 proof"); + // let artifacts_dir = try_build_plonk_bn254_artifacts_dev( + // &wrapped_bn254_proof.vk, + // &wrapped_bn254_proof.proof, + // ); + // let plonk_bn254_proof = + // prover.wrap_plonk_bn254(wrapped_bn254_proof.clone(), &artifacts_dir); + // println!("{:?}", plonk_bn254_proof); + + // prover.verify_plonk_bn254(&plonk_bn254_proof, &vk, &public_values, &artifacts_dir)?; tracing::info!("generate groth16 bn254 proof"); let artifacts_dir = try_build_groth16_bn254_artifacts_dev( diff --git a/crates/recursion/gnark-ffi/go/sp1/utils.go b/crates/recursion/gnark-ffi/go/sp1/utils.go index a542b34727..ac2a3051d7 100644 --- a/crates/recursion/gnark-ffi/go/sp1/utils.go +++ b/crates/recursion/gnark-ffi/go/sp1/utils.go @@ -4,14 +4,32 @@ import ( "bytes" "encoding/hex" + "github.com/consensys/gnark-crypto/ecc/bn254/fr" groth16 "github.com/consensys/gnark/backend/groth16" - groth16_bn254 "github.com/consensys/gnark/backend/groth16/bn254" + groth16_bn254 "github.com/consensys/gnark/backend/groth16/bls12-381" plonk "github.com/consensys/gnark/backend/plonk" plonk_bn254 "github.com/consensys/gnark/backend/plonk/bn254" "github.com/consensys/gnark/frontend" "github.com/succinctlabs/sp1-recursion-gnark/sp1/babybear" ) +// MarshalSolidity converts a proof to a byte array that can be used in a +// Solidity contract. +func MarshalSolidityGroth(proof *groth16_bn254.Proof) []byte { + var buf bytes.Buffer + _, err := proof.WriteRawTo(&buf) + if err != nil { + panic(err) + } + + // If there are no commitments, we can return only Ar | Bs | Krs + if len(proof.Commitments) > 0 { + return buf.Bytes() + } else { + return buf.Bytes()[:8*fr.Bytes] + } +} + func NewSP1PlonkBn254Proof(proof *plonk.Proof, witnessInput WitnessInput) Proof { var buf bytes.Buffer (*proof).WriteRawTo(&buf) @@ -45,7 +63,7 @@ func NewSP1Groth16Proof(proof *groth16.Proof, witnessInput WitnessInput) Proof { // Cast groth16 proof into groth16_bn254 proof so we can call MarshalSolidity. p := (*proof).(*groth16_bn254.Proof) - encodedProof := p.MarshalSolidity() + encodedProof := MarshalSolidityGroth(p) return Proof{ PublicInputs: publicInputs, @@ -68,10 +86,10 @@ func NewCircuit(witnessInput WitnessInput) Circuit { exts[i] = babybear.NewE(witnessInput.Exts[i]) } return Circuit{ - VkeyHash: witnessInput.VkeyHash, + VkeyHash: witnessInput.VkeyHash, CommittedValuesDigest: witnessInput.CommittedValuesDigest, - Vars: vars, - Felts: felts, - Exts: exts, + Vars: vars, + Felts: felts, + Exts: exts, } } diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index c62aab0047..788d1448cc 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -46,7 +46,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { for (src, dest) in mounts { cmd.arg("-v").arg(format!("{}:{}", src, dest)); } - cmd.arg(get_docker_image()); // replace with modified image sp1-gnark:latest + cmd.arg("sp1-gnark:latest"); // replace with modified image sp1-gnark:latest cmd.args(args); cmd.stdout(std::process::Stdio::piped()); cmd.stderr(std::process::Stdio::piped()); From 84ea84692584ae48fabf53cebb965d717e25ae14 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Fri, 23 May 2025 15:59:52 +0545 Subject: [PATCH 03/27] wip: dump r1cs to file --- Cargo.lock | 2 + crates/prover/Cargo.toml | 2 + crates/prover/src/lib.rs | 2 +- crates/recursion/circuit/src/challenger.rs | 4 +- crates/recursion/gnark-ffi/go/main.go | 171 ++++++++++++++++--- crates/recursion/gnark-ffi/go/sp1/build.go | 122 +++++++++++++ crates/recursion/gnark-ffi/src/ffi/docker.rs | 15 +- 7 files changed, 286 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 67a1a27608..949b4221a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5720,6 +5720,8 @@ dependencies = [ "itertools 0.13.0", "lru", "num-bigint 0.4.6", + "num-traits", + "once_cell", "p3-baby-bear", "p3-bls12-fr", "p3-challenger", diff --git a/crates/prover/Cargo.toml b/crates/prover/Cargo.toml index d8cdf13fe3..aa0f6eef45 100644 --- a/crates/prover/Cargo.toml +++ b/crates/prover/Cargo.toml @@ -57,6 +57,8 @@ hex = "0.4" [dev-dependencies] test-artifacts = { path = "../test-artifacts" } +num-traits = "0.2" +once_cell = "1.21" [[bin]] name = "build_plonk_bn254" diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index e84003b999..377ed2771e 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1573,7 +1573,7 @@ pub mod tests { // file.write_all(bytes.as_slice()).unwrap(); // Load the proof. - let mut file = File::open("proof-with-pis.bin").unwrap(); + let mut file = File::open("proof-with-pis_bls.bin").unwrap(); let mut bytes = Vec::new(); file.read_to_end(&mut bytes).unwrap(); diff --git a/crates/recursion/circuit/src/challenger.rs b/crates/recursion/circuit/src/challenger.rs index 2ca633018f..f92ee3df5c 100644 --- a/crates/recursion/circuit/src/challenger.rs +++ b/crates/recursion/circuit/src/challenger.rs @@ -446,7 +446,7 @@ pub(crate) mod tests { ir::{Builder, Config, Ext, ExtConst, Felt, Var}, }; use sp1_recursion_core::stark::{outer_perm, BabyBearPoseidon2Outer, OuterCompress, OuterHash}; - use sp1_recursion_gnark_ffi::PlonkBn254Prover; + use sp1_recursion_gnark_ffi::{Groth16Bn254Prover, PlonkBn254Prover}; use sp1_stark::{baby_bear_poseidon2::BabyBearPoseidon2, StarkGenericConfig}; use crate::{ @@ -615,7 +615,7 @@ pub(crate) mod tests { let mut backend = ConstraintCompiler::::default(); let constraints = backend.emit(builder.into_operations()); - PlonkBn254Prover::test::(constraints.clone(), OuterWitness::default()); + Groth16Bn254Prover::test::(constraints.clone(), OuterWitness::default()); } #[test] diff --git a/crates/recursion/gnark-ffi/go/main.go b/crates/recursion/gnark-ffi/go/main.go index 99c38f66ab..8ee6153d7f 100644 --- a/crates/recursion/gnark-ffi/go/main.go +++ b/crates/recursion/gnark-ffi/go/main.go @@ -18,19 +18,21 @@ typedef struct { */ import "C" import ( + "encoding/binary" "encoding/json" "fmt" + "io" + "log" "os" "sync" "unsafe" "github.com/consensys/gnark-crypto/ecc" "github.com/consensys/gnark/backend/groth16" - "github.com/consensys/gnark/backend/plonk" + "github.com/consensys/gnark/constraint" + bcs "github.com/consensys/gnark/constraint/bls12-381" "github.com/consensys/gnark/frontend" "github.com/consensys/gnark/frontend/cs/r1cs" - "github.com/consensys/gnark/frontend/cs/scs" - "github.com/consensys/gnark/test/unsafekzg" "github.com/succinctlabs/sp1-recursion-gnark/sp1" "github.com/succinctlabs/sp1-recursion-gnark/sp1/babybear" "github.com/succinctlabs/sp1-recursion-gnark/sp1/poseidon2" @@ -175,6 +177,65 @@ func TestGroth16Bn254(witnessJson *C.char, constraintsJson *C.char) *C.char { return nil } +// Dump writes the coefficient table and the fully‑expanded R1Cs rows into w. +// Caller decides where w points to (file, buffer, network, …). +func Dump(cs constraint.ConstraintSystem, w io.Writer) error { + // 1. coefficient table + coeffs := cs.(*bcs.R1CS).Coefficients + if err := binary.Write(w, binary.LittleEndian, uint32(len(coeffs))); err != nil { + return err + } + for _, c := range coeffs { + data := c.Marshal() // returns 32‑byte slice, no error + if _, err := w.Write(data); err != nil { + return err + } + } + + // 2. full rows + rows := cs.(*bcs.R1CS).GetR1Cs() // materialises all constraints + if err := binary.Write(w, binary.LittleEndian, uint32(len(rows))); err != nil { + return err + } + + // helper closure + writeLE := func(n uint32) error { return binary.Write(w, binary.LittleEndian, n) } + + for _, r := range rows { + if err := writeLE(uint32(len(r.L))); err != nil { + return err + } + if err := writeLE(uint32(len(r.R))); err != nil { + return err + } + if err := writeLE(uint32(len(r.O))); err != nil { + return err + } + + dumpLE := func(expr constraint.LinearExpression) error { + for _, t := range expr { + if err := writeLE(uint32(t.WireID())); err != nil { + return err + } + if err := writeLE(uint32(t.CoeffID())); err != nil { + return err + } + } + return nil + } + if err := dumpLE(r.L); err != nil { + return err + } + if err := dumpLE(r.R); err != nil { + return err + } + if err := dumpLE(r.O); err != nil { + return err + } + } + return nil +} + func TestMain() error { // Get the file name from an environment variable. fileName := os.Getenv("WITNESS_JSON") @@ -197,37 +258,97 @@ func TestMain() error { // Compile the circuit. circuit := sp1.NewCircuit(inputs) - builder := scs.NewBuilder - scs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), builder, &circuit) + builder := r1cs.NewBuilder + contr, err := frontend.Compile(ecc.BLS12_381.ScalarField(), builder, &circuit) if err != nil { return err } - fmt.Println("[sp1] gnark verifier constraints:", scs.GetNbConstraints()) + fmt.Println("[sp1] gnark verifier constraints:", contr.GetNbConstraints()) - // Run the dummy setup. - srs, srsLagrange, err := unsafekzg.NewSRS(scs) - if err != nil { - return err - } - var pk plonk.ProvingKey - pk, _, err = plonk.Setup(scs, srs, srsLagrange) - if err != nil { - return err - } + { + + // benchmark + nbCoeff := contr.GetNbCoefficients() + bytesCoeffTable := nbCoeff * 32 + fmt.Printf("Coeff-table: %d elements ≈ %d bytes\n", + nbCoeff, bytesCoeffTable) + + var nTerms int + + r1cs_contr := contr.(*bcs.R1CS) + for _, r := range r1cs_contr.GetR1Cs() { // materialises each row once + nTerms += len(r.L) + len(r.R) + len(r.O) // three linear-expressions + } + + fmt.Printf("Total terms in matrix: %d (≈ %d bytes)\n", + nTerms, nTerms*8) // a Term is 2×uint32 = 8 B + + num_vars := (contr.GetNbSecretVariables() + contr.GetNbPublicVariables() + contr.GetNbInternalVariables()) + naive := 3 * contr.GetNbConstraints() * num_vars * 32 + + fmt.Printf("Naive cost num_vars=(%d) num_constraints=(%d) (≈ %d bytes)\n", num_vars, contr.GetNbConstraints(), naive) // a Term is 2×uint32 = 8 B - // Generate witness. - assignment := sp1.NewCircuit(inputs) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) - if err != nil { - return err } - // Generate the proof. - _, err = plonk.Prove(scs, pk, witness) - if err != nil { - return err + { + r1cs_fn := "/r1cs_temp" + file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer file.Close() // Ensure the file is closed when main exits + + Dump(contr, file) + + assignment := sp1.NewCircuit(inputs) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + if err != nil { + return err + } + _solution, err := contr.Solve(witness) + if err != nil { + panic("err is not nil for solve") + } + solution := _solution.(*bcs.R1CSSolution) + + witness_fn := "/witness_temp" + wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer wfile.Close() // Ensure the file is closed when main exits + + bytesWritten, err := solution.W.WriteTo(wfile) + if err != nil { + log.Fatalf("Failed to write to file: %v", err) + } + + fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) } + // + // fmt.Println("Hello") + // for _, v := range solution.W { + // fmt.Println(v.String()) + // } + + // Run the dummy setup. + // srs, srsLagrange, err := unsafekzg.NewSRS(contr) + // if err != nil { + // return err + // } + // var pk plonk.ProvingKey + // pk, _, err = plonk.Setup(contr, srs, srsLagrange) + // if err != nil { + // return err + // } + + // // Generate the proof. + // _, err = plonk.Prove(contr, pk, witness) + // if err != nil { + // return err + // } + return nil } diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index 136fc332d3..321bbedd43 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -1,8 +1,10 @@ package sp1 import ( + "encoding/binary" "encoding/json" "fmt" + "io" "log" "os" "strings" @@ -11,6 +13,8 @@ import ( "github.com/consensys/gnark-crypto/kzg" groth16 "github.com/consensys/gnark/backend/groth16" "github.com/consensys/gnark/backend/plonk" + "github.com/consensys/gnark/constraint" + bcs "github.com/consensys/gnark/constraint/bls12-381" "github.com/consensys/gnark/frontend" "github.com/consensys/gnark/frontend/cs/r1cs" "github.com/consensys/gnark/frontend/cs/scs" @@ -242,6 +246,65 @@ func BuildPlonk(dataDir string) { } } +// Dump writes the coefficient table and the fully‑expanded R1Cs rows into w. +// Caller decides where w points to (file, buffer, network, …). +func Dump(cs constraint.ConstraintSystem, w io.Writer) error { + // 1. coefficient table + coeffs := cs.(*bcs.R1CS).Coefficients + if err := binary.Write(w, binary.LittleEndian, uint32(len(coeffs))); err != nil { + return err + } + for _, c := range coeffs { + data := c.Marshal() // returns 32‑byte slice, no error + if _, err := w.Write(data); err != nil { + return err + } + } + + // 2. full rows + rows := cs.(*bcs.R1CS).GetR1Cs() // materialises all constraints + if err := binary.Write(w, binary.LittleEndian, uint32(len(rows))); err != nil { + return err + } + + // helper closure + writeLE := func(n uint32) error { return binary.Write(w, binary.LittleEndian, n) } + + for _, r := range rows { + if err := writeLE(uint32(len(r.L))); err != nil { + return err + } + if err := writeLE(uint32(len(r.R))); err != nil { + return err + } + if err := writeLE(uint32(len(r.O))); err != nil { + return err + } + + dumpLE := func(expr constraint.LinearExpression) error { + for _, t := range expr { + if err := writeLE(uint32(t.WireID())); err != nil { + return err + } + if err := writeLE(uint32(t.CoeffID())); err != nil { + return err + } + } + return nil + } + if err := dumpLE(r.L); err != nil { + return err + } + if err := dumpLE(r.R); err != nil { + return err + } + if err := dumpLE(r.O); err != nil { + return err + } + } + return nil +} + func BuildGroth16(dataDir string) { // Set the environment variable for the constraints file. // @@ -273,6 +336,65 @@ func BuildGroth16(dataDir string) { panic(err) } + { + // benchmark + nbCoeff := r1cs.GetNbCoefficients() + bytesCoeffTable := nbCoeff * 32 + fmt.Printf("Coeff-table: %d elements ≈ %d bytes\n", + nbCoeff, bytesCoeffTable) + + var nTerms int + + r1cs_contr := r1cs.(*bcs.R1CS) + for _, r := range r1cs_contr.GetR1Cs() { // materialises each row once + nTerms += len(r.L) + len(r.R) + len(r.O) // three linear-expressions + } + + fmt.Printf("Total terms in matrix: %d (≈ %d bytes)\n", + nTerms, nTerms*8) // a Term is 2×uint32 = 8 B + + num_vars := (r1cs.GetNbSecretVariables() + r1cs.GetNbPublicVariables() + r1cs.GetNbInternalVariables()) + naive := 3 * r1cs.GetNbConstraints() * num_vars * 32 + + fmt.Printf("Naive cost num_vars=(%d) num_constraints=(%d) (≈ %d bytes)\n", num_vars, r1cs.GetNbConstraints(), naive) // a Term is 2×uint32 = 8 B + } + + { + r1cs_fn := "/r1cs_temp" + file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer file.Close() // Ensure the file is closed when main exits + + Dump(r1cs, file) + + assignment := NewCircuit(witnessInput) + witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + if err != nil { + panic(err) + } + _solution, err := r1cs.Solve(witness) + if err != nil { + panic("err is not nil for solve") + } + solution := _solution.(*bcs.R1CSSolution) + + witness_fn := "/witness_temp" + wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer wfile.Close() // Ensure the file is closed when main exits + + bytesWritten, err := solution.W.WriteTo(wfile) + if err != nil { + log.Fatalf("Failed to write to file: %v", err) + } + + fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) + } + // Generate the proving and verifying key. pk, vk, err := groth16.Setup(r1cs) if err != nil { diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index 788d1448cc..59ac00b6b1 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -40,16 +40,19 @@ fn get_docker_image() -> String { /// Note: files created here by `call_docker` are read-only for after the process exits. /// To fix this, manually set the docker user to the current user by supplying a `-u` flag. fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { + println!("Calling docer {:?}", args); tracing::info!("Running {} in docker", args[0]); let mut cmd = Command::new("docker"); - cmd.args(["run", "--rm"]); + cmd.args(["run"]); for (src, dest) in mounts { cmd.arg("-v").arg(format!("{}:{}", src, dest)); } + cmd.arg("-v").arg(format!("{}:{}", "/Users/manishbista/.sp1/circuits/r1cs_temp", "/r1cs_temp")); + cmd.arg("-v") + .arg(format!("{}:{}", "/Users/manishbista/.sp1/circuits/witness_temp", "/witness_temp")); cmd.arg("sp1-gnark:latest"); // replace with modified image sp1-gnark:latest cmd.args(args); - cmd.stdout(std::process::Stdio::piped()); - cmd.stderr(std::process::Stdio::piped()); + println!("Command {:?}", cmd); let result = cmd.output()?; if !result.status.success() { let stderr = String::from_utf8_lossy(&result.stderr); @@ -58,7 +61,11 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { tracing::error!("status: {:?}", result.status); tracing::error!("stderr: {:?}", stderr); - return Err(anyhow!("Docker command failed \n stdout: {:?}\n stderr: {:?}", stdout, stderr)); + return Err(anyhow!( + "Docker command failed \n stdout: {:?}\n stderr: {:?}", + stdout, + stderr + )); } Ok(()) } From 3bfcc0946894d0334422227d3d41282836074e8e Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sat, 24 May 2025 17:14:23 +0545 Subject: [PATCH 04/27] feat: pack to 224 bits --- crates/recursion/circuit/src/utils.rs | 60 ++++++++++++++------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/crates/recursion/circuit/src/utils.rs b/crates/recursion/circuit/src/utils.rs index 8f085b3d01..ab1afbbc8e 100644 --- a/crates/recursion/circuit/src/utils.rs +++ b/crates/recursion/circuit/src/utils.rs @@ -3,38 +3,35 @@ use p3_bls12_fr::Bls12Fr; use p3_field::{AbstractField, PrimeField32}; use sp1_recursion_compiler::ir::{Builder, Config, Felt, Var}; -use sp1_recursion_core::DIGEST_SIZE; +use sp1_recursion_core::{DIGEST_SIZE, NUM_BITS}; use sp1_stark::Word; -/// Convert 8 BabyBear words into a Bls12Fr field element by shifting by 31 bits each time. The last +/// Convert 8 BabyBear words into a Bls12Fr field element by shifting by 28 bits each time. The last /// word becomes the least significant bits. #[allow(dead_code)] pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { let mut result = Bls12Fr::zero(); for word in digest.iter() { - // Since BabyBear prime is less than 2^31, we can shift by 31 bits each time and still be - // within the Bls12Fr field, so we don't have to truncate the top 3 bits. - result *= Bls12Fr::from_canonical_u64(1 << 31); - result += Bls12Fr::from_canonical_u32(word.as_canonical_u32()); + // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be + // within the Bls12Fr field, we truncate the top 3 bits everytime. + // so total size of result in the end is 8 x 28 = 224 bits + result *= Bls12Fr::from_canonical_u64(1 << 28); // shift by 28 + let masked_val_u32 = word.as_canonical_u32() & 0x0FFFFFFF; // mask top 3-bits + result += Bls12Fr::from_canonical_u32(masked_val_u32); // add 28 bits } result } -/// Convert 32 BabyBear bytes into a Bls12Fr field element. The first byte's most significant 3 bits -/// (which would become the 3 most significant bits) are truncated. +/// Convert 32 BabyBear bytes into a Bls12Fr field element. All byte's most significant 1 bit is masked (truncated) #[allow(dead_code)] pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bls12Fr { let mut result = Bls12Fr::zero(); - for (i, byte) in bytes.iter().enumerate() { - debug_assert!(byte < &BabyBear::from_canonical_u32(256)); - if i == 0 { - // 32 bytes is more than Bn254 prime, so we need to truncate the top 3 bits. - result = Bls12Fr::from_canonical_u32(byte.as_canonical_u32() & 0x1f); - } else { - result *= Bls12Fr::from_canonical_u32(256); - result += Bls12Fr::from_canonical_u32(byte.as_canonical_u32()); - } + for byte in bytes.iter() { + result *= Bls12Fr::from_canonical_u32(128); // shift by 7 bits + let masked = byte.as_canonical_u32() & 0x7f; + debug_assert!(masked < 128); + result += Bls12Fr::from_canonical_u32(masked); // add 7-bit } result } @@ -44,14 +41,21 @@ pub fn felts_to_bn254_var( builder: &mut Builder, digest: &[Felt; DIGEST_SIZE], ) -> Var { - let var_2_31: Var<_> = builder.constant(C::N::from_canonical_u32(1 << 31)); + let var_2_28: Var<_> = builder.constant(C::N::from_canonical_u32(1 << 28)); let result = builder.constant(C::N::zero()); + let zero_var: Var<_> = builder.constant(C::N::zero()); + for (i, word) in digest.iter().enumerate() { - let word_var = builder.felt2var_circuit(*word); + let all_bits: Vec> = builder.num2bits_f_circuit(*word); + for j in 0..3 { + // mask 30, 29, 28'th positions leaving 0-27 untouched; thus masking all but 28 bits + builder.assign(all_bits[NUM_BITS - j - 1], zero_var); + } + let word_var = builder.bits2num_v_circuit(&all_bits); if i == 0 { builder.assign(result, word_var); } else { - builder.assign(result, result * var_2_31 + word_var); + builder.assign(result, result * var_2_28 + word_var); } } result @@ -62,22 +66,20 @@ pub fn felt_bytes_to_bn254_var( builder: &mut Builder, bytes: &[Felt; 32], ) -> Var { - let var_256: Var<_> = builder.constant(C::N::from_canonical_u32(256)); + let var_128: Var<_> = builder.constant(C::N::from_canonical_u32(128)); let zero_var: Var<_> = builder.constant(C::N::zero()); let result = builder.constant(C::N::zero()); for (i, byte) in bytes.iter().enumerate() { let byte_bits = builder.num2bits_f_circuit(*byte); + // mask top 1-bit + for j in 0..1 { + builder.assign(byte_bits[8 - j - 1], zero_var); + } + let byte_var = builder.bits2num_v_circuit(&byte_bits); if i == 0 { - // Since 32 bytes doesn't fit into Bn254, we need to truncate the top 3 bits. - // For first byte, zero out 3 most significant bits. - for i in 0..3 { - builder.assign(byte_bits[8 - i - 1], zero_var); - } - let byte_var = builder.bits2num_v_circuit(&byte_bits); builder.assign(result, byte_var); } else { - let byte_var = builder.bits2num_v_circuit(&byte_bits); - builder.assign(result, result * var_256 + byte_var); + builder.assign(result, result * var_128 + byte_var); } } result From 361d9163df987ca6a9b5a868d29c4688027b5f6c Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sat, 24 May 2025 19:32:52 +0545 Subject: [PATCH 05/27] fix: limb bit packing on prover utils --- crates/prover/src/utils.rs | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/crates/prover/src/utils.rs b/crates/prover/src/utils.rs index 255ab794ee..2ab983b871 100644 --- a/crates/prover/src/utils.rs +++ b/crates/prover/src/utils.rs @@ -130,10 +130,12 @@ pub fn words_to_bytes(words: &[Word]) -> Vec { pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { let mut result = Bls12Fr::zero(); for word in digest.iter() { - // Since BabyBear prime is less than 2^31, we can shift by 31 bits each time and still be - // within the Bls12Fr field, so we don't have to truncate the top 3 bits. - result *= Bls12Fr::from_canonical_u64(1 << 31); - result += Bls12Fr::from_canonical_u32(word.as_canonical_u32()); + // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be + // within the Bls12Fr field, we truncate the top 3 bits everytime. + // so total size of result in the end is 8 x 28 = 224 bits + result *= Bls12Fr::from_canonical_u64(1 << 28); // shift by 28 + let masked_val_u32 = word.as_canonical_u32() & 0x0FFFFFFF; // mask top 3-bits + result += Bls12Fr::from_canonical_u32(masked_val_u32); // add 28 bits } result } @@ -142,15 +144,11 @@ pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { /// (which would become the 3 most significant bits) are truncated. pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bls12Fr { let mut result = Bls12Fr::zero(); - for (i, byte) in bytes.iter().enumerate() { - debug_assert!(byte < &BabyBear::from_canonical_u32(256)); - if i == 0 { - // 32 bytes is more than Bn254 prime, so we need to truncate the top 3 bits. - result = Bls12Fr::from_canonical_u32(byte.as_canonical_u32() & 0x1f); - } else { - result *= Bls12Fr::from_canonical_u32(256); - result += Bls12Fr::from_canonical_u32(byte.as_canonical_u32()); - } + for byte in bytes.iter() { + result *= Bls12Fr::from_canonical_u32(128); // shift by 7 bits + let masked = byte.as_canonical_u32() & 0x7f; + debug_assert!(masked < 128); + result += Bls12Fr::from_canonical_u32(masked); // add 7-bit } result } From 3cee52c71c663bbe457921922c1d7c2a151851b8 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sun, 25 May 2025 08:47:13 +0545 Subject: [PATCH 06/27] chore: comment out r1cs writer --- crates/prover/src/build.rs | 1 + crates/prover/src/lib.rs | 5 +- crates/recursion/gnark-ffi/go/sp1/build.go | 70 +++++++++++----------- 3 files changed, 39 insertions(+), 37 deletions(-) diff --git a/crates/prover/src/build.rs b/crates/prover/src/build.rs index b6a25c6077..5e6c2d32d4 100644 --- a/crates/prover/src/build.rs +++ b/crates/prover/src/build.rs @@ -137,6 +137,7 @@ pub fn build_constraints_and_witness( words_to_bytes(&pv.committed_value_digest).try_into().unwrap(); let committed_values_digest = babybear_bytes_to_bn254(&committed_values_digest_bytes); + tracing::warn!("committed values digest {:?}", committed_values_digest); tracing::info!("building template witness"); let mut witness = OuterWitness::default(); template_input.write(&mut witness); diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 377ed2771e..69492b7fc1 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1569,11 +1569,11 @@ pub mod tests { // let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); // // Save the proof. - // let mut file = File::create("proof-with-pis.bin").unwrap(); + // let mut file = File::create("proof-with-pis-wrap.bin").unwrap(); // file.write_all(bytes.as_slice()).unwrap(); // Load the proof. - let mut file = File::open("proof-with-pis_bls.bin").unwrap(); + let mut file = File::open("proof-with-pis-wrap.bin").unwrap(); let mut bytes = Vec::new(); file.read_to_end(&mut bytes).unwrap(); @@ -1598,6 +1598,7 @@ pub mod tests { let vk_digest_bn254 = sp1_vkey_digest_bn254(&wrapped_bn254_proof); assert_eq!(vk_digest_bn254, vk.hash_bn254()); + tracing::warn!("vk_digest_bn254 {:?}", vk_digest_bn254); // tracing::info!("Test the outer Plonk circuit"); // let (constraints, witness) = // build_constraints_and_witness(&wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof); diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index 321bbedd43..dbb919e4c8 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -359,41 +359,41 @@ func BuildGroth16(dataDir string) { fmt.Printf("Naive cost num_vars=(%d) num_constraints=(%d) (≈ %d bytes)\n", num_vars, r1cs.GetNbConstraints(), naive) // a Term is 2×uint32 = 8 B } - { - r1cs_fn := "/r1cs_temp" - file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer - if err != nil { - log.Fatalf("Failed to create file: %v", err) - } - defer file.Close() // Ensure the file is closed when main exits - - Dump(r1cs, file) - - assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) - if err != nil { - panic(err) - } - _solution, err := r1cs.Solve(witness) - if err != nil { - panic("err is not nil for solve") - } - solution := _solution.(*bcs.R1CSSolution) - - witness_fn := "/witness_temp" - wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer - if err != nil { - log.Fatalf("Failed to create file: %v", err) - } - defer wfile.Close() // Ensure the file is closed when main exits - - bytesWritten, err := solution.W.WriteTo(wfile) - if err != nil { - log.Fatalf("Failed to write to file: %v", err) - } - - fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) - } + // { + // r1cs_fn := "/r1cs_temp" + // file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer + // if err != nil { + // log.Fatalf("Failed to create file: %v", err) + // } + // defer file.Close() // Ensure the file is closed when main exits + + // Dump(r1cs, file) + + // assignment := NewCircuit(witnessInput) + // witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + // if err != nil { + // panic(err) + // } + // _solution, err := r1cs.Solve(witness) + // if err != nil { + // panic("err is not nil for solve") + // } + // solution := _solution.(*bcs.R1CSSolution) + + // witness_fn := "/witness_temp" + // wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer + // if err != nil { + // log.Fatalf("Failed to create file: %v", err) + // } + // defer wfile.Close() // Ensure the file is closed when main exits + + // bytesWritten, err := solution.W.WriteTo(wfile) + // if err != nil { + // log.Fatalf("Failed to write to file: %v", err) + // } + + // fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) + // } // Generate the proving and verifying key. pk, vk, err := groth16.Setup(r1cs) From a4b173926c7ebf1593b75afb8c31fef59fa30e32 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sun, 25 May 2025 09:14:27 +0545 Subject: [PATCH 07/27] chore(rust): replace p3-bls12 with p3-sect --- Cargo.lock | 44 +-- Cargo.toml | 3 +- crates/{p3-bls12-fr => p3-sect-fr}/Cargo.toml | 7 +- crates/{p3-bls12-fr => p3-sect-fr}/src/lib.rs | 146 +++---- crates/p3-sect-fr/src/params.rs | 355 ++++++++++++++++++ .../src/poseidon2.rs | 71 ++-- crates/prover/Cargo.toml | 2 +- crates/prover/proof-with-pis_bls.bin | Bin 0 -> 394546 bytes crates/prover/proof-with-pis_bls_wrap.bin | Bin 0 -> 394546 bytes crates/prover/src/types.rs | 6 +- crates/prover/src/utils.rs | 30 +- crates/recursion/circuit/Cargo.toml | 2 +- crates/recursion/circuit/src/challenger.rs | 6 +- crates/recursion/circuit/src/hash.rs | 12 +- crates/recursion/circuit/src/lib.rs | 4 +- crates/recursion/circuit/src/utils.rs | 24 +- crates/recursion/circuit/src/witness/outer.rs | 10 +- crates/recursion/compiler/Cargo.toml | 2 +- crates/recursion/compiler/src/config.rs | 4 +- crates/recursion/core/Cargo.toml | 2 +- crates/recursion/core/src/stark/config.rs | 19 +- crates/recursion/core/src/stark/poseidon2.rs | 25 +- patch-testing/Cargo.lock | 46 ++- 23 files changed, 600 insertions(+), 220 deletions(-) rename crates/{p3-bls12-fr => p3-sect-fr}/Cargo.toml (91%) rename crates/{p3-bls12-fr => p3-sect-fr}/src/lib.rs (67%) create mode 100644 crates/p3-sect-fr/src/params.rs rename crates/{p3-bls12-fr => p3-sect-fr}/src/poseidon2.rs (58%) create mode 100644 crates/prover/proof-with-pis_bls.bin create mode 100644 crates/prover/proof-with-pis_bls_wrap.bin diff --git a/Cargo.lock b/Cargo.lock index 949b4221a5..3747a0121e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3661,23 +3661,6 @@ dependencies = [ "serde", ] -[[package]] -name = "p3-bls12-fr" -version = "4.2.1" -dependencies = [ - "ff 0.13.1", - "num-bigint 0.4.6", - "num-traits", - "p3-field", - "p3-field-testing", - "p3-poseidon2", - "p3-symmetric", - "rand 0.8.5", - "serde", - "serde_json", - "zkhash", -] - [[package]] name = "p3-challenger" version = "0.2.3-succinct" @@ -3858,6 +3841,25 @@ dependencies = [ "serde", ] +[[package]] +name = "p3-sect-fr" +version = "4.2.1" +dependencies = [ + "ark-ff 0.4.2", + "ff 0.13.1", + "lazy_static", + "num-bigint 0.4.6", + "num-traits", + "p3-field", + "p3-field-testing", + "p3-poseidon2", + "p3-symmetric", + "rand 0.8.5", + "serde", + "serde_json", + "zkhash", +] + [[package]] name = "p3-symmetric" version = "0.2.3-succinct" @@ -5723,11 +5725,11 @@ dependencies = [ "num-traits", "once_cell", "p3-baby-bear", - "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-field", "p3-matrix", + "p3-sect-fr", "p3-symmetric", "p3-util", "rayon", @@ -5760,7 +5762,6 @@ dependencies = [ "num-traits", "p3-air", "p3-baby-bear", - "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-dft", @@ -5769,6 +5770,7 @@ dependencies = [ "p3-matrix", "p3-merkle-tree", "p3-poseidon2", + "p3-sect-fr", "p3-symmetric", "p3-uni-stark", "p3-util", @@ -5796,11 +5798,11 @@ dependencies = [ "criterion", "itertools 0.13.0", "p3-baby-bear", - "p3-bls12-fr", "p3-challenger", "p3-dft", "p3-field", "p3-merkle-tree", + "p3-sect-fr", "p3-symmetric", "rand 0.8.5", "serde", @@ -5828,7 +5830,6 @@ dependencies = [ "num_cpus", "p3-air", "p3-baby-bear", - "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-dft", @@ -5838,6 +5839,7 @@ dependencies = [ "p3-maybe-rayon", "p3-merkle-tree", "p3-poseidon2", + "p3-sect-fr", "p3-symmetric", "p3-util", "pathdiff", diff --git a/Cargo.toml b/Cargo.toml index 4bb6b3ce76..787ceadd64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,6 +32,7 @@ members = [ "crates/stark", "crates/zkvm/*", "crates/test-artifacts", + "crates/p3-sect-fr", ] exclude = ["examples/target"] resolver = "2" @@ -69,7 +70,7 @@ sp1-cuda = { path = "crates/cuda", version = "5.0.0" } sp1-stark = { path = "crates/stark", version = "5.0.0" } sp1-lib = { path = "crates/zkvm/lib", version = "5.0.0", default-features = false } sp1-zkvm = { path = "crates/zkvm/entrypoint", version = "5.0.0", default-features = false } -p3-bls12-fr = { path = "crates/p3-bls12-fr" } +p3-sect-fr = { path = "crates/p3-sect-fr" } # For testing. test-artifacts = { path = "crates/test-artifacts" } diff --git a/crates/p3-bls12-fr/Cargo.toml b/crates/p3-sect-fr/Cargo.toml similarity index 91% rename from crates/p3-bls12-fr/Cargo.toml rename to crates/p3-sect-fr/Cargo.toml index 8dd81e9056..e640f6c7b8 100644 --- a/crates/p3-bls12-fr/Cargo.toml +++ b/crates/p3-sect-fr/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "p3-bls12-fr" +name = "p3-sect-fr" version.workspace = true edition.workspace = true license.workspace = true @@ -15,6 +15,8 @@ p3-field.workspace = true p3-symmetric.workspace = true serde.workspace = true serde_json.workspace = true +ark-ff = "0.4" +lazy_static = "1.5.0" rand = "0.8" num-bigint = "0.4" @@ -23,10 +25,11 @@ ff = { version = "0.13", features = [ "derive_bits", ] } num-traits = "0.2" +zkhash = "0.2" [dev-dependencies] p3-field-testing = "=0.2.2-succinct" -zkhash = "0.2" + [lints] workspace = true diff --git a/crates/p3-bls12-fr/src/lib.rs b/crates/p3-sect-fr/src/lib.rs similarity index 67% rename from crates/p3-bls12-fr/src/lib.rs rename to crates/p3-sect-fr/src/lib.rs index c1c012ab47..4b8b86bc97 100644 --- a/crates/p3-bls12-fr/src/lib.rs +++ b/crates/p3-sect-fr/src/lib.rs @@ -1,5 +1,6 @@ -//! The scalar field of the BLS12 curve, defined as `F_r` where `r = 52435875175126190479447740508185965837690552500527637822603658699938581184513`. +//! The scalar field of the SECT curve, defined as `F_r` where `r = 3450873173395281893717377931138512760570940988862252126328087024741343`. +pub mod params; mod poseidon2; use core::fmt; @@ -11,31 +12,31 @@ use core::ops::{Add, AddAssign, Div, Mul, MulAssign, Neg, Sub, SubAssign}; use ff::{Field as FFField, PrimeField as FFPrimeField, PrimeFieldBits}; use num_bigint::BigUint; use p3_field::{AbstractField, Field, Packable, PrimeField}; -pub use poseidon2::DiffusionMatrixBLS12; +pub use poseidon2::DiffusionMatrixSECT; use rand::distributions::{Distribution, Standard}; use rand::Rng; use serde::ser::SerializeSeq; use serde::{Deserialize, Deserializer, Serialize}; #[derive(FFPrimeField)] -#[PrimeFieldModulus = "52435875175126190479447740508185965837690552500527637822603658699938581184513"] -#[PrimeFieldGenerator = "7"] +#[PrimeFieldModulus = "3450873173395281893717377931138512760570940988862252126328087024741343"] +#[PrimeFieldGenerator = "3"] #[PrimeFieldReprEndianness = "little"] -pub struct FFBls12Fr([u64; 4]); +pub struct FFSectFr([u64; 4]); -/// The BLS12 curve scalar field prime, defined as `F_r` where `r = 52435875175126190479447740508185965837690552500527637822603658699938581184513`. +/// The SECT curve scalar field prime, defined as `F_r` where `r = 3450873173395281893717377931138512760570940988862252126328087024741343`. #[derive(Copy, Clone, Default, Eq, PartialEq)] -pub struct Bls12Fr { - pub value: FFBls12Fr, +pub struct SectFr { + pub value: FFSectFr, } -impl Bls12Fr { - pub(crate) const fn new(value: FFBls12Fr) -> Self { +impl SectFr { + pub(crate) const fn new(value: FFSectFr) -> Self { Self { value } } } -impl Serialize for Bls12Fr { +impl Serialize for SectFr { fn serialize(&self, serializer: S) -> Result { let repr = self.value.to_repr(); let bytes = repr.as_ref(); @@ -48,17 +49,17 @@ impl Serialize for Bls12Fr { } } -impl<'de> Deserialize<'de> for Bls12Fr { +impl<'de> Deserialize<'de> for SectFr { fn deserialize>(d: D) -> Result { let bytes: Vec = Deserialize::deserialize(d)?; - let mut res = ::Repr::default(); + let mut res = ::Repr::default(); for (i, digit) in res.0.as_mut().iter_mut().enumerate() { *digit = bytes[i]; } - let value = FFBls12Fr::from_repr(res); + let value = FFSectFr::from_repr(res); if value.is_some().into() { Ok(Self { value: value.unwrap() }) @@ -68,9 +69,9 @@ impl<'de> Deserialize<'de> for Bls12Fr { } } -impl Packable for Bls12Fr {} +impl Packable for SectFr {} -impl Hash for Bls12Fr { +impl Hash for SectFr { fn hash(&self, state: &mut H) { for byte in self.value.to_repr().as_ref().iter() { state.write_u8(*byte); @@ -78,45 +79,45 @@ impl Hash for Bls12Fr { } } -impl Ord for Bls12Fr { +impl Ord for SectFr { fn cmp(&self, other: &Self) -> core::cmp::Ordering { self.value.cmp(&other.value) } } -impl PartialOrd for Bls12Fr { +impl PartialOrd for SectFr { fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } } -impl Display for Bls12Fr { +impl Display for SectFr { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - ::fmt(&self.value, f) + ::fmt(&self.value, f) } } -impl Debug for Bls12Fr { +impl Debug for SectFr { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { Debug::fmt(&self.value, f) } } -impl AbstractField for Bls12Fr { +impl AbstractField for SectFr { type F = Self; fn zero() -> Self { - Self::new(FFBls12Fr::ZERO) + Self::new(FFSectFr::ZERO) } fn one() -> Self { - Self::new(FFBls12Fr::ONE) + Self::new(FFSectFr::ONE) } fn two() -> Self { - Self::new(FFBls12Fr::from(2u64)) + Self::new(FFSectFr::from(2u64)) } fn neg_one() -> Self { - Self::new(FFBls12Fr::ZERO - FFBls12Fr::ONE) + Self::new(FFSectFr::ZERO - FFSectFr::ONE) } #[inline] @@ -125,43 +126,43 @@ impl AbstractField for Bls12Fr { } fn from_bool(b: bool) -> Self { - Self::new(FFBls12Fr::from(b as u64)) + Self::new(FFSectFr::from(b as u64)) } fn from_canonical_u8(n: u8) -> Self { - Self::new(FFBls12Fr::from(n as u64)) + Self::new(FFSectFr::from(n as u64)) } fn from_canonical_u16(n: u16) -> Self { - Self::new(FFBls12Fr::from(n as u64)) + Self::new(FFSectFr::from(n as u64)) } fn from_canonical_u32(n: u32) -> Self { - Self::new(FFBls12Fr::from(n as u64)) + Self::new(FFSectFr::from(n as u64)) } fn from_canonical_u64(n: u64) -> Self { - Self::new(FFBls12Fr::from(n)) + Self::new(FFSectFr::from(n)) } fn from_canonical_usize(n: usize) -> Self { - Self::new(FFBls12Fr::from(n as u64)) + Self::new(FFSectFr::from(n as u64)) } fn from_wrapped_u32(n: u32) -> Self { - Self::new(FFBls12Fr::from(n as u64)) + Self::new(FFSectFr::from(n as u64)) } fn from_wrapped_u64(n: u64) -> Self { - Self::new(FFBls12Fr::from(n)) + Self::new(FFSectFr::from(n)) } fn generator() -> Self { - Self::new(FFBls12Fr::from(7u64)) + Self::new(FFSectFr::from(3u64)) } } -impl Field for Bls12Fr { +impl Field for SectFr { type Packing = Self; fn is_zero(&self) -> bool { @@ -179,12 +180,12 @@ impl Field for Bls12Fr { } fn order() -> BigUint { - let bytes = FFBls12Fr::char_le_bits(); + let bytes = FFSectFr::char_le_bits(); BigUint::from_bytes_le(bytes.as_raw_slice()) } } -impl PrimeField for Bls12Fr { +impl PrimeField for SectFr { fn as_canonical_biguint(&self) -> BigUint { let repr = self.value.to_repr(); let le_bytes = repr.as_ref(); @@ -192,7 +193,7 @@ impl PrimeField for Bls12Fr { } } -impl Add for Bls12Fr { +impl Add for SectFr { type Output = Self; fn add(self, rhs: Self) -> Self { @@ -200,19 +201,19 @@ impl Add for Bls12Fr { } } -impl AddAssign for Bls12Fr { +impl AddAssign for SectFr { fn add_assign(&mut self, rhs: Self) { self.value += rhs.value; } } -impl Sum for Bls12Fr { +impl Sum for SectFr { fn sum>(iter: I) -> Self { iter.reduce(|x, y| x + y).unwrap_or(Self::zero()) } } -impl Sub for Bls12Fr { +impl Sub for SectFr { type Output = Self; fn sub(self, rhs: Self) -> Self { @@ -220,13 +221,13 @@ impl Sub for Bls12Fr { } } -impl SubAssign for Bls12Fr { +impl SubAssign for SectFr { fn sub_assign(&mut self, rhs: Self) { self.value -= rhs.value; } } -impl Neg for Bls12Fr { +impl Neg for SectFr { type Output = Self; fn neg(self) -> Self::Output { @@ -234,7 +235,7 @@ impl Neg for Bls12Fr { } } -impl Mul for Bls12Fr { +impl Mul for SectFr { type Output = Self; fn mul(self, rhs: Self) -> Self { @@ -242,19 +243,19 @@ impl Mul for Bls12Fr { } } -impl MulAssign for Bls12Fr { +impl MulAssign for SectFr { fn mul_assign(&mut self, rhs: Self) { self.value *= rhs.value; } } -impl Product for Bls12Fr { +impl Product for SectFr { fn product>(iter: I) -> Self { iter.reduce(|x, y| x * y).unwrap_or(Self::one()) } } -impl Div for Bls12Fr { +impl Div for SectFr { type Output = Self; #[allow(clippy::suspicious_arithmetic_impl)] @@ -263,66 +264,75 @@ impl Div for Bls12Fr { } } -impl Distribution for Standard { +impl Distribution for Standard { #[inline] - fn sample(&self, rng: &mut R) -> Bls12Fr { - Bls12Fr::new(FFBls12Fr::random(rng)) + fn sample(&self, rng: &mut R) -> SectFr { + SectFr::new(FFSectFr::random(rng)) } } +use ark_ff::fields::{Fp256, MontBackend, MontConfig}; +use std::convert::TryInto; + +#[derive(MontConfig)] +#[modulus = "3450873173395281893717377931138512760570940988862252126328087024741343"] +#[generator = "3"] +pub struct FqConfig; +pub type FpSECT = Fp256>; + #[cfg(test)] mod tests { use super::*; use num_traits::One; - type F = Bls12Fr; + type F = SectFr; #[test] - fn test_bls12fr() { - let f = F::new(FFBls12Fr::from_u128(100)); + fn test_sectfr() { + let f = F::new(FFSectFr::from_u128(100)); assert_eq!(f.as_canonical_biguint(), BigUint::new(vec![100])); let f = F::from_canonical_u64(0); assert!(f.is_zero()); - let f = F::new(FFBls12Fr::from_str_vartime(&F::order().to_str_radix(10)).unwrap()); + let f = F::new(FFSectFr::from_str_vartime(&F::order().to_str_radix(10)).unwrap()); assert!(f.is_zero()); - assert_eq!(F::generator().as_canonical_biguint(), BigUint::new(vec![7])); + assert_eq!(F::generator().as_canonical_biguint(), BigUint::new(vec![3])); - let f_1 = F::new(FFBls12Fr::from_u128(1)); - let f_1_copy = F::new(FFBls12Fr::from_u128(1)); + let f_1 = F::new(FFSectFr::from_u128(1)); + let f_1_copy = F::new(FFSectFr::from_u128(1)); let expected_result = F::zero(); assert_eq!(f_1 - f_1_copy, expected_result); - let expected_result = F::new(FFBls12Fr::from_u128(2)); + let expected_result = F::new(FFSectFr::from_u128(2)); assert_eq!(f_1 + f_1_copy, expected_result); - let f_2 = F::new(FFBls12Fr::from_u128(2)); - let expected_result = F::new(FFBls12Fr::from_u128(3)); + let f_2 = F::new(FFSectFr::from_u128(2)); + let expected_result = F::new(FFSectFr::from_u128(3)); assert_eq!(f_1 + f_1_copy * f_2, expected_result); - let expected_result = F::new(FFBls12Fr::from_u128(5)); + let expected_result = F::new(FFSectFr::from_u128(5)); assert_eq!(f_1 + f_2 * f_2, expected_result); let f_r_minus_1 = F::new( - FFBls12Fr::from_str_vartime(&(F::order() - BigUint::one()).to_str_radix(10)).unwrap(), + FFSectFr::from_str_vartime(&(F::order() - BigUint::one()).to_str_radix(10)).unwrap(), ); let expected_result = F::zero(); assert_eq!(f_1 + f_r_minus_1, expected_result); let f_r_minus_2 = F::new( - FFBls12Fr::from_str_vartime(&(F::order() - BigUint::new(vec![2])).to_str_radix(10)) + FFSectFr::from_str_vartime(&(F::order() - BigUint::new(vec![2])).to_str_radix(10)) .unwrap(), ); let expected_result = F::new( - FFBls12Fr::from_str_vartime(&(F::order() - BigUint::new(vec![3])).to_str_radix(10)) + FFSectFr::from_str_vartime(&(F::order() - BigUint::new(vec![3])).to_str_radix(10)) .unwrap(), ); assert_eq!(f_r_minus_1 + f_r_minus_2, expected_result); - let expected_result = F::new(FFBls12Fr::from_u128(1)); + let expected_result = F::new(FFSectFr::from_u128(1)); assert_eq!(f_r_minus_1 - f_r_minus_2, expected_result); let expected_result = f_r_minus_1; @@ -331,11 +341,11 @@ mod tests { let expected_result = f_r_minus_2; assert_eq!(f_r_minus_1 - f_1, expected_result); - let expected_result = F::new(FFBls12Fr::from_u128(3)); + let expected_result = F::new(FFSectFr::from_u128(3)); assert_eq!(f_2 * f_2 - f_1, expected_result); // Generator check - let expected_multiplicative_group_generator = F::new(FFBls12Fr::from_u128(7)); + let expected_multiplicative_group_generator = F::new(FFSectFr::from_u128(3)); assert_eq!(F::generator(), expected_multiplicative_group_generator); let f_serialized = serde_json::to_string(&f).unwrap(); diff --git a/crates/p3-sect-fr/src/params.rs b/crates/p3-sect-fr/src/params.rs new file mode 100644 index 0000000000..61857eb8a1 --- /dev/null +++ b/crates/p3-sect-fr/src/params.rs @@ -0,0 +1,355 @@ +use std::sync::Arc; + +use crate::FpSECT; +use lazy_static::lazy_static; +use zkhash::{fields::utils::from_hex, poseidon2::poseidon2_params::Poseidon2Params}; +type Scalar = FpSECT; + +lazy_static! { + pub static ref MAT_DIAG3_M_1: Vec = vec![ + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + from_hex("0x0000000000000000000000000000000000000000000000000000000002"), + ]; + pub static ref MAT_INTERNAL3: Vec> = vec![ + vec![ + from_hex("0x0000000000000000000000000000000000000000000000000000000002"), + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + ], + vec![ + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + from_hex("0x0000000000000000000000000000000000000000000000000000000002"), + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + ], + vec![ + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + from_hex("0x0000000000000000000000000000000000000000000000000000000001"), + from_hex("0x0000000000000000000000000000000000000000000000000000000003"), + ], + ]; + pub static ref RC3: Vec> = vec![ + vec![ + from_hex("0x1d066a255517b7fd8bddd3a93f7804ef7f8fcde48bb4c37a59a09a1a97"), + from_hex("0x29daefb55f6f2dc6ac3f089cebcc6120b7c6fef31367b68eb7238547d3"), + from_hex("0x1f2cb1624a78ee001ecbd88ad959d7012572d76f08ec5c4f9e8b7ad7b0"), + ], + vec![ + from_hex("0x0aad2e79f15735f2bd77c0ed3d14aa27b11f092a53bbc6e1db0672ded8"), + from_hex("0x2252624f8617738cd6f661dd4094375f37028a98f1dece66091ccf1595"), + from_hex("0x1a24913a928b38485a65a84a291da1ff91c20626524b2b87d49f4f2c90"), + ], + vec![ + from_hex("0x22fc468f1759b74d7bfc427b5f11ebb10a41515ddff497b14fd6dae150"), + from_hex("0x1059ca787f1f89ed9cd026e9c9ca107ae61956ff0b4121d5efd6551561"), + from_hex("0x02be9473358461d8f61f3536d877de982123011f0bf6f155a45cbbfae8"), + ], + vec![ + from_hex("0x0ec96c8e32962d462778a749c82ed623aba9b669ac5b8736a1ff3a441a"), + from_hex("0x292f906e073677405442d9553c45fa3f5a47a7cdb8c99f9648fb2e4d81"), + from_hex("0x274982444157b86726c11b9a0f5e39a5cc611160a394ea460c63f0b2ff"), + ], + vec![ + from_hex("0x1a1d063e54b1e764b63e1855bff015b8cedd192f47308731499573f235"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x26abc66f3fdf8e68839d10956259063708235dccc1aa3793b91b002c5b"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0c7c64a9d887385381a578cfed5aed370754427aabca92a70b3c2b12ff"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1cf5998769e9fab79e17f0b6d08b2d1eba2ebac30dc386b0edd3838313"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0f5e3a8566be31b7564ca60461e9e08b19828764a9669bc17aba0b97e6"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x18df6a9d19ea90d895e60e4db0794a01f359a53a180b7d4b42bf3d7a53"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x04f7bf2c5c0538ac6e4b782c3c6e601ad0ea1d3a3b9d25ef4e324055fa"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x29c76ce22255206e3c40058523748531e770c0584aa2328ce55d54628b"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x198d425a45b78e85c053659ab4347f5d65b1b8e9c6108dbe00e0e945db"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x25ee27ab6296cd5e6af3cc79c598a1daa7ff7f6878b3c49d49d3a9a90c"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x138ea8e0af41a1e024561001c0b6eb1505845d7d0c55b1b2c0f88687a9"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x306197fb3fab671ef6e7c2cba2eefd0e42851b5b9811f2ca4013370a01"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1a0c7d52dc32a4432b66f0b4894d4f1a21db7565e5b4250486419eaf00"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x2b46b418de80915f3ff86a8e5c8bdfccebfbe5f55163cd6caa52997da2"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x12d3e0dc0085873701f8b777b9673af9613a1af5db48e05bfb46e312b5"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x263390cf74dc3a8870f5002ed21d089ffb2bf768230f648dba338a5cb1"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0a14f33a5fe668a60ac884b4ca607ad0f8abb5af40f96f1d7d543db52b"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x28ead9c586513eab1a5e86509d68b2da27be3a4f01171a1dd847df829b"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1c6ab1c328c3c6430972031f1bdb2ac9888f0ea1abe71cffea16cda6e1"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1fc7e71bc0b819792b2500239f7f8de04f6decd608cb98a932346015c5"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x03e107eb3a42b2ece380e0d860298f17c0c1e197c952650ee6dd85b93a"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x2d354a251f381a4669c0d52bf88b772c46452ca57c08697f454505f694"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x094af88ab05d94baf687ef14bc566d1c522551d61606eda3d14b460682"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x19705b783bf3d2dc19bcaeabf02f8ca5e1ab5b6f2e3195a9d52b2d249d"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x09bf4acc3a8bce3f1fcc33fee54fc5b28723b16b7d740a3e60cef68522"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1803f8200db6013c50f83c0c8fab62843413732f301f7058543a073f3f"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0f80afb5046244de30595b160b8d1f38bf6fb02d4454c0add41f7fef2f"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x126ee1f8504f15c3d77f0088c1cfc964abcfcf643f4a6fea7dc3f98219"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x23c203d10cfcc60f69bfb3d919552ca10ffb4ee63175ddf8ef86f991d7"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x2a2ae15d8b143709ec0d09705fa3a6303dec1ee4eec2cf747c5a339f77"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x07b60dee586ed6ef47e5c381ab6343ecc3d3b3006cb461bbb6b5d89081"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x27316b559be3edfd885d95c494c1ae3d8a98a320baa7d152132cfe583c"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1d5c49ba157c32b8d8937cb2d3f84311ef834cc2a743ed662f5f9af0c0"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x2f8b124e78163b2f332774e0b850b5ec09c01bf6979938f67c24bd5940"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1e6843a5457416b6dc5b7aa09a9ce21b1d4cba6554e51d84665f752601"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x11cdf00a35f650c55fca25c9929c8ad9a68daf9ac6a189ab1f5bc79f21"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x21632de3d3bbc5e42ef36e588158d6d4608b2815c77355b7e82b5b9b7e"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0de625758452efbd97b27025fbd245e0255ae48ef2a329e449d7b5c51c"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x2ad253c053e75213e2febfd4d976cc01dd9e1e1c6f0fb6b09b09546ba0"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1d6b169ed63872dc6ec7681ec39b3be93dd49cdd13c813b7d35702e38d"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1660b740a143664bb9127c4941b67fed0be3ea70a24d5568c3a54e706c"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0065a92d1de81f34114f4ca2deef76e0ceacdddb12cf879096a29f1037"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1f11f065202535987367f823da7d672c353ebe2ccbc4869bcf30d50a58"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x26596f5c5dd5a5d1b437ce7b14a2c3dd3bd1d1a39b6759ba110852d17d"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x16f49bc727e45a2f7bf3056efcf8b6d38539c4163a5f1e706743db15af"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1abe1deb45b3e3119954175efb331bf4568feaf7ea8b3dc5e1a4e7438d"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0e426ccab66984d1d8993a74ca548b779f5db92aaec5f102020d34aea1"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0e7c30c2e2e8957f4933bd1942053f1f0071684b902d534fa841924303"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0812a017ca92cf0a1622708fc7edff1d6166ded6e3528ead4c76e1f31d"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x21a5ade3df2bc1b5bba949d1db96040068afe5026edd7a9c2e276b47cf"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x01f3035463816c84ad711bf1a058c6c6bd101945f50e5afe72b1a5233f"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x0b115572f038c0e2028c2aafc2d06a5e8bf2f9398dbd0fdf4dcaa82b0f"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1c38ec0b99b62fd4f0ef255543f50d2e27fc24db42bc910a3460613b6e"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1c89c6d9666272e8425c3ff1f4ac737b2f5d314606a297d4b1d0b254d8"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x03326e643580356bf6d44008ae4c042a21ad4880097a5eb38b71e2311b"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x268076b0054fb73f67cee9ea0e51e3ad50f27a6434b5dceb5bdde22999"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + from_hex("0x0000000000000000000000000000000000000000000000000000000000"), + ], + vec![ + from_hex("0x1acd63c67fbc9ab1626ed93491bda32e5da18ea9d8e4f10178d04aa6f8"), + from_hex("0x19f8a5d670e8ab66c4e3144be58ef6901bf93375e2323ec3ca8c86cd2a"), + from_hex("0x1c0dc443519ad7a86efa40d2df10a011068193ea51f6c92ae1cfbb5f7b"), + ], + vec![ + from_hex("0x14b39e7aa4068dbe50fe7190e421dc19fbeab33cb4f6a2c4180e4c3224"), + from_hex("0x1d449b71bd826ec58f28c63ea6c561b7b820fc519f01f021afb1e35e28"), + from_hex("0x1ea2c9a89baaddbb60fa97fe60fe9d8e89de141689d1252276524dc0a9"), + ], + vec![ + from_hex("0x0478d66d43535a8cb57e9c1c3d6a2bd7591f9a46a0e9c058134d5cefdb"), + from_hex("0x19272db71eece6a6f608f3b2717f9cd2662e26ad86c400b21cde5e4a7b"), + from_hex("0x14226537335cab33c749c746f09208abb2dd1bd66a87ef75039be846af"), + ], + vec![ + from_hex("0x01fd6af15956294f9dfe38c0d976a088b21c21e4a1c2e823f912f44961"), + from_hex("0x18e5abedd626ec307bca190b8b2cab1aaee2e62ed229ba5a5ad8518d4e"), + from_hex("0x0fc1bbceba0590f5abbdffa6d3b35e3297c021a3a409926d0e2d54dc1c"), + ], + ]; + pub static ref POSEIDON2_SECT_PARAMS: Arc> = + Arc::new(Poseidon2Params::new(3, 5, 8, 56, &MAT_DIAG3_M_1, &MAT_INTERNAL3, &RC3)); +} diff --git a/crates/p3-bls12-fr/src/poseidon2.rs b/crates/p3-sect-fr/src/poseidon2.rs similarity index 58% rename from crates/p3-bls12-fr/src/poseidon2.rs rename to crates/p3-sect-fr/src/poseidon2.rs index f854c78e40..6f93f40fba 100644 --- a/crates/p3-bls12-fr/src/poseidon2.rs +++ b/crates/p3-sect-fr/src/poseidon2.rs @@ -1,6 +1,6 @@ -//! Diffusion matrix for BLS12 +//! Diffusion matrix for SECT //! -//! Reference: https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2_instance_bls12.rs +//! Reference: https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2_instance_sect.rs use std::sync::OnceLock; @@ -9,75 +9,75 @@ use p3_poseidon2::{matmul_internal, DiffusionPermutation}; use p3_symmetric::Permutation; use serde::{Deserialize, Serialize}; -use crate::Bls12Fr; +use crate::SectFr; #[inline] -fn get_diffusion_matrix_3() -> &'static [Bls12Fr; 3] { - static MAT_DIAG3_M_1: OnceLock<[Bls12Fr; 3]> = OnceLock::new(); - MAT_DIAG3_M_1.get_or_init(|| [Bls12Fr::one(), Bls12Fr::one(), Bls12Fr::two()]) +fn get_diffusion_matrix_3() -> &'static [SectFr; 3] { + static MAT_DIAG3_M_1: OnceLock<[SectFr; 3]> = OnceLock::new(); + MAT_DIAG3_M_1.get_or_init(|| [SectFr::one(), SectFr::one(), SectFr::two()]) } #[derive(Debug, Clone, Default, Serialize, Deserialize)] -pub struct DiffusionMatrixBLS12; +pub struct DiffusionMatrixSECT; -impl> Permutation<[AF; 3]> for DiffusionMatrixBLS12 { +impl> Permutation<[AF; 3]> for DiffusionMatrixSECT { fn permute_mut(&self, state: &mut [AF; 3]) { - matmul_internal::(state, *get_diffusion_matrix_3()); + matmul_internal::(state, *get_diffusion_matrix_3()); } } -impl> DiffusionPermutation for DiffusionMatrixBLS12 {} +impl> DiffusionPermutation for DiffusionMatrixSECT {} #[cfg(test)] mod tests { + use crate::params::{POSEIDON2_SECT_PARAMS, RC3}; + use crate::FpSECT as ark_FpBN256; use ff::PrimeField; use p3_poseidon2::{Poseidon2, Poseidon2ExternalMatrixHL}; use rand::Rng; use zkhash::ark_ff::{BigInteger, PrimeField as ark_PrimeField}; - use zkhash::fields::bls12::FpBLS12 as ark_FpBN256; use zkhash::poseidon2::poseidon2::Poseidon2 as Poseidon2Ref; - use zkhash::poseidon2::poseidon2_instance_bls12::{POSEIDON2_BLS_3_PARAMS, RC3}; use super::*; - use crate::FFBls12Fr; + use crate::FFSectFr; - fn bls12_from_ark_ff(input: ark_FpBN256) -> Bls12Fr { + fn sect_from_ark_ff(input: ark_FpBN256) -> SectFr { let bytes = input.into_bigint().to_bytes_le(); - let mut res = ::Repr::default(); + let mut res = ::Repr::default(); for (i, digit) in res.0.as_mut().iter_mut().enumerate() { *digit = bytes[i]; } - let value = FFBls12Fr::from_repr(res); + let value = FFSectFr::from_repr(res); if value.is_some().into() { - Bls12Fr { value: value.unwrap() } + SectFr { value: value.unwrap() } } else { panic!("Invalid field element") } } #[test] - fn test_poseidon2_bls12() { + fn test_poseidon2_sect() { const WIDTH: usize = 3; const D: u64 = 5; const ROUNDS_F: usize = 8; const ROUNDS_P: usize = 56; - type F = Bls12Fr; + type F = SectFr; let mut rng = rand::thread_rng(); // Poiseidon2 reference implementation from zkhash repo. - let poseidon2_ref = Poseidon2Ref::new(&POSEIDON2_BLS_3_PARAMS); + let poseidon2_ref = Poseidon2Ref::new(&POSEIDON2_SECT_PARAMS); // Copy over round constants from zkhash. let mut round_constants: Vec<[F; WIDTH]> = RC3 .iter() .map(|vec| { - vec.iter().cloned().map(bls12_from_ark_ff).collect::>().try_into().unwrap() + vec.iter().cloned().map(sect_from_ark_ff).collect::>().try_into().unwrap() }) .collect(); @@ -89,27 +89,22 @@ mod tests { .collect::>(); let external_round_constants = round_constants; // Our Poseidon2 implementation. - let poseidon2: Poseidon2< - Bls12Fr, - Poseidon2ExternalMatrixHL, - DiffusionMatrixBLS12, - WIDTH, - D, - > = Poseidon2::new( - ROUNDS_F, - external_round_constants, - Poseidon2ExternalMatrixHL, - ROUNDS_P, - internal_round_constants, - DiffusionMatrixBLS12, - ); + let poseidon2: Poseidon2 = + Poseidon2::new( + ROUNDS_F, + external_round_constants, + Poseidon2ExternalMatrixHL, + ROUNDS_P, + internal_round_constants, + DiffusionMatrixSECT, + ); // Generate random input and convert to both Goldilocks field formats. let input_ark_ff = rng.gen::<[ark_FpBN256; WIDTH]>(); - let input: [Bls12Fr; 3] = input_ark_ff + let input: [SectFr; 3] = input_ark_ff .iter() .cloned() - .map(bls12_from_ark_ff) + .map(sect_from_ark_ff) .collect::>() .try_into() .unwrap(); @@ -120,7 +115,7 @@ mod tests { let expected: [F; WIDTH] = output_ref .iter() .cloned() - .map(bls12_from_ark_ff) + .map(sect_from_ark_ff) .collect::>() .try_into() .unwrap(); diff --git a/crates/prover/Cargo.toml b/crates/prover/Cargo.toml index aa0f6eef45..f7ddb44557 100644 --- a/crates/prover/Cargo.toml +++ b/crates/prover/Cargo.toml @@ -25,7 +25,7 @@ sp1-primitives = { workspace = true } p3-field = { workspace = true } p3-challenger = { workspace = true } p3-baby-bear = { workspace = true } -p3-bls12-fr = { workspace = true } +p3-sect-fr = { workspace = true } p3-commit = { workspace = true } p3-util = { workspace = true } bincode = "1.3.3" diff --git a/crates/prover/proof-with-pis_bls.bin b/crates/prover/proof-with-pis_bls.bin new file mode 100644 index 0000000000000000000000000000000000000000..530f6aefe2a858a419bd6ddb6ce285f562aeb94e GIT binary patch literal 394546 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%0AP^G4W^ zo#Sk&5p$91>0#n;Bxl<92)R{QaZkUA!zi{PT znLy4ioytoJ&M;VBkqQ&+PXp;;H?>`MrwrqA)3k;^Kj(JHnM=X(?qPnVF=DcB13v@K zeRp!}?nr};GvYM8`@)Rk#x0t9j^}Skuq#Nc$aN?gfN>XwI%M*f%KVE2WfD-;9#g~S z$7Z945f(wfaTJM94#x)4Ysa>6@yMTg=)K1~_=Bn8MiiBpJC?5G`TDeR_%mgbB?zZ1 zJXVd+h851-rPCP$<{$C}OPRkvs}Zw5fhodr(@RGvFDETjeQAuQ`OP@(sM3k9A-uL-^0c zn>zGyg+w6xZB;=Jx+vOqSiM*5Vzb+(B70LK2k)n9_BQTX2~N$`6@=3c#m~bE+Ibm> z+q-{L&<01jmlk%lEGqJs1;vP7F%a*(B$2jot6+4HPPN^k zD|B6s^>i`?;m|cfp^@SmX1W3P`?vT_ic`Uy1>aq4bjlRveo(m(Vu1Z=AUpid#8}yC zfV^72oSe7+I>v=#4^>C9ly{fWC50xn$P27v`Y0=nSkisMnBNXf z1*~-Y!wcb_-Y(0c-V@@4VJuR&3CaQWykIQD&{qQ;T%N~p5~H_>TsIXJ4HS6GyadzI zL@uFYz`o1tHDwJoakY#yF@F}V2^U)tPc<>jrcPJ!3yJ$79}B3{@pmSIxeY#T@WR^) z6tc>#ar)>GNb>7Unmjga!42-ygX}_FShf@-kUiy>5;^u3xwm1#k5-Mkf~v0I6O&~@ z_!}VpzSk0u8$s?~Wl4j@JmTmKjuT4Z`uS3_Tj_+ik5W_)>~l6G4i|~LVCjnNPU7+J z%cBr5^uEaq^yIcP->WAGNXvlq9^{@HZ%iC;&^-0R$3aspy)9w=lKY6D!LZZ=ex8T~ z#B+qu$fuBpKccxbeR+Is*S^HWsPcy=rNvI~v<=jQ?*Msjj$4Y15^BD9BF}y1?za&p zCq~p>dQ*iVCL?yt0Qy)}kY3XRLPyKpCx3MDcP*}Ugs_C{MYG7E8qK9tumdoY7Q!H0 z1j4t?R~lYOS31mN{x?K<5Gu+$DQXjj^p*qGL|wQ*T}=P|L+ub#sQs}P=?s?Z24g=8 zh8)RyD91WRy83XWJ|OSk;y3Lg8?*eN^`_n-ECigleo|ootHu8v} zorS>{A0~a?>5^lAe>*Z5d}dYwoI5sIpw=ins{t_OZS5msQrl>t|C(QOPthl$gMYZRltcp|rKc@c#nNH2`vYoh#*-;Wv7*2)$i zh9-z9M`oC_Q$J7*+I^3zF8^EJ*;F&%jYk8s>n18!XmGStrU*tr2yT$gF`MGHkPr~h zB?|I<)2u+{^(|Pbzf6;jy%-0d*5oQ>O|wA}_6zy^2BeoH@}Vs~D}E~hS21Xy%=_H- z^Ng>p!sp?l6u5h0PG)luP949@Ipi7&_UOC~HOB`(W+-`9oRdY&c@H*4VDu9^FrI0# zNS~J2k6*W=NRC|;$?%obdK=14y`h9R7K?D+JpuDPvhhU*DK!CHn3l+(XoxG$Ohs;i zZ+W&E(Qx_I;GHxANUzM9@9KNuVu_Q>1@}|C)5FcfZ~JHS+|TiOSPpG&xxo5&CW8mN zaJWu{$f0c?{>-UUv~9Lym}Ap%Gocib@VgMGX9{}vjjCDKw>gs=Ws`sO7epNz)AGz= znyQ>xyO`zq`+Z>WU#VEvZb!f5>l@3V1Of_T=@CC#L6U{`#w1HxL*)T}LhYfaWJX9i zE>}hhe!NDjpdE+4IY-ym&q!`1XX|$WkoWyt{3iHnGmmoZCvt|`7cae!F{o%@e;UYM z5$ePQRr6nFa58&kwqT@|wfU>D*Zo*Iz)Hp3_&NFjJJ^R43_U3yp#%krCdRKaBEJkT z>31$M4n#?Yx5N_o19AM6rU1$jCnv6q2%RNaI`wQ`=O%fC+}2JHAFHCx_i|u8Jn&xJ znTBg&MDW3)omR`3CM=b<<60XJQHo{^G7YRig8FCi{QTR6$8Ql$D^h(<$a2T2ee)MP zR%nTrCu3y+EuQ}y(dKk_Ir8^hl`)E z^-edZT&-V+b}%DUiA;1l#&Soaid`YfdNe?KLrOZS6D^4Nsqf*#5pj5%D`;!$%x$*l z=E(ImTrMzFK)A?^vF^o&90fbKLOd3&RQ2_!Br&!?4Us6MX|Y{$N+l5P2lbF@GGk2% zc>TIm8A4P3FPy#02G43q(i(nP+x%Bx+`R|h@Q&twljU}iMat$CK>FeWn>3XqP~TU2 z9@m7&3hd*fZ@viPjgRnC4-M3(6z7yfRnwb(gJC?Zljclb-bFA4>Fqy_dK!~8>$M8d z+~+c`(kJ_sck;|8Q7gxQpyS@61jHk`1#J7I5FxU@ZcW|z9A4!|c7MNAm1mRz;>%a?Tn$Uu zw>%L;b(3m)?iHAE`m3go0vhKCv#Qh*S%CleX-&CY5TAgKlKic^OvpBxmlSgIqM=0Q zjWF3VzNjTHsDIx5pYF{DGe2pb4DEHfl2y=sDmXwKY!&f3_!!@6p-z_z9E5XM4oNyC$~Aoy ztsLH`XPna={5&V??9EzE(IAT}UVb}>eFKyl4?;-sbw7%3%hydiZNbE0r%ir3qEVwBO z3cvD}u1(|A9NQ1kz>*4~qCOb`|GWLVz=$@RB+szEMQa1w?~OGRZgWTFzFf6~M{3I6 zo^t}}{kQl{bYG6NC83~ABN-~FENgceQNaE*kRHlUx$(cF3Vt4<@ifatR4pn~62?Xl zZjlU&Mh%Rkpx}dW85dL>tQ1H`aKe)YXj>Wv;!x%>@!}3s36_=JzkjCz^|))beFMe5 zOBA#X>)VClbDp=Sb`++yZ&`mkAqTq7LIVD%+TC?bi(*Ow%lWgP>60Q3mA!4ls8b3l z401wX4Pp>*?)}X>{3t0yk5~C!K*!E+RlP6aZQD)P};8KB{}Bg2VVn0kk@KTjB5v+yPh_7Fb<|tcGs4s zI^X!EMn2jqt&umQF)cWd-V*Xr0P%=ZckkCu-KgA#S^7fnOqymSR;V6lAAGnq!q{*= zuVEm5i?I--O8)B}fz|0(&GHsaBOj7d{!+cNnF7b}dPy*xK%I>VF2@axZ?z4kNB$*Y z%7iND<3e!hI$awdDMkch(k+m8|6BYfaZ+k|p3Ar5%C}M1D zB4}eeq)JwgGtJo|z5LgnIlRV1*zlnIK^v$i(f=L@Z}72k|3#0*z*j?+Uf-XI2^n9I zl}?N@i5+z`Qz(K zdhE9$RKO34urX)VaV=}sud1oT>a?XgzAKZ-ZMI^Ab@ zAkO%=_)R}$4#*5oAP`C9mPvVvD~!^W`Dv2%}veOd=8hzpN_5d}6nI8OVdUJ4G6f z=9?070JT7$HS*ro0PDx6WT0+B)4k`&oVT~h)T_eXdtbfCi+M5-+jJ2bYqSXrmyP%DB^Y=QkMn+@!6xVQiJ*~tK0v)6qp zv|_5|hU)Z#9Z!uSRx1YJw=D5eJHLJ)sW@NI9ud*Un&1nC4eyI4X|iuyRU}$=fCuUQ zxA;wXU9}9#^K}N1TuQEvxJjyrV1F7&&up=(m%{#N81MNrve9VSFJwYI<=irg^NfaY zk6^a1Kt2TK7};kY9#}5INP?*K;{7GJ^FZ;3iJm(?9C^INZ9KpS@Gatl6kSwx>d9G7 zD971e`JF3m7CGl?bnfEp{`!WI4y5;cPpytaFqY=e1iKRr3spTSgfkYivfu)bWonPG z&t|}U+Y<>U75Er++}S?Ywa9Zi(RR;<&v${*N6Z}qpGFo*36jToZT}@cwPAAxVimav zUr5Hl(s*ON#lt*lCZ5u3NFRt}L*V%YZv-4B48l#9iX%ipjL`O}5umno?{V}caH|L7gyTk&k@WN&u#`qSK2jl1U5#VaJ}Nrh|2~0 zuVse2Kpb!|D{aJv+CJFwIzt7`Psu6&{9ZAM zju+U6ZdSIm9_oiLh*MiNU;a{)!rFl>t$ccdZ_x*>~5J3e50&?k{&Y6%Tb|*9V8IP`Gc{<`{JZV57 z2?+OZ@tY!A_4S20UG4IQ5>+Q;Q$69q{xp!DY^iW6g6d_9OUz40O6fqMsM@j$;;RKR zS3PxB`1BVf5YE7~5gw_Q)>2lSmCj{61x&dT{AhZ0W$&k(siY zSU5e-j0eK;%~)Bdw6l*g`hVRepM&kY@jWyhi0UGG=Z`!%r{CiY!dYFD71iRz(UhHh zx-H{M#Q0hHvgxDpscK3!fZ7RD16aonHcNqTe^glq-7{i_eB)N?2$Z$V8ppB8oju{q z#;XGSc=O@1c{GRbrQCIa7 zO28n!`4z~MRx6TI>cF#5cG$f$t%`h4yaUuRk;7adOQ|Ivr7N2H5|ow)t2e9p1m@H9 z|GEd`TN4rlkUv62lW)Jjw~T#1t0XWPn9y+~Wo61ofO~N@GVGYWpbo?vLbIum?~sQX*Cf%^Av@td;!>ors`^378TU*ynHzBs$t^sfn1Ack-2fdGYsvgZlF!rdm<`E3{}tAU$}ja>Lv8 z@}TzG8^-FHAadDsM{P$C?#j-nQ``p6R?&=2pj<}YB zw52MR2ixkY_lOHXeEVL%&JtsNW%QXUg%G0`tRfjTR*k;boR4U8yM}HcPnI0iVsSS?+mSuzlXuGFl>o z>{T#q_iL6+Nq<|&14D>(jpy8Z#P=c)1)&jO| zGZOyBdd&8t<&9Oq1$W_FwIj+9GEl#{+%~ELOU#(no}eYzXL^38>4%x)4>HO9Jdr*y z{zj_+!Uex@?9VMAyS)rY`qzJ0yL{1TVBu|EV~WaNNb6Edu?FG(Eq+ttH4|&nxTNRD za5DS6wi$XTus;o?=QFG8%&9;^Jf5e__NMh$r&5It+&HbN(md}iPGY{l-}RZ(pb2^W zT-?~k=JM4dMa6sxeFPtJzs8)E&(Y>-oMRn5_;XVXa2U$;b(TIL0o8Vhy9QK zUwlnpSama*`<{HoCe`syW8&G3C#&80oe`P5l|srMFkgc5U381T>6>vcP08n|p{ykJ z{!sa=wwJgQQJFRd`S-h63ELUXr+#)%a7+vNMoRDARo}=NR2XuhKq2x?iopv4amBn+ z#>o5I^@f>m0ugt=zpy#)BgDpuwdYF|IFj|ES^)W!Psy#j-0|m8=(;^?ESE=jn!-=* zKRpnGTi+{)33 zNZ5B+UY{PSa5i~P21ZR9i`)1ynvxGVU8Y5V{lO|TFjvg}7!kfm`A!?WVP%q_lq7k( zg5kYcn?DJ?GT?s?H?lCQV;M9j-!Yy->FxxvfXOB{@K)R)b>o~6`{Dw5Q@%p|L+TYS zox$m3uzBTH(;B#nO+=MyE2U&}d4KY@326M?O;#691>G0j{M+ew@c5jOkki?Yv6!tt zNdJbP^FZMT;lMM0wM_B7I%;2iO_pJ&e6gu3?&!QyMYb;ryLy|x57duJQQv>6rqTYH z@EW|AIRD#W^^*R87wL(YSh*>Ub+!fg4ip{>J@UewK%%f%FuKLs`$#0S?hW(J><|8r zIv>AG0ru<7da~Mt71sSaDuaW4fL#UkoE*|d6!Il?G)XH^@&pyszyAuqDdpD(I@9O_ zO{7wICWB@I^?&l4+VE*ynt$@*M4;Rst>#AI2eWA_YFU4^1|PF651gj~&co2%!|$vt z7T9A1s6NHZNsRwuLXS-J70Z72P+D_3N^J$QE5G?uzFL%KTkpr5QpwljqmsTjF9`UJ zpMmBw0_x;y!2GC6gnToUI6P&b)~-5PsPXB|J+}sQU6AxcIAp>)x*IDd8rci-h3mymTl5Qoyp zFteTbfOu7{Ys2kBV3@|(0S_kYwOs>ti1|hoL?hfNlM+OrWeX!n-dTc5fD)!dM~_WpPdbBaIqStG-`Yc{<@Ts$Z2+tiI1k_&+pJvl`?i$xmhg#^ z2Ek+06I;SwKi(yud4=E%iUp{H{a5%+=S0YQ{m?|{JQjm6gaeay|KvB_Zn2`N(u}{c zXq+ltaUiht)Dl|^%v{xCEtIO4~=K85x->Pm&M0cNwMiRz;`H z?E>jN5#ZmnjrvF+TKeR+9Wq;A;rV_`2*s|dzIZKPz&2R>zr+FOrI72?zVVRfq4TO% z(5Ssdg8aVkh8|WTVz*5^a3x^vfVzoEx#$vES$rO}d=pPJl368TbjeUgTju?JJJdsa z9uF|?!Vs6nnP4QS%lCyImJj-byU6x;*NyJ^OIyRI1bTn}=YC0NlB2_06)R#E>m(t% zU!wJOteAr*!`UC|xNNLR7m()-NBYrT{!`AJem);16hYc#nc$3N4wqX)+P+r*`7RJA z5fh`FQ6^eh5PazV!7~sP_w3qm7nfGn7}`@M%grqX>drKzi9hoIdcu;zi)U~ zz6DROgZ8XGV8w0P^8x%$Eo`D<5!k)i?x#wM&ZO++r=28U;n;G;=jUgDt0!c`wIV!nL(xww^8$g6a(x}1I_b~_86~=-H-&GR&?a! zH{J^yjAX5_9^ZYt)!=%;U}k~*vU8T7Qr!Lk7Pg@lejlR3y{pMEKn*(T#~GD(P9Fp` zkO$2emqlPU!UBQ+=>zq3>l&~Gd21wTzl^1iXCo7GXf?nA0N zo(}MFfh74icLu=zuo$&iMifCK7M`QK2Ah}HiGaWr{-Zb3u3d5>w~nnBSg+W3s<<)h zVlyW~k&f~XGUYtV(Sp#K>!>^t>S3xElE8WAe}&%^NVlb>N?YWjj<`S(6Sjbg{%4v4 zbq080hG3_Jr7iJLh&f+lc;&_S>C_)PpM#UEh^yTh6@d5wk`Bu4AZ*q0$Ng=oHP;RI z5c91%^Apu{O5u_#AIT%&XCT$3Gc-yJ()-`NExMH7nlQ}&ah9N5=&m`3L!)>Xs6?~(2Bpj z*00jjya-87&yCwk4(tzIcE`U=;9R;!Sebv|S#|&TZM^HvPA#aX_a;j|G65Snx214* zy=+O`Zt1N5MQ8kAaTKJ-pZh?3%Bf~7_G5>uQVG;Qidl{XtP>?WvL-(`biNVPh__6g zh&afqoS{%~{CRP}dc{Tjy2N&l|H2A4$0#`N^I!<0Kw-9wwxljjGx~jf-W(+Fgj!XG zYebL3{AkcicAtGAyUU*Ir^}6KZ<|^s{O|lXAl%a-!e9a}`xdeUT~bcmz?e8jY-2JP zQm%ZeBQ7=DC^-oCU*R{UmCK15zg;1tHt{i#?eaxK1N+lJcF5Ev+zG*J4R%Bj_)LV$ z*FHLWzAU`?`6dhQ-7g*%d>~)#%bTUD*uL_8a1xZ!ncP_w7Sm3Qyh9kG(phdRE%^Ig z%{v1K8ImL2Q00R!nLjqS5!sE-UI@6;a51%hzU7ko1;oi|YIVw|m&E%v%`j!32|CER zu3(4M(6Ap;NPDs5?O_N&{i|lA^4Qph6ims$NcXbZRa@{q4L+t)V2jJYgLu7QaRcG( z4j_@$=o-N2=uOsxB2@B1dWB#3hJ&h@jg;(IN=Je9%Hd4O@vs)_vbMvJT#le^w0NJo zTR*UhCQwkT!}uEyI4_=Pu;#|Wy1}Y(za0K>@gpG!A&o$}8BGUQI7gve=MjiANEz7RcYm&#wa2x7JG|^`e#}Km~^E1dRxlRRzNSvM^LtSzBrvKmw2ACg- zjgL;T3b6X5PZCHkvM0(YZ2XY-1&JvmJLe@kAzdn<{+YC3j4l55s;&63ko_9!T^75d z&Qd+s2QiMhsTrh4j}5}1adMoIFb_1UbS@)J`k7qw&a|37o@(SQ@fEdXVaEV=85Ovi z-wsZayGvopm8G-0rhI`xdSv6774O5_k>%n8;*9?azo|Xhl7sy4t!Iq7h&oN*1QZI` zp9Zq)MM`ti_9!&ncIB8%J0A4298H$5TwkV8qA})284O%Z5RNv^)@wt)z_PQ_qI{kG zutVG9F}V0Bjj-uRnA1Q5(+-3iB;pEvFd?^wSlyO0@GP8&Z`2FxTXfhyRYZq&m4^n- z7xBNawchcROGt*kJBXrf3gGt4ODEDt#Lnu;2tNE47WxS;-> zcrxWPgY)yr3e~oj*Xe*)HlASZ;k2DzhuwL+-|EBhU?Qtu*|J&p z(ef#}S#jU>stFLn0Cm9s3co4lm4M2P|C3nCM;LD;oFY49us;oCulZs!V_Q{d&b(lu zJc?>f(pqBPt@8?mk3FK`$Ct}FKwi<5r!f0WUt5W~!q13ZNs=1hUwWph18HU7P~#s{ zOa<@+5YIVcC`)8hM;965O8Puj^ONkNudF@3$MD7I66mGZXT(A^f{YfOEv&57^_D8f`Ff$H9mX^c0hn zk6on^rFibtV4mz8>RP~g`+tSsG_Ta^LK1*U5!~bnQDgf~59uHC<79iJ05>5cx~9LG zB;aW57E)?K{`=)S3EjmUXU!>oz<;Plnwkz2Ai_q%y_Hq)!lHp(R6pZ2Nu~g--0*f~0U)=TXMn%bi`ZljfAv;2b&;>%IiPEYR zT@g9z$51%&Sv^~4oDKKxZ8*^Um3S0p&LZrqz=>}%7ka;8prd&|?(y)N7BT z1Hu(!8e#lu#7s5z7)wmg8p3@LxSDf1o__1NDW(sS_g~>R8H+gRSYv+VX7sS;eYpz|ga`Z6Kz4BQ z=q&ad>k+OaOtoRpI~z$6PW76>|FKW$Yizl^F{KQ`B_$+Q@hor}bPetvP1Q+AL=JVP z`1fXaNn6J0GBA0ogK+u9bKCAtbz5S77U`2lt(cKy*Kz7dIufo{xw*`J6aenO!fy)s zJj)aLLPFDN?ZM+wKpwt?nR9S4n0usos z4}{j})A49Xj2R1L6KF{H8fC7Ut(P3H*S+?oYH5 zWn+g0`_n*nNWwCpiI5=OEd|%Aqh#EOBF&uQ+!!{Yz9ijGK8#od{Pll@-=uAbWF;z? ztEjVBi)~E4gY7`to>!x?96M&iP82 zdeQbqSQUX3w&|Q#L(qtLN8g$l@Ppmx;8Nq!O4EsoiUg-8qeKYCVZWcM8BUhaeL@Pf z;DEe5V{vD-4e6M+zF0m<>|8E5`pHf)Z^D-9X&#IUzWxRH4iH$(`Tj1O**S4&?xQt{NN6I5_c`wf^^tZfW3Zb)yn5^W{>=ivw zuUCt7wLovmS|=8-DMLJDc+{6DDU+57`lP3+{5hyG13145$R)&`4nSglNS-5SeDfZ% z>~oGpp=@Ts$`Vn&_cv-F-+)8KGL=01*6!((@&Z|VI%)OT&$aq;n&xQF+M4cq0K`#T z{A#Xl<{u||HMV(q#tnn_zMGV35{%MSgNeZo9vlMvF!;zUVdhAJVDG4Gd{SolMJn6pDM{m~GNb|06q280W3^fTmyu0CoTHE1v^Eq|ktr|!1JF1t%~`aOo3x*k~9pRHeq@PEh4L9UuK z`pb3_-u`=O=uzdL{H6&Lc0aV^ zS6i)ah8FQW4XFJ!7)FiNx%+^B7qVb7w78%?CBN{X&-{r$&+RB!W4BI zvOZYSNjC#H92u+cg=EE6a0u%sWJ7Ux4rObfsp)AB>?%i&O2Kg)LF0rbBo5uc4juz< z(o56u{SG#4G|m*VE*!}p{m}Y53ZXR!HypkIQ;_bC`*Sfph$-`%{<7V_XG6T^Kk>UYfRQuA%+!b~3F6 zpT&TC*jDV}m=oqVpP#W(IwTb-(LgwyvnCAB)bc1N>DNk#^t1}s*vX)hvJ_jT4bwVo zMFblV&I*jCP~{bl;_UpIv+eO(GjSdPl`}yGBARbG+idzvfmHI-YzC)Ex#N=CV{D0_ZH|avq^7Y-I0Ukv;|d{}ns|AB}i+0oCh*oa45Q6R8MXUpV zUpFQ0gOQdD4r8fQ-2A~5)IZ_pwFVELfTWHwr^*b4y7}8LHy9j9%f>^vaQ35p1qvYC z|N8w+&lnz%sT=O5*iLTXbSa8X7+`-I==;dg{g#glvthDw3uatNZR$u?2NvnUM#MZQ&pYkUh+mqdA zvkqS%?t|sbFf4UCpIRwpa6)>9m%!B=-Bmjz7eVgtL5RMW1qaE?Zgf_VB zoji^`FH0I%PFkKxQ)oL523Bnf!mUc8Fd=>T48K%ccz;BbEoicInV=<$b~`xB98PPj z1blD*w|!@5Qe*0ksPhKKq8xm+n?yMxh00X&Le#*~Q&WJKy^VSF+ zMTZl>--hipoLRtJV=j<`1>@aVe5p}p;~Pn3FHJEyr~H(^YY38eSNx&S06R+##sdQS z$Gw{~A?6}KYGRV;OyF@~4lEfkKMZHM&3c}SI64+nBqfVHgOx0p@zWuZyzG>lq%Mcv zX@lgopBEushvT2#6hUON2IZ1QcY;w+lIxD}zfJh5&lw8r52&giZO9K4esz42vfq@o zUrGV7HaIeK=~Uhwyt+jknOMm_^Hki93Bf!dZ&`y~#u8hGeu+nMA(MBD{3r)k z!tvUL)T`TT$UaIh2As>?^$MO_m=+89RyuOvEYJ=qI_&7xTnvn<<4+q?T`d7|6++zc z%GjcDt3@& z2DtFz1_?Z9(axl_6H54sQ|f@`k=%YR-ne5>IAn{~b}O?j&&67X(U!$$1`3yC1|38x zfM=A)G^5-$T_C73y`Lod%Ky_r>6L_?3*0i!U%Gp}Lm3z+&2eO0FDp?^Bb$6frb!D8 zd8d@!EA9+S%1K)2nf){^klw&@ZM*C$^rsz?+Q*3HZcI5UNz+OUVV&^8>QVcG93Wou zj{UT~Ii7}J`iz3LrBu20zV2W@`5WsGk~8iR3gzu(C-kQ2)q= z!3(#4mMd(#A(tebMk@9~25|8ybFRkECp?o!B_V=vqrcvvA_%1!hY=8G#PW??G>TJ4 zl9)?8N>W{C#b&Vs@!V5y5a&|_AAI7*39bWE)9m!4+@WA}$&noDg&B2pAQ0dDuixJ! zr*4N-cK zT_x$lQ_F}UG?Mw3i>M3x5h_d})nH3E@RvIomsb3J$w0W1;DZ53umXIrZgO?q9@FHp z=Cw~443T%xu?n;uo9FumIapG<#jR~%@Az*)ohfzEj3sYv+h*++pc_&xV zi5&OExRLy4SlBm%Nl_x8&UP9dh<)}6`p_v`)jz-$QxpwzUV8n4R)|LA%F9+P6S(i- z(Z`joliEI_v8PZi z#b?jCV<*Ee7o%|VL<g9kqDzTgkDdg#wlxC($>W8IN zNei6Su)IU=?w|L#2%8@F0Iw}V4d&=_aKn`6lU<6$`-G2dKQs46bX}E(uLx2HEd_ z{r;xDEGar$z8}0T5zGYZDT7S^?ROgt z)I-=^yjwSCJ1)d-EM?s(1>Cctzs{jDqVf=j8lJ3&6aewj+zHg>%msld_hA>g0({_m zp@;Y)4F>BPCVzqJ^>Gv+?m2{hH1k#e>zQ3qr|Oe!ttZN^d;X~!wz^9)?y$q>BB1{J zzkYwya3ZrsS3SE-u~89oiTFAl;vcsF#Mximlc~8$&d?HlPMj!<8%DlLD=IWAYITRU(ZcTJQ8iZSxQMm>0A#yy15>;XB<53y>lUoS5IYGJ8>4 zKAWQgI3^ulb!S^GR;Db?NbKGJ$KE@C=NWWups~>yjg6*p8k>!6TMZlAHX7SD8XJwB zG-lJ-&Ux4B_uSuF@A(7H`qn!8=WDK+J@?F>jd|wz)&`ZE8Ne@yxDmGNAi0lx>jbZWo%z51e$$r6i0G!3CkZDq8G7_6 zrP_brZ>o?b5S}zvwqWjJ12a-YoSK+KqTv<|$FUbJ_E0~|vH{Ki9U-^TlFp|^hCQ4R ze35My#P^s%0b}!@Dw>Z>;%bsqARPG#oM`Lp!)yku5B6>)JT%?3QQyHmn;6}I(mq;s z4iKk@W2YuGba&`|IwjZzi)(-^+ifrE%Px=iq;0G5OR-;1_+%D zCV?ZIElC-I_#*g?ls^^fON6~K9}#^p=55|7CoNEgM<*lUhO))|2;3`qcPYq^^uK$@ zN#1(hzuEG6PHbuPq4kRlj)J4IbwLOG#Q*E>H<3gmn(;K8bE-zj(>NiyIR5wjrg3OO zPPlhvy#8WDz1nTb_Fw+GIA4&M(L|r)a%irz89?)@=}aVqv;9X)BmqrB!|ZG5xs3UN z+kyHxu|8`+&SASM2&YQ!oJp|1b~ixzC$AK>KK$2`2(Fj$2&{;yloep6fqOfL~rQEhIEbIF*Qj`2MfI-$X*^LPtpj;l!yt zgx_6_B?|Lj^Hn344E>fPjxZ37b668;Ir3ICV`m@Uq$K~ttK<=kD5~m8&%gQ8TwQhE1a2y+0a4&HWb&XXiaWM3a32?^F%fSj z;VXr%^_1zkWj$;1?%!k{C8ZUUlH#jw0(l`2-{|=i0xC(lV7*x+3(d#KDgWQiU-W-$ zm$3#427S)J1oD%<67%bCVSin^`z?b73vPs+$B|f#dWq>%H;f$LI)Y(Ad^zqgTdXWX zss4QiOuWCOQYXT)-2x3i;mn>vO*7ll0rxqqEPee&t@jB{y#s2QHKG=g6!q*+yMOxn z1?-pdc`%ZK_}qDRVcqu8GP$Ze>K+ww;E>CM>~bdhd-h`m1MH`b0srVG8kN>1@@X`T zFWuE(2!d;#qnTTQ{jaK*Xk)E(-3>Ln6uGcOH#2PC$LgNK5FKAen*N?c9M~~*+xSI2k}LI5a{nM6r91n#ZkcN zZ}x3B{QlfzE10}d4jy=f-vOKh7p>+bNip~|p0OiPY`>=?rwf?LqaOpt5@_||<0sjb zKzz=zZiaF@>}t$mvn$zugojMpv&VjED)DI02E>dBl&`aF2c9k*ZxU)2!SsOcCn!Tt%T zeR^Zc6uK()P%7eTv{&C)G2z0EAp^s^SgOg&&0rj=F$mX(;Mz416S=H=Z3$^RRSD_( zsR-})v4!RZR}P5*Mi>xRyYPB`N)2Wxb$(W1bhgu}jTg2tvr1U6cY1G(8AHnj>P@yS z^K|yOqUnoM3c{D65>6FVj~k60f<4!*r0&SO?0_FM#5j&pS*KmFNMs_RS!Do66;ga9 zkcJj_s^Z`ms1Xg+rRt}Q%zeoNAVd0=m5Q5Lezz68yx$8Zd!HoE1XCz7V}tZS87Ds* zBNUR*vi;g~!hlLe<9g}JR4qb(4lWWM(WC+V{%o)W@9yMO0Y!j<8ZH_!_!b+oP`9cp zx3~d;L78Z76%)kQu}-rhV%7 zL@7E+Si>~LLTYI5E~j4>Xo|1H1oCP#Bw{WieO{+$d~6)EGzyOz`MC$04Q1!$s$@#a zJ&?eDt>%ck<@_Ue1+(_bJE8-xV{!lU%v+SvQ==H3+^;$Vh#zRoD6HFiO6FiM#3hlN z>=Jx}5AFIpjjeX3V|>;tY?y#x~ly?py3XuLb&mxT*cUj88MHS)R&Raz5@Hu zMwaQC=*sjP;xkRpmvO6ce8~?XMwf*v=FbQ*zlo}WyhLs)9FLS3lT%T~2&@;fcJ=@d zCBjeUBVt^L7;Iv2Ya~#=>5Ucp)WL-l;WTF0M&Wy9dX{+gUgAW>%*+Fro8H*K?}+Fy z;Fd+)#c!P<4g!Pd%-?gk3DJI|4HLVgaNU)|(gXP#6S?V%b-$rJPecYd<$m+Ul)VF* z!?N=?o{urLhMbwecURS-@eNM6Q7KiyT!HfBjW0Ium@!Ecj!0DPk%6pSScz z-qhZ+$(|KxHjutTSFJ2J)o2wbmn)LajWhBHvS18`gc=($_9z9dyQx5ZQk1e^w&WPn zff6C9vvtqhVxxwSrrb!+pt$~S&EcIH8N?SI&v&l$Nw0~Vrla}?F}hLb^^oG<)@Eh- zCBqc_4hDJOy z*W)nPQDRhuO33J_+F0A#8P-y=Zw2HVONV@q8x}=Q&yY!zze>#HV1ywqM83Tz{^Vi7 ztsb7#1o7cBj|MKJYJNwkgM*(z=+_80HX6D|{G{uD^81KgUQ?=;9o_>Hi|Aw~8_ zm@^kT*gpZazX_pTY{ea@y)_6a#;nITj}x%MFyZiC&sV~+ftF7M@;YIeA1VdVPMVTc z-{KvPKk%KX8)+nnl<5*x3t}Dbv;g~o+k#b-WABe1;>2RrfF`5Rfr=YTp8CR0F&tR- z9)=X)rxi&2-I|f0^qgZ>GFHpIi8E1{$emlCiuY#GCs)Y51HOCia`A21+I^0%niuq~ zLH}5n1{h&3ci8u@SelOg_=PqgJy>iLd^FI|Y2?u1-zDo`k!*vI1!7w{4m>Hodt%%0 zNrG@c*}2v`AL<8Rza^|qSqCt)2&s~PX8!o5Jp)q$nY{qiso0R^UGJ#0=2oXSR(rAT z<7+MmMfIN3R63&f9QiJZNkM!K^?D|^ECXxFDM@f~Vd$~m!pzY&V)lPm7@Lk1p%($Z zYd1Od?+>?17TD>uxAc@eg46ilFp9WW(fs{Qkr;@9eIuD-Te#>MRvs_m@t(y39hdml z!5Pbi+4!S3(Q*{t1gKXmP5kgfM>(%Xgifl|FijLxg8}!un(6maHzVqghx7*rjqe+7 z-q`!a__5(SZ_4<*iCcT>#Z22wJgIg*QFF&2M%UuDAHM0BHFkT5 zLC+vmY+BpQ7%c++g!nw$ye8d&}4_@ zfg@dAuqH8ZZ>-uC`d01YiXt$gpnfiV2IAteADZ2BYf9DpqcOToE%1Ab22zC|R+VdR z2I%43Ui1V?@e~zo*R4XaCm!6JqMuYyL3)_fwf@!BK|8m46od%IFA2lO1=rXiuq`bL zqVtzskbnl^dWdITa*y(l>vx3>M%X(N{CfL_BQGAJ?TwAsGvBO%eTccEc2|H=GSx@Q z<|wbw>jZa!ZY9LOi^4WI>H|q=EDYjfOeuJcH)H70X?4XIqH}?%lj-`jHXqH%==*$i z-X;L-L%{|zt&OfRMJB@cvRQ_ekrB|;d*7{-sbr5fBAptqFyVWWNb@Eo1wI~LLd)sh8NuG z25_6bctZ$H6*2qNCjn}-UOroQ=rZTnb1H1428Nc9IKX!kh?*&^guZvwl{FJ3o8L!N z?x0_bvTK7;mPJt{{^S6RugB%aM9lXV=15}qQ}^pID_r$NZU0D4>fdfC_j!Z=y}$On zbTw7tyEs1pW57NI7$cFc;h^&JD2BAJ$22?xgOVa1x`xv`S|f(D<&rBkihSGG~K9AW=2}=SXDetW1?+ zo?;$Xp>_cc+c~*DfBF(mr^N(;sA)FqE07l;;HO{h)A@CdMpOqofc|Ihv^8pMN2kiP zTRc}|^u8GIleIb3S3kM6ES95gcU>d~oK#v#SZ41ml$;4?D*R{HJjk{ z+recIHXeE9FjF8NGK3#Wfz`s)r$oR`=Wj1O`5P9KZoH4^PC9A{es~1`j4A^C1%JoM z@M_~7Sm&p3tCa)(lowByz0^9p+aDSUj=ptSK!QPO%nxu-%)^7eheX<6n2$9j1iM=M zY9`^l1o-Ky@>rRZPp(_?yb7(+z<#AKD4x)n>=#u}NsM`f5ET0I;X`Rn$W*P9)z26F z@l+TPUx=>X_I(2E^ybQg?}(oXR8nOpEJE-c?{};gIBOj?z)t&G+}n*Pm?Lw&XYyI} z-Ue#rQCG&fl-|Xd6}iPzlZk@(#tMX*UW?&&7vZz9^%O;^C%j`D>pHu9b#MgryyMl- zc{Q=bvkfr}x*A2exuUALP{IBQsC@}F6}k>gS^?FMgRZKpAok4ej_yj{u=__^W{<;c4re*vfl4c z;M;OHRRXoXXkX3_B`F)f_F{neQZ+f#i)jQBL|yenmMv~hq^XJP8QdB+X9+`vS~9r- z{VaylL(sJALuB>0`ei7{IBKQkBg?B2ISU=sYn6f;0J~~Hq7lGni2m%_dbUvI)oo=$IMhLFxM)dIx8j6CG#P#js@lWh`Hj^+O~h6t_GE&b2Y? zPCaxAJ4q73e9HC#k55{ z<^htVFiUW#d}ttCZ(I7%Gs+u7Sj{VE9Dbr2M0SaObzp{q>bMXyjYbp@Pm2$a?lqqu zXLh*RoiU*hj~zjw^<#)zpJI8qG#1pY!GidX$|06c=N*HJB(p<>6s_FY((J8MYEDM$ zJQlT1B!oUEP7$IHywKS<9~wz%>`>dFfc+Ct`y2)a3fm?KA$USosn9(=aIs=_a4A*2 z-3Mv!$A#||fSs|0S#Tdj=yf0?E@INYpQ~VUp>gcRr_XWDEHJpVGX(Mlqd#P75r3rT zw_PActA2mHM&~nbe}Y{WU0Szacp#bv>iYbH`U|Ig&qf=F+stTjZo-Mob#<%ObNnBh z=r6-;9e{h!2XVtRar1`+4j4M%=G_pL6jSKdXr{^-Q6Im>+}uR~@kfsfBm-lBkEzUZ z8cZfEVnh@v*!x;fF6t*|P2_YTKQWNLM)(5cHi*8gcM_wXlI~3KE zseC5eI;o|1^&@$RF~;b^qG}R$0^u~Q(s#=5uFx$Vt#oG<^oO%Pixv-pt7Zm7GE(do zB?ECv%RREyH)z_}$GX1jgTGQ3H^TkCW{u>(28RzAUn6aS`10dd_FeQl@EzRVN%I}{IBFA(-hnbbmq^Z`sA+| zc4W`{5{Uay=-vTKH?t)Fd6f&qmss3ayoE2}j{4A?>Vs^Z`yC?&TqVyu@}r`=`le|E z;1_Q-xF;*FyO)<|qZFI?^gaD_Q01?>{7US4(&79}{zeAk6QZTVESXk$D?Uto_w~Y( zVrMNDPk7;AwD_fs?*AB%+5q@^+L)n#dpNE!I1`p=6l61bbD`OWPV<)qT=U5noi$|99-IO?HD&|AZF8 z8r|bwsr`(dn&6Ewb!mC)kRw5Q+B_piKheCNkaf&M7<#{v3z zJFt0%Oe}z3Ar;8`S=P#$a?);D6(f&O_3$k_3cGRL69b7j|Le`13W%@u!m`~6Gk#_Q zzMz(oO-=0Z%BBXGEG9$=Se*CP8xgX&>iyDMmm^mrx^Ex!j*A zqE~zZ$eUbQVVgM>#f0)V+1zsdXeA>Ewvx z%dDuvOeln{@GhZciVQHw#lKYr_Cxk!)S_vONITrv+ZKGcw|!xaz{IvE?e3?J%S>*> zW8i$Yrk6+H6}iUo8vJBsz&34)gQiH7%}=O-RcMA=6nFu};W#UPreCFuL~~3!ku5}o z2=-4vYqv+-8>(8P~(={wksEf!hwm^A_`SV}Bm;Sy9t7rF#buB6RtXn^z^ovR7Jhf}MjL z3_*PK$T~zxomH%khR7)+nDJ>ZIGrgFNpoMFPL;?6Lp>a-=LgTFmd2tYWf z8>X+QI>*Z;QeRrTR6_K61By*Wat^!X73|wgjG~c1xU;k>H5|J}qyh7|vdz#?QwP>H zw*71$!oMwtc(au%(hZ^S5-vi*cE+8n?8%a(qzGXD1k~OGM`>Kr$j#X5uz)niA6eqd zj&iR4%S@pkpvsoi^>emqQy6!ew2I3NW(IZh44M@JBUi4*_f&-+*YotK5&Rw4mp zRIP!tx(IOrgy!-n3=nRfFOai;`Yum8J5>8_K|N9K#$Qt6v2f}jf^sscKHC9=`>iRK zh=VEpg|iE4j4WkO|L()hQovRgl04l{xB$X?Ab$}6UnTJ>wS?;}LiX0rv9hw+@8Ap3 z!(sf35i<9)>@#3L2wi>SsD<*KlPqE7#ip-#nBynGkbbWbozT(+ z?W)5mX8^szNT3cpM$;>eq30$7#-9Rxc(8v0((h9&n*yUxxNvJx1*8+b5+Bo<_e9`F zyCN!>FYKgKQ$T%UAiCTW#V1llPtt8uq5t^}6BF7qjcZnKltR7sCQcRbhlH{uy`A;# z2&Vf(OW9|qy9N5_O+{X0Y73|Qy?`p7K{I73mwfzpQ=msv z@PjqNlO^Ea7K_GFI7)m$8m`HHkzFnw--lLfV)_z%@4)PgRX!#11*Aup(7L4a#c>PA z^3GAFg79E6Hxmi&q&X0@XMo`kRIVKG_1&ojP(aK{?sL~|%+Kb34qz`K^7z)e&1f7Q4#(wu=Q zdBbZH1Ag!*Q4PoL&|iZQ(c(Q^&d|TAv?kzTdE66=#aH13C&n5ez8_@)I<3%Fq2b_u z1ub@@D6y<69T#sjq66UI1lF*GxFDRFH6vRjd7rybXw1~#gd=6J(h9I}_gPt%!u7XE zUSBW}u5W~Jg#k{J$yR*tfVP(@a-Q-1hd~zhDXuVHIs%s^;IC;$wc%^<(i&S&Sq08m z4{-NLx8%6HSmQ|JuZHWz1pvQyyt_PdfdY$Bmq0@99@YYjCWWubcp$fL>N~vt|9Zd4qTVp(`}aG#kg*X@KGnXHr4!m^V^T9(|2_oB~t0QQ-=9s=*~b$U?U7lVE*`(K-+ z%efkz0WuDx^=@V&@0UiPc{qTj{hrZ9-nh4Pa{una0{wJ5N+x$Tk`YlV_Zb3=hZKaf zmeH|iMUnchgrP!@Zf5PioHh~SF-gJ&@vSf~#AOJmH)&ZpOLXj_oUxM~sKu+|F2s6s zsl2@?DP zA6M7abvZGom(ftlT07u~JLS9E0o| zj7(Kc1h+fE8l7e&DX1TLd@ZV-h&y&=9fAk-M0ovT3i^fu7`Q*y@r=Ozdb1F? zX=IjOGm2NCM2)Jw?$_t3**tc=SV^6VCw~1-z`x!W*SDvQmXR!EYo}oecY;OYWEw7N z`1U-v@I7Z4S_2Z)Z|#Ri$<)VnjJYC8sQ!SzWvMw|ZJk(Gpx_ha6`h3XxxF}kd{k8{ zAbFVA`p`sc4+r&M`fd0aNYot*ZMD0Y2{z~|73?%iLnHI;7a>&2N(NX%0r`%e~mwd773%qn+tJ+VAr?Qmf6sRIThz&ByG?&AYM|t7hDL`-=a!z zs@2T)o1ZPxdmK>|>Yt(6YjZWN3Mo$Mx(lQcAYY`zXBhEiEL0+-oQGE-O^ZY4dyfTf zrAY*RUcv6}&sM-6N~O~}eVklznu~jXV?jarqJ^(B&lBl{;FkKr?(r2J*oXMGnXwDM zbbpPT&|tu%%xP3#|L}F7g_G~OTzi#Ko(Jka&`ZMK3vLie$Faa^YiSvWb!s*inWxpc zu@Q!rceCNtL3+$|Z+h|En8_S&g`2XPS}-ZL;E7!3s7(fo%cv_r(YW45!Bl>5cjE ziPdl5;Lw}L2?AUX={NKA%e!(Vknd?h5A5gAO`s!bW^QWR%SoU~AKegSY5L)`=7h3DxBG4m&S1X2Wd*+z!FwZjBKizh+9 zfe}uGXZHH#8jK7b1cHP3K4CvZr0w8%I{Ss{mApfWH~-8j>1YpbTMU-@y);j64Z?-7 zNt#USj?-m%naWy=z?hcEgm1x!5iYgNFUe17DAR&)#!qX-8;+vt=fn=`%i}EJ;#Hfs zN33shzu|JvI07w!_-~e!1k$fxQHG~Z=%-)THRbDD>YwcZi55iJC5GlXP1)neRnbwO zSfA;3-}`rPiKf2 z>_i&Osyxrmz09Nh!8Z28xmT&mv8ecU^sLOFal;?cZpTU@CcW|9WU|0$q+I-wc`*)` z+)%Tr;~tSWCIR6Rs3z$RYNjJUgWj}x^Aj4>^hlkV&eD5oRf-;bgifV`1$}K-QuiLqNJ#ZM_ zb#&%6N1A{721&AWXw_&0`9X zSj*&0>F8+<6$YYwfjfZnb*CUvC@t7nQ_1fAu{G;hE_Q4kNmQ$tZ1;GNFF9cg;^X|` zPz@9E5QTbqj!w5IOypj&)MKWo<DDMiK1lU&*7hYS^EKirAjjO=t1C||b^*!_1`XQ9`C#L;(O5jTNve~M9Y6Q5cV z)8)mF_!`?8{`dEQ`&Ee^(M3$~>jrmL1}YM>ioq_B+Lw+TabhGMqm#FQ{nfrwGQdZ0 zPj^r`=tx$apUtL3&N+W7?#L=;V%8lK2jYTkD*Sz8?oIGA`4p%E+dMAiLHw0`|NQ%s zFE;DyyF_vzea}`C8hCotLoFBIZ`-?y8vbs6as-hKJE^Gw;`^?~wQNSE7wUA`UAE~N zqvLKHxO@7%FyqeoH*M(H0`QMrR%l@C+X>@{U_KQ8{&9vS-#hht-ArgA3iUi`3Z@x| zlhgh{Kpw|=Lhwdae-7E0V=C@e*Uev+dqn%sy^SJKDIm}9KFk-${5Pr2wc1)Yro&K` zftJ|u1)8?nji>5wE4D0bWYX0vqFE18q`4^BN5S1Yv=uF55rY#wWw|`ueXVr zAqUTCL1w_6r;g95DFgD~K>8_>j@v1z6Bb8Wf3a5LAy$I%T-eoe5_)&p1)J@$s|Cix zm}+DK|DUH?FoUU}s)zarchC-XH}F`9ZTW8){uZ)*0P%(8+MFZEv|H4pi6^B5uGudU zl`S$^lYCdoxaKRbhzINzWYAkx+3cq@`L__7@?w5k`mmV}jD4RlPsr_w~T71)0Nsn#^PcjnD1$3gXG0_nQZY>5!1Bn^wp?=ADx#{pFvQHWN-WKOztg2WIZ2 zZAD1@FmzJ^feA;S$MF0dSxHCbK%*dQU;!M^ql3JKfXXZoFJOIZqV&llz_~a?m(48e z=-5MHQ=)hUsKXyEh8oBa%tx+-w9#Ak`$?~dLIg4*_z%_+p+l-KnF4&Ags`f4-+pq-lr|uoGr$3P8H(-{Mo6-aw}&y}&!_}lJ#8&_;_2H+GF1^)^96)p zKz`{!%l3nppo$cHTUN>GA5>~@{4}F7SoQl06SLV#c`$O&JlC6MRp3&Ng!k9`-3?~k zu;UPrP&x3vy%en)WEj=91O5_XMq5>)cd}U4LF{z^|Hq2Hjfk4)tFoz{sSd6NbuYBM z)&*|KX9B(pwr3)VsbL&6uzv#T=VP-ep6fi$Va9Z!hfWfF95R`$H_|ZQxD4A>H=mX; zHVC&$+A>QXgzny%tN6Ua!mg4-R8@EDnFe>l_Lr3&GtdZx^U~k56M~cew%T->Z|+y- z$O``wSgL96-0r$glu|O?Jt-51n>6p--Z5W+a|x>BH~2T*irD??;-e)8)rBg3 z?H@7UH5#-07B<>Fje)pu4%)1-&Cb|Z*YGGR*txe1;dS$Vzuy12`hhHHsTvmWZ*sJ= z*}C?kml8KCH?pE6kBtM+Efm3&!w+P+zRdIJ0QQn$RPpGct6#U4r?gbqb^1G&IOJ^t z-$C06LJKm~2@W_&5AXr%TCx}M%=U#M-sA@;P9zSuNX@5n_m2MrS?gP@!1&Om6d$it zAZXG)T%}Ja$+bc$rVA_P#Os_x>Nlv(YC!P{zSM&~DRvQyXM)(`TG;^l(ANo~ z%7x4A9ms!O^eiJpTias=3O=5Vy{=4pXjArN*0uSt`&+PDAVCB1+&kUs=((2fYgpiv zEp>c$yJy7rp6f2GCInBF;lBu_5Ct(db(67Vu3Iqe$&CjJ%`u=FYmj5MK$)! z-Mg4uxRAKS{k1+BrMrZl4CMPFEz5N>ZOquNRMLGb-m9#o54r`%xr`vtW2}SL!s>JrxLRE4;*fgbfd(gZvlcxN7te%g{`FcHxp2(H| zk+Hg~_(wrKJ8x4Zx056W2q&{-_WCh}cB$jr2JH<@MK6P5{HN>uj`;~w3Pev)7r+i? zN*3WO;=L_?C|$-kwfmJ&zOvpt&^1(2#(!xrb*>5QFXylGS^_@%a~ypw6_OThH?-z+ z?CHs^7d{j(YR9a?G@yRbxZx5*h*zC3ou#+_uvRqb@n9Leh&}T$Z3g!l;tsHZaCk^M zel=dhS(=|!39QlGF0*K~W<&UQ+Ou2X6u}8wf&2jzOdc5Y!Er)rZyerdA;hc+r=>qD zV@8xFoS%DV`Z{TOg1W$L&gmgzw&-!uDjDff!Tt%TAN~PWqrU}TgD7%-&K9Cw!tY5& znE!Q~o>C8uF``An0qj;X8+F}Jhh49l7wUP3HUxjBpQh`9+lZBpT z0AB=tdvW-;Jl(5w+Ak>W7-A2He2il}z9!8Ph-Z-U*DHU>A00|?B;o6R&mn+&+0ktX zhMI8oZ~Q54ZHWdN-#p8#0ToLY`^=OIxd&d|F%~#Hm=|*n)voS_+-zV6F$gE{L&9e& zR`5;z1dfXG=0*3JARt>=sy#alGl)8lDICb#8y)6CHzxJm*Jvkc*QgJQt*l&eB_2x~ z(O|D%lT#@Jeg>(`?TOTIpt$yy`rrzy_}+W-oHWh%^M2Rz5sL?l1Pf5VK@uCn!$OG6 zr)8~Xo^z}3Q;h|N<=y>~g~++S{dIqVbqV846HQevKFb;qa8ai;a)sP)fRFW`C)DVo zP-J&-w=_X~#<_A6)*h9_-+#=!DQLxp6gW?p{0uwO*z(4Q^&cCrSaaKqC$(%oh0tK?BL|{)UU=9i#Q3eL2*A(A)d42#G;qq>wtaZoBJTO@QF#GsImqOyMpE?M475Xqi8)>**8WU zlhHgNFJ?f%u%QJe@`RsBX!k{S=Fw{Xj|l8!_LXE+|H43Uhb*XH^83$ZB5$53dI<-x z^F+*fMF_+GE!_BGr;@BEK_tG$Ae_POJo8eDA|)Gct5Te6TPc|;! zS9B1rxDh+dwVsC!d@=Y;E?WJ7&pIWWD{7;-qc`Mph{1*_2&W0}=R(IOfm;i{m~#8wundRygERr! zLKS}S&Xeyis+v`VLKahCUAn9|kv9zQU*7cYGK-#tGx4MER_hO3*@JB}gtlZ?gMs*_ zdvgV2cu5#E2Kysn`RJ0B5v9pL8MT*ze_)`vBs>B3b+lOoXG#y<%m}xrUncj@_o>nW zDT`nE0Y3G`-zzTsm_U5thxeh37tcSIAsz1Igug&~1V1``)5Q2~%(k=Le+Frz*ZW0v zybjUc$H86>uZme08SI~c+7sON*IGL>-8spDhX|kLL?ZCI))5@^Ne6QB*u}CT1Mx?x zRM$>Ydw!=Wj_uV$&SQx{xmE3uJnoio)=NjQf(|=~FAr*bVrHobnM~{VFvPGMVMh_+ zOBRbf^F}3*)y(QZ$#?#d z%5BEUT%WYJXmc;hSz`dZG=yOQZojA*lz41cWI3^|9g%o5EkU*2|hY`VibKH3NJu#C%T6pfVr@Ul%4E9KNgDo{sNbTv*YDxZH{ zSKUaS0`}a`J-N+C_Dmpg7#fBnwO#%OzRL0YmW}_Z;E$0$%rwX${#*p99R(-%bYykp zF9NtoVE+U(?!HIt=0SFxZ!?eZ^y^l^R*Cb1$uNe<5J|#*e*~n6fcP7Wt%PHWy#kVj zLyO9aUyE{xwgO%D#BQ(2C@HqNj`1^y&omO+J*d!$kK|eg6}rYOdquJ;N|m$rCvPNS z!Cc1zJP1bvL-}!g3i0*Lu{25HTU(kof>bV8d|nhR10EARm^aXGBiSrZk#U_E1(7tL z7;J-+@Hf1+NyN6hjcfN1T4py}5TBD+DRB)ON{}*xsZYu&TJsUtLl4=At=A0mO|9oq z3t$ID0|h5%>F*^zZyTX@Dn^}m4qN3c8t=(`$Eg)|M$Q7p*C6)Nz~nG%87n_WWCEMY z?qz;V>tVqSBVt{>o z=!3OkOJu&5oJ3X8Z!)sUlF~#&TU&p94R@2hic|zaYXW+JW@l|7&e2Z z^D+ZbV-o88LLI*=iWLLLxkF|U-(Q;CCf7^JBB;Q>MLEv-eO7j-FPj6sB|G4 z$KXk_O)I5$a#R5EO?gCn&lZ24;{T|6T>GCg{q`nTv#r*bLT;OSg1EUIwXWUE^miIIb@Ba66$a#C9LhSHzjWIaUMkQ%Yc(h|k8s-7xLD6v zRCwdbrj&jI{Me~58KGZp2z3Ne9(-JmnmzRSy3e1javhlhf0Geu?*abvR7JPf=X$pv zI2*GNU%iL_^oa6fXBto2a5_|WT7Gz-9Gmw1aN|PxL5k~2hr?i15&`U=fb_dPd?9*T z_4_Lw*>!IL*L4}EI z&`FkHwkg>T5I@Q_PLbuq-}7SMD-=42_x$mVQ8=l5aBs0oD@voqNe1$PTu#i-S!Rbi z42STKA-HhH(h@9i+ZNGJzHx^n*%zZgJ;1R7r+kOkLNq(C_u{NxO@u9BrV^WqoP#i# z6Qc1R0ysY@UmP?k@;QW?HciX>CrRwUF{yKT5Qn*6^>(`bqdI}_36E3U`LOVX%eTu& z=}h+YjIL!Y^{YUJH>XxKHFu;F5Vvw(2RRjHz4EjC)g4{^&f+Cv1uHdw7a22l^($%v z78{7KF4rMkx%6hPJ2ohrwSsWwxipNQVnj;?FCg~|ydB*EJL6AOiJ2k%HVDhwmTA|^ zk_4?1n|A2A@W-1aiEg&CjnEo1>%b@l<1(q~XU=Cs(K^qFzJNfeRqH(X5Qq&ZP zA6IG&?pqT`IIeM(h~@Xm5vyYbAY}(xX$PPJEkDIQTTmdxR%va z0{i}7)pql-PlbdI{}WG-%G%y0@hgb0 zuvFMx9j}?PTWr4%8@?h(mrP`IJMQkxiXTsgyNeBoOZaOAsNduh6){Of3=@Ar7OBHqLjkB$q>69H^Wy!S z#dwxXNf$zVHyX`&QR#T5(V< zwfW14e^L&xKYgsB7D#{0G|ufCi3S@z(5;N7Qhs6ij3!yk_`a}STY&f+{w91_jeAY1 z_taO4s!Nah>+nFZ1>3GmmfgL|W9y6o!j(Hs@#har=@O{O`a;$|m}C-s_U- zwLmFBAJv5R-Mv=D37aNplR`TPsONmeNL8rwm*B?IpKhumlnS=u9Po7h^aq29`Ox^u z=>l$Lq?UB6Ar6dP!Jp&tIJY|=A;cGJ69Eq+6aH(y& zXJDW4@8$LujABgRn)RjFyfMXcPP~V6ec1A#d#uoc?jQl?HOt*h7Hi9Iwd6R$i*AL# zu(Mj9Zwsm?>f~e43>_S-w%TL6Y~HY`tMf-DlVjKx%>TaMP~4*D5<> zo-irKt^}6UFzJTqf8TF9(qrGqK*cmwymV_ZRO!2QL7VXj7rEp55d70|0mBv;k9!S~HS(Oq;&dR#U+G6KosqjO5Sne}pIecp?F$On4~_e08JFee@gX*Q^gY?S_o0q%}c;SiH0$!#iM65fecN ziA{uzM^YFDIR9=R9Atc}{_r|&j&$v)=La6yY|Iq1R!Vl_s8iNe9RYD>ZjoxF9?EX5 zk+4$W&%kvzhciKVz2X2my1nC5R+3Y|Pv@NUY~?0(=5LP}rdZ`>5U3St+U(AZ1<3WQ2EZ{%L6irUhjBG?*u%4IeA?9YZoU+pN!lej%?*h~{*O;*-PD1;%u$3@^d1lPw+>Vw9|ZL3Zyo`ed;%;t67 zs@BL&uOXlng$r45nlMP3#o`LgvlQGIoq~3wsI+}Xq)pL&L#a4nwHv%c6>>4L3>iE< z;O};enec|K{y*fsRaBix(*}yWdw}4Opush`ySux)JHdh`xVyW%ySs%Tf#B{M?95to z_WQ3j=VH#q+ zkVZsi+i^wzW(p-nWc9@u+zDd=y>A9$n%Bxr5QJ+JDWId)$0rK1u*>|~&p&->Zau?PuW1NCGFsBoT-nn0PUI2MY8<(Ch-UO<#X# zp2?x|l&GKT%VhA`@Mn1-&a^&&NAo=UMvT}B)}Ss9{!;0~ihuDKkpiJb(981i8Hndc z`NTARm9L$$L&{#5Q_haUFwA9h9_MgZ;pw3LO6Kf9d~cEmmSpDy!8hRbJe`Kh&SlvB zh>2>fmk*2H%&WWS=s`GhU#_4BL!LC#`N7m30^Q_+xqG(F7fRe|a|_yyL|EY6$5ch9 zE6z-|MvPWgba&wa%8Dh?UfWcC-;(F!9j=iQHHcnXG9Q}r*L%cug}tq~;JMbI31;VV z;YHKYmSI>!R8qhX+JSAb4jY+MsqB+^F?8K}Uiu~pE0pf#z$0_sY@s9q#1#!~_)L!u zWQIa61-<4Tb+0wXMxtD7Z@oS$Xk=r_h=AT<-|d{5i{73_=tiMPeH7L)|+;Ci>(i)8YOqW#pWI~S3$)*SdxxXCdpIEZgH zjVLd@A|QGW^l6wYVN70}{g?Z+{WTDZ@3yeYEHqooV1)d>xFG>~D-^h?n)$SQZC=H> zrX6wv;;6833YbKd^(9d%5;e;cpsuk%#6WlDv!-x321Xk*CyHgLtx{3b(4pf(1;HwAOAR)rc60r< zcHrpN@1lTt!{gP&t8#TSZzD5_a}3;O7JKuVpT}Ard}oBfl{VW1^!XlQ8Y#mD=W{3O zdU$N?7nN_l3k2^1uo~+IsA%RQA%Q&3mgfYCvC+tt`w)L<$%0z$=-zf;|2|f&Xdx{; zU6_FwNdCPX*?1p1J+c`-=8V7#4HYE+^$Q6t*a(JgLCXj1H5?${uzeN3EGL`Mx#aQG zV{eTW-?Sanm-;>P#A94A=|JKd$n!By?=Rf~Aon^x`>(?_ZRfyg;v5`+bH)e^Pcp^0YRspv6gh$2U2*RaAOpls~lv_fg7TG|; z98^du-8k&5hUyU_VmY90Qz(IO$%L}0%>(vM)DJ(NJJ##q6qSSAzaP%CBJ;Yg)bnIUwLjchu zYhs-8R9~CNuMhQkpYWcvxPZ~4gq4_E&t57wCp=sYgq!i~grUF|4F0o&P!HdGs;*kz ztWP!0%4F)8TI0X30^Gv|r930LA}RZ*D~yM!xd~3L2TOj~HXX5UV!@AN>eYaq8=l7% zTp-a+gwn*^7*z6Fw!=3ODGAMY<3Xrljz?qy{Kx;Qf75GNyv@KcEn7CqD%*}l4K>Jr z1FbJ2_3A?(#H!;dUmJ=-qCxuHMOUt3n|HvThpsL1Hx$5s5WL6cb!8iC*bKGtZB;@U zCqx#mWwoLtR}4SeD&=GV;-KLPZQ};ow1-W2D5M-+>e{wI3Sw(mumL`Ug7~M>a=>5e zZ}k&NClx=P^Er9OVhUnxCMk4Ej!!={<~&Tg4|8YO-n` zUGLB_j67+ph_)=)|9cl`d6705roF47DnmH#L;?-oj`XZD%aUH9dewX4AQlR|OX-gr zikQo!LO7A%E93E%@vf+JtM+_&L*VnwQd(n61pH;LFo&5tJ+X(g!y17-sViSCUc5y71MP& z9q4o?^jKatT=dMx<1+*Ug0E-aK9CNOcESVkG^ry0dp~R^{GHjh3Kk#EX6i!nDkiq* zhE%kB%_PNUz|Q^JQ*GA>89lcg+$(7ASS}H18q)2@sR*OLvm+UWo&fxox(cL6PSLw^ zd&#f*%D?W+P-Sm?f}Qn%?9`schy#%sikDf|xH*B@Cys;lx9@MBtd zx%oF`O!P!pByN6VA<#a7`@1fJfW7&z`ZpnTwmN717RE3ZnGlIwn*E3l_V)nE-y!)Y zGkr_Cp-gLVf^X3AY1DUb4CQpNdKmw+XyHd5WDxGM9W5er)F(kZTDl9?UE{Dmi_&(^ z!^^Q4mkDid5eLXKBurC2f(>!fM~@s7IgYV>iShWQEDavVVwD3GKK>pXh_7ASIPai| z_jtmV4?>oR_q-$*ha#9;z(PV13ZAY_=)pmJc}nD6T^m-77Hkkc%ttEMoc_|B|GK{8 zK;QMPS|*d#0fc+x+jJ}Q?+nhK0v{o2F9{hp92qbwMv1kn;YD3z?*#Heis5ek{PhUk z&r{S3C|~!i&z9wSDsqBa_cwTqVBh}$;(B3KKLd$3%6%*>b22T_c~k2VdEu@0b9Mp6 zd+nFNJ77P_X2U!GRFp9z?H&5EFVoD)1eWDpFk$ zS157Vn3OQMl)^I_`apMVkfbFDN4A+1<2U5DKzG3(dUc|!ICWX2&cyW4VM#)w%B#%; z_;VHc*a%J6D_}QpsfT872R@RMsjz6jE=6M!-*8%ca{zztzv|y~50@=uRl)-CP4`jp zh0@az4eaj$nm6Bj2&$%HTC>x9>SBfd*yUGe1mogA*3J4X4P)SWgMi=i8Q!JggNMZl z&O2(wGEcb}bY4fJsZ(BZj;2OW9LH$jJ(AAqp^w2&4vfu@#QVeVnjy>_5WUlB2W&EFtG>uFWYLG!ajZk^9Wv}n#6QGa&P{@BXJth)$jAW3V zzxqhMPVr;aJpi)7w9m#j<$wXu`wvcL6-3`_JCJ2VGa1j3M3|&M@@&YQ+V3VL9`kDz z0rjIyOT#YYd=`i48(8XhWeA~-_5C3o62}Xf_a$R=>r~*N^$tUpWzQQ{$lxoutrH#B zykc-D%Lk=B$*Xbrrf-9j19I827Y)-Jr>_X#yKR4`#ejzbjn<6#4HvO$C2n$FmIgTI zQd|b+$M=T(Cx@$=#T6!fdvbD)tMZsHq0?E9r5Y2!`3;q{9a$h?>AIt+L3G*8xQ$Pl zy%Mk9i~J*1=F&(`rt@#O3$L3SRtwbRpqmBebjC3OsxK z`9Oi-Pixp<_r?j-dgZU*6dMl9S~#7AK-0^O-Mmj&mo?(%FyrA&ox5jhkNx zfp;V#=nA6{q4z({bOT5bXdAu`tU{C6Fl)7_ZfDX8+&UYA`0|HD4aM!1=2V(mLG?lJ z|GKPqL=0N+k2O5f4xy#VLj>WvGAdz>b-Kk(OP7aph!2GAPs44yR@>O5(CL_@rk_nf zxFmyq)5*g6;t~bj&0R(<9o}vvLPWNOEIj1(!fFVPGyJbW$IAQYC2)J#v(}0#mc2IoCc}LxalZcu!zZk_m-ut zyFr_uKh=3_?H$>?xw~c>6D(t|*%yAe_{=k4z60p{KoM0efnfKyGk=b8C*?{Uq{>cmk;sMQW8^qNTN>klzQj3L zBE)y#!0+@HHKow#u>_}+wv^SN=@74p1$Ppi;{)*};6&G7eVjQhuU=LRHrwMM zYYA<(D8g|wp+R!ct>Cw=*QfP1%*4|7kimVV4<;JLI#DASX_wl*qO_#~;czL_ zP^)2nh(lLN+B9Xd2_y3jP1EZ~s_h0PPuFlz0{RG{(vnM^`>JyadGSq`az(55Q2i4{ zaQ209-0+OK{T^V~m_&}3H&PrJ@s-~nE2nulafK*l-!2gv(C-A_(36J%_VmnFV3Wsx zs{yYRenr|Na^Xt%M>Nv{232Z!*z)gl9l-txNMsW)VzCNUP;ad5w1y8Cf<*?{@q+hb zoRHVn#fk8O){)`vwpl~M_ceEbbdP?Bg4{$!D?DuUgBfv6CBefh6;OwIhW;JVa-rHS z(X{_yJ=|YOA+qVwio~5QE^cnF1<_&!q8D}fn#K+-n%dW#XU|30Jg1K|d_ILg=H8=P zp(FiRAqv9%SN)s9jeqg*@FpRC*4i@m>wNx<1orm;@nL*h{ZJvwB(@xGZ!Y*_VxeeI zB~kd32EOT;;$R#9AfO*zg@<;kc*#t2P;!4S3`&i<-{6x@)vZWQ1$W=9rs-YeBa2J*RaLCQPD zZ7ZFJGR+6j76N?95woUG2yhN$inLqmpEa4$$@!uVz$90k91Z(}6(7a}&-IdtMV1E;Z=0KJ|3L%EP&h*g3T zNZqn-oU6=*%cUtj(d&yHQtjPKw?Mr?ucB4!&d$-pPI^;smTb+-rI;boIam;bXUOfg z#o-fBNBFP$H!%flDv5`uNo69_<6H*NBP0G}-|x_PJ`DUy(tgc3P)AR5u+b4SnhPnh zqd->Yi1t)=2K+j`pGLz7mQdG+Sy-MGzR+)7I)-LesMuS$a1Kc_98y5u@9Tj1%n6N+ z8NJ~Tip-y32rA?s4?oICSkAbvly)Qp!h_D+fyZ+(!<@N}^|kAE?hfY1n+W6n2TSf& zDlFaR%1U)0Z}r_xbbOQ5_|Ra1mhUm&KuMbm0ark~7~HonrajLv7|^4`QFFCTK{(Rn zYQ_1H`yXur$d*bii!?t#7f!(QqV)jpEsr}tJxqg}{CVfeKF-R!64pA~|E!Q@K@OpO%vITt+)}iZ^z@ zpOL*q7HQ&Iy1a-dVBJLhV6*v22-I=@tNu;bqa4)CVO)wIwB>Xot1WF1{;{9IiZ#KX z;NSQ%BV6*~*p*6XX0Wv^g9B)AZV z_K$@~TZaWDK>n0wwmx^_1vlpy6vM{w^cI?>C*2|Rc;^C1^Mqvh4?rHWRRW4@2-Bbc z*B8e)k5N;Btq(Cwt)xGb!VG_TYgHUeg5;VQ(yX4tT(345o6mulx<#`~d{lw;J5}C3 zy;J{pu9F}LhnONK%?++>M1!iIna1+huQjja|6H@-1lkNggjF6x0($v+l%`^zf$Stg z!yJ>R_*JTKYVoZ%tSMqex@-}i+lmcDZyCRSK54V?i@+EK#xc@f#h04pUaq+wiM{+A zEt$I{SrG2O>feOM$}1V%F-{r2zo&<6h;IiE_V)nsnO!wbvw^(OAI2g@?Lzi?7@B20 zlxB@00y|Nk>!36S1K}_Z2VR$LN907_FSwMGUAtf>@37o4mo^i`1w8qs)XRWy4@AaB z21*{}7B*_+2i0c0T4D02>-+81>2}_kLb%6hARL9*&+mDLht(2uz9|@I{7B_%;>IzV zyb0DPS#QCGGao>>obb#tHV4uV1;Zl7^53Wn7~=OaIqMqkV(Wd9xwBsYzlratk^Qs% z1yStMRUKv>v|*1cB#w`W3Bz>OQIfr44B(#%V3CU0Q_6apluo$uF>cThHPRI{sO^QO z^{1Mf+Uo;(lK-lI6W<5}jWD!}zI2uhp_8Nw6CBvz1GGMaxt}b{QYcOz2Uhx6UJ8AS zW`mg2?=gK`_#`w{9u)yUr)1RXxxPW+Z~~!J?EHM3ZSUcfG8Y=2tBd_$_zMddund{h{r)8f^Q zCv`g~J_%DZKeY`&Ulb_p=OXX*>iyn4o`de|jTlwdD1vsQe<+Rp4yO>D0OUK(1!nHP zTN_o%l5lk0-K#eDd=-1d&vIA67mI0l2RQ-A^}p)hlz)Ya>=^XJ3=#a%OhYW4680Z* zrC4ZTbSoM`b^ZQ{vUz~AE>u|qG-sL`)7W;T6I_<1)4 zC5N8wG#zigtNVWJ_tQJjK3!v$(W2;~8UJWx4s5AR`aMPVfYpo1(SzwU*Ch-YMgzjp z@rXPSM^vS^XHTNFPzW_3=?@)TVNGoa?w#09z*^&ia4aa$4d%&2I-g9Tjt2JGfiKLTS;WPqEJCPt-DhjbHIl-N)U_lR zR`ZG`E)Nn0H1F9ZGhJgg_`(x*&)w5Qhfn$M1|~1@@DRoWiFDA5*?@cdU-fUY!k{BO z5|VL2S%G1356q^XWmCiCfOe4Q|~?0;apY0hyqQujCU*JP##&AXXo z(CAy3xiSruSGuka<&B4INUMkWpfAf8*}z`)R^a~p*ZrF&n{})ajwo5JiuA?CJk^k~ z|1p19a+Z^EqKxdfi+W<26maOz^u1rU1Yt%fWJ}gJ1YOxd^S`&e3to;mE@(l~Xsaht zQ>qC2q@qI=Aw)jIA9ceo2k0ZK$3`5H9WMu5Pr<%S4>0z{lRQ4!Km?q#VvCXl9_0-5T`L+!sF8$Z?Nd%pbau4lGBljx#^f<^5WRA! z(GlA?^Z;L{38o;{XFtnf<4cAIDcE;}f%C7MRIngiiFt>ksif?R1r6|fIKS06fy z&d^`w&Rws67KE#_xJ+h>bZ684mX&u>H{mh{@!dO}?OlY4^8coCWB)lidRk2xhZEs} zRE>%26J*&FG&Bf@L5foR@R1hN*mVD)i=__{k6vx2@2Anq=QttVQNJ}z5YEO2@xx4J zNC@1Shelk3Ai1R;iNfg$NjU67EYj`p6$1!Izx>DB!PQDjkHj~m&WVYzdXVe}%`k;G z4*v6&nV}-!H|mCq?N7zb_<{Rz7wocqG9Kw&V>>2U5oS&b3-{2H0M7ecd**Y!=Z&l~ zCFU1aR>CF0+mS} zIcYD|7Bs&jC2PlAJHIa3JIhs7K0&*9)oyo7xn)TK>$Y^nt~_uM&X$icPPHNj$(`F= z{8yNeo?VbO9sA4iy&0~stUaueFbKEOol59=`_Nj?NN8`?b8aHGwF7DOV+4WeQ~!V! z{Vovy&HYRNro<*$MbnyTiD}a(yW&`+*4EHpp+Sr}tH2FdFP*s?ZJ$?;QnY>JzdJlXj-oHYxilF@r zhnm4KA``d*`1c28{AU}gnKtT|QNw!%cBy8m^ym8l_91c@F-)}fSU^7Ihl5i89(RvQ z2{l`NF0YxwZ0`=z!2rW4!;%?Rzh?(<4|&SuP3*nALeXIk<-6Hfi_a~QIDU&!_HYSm zXIp+;Qv%J8AoS<3s?@TV7WT9b;`!NbChZ9}&D!&CKV&DE9ZnY=5KaWiepnap>z`^k zrCayV5Vf=^xjnGyJ?Ez)-h(gOa3UaFNL|1#srPkibpCTMuk@8khGqom#y6?Ho%|O) zH$iA1p5zOV*5Bsc$yRkFQp26J7N7O6tJD#2iFzYj0#5)l0P_4r^2TEZOFi18sOtO) zx9)QRVn-UTi>g>*dQbZGQ+9y;-ebtJ=928GJz_0OxFmPGQRK^Po+LFic;RL4onEg1 z_V=$w)*iV;+(-rm(miJlYg2}Q2y*%(!>YATCF6a6Hv{h_eyFR2l6NUOY?|RUP1=9kv~T4+5)xVh;v;EyhVYKGDxxs(EKStL!j+8-dBi3nA!_qf@;sPr3_wpj z&HA0>gDbhU|1_1XgKF_}YRqwCJ<|lsWKStm^+g8cmnFc{UO#q8%lWRH0=*m^^&+Z{ zAS}lfHR%B_eeq}m@U!sZ>vwwP>PNYQjdjD8tx(Nfln92Q6j4rkO*z@-wZf=BmZ;M(3C$JOuM7vG2$eeE%x zkLyRpFHz{X2>!A)3&d|5%c=DX2XZgWJ~FsPIV>Yu-+s*DR~t!ZW4|yJ;B5eU2mUpd zlcRCJz+!=HIzSj#FVjGLqN@0GBL8+IXD;-O3B=cLZrYtehGDgFrvM(2-tObT_tfrF zFE#9mON__G5CSL=u1;dF=WEmp)9=J(myd%tw|b6l?zy(LQ!y>tcJmv~&wsh8qaBjcIV(RFHnTaIsJiw!)wwXuhhfFDNn{zaaF z#$)+&D*J(Y-@~LPW^fq$eDFC`60?Ds%`b8gz5L)3#F2Of`%;29S){WZUM(W$@Lv7w z=>{QhYu3mb;6D6Y|E6U~6_ev8kXI1U*9@A^S}K5q@h?%(&JpcWKxa9=qb zrI2{&C%lh5UG%uHbuZ}x^aq4)>D4yvHsD>r zwnGe9(b6H!qSTkRvrNn~BXf&Gg)xU;2R9@wQS6*RUZJIz24kFz@FGzAz?sf!I-xQO z$*V-~b#JhxjM{&z4|qq?LsV_lP_wH~ZKEM7{1u7wUC-@h40MQ>^x9;F_XiGI&^k;^ z6|v!VRr{o$T2(OzaI~B$clY+rIVl|jXV^1DbO8VGDT6UQK0FEn1u1f0{?TsLO-V%} z$PO0zcd%hlY#{{@53py=XFyHHgoR-0VU!RqUceG$n#^&Z?VWLK9POXnN`d$yAHvtI zz!6qxaL~sstNs~H=+qX@g9 z5RDOT(w$Al0q2qq)|$r$E9P6;N=j&{sD0RxnB)5ovLy= zQ??s7U)nTgGS&JU?~K-m>Sn*f$hcesb&Z$602GFY>Lf4Ho{2CnbQY(*Tc+r%EBZWL zzXQCjOgzy1z7r0r6bpxkJ3h@8bm$MEnbnC8-+Q$x_7hq^5S(M1fN)%=&Lb1;f>6(5 ziklA$iSHQr`3;<}Ck9rGpgDP<3V=MPAD4R(^y1Qm@of-ACcE%GI%*J0Qk|PIdBFWa zc%47MSK8P+Uu;~)L0WTE?pPY*zNTUvQYgxivzu&d5|d^JIDh}vzX|{%dte) zGP=?smC!68zO*|dHd{)Kq2F6{MBdCb zj&Uw4u9&A;Y{T=U+$g8XZy%S|OA7)0F?wE847p^IDcR@B90sl=WVl(~+*2v;j5d$c z7HU8S=v7Erwt4U~J!N+!iN$wXB^l!LFENj``=j|~x80lEN0K1EQ0qjsgITby01(?*xgxut7FZX2BHARHcc_3Zkxt^EX2kMrI{&Z)qJgc4Tj zY~)dY6crGrb_P`KgTqs#ssO*rEj|y5eT?POnH`=w+U+TgOoVj6@29=}jrAn{rYFUF z5WUUTNuSFk`FaNQVxO;_=_lHzGuYYJ7+6}xqMo);ssJwSZZh%L&kmI5yCUpXX$s!b z9$o@^tBdkkX+~0TF-8FpJsM_(ZQ|o&7!Mby!9n6md=zK64`ke4sFM5#Zgc(kzDK~pMG?g(0S*wcrAqO1+WT$J#_{jU_xIdvx&u*&>KRW3`-YNYN(1{aI&OBgtv$+ z0pg>%#M3Zm?`mIfXW zL#ry2K0B_DZsqFLo4^o+Lre%v`Rqg}MpGj;qKGX)A0K+<>-v#&*$$TFH?GP@ND%IW z)N;0Qv(2HKYoO&U?Wt-$-A7uE*g#Bsh%+$VM-?E>qk9vRf+b^Dn|q*3xi(EHd8Dy^ zjv-e)xvSd1|EY-v_qvnvsW zfk#o0ntk_-L>06SIYnNo%3oNqZS^QNjKmAU>>jV+rzxUG9p!b0Rr&in{ndz*Km*(Q zJn~D$8Xisa{)~ru3~-L9!bb``>2*Y|h{aPe{FN+eIt>+tOxCt>N?gCeQjG%nr2#*P zcEU*qDf6Q4lP$-i-!A3fZ{iZf$ttq$x?)=`>_O|0J$Py|h)DSv4|8X-rG-Unt@F7L zJ<1VVlvy9A+4VEv-ykM@LU;9i{lUAcgNdxvgkGzdQXn2~N*pw(X5hwiWCNntE4Ev% zNKT!qqpWKb(+;(jjcGqQ+=dnID2auQo9BT7!tv(W5^j0Px}z-V6i~o$;9O@pKR6%h z7i-tUmvi_20`3_hQr5{Kpewwe}tmooUSrEPCUN39a zfmHgs-}7JO1IpO;BH_y;8wjZ!Ed}P+QGEfvRdG6wOQRtS`s>X4JKGu9m;)_YQ>NH* zZUd>{;D%Q~{$Yj$S2K0DJb5gBAB}n~6=EiT^qV+XSmLkSbP4))LLeR-{9wbJA0`J; zTz`borRY+dy75d3hUzYbJ{z2$&_*L-XUVawNHl~;6NPJwHXP+gK=fXoH(rR z$z)fQDk6({uVm6YHp?B!uhPK^qW5q8o8lJFjo=RMT~xNF+$?XmT#&*39-!~pZiu{5 z&D1_;F4pKi>g#MpQqS~YI457qpxj4Dl&`TnUExR>jdNlB?F1dX(i#P zyXOfJ)lxQyD^PpiBtMHKAMu`u?r9qEx6o+A3KBlk?5kTYT*kw|KcE~G3h0K=HRyhq z{hgC54cz0rYbL&(;6}7(NsLvAWa=lUk%B|CGmi#r{G@X}S7V@l-zrxg&7H6@s*FGQ z1?#fD(<8;hD}>s+v%J-;Qgc9+8zh%juC~V`&!b4_9wE~&(OKFm!#oOZ0^_$#b`r>b zJ&=H1OCuTV$+A7JNPVDo$;?wZ57`3*PkoDlcb>2%?9*?CKy=#&VaFs8vn# z{&u%oDn|2Nej3#X_yPeny_FgWCzyG3XMjUoLPl0>J(tJltD_;QyxBb#%|tQRapkQD z_`j6Zby~l@2x$m}B$CvO7`RkYPSUczyL4ZoG?_IBL!yJ|{agR0=hbQaSo>S#_ILis zBWNt9NML^t(D!BvBGQhT)3tQXByQ9TBDuoR46)`$W%4Tzfq0ASI{=^L5IoT!A4>sa zHVgO%FO70y`I5**E_{S}VcSG;H!>;^J;q}dlY>|WFF6WC@{bA90wKH|bm`I|Q)k7Q-I~Pgg)5(ZD2* z1hxTxizUSz)rkR_5cf)>y+CMZlV*&{6hkD|Cd<&yCDVolc<0H9_f9BCZBv($W0Gae zi^bCF6}h5Sn?)h$ET)(~Ge``?_n7d8_jt266TiW4ueu{nvbzcn)e@mxdt?~V>n+#&+(k6-t~dNvK;i{}9X1QaZrBgMTSWHEh@{&y@(Sx7-cuz3uBe9L)t=jBL-b zJL=U2?)!QTs)I0JCAIEL6TiCj*vR4{I*fDxe1xRgxl zRMlJu35j_QEbmr*NcfZAu^|ZDW0tdP@DK_~L*b)+)qPi`9s7JDxtoFC^1szTn|_Ro z2JTarm29^E*M`}{ge`o8%0`YvmczzMe+&NH-x+JB-ZCbj^-?Hr&gBZ9()}*w=0~ES z-<=N1;pN~D)LwE!gnZl12lUY@QUf0eIQfe-#B^ui&8*sCiuRDS-bIuxf-)v~`FkK= zqc;kxZMxXU!#M3XMYsPIpDzmg#js%%sXk{qJ+aOk$mhdL$shQ?cE$RF*lJ9@40J$z zu-#l@Di-?7Jd+?#q%yjoiPZF@34N}`SXbH}VxfK-*mp1%wWfAzMR{(5mf3lf5MYKYIRJjiI$P2$!cb zDvYrFeEG%*-SaE_ki-t1i!f62tE$+K3Rn^5I@ayYT@lRrSVYomOwIoL6Nkc z-8{@)Gv3JMx|f}ZRu1|A!r>QRFNI1SR5+x6;RVMXap;RLmPmw%J}gN&^M${;1M++| z(uv!$dVLM=oMa$2HLjuJRO7bK5%MazH|%PuaAkBs^lWu4c}GN%CejLD@)e6(wnoGc zEfQ((?tOB$mcqIbI6%06>)-U|h5<%JOlfzAndmI&O-us^_V)mN557R{lHVBr{+hpt zygJC;OY+_hPN<3@iUh1JJch~vuqOhdR@I23tJ6vc#oV;(*q?a`%{i`FtL3D z$g`CBe`=dayc{fu(aSnXpE;Hf@50K%pY5%lrC~Q~<+laVd+lyMheOZWPs417abygl zus~5}TFxGzbUY189trN!JPceO*OzR(-`(|u>yK7e%=}n0%n5N zn^@ebdip@l+fcpMsaiK$k?Y9`S?vG%#$z;am_K#hUJ`;w4LUKvJE-n*{bqHY(iFoS z@%g~D0N7tPBBS~%>r#)aTv4uWHwCR!wAFEAD=r3?Wa-4``!7KKbwnelXEUBrun$XT z=Vw}>fb{QNpHT)~ohPzURizYqpq|sYxf2GfgE&v<#qLVhkPT+VFNkEmr_B)3RDI9s z6vhdX*C9bNiuyW?DsGlzf|UaiZoS)>Ydr~!dGE})YuGjkphy3$f0NxiC)huIhICqX zTS9ATi4HLTkk<@uRE9d4FuIEixTOh}c|=FHK+;0H_~4B`PPMy62QZ(km0Y#E7EuQ6 zf(QNp+-;g`B)1z#(>8~?5yB3QeQQe4ynDP;%-X2Z$oyCq{SH5;nsl{(Kj1Hw;@(^5 z|54&KEe^ub^9Kwd9d6~U78#3Bd=fs)FgLtJ>&opSuZ;|3l=TJfHzHkaU^v6%dhHc8 zw8)N?2vngLHa;nW(goXB%J|3+^dNfw*1rkU`V#>`e+}C)JQ^nWpprTCKjiQwMt*o% zw(b#1&HTpaTt}NydT)p<;C(k_wYO^OA0(h|Cpg-JZ@EemzvD+_cKeK;FIx<|*WD^E zLn0JMU^=D=4w{cy9u?eQVdKRwp9Xa3P(MU>@~f#2(#%@fV$Vq8<}B18T)NOZ9(e|- z$VokiVI?CvH5mU!*w{WZFHeNBuen;pK)nBN{hM^r;xJ@z-+f$&lAuxmyGMum$NEGh z?$sESzWbnNtq5CtMoX-&UMNFa3XEaD-iqr4q+Eay@rQ%MZ&#_wtKQiMNa+yc(@2_$zcl0>*bU!qGhlX5~639Gff zp3K|b0A+9cq8F-V2$+cy@zPtI4f=3zTCYDnW2sco6P5 zT_s(b&_Wnd2h2*KtN11=^iPo4{je)pYU+fvS7TU?xh z7iIyE*9DDkUUbF*(9?td0tMG%zD-<8#JzBQo6xf)9*sM(YWR|KU7AUv{D8lZoiO$7 zI*^_4$@PlRcF%U;>vVr*rHi9Yul>H6e%}Hah;Q|J>SkI!ra=D4r+nK+2JOqVgcP~X z#{J`U7wj+o@Zcbv<+nwoBf1MdtPMt)br=s>hF-0&LuUa2>}w%#m+z|qzs$R!&-B90 zG1vl?CSbds$)|^KbS{4YQD6JhMV66i5D=%2iM1);MX;DUI*691YvR~lPyYVFaTRoR z^PEPGIu{4j2?prShd0g>3Jll?;EBWCCz>wKZE=OnBaJ*^^@3&$0ewurQ~i@e&!S4s zxf(WS*KIHCeN7zSsguKSl0vnl>Ngs{EB%|8F=n+*lY{I`_|sAA%B3oh8a}OpfE5QFBL4pCZ&}e4|MTA#jPw?G=v-Y#zUEUw}sns$pD@Y@T>dj9%1 z1C-&u&e7Z!)D3@5gj$cnxgeak?;Hw@^aCG3^MlA44cXjJLN~hf~C2+yi%&z?R~Lv#fYT4}eF&eS5fyB!K7*Ye$6hHpO3 zW$6+<20?1@3`&fm?R^@0q4Guw|n@0eK;o_xPsK>ddwh zLX*$=%z5J))l=tLh+#~wJA^uZ?m0kw%IlS?8*@t7U%&-Hl=}2n7n0@1J$^4Eq{*c~ z+=I?dAbum}F*C`&!6?!&8i1RNFC-3ytAiYGe>z5=F;Shy(c=QG_Z%faV(2aZy`kZz18SoSSSNb<8NAFn%zitV`8COtw z9NG$Cfc-r{``&ySWyd?MuT&lPLP2oxgyC7G;WA{2zqE25bZoQ-D-Xg=At2X}wR^qk zu1H~gQY;Mgj+LLl)ZHZFT@Sfp}v zFQK1gNFaKp*oz?)yFPs3uu_NTw93J--4!tfWjtUL9FM00tebKmoOK6Q-|R*sGnB&4 zC(5rg@h5h>G-|weN8cqukXhFD>EBSda=H7RgH-ZmUl2}z_tn6%~R+`_|Ik$xfC!IFTn%U({a^(mQ*h60Q*CzpH;~Zl`Pcq*T ziT*P3Z#CP{Nq*i-I6r>QQsMx7jh|M^j48=_XVTPLe-i2+$9!Q-bLGyPwE zmnHS{JDCh|Xn54V*J%i{@w{>7+X0BZ-X3ROPS!FoSr9!Q+dpX=A8F%{`%=~UBLk~{ zq(d)`^)D0~BUmtPAKw7>%Xyofy@2zy%7z49`7RpqJ*A&zpVaKf;AS<%D852OU_bs> z`Zsx$cNn}D*1*7CMH>*^Cg7uk{XIZ(4Z7g&CN8jk`icz~kTOx9N2RrV99cRcVW?4t z2#4^0|5HR+zT_O%Xrc1Op8f7C%bGoDlt5LJWWTr#9`$mY`$!7@ZZA=v+vihVQJ}rx+qy+_RlT(?07-X`g@TM zjmYu8`nHfybW1A=H@FT}ciV#2YaY0-w{cF*-=*L5OX=h_#A(`iwQj*mt*k3@RUS1Q zcz3Xx>Ua9R`dspF!tX%y z^V=(#(BvK%*eBRv+H}Ov%*(j=5l{W`)|{P!sgmY9kk|TO>E9H}QljjbMQ>3d!l!G` zW~_zw_wfbtWC%unI-SGu^%=Le_{yR`F;U)UF%iAnQ5w%rWPQ3O0_qi}1Q|(cn2wqG ztzjGz3xAc>4IfPFjS1gsA*{kHCWnE#`K)sQJ2#!MT2JQg=_6(Ndf->=rshM)FRTg& zgQEe`zGh&7MV7J z7rz32vd)fkl)dNnDH+8}*3fJGciE9GsC^}g8PN}WbbU9S+8}xnE-z}Nr{#n;I_ZD1 zT!?r3wSM3)Bol52l7>)A#_~dga6Y5&@&-aX^qks-+-nX;yz&-H)xt;lxptSmoi9lR z06&9PpU^K)-CIx{e6r##%yY|Cp@9{#g=TcKz1lQcz7g=}{#W`pjn^3w33Rmx_Yyuh zmHq6cNBzgSBsyOnWf_wAbse~nGkIpG>3+&{CSnQ8)maOdsZC-5_^Z(RxJq78sx-rt z6iy?%w^m0he=?C9Vb){?7%VRbtbqFNdT2EZ;-I`M%E||}jvVuaGSB&X3m4yG*oodh zNi2$hKSE9V23to|G6J2fFB!LnwDU*q5+PFarAZl^QVq`PRT8xC9Ga*58Xuyp;jE&C z3O{bUwox+XDIM+LP9DP~^<!@tdNkN?C*96gAPp5o;}0&16F**&p5NZayu=h%Xow zHyR*%S^}_Rs>_IGf4+5cyD!@P((rro?bx2{a*O^w>hFO7+#BTZ?l716DsVm0zCp8$ zM0mliNjmg59jji~oqJ`LD4<>=g*-YCifU=UpY>P6$4M)H92>NEwFO&}6jL_GSz8Ez zfBwJHzp0o^l=au2Br<#Z5yHqeHbazuoHqd*3WtQT#vYZXu@i8Nb$FCXUdxj;NlcoG z37cA~Vc@>+81+IJr`*3ok}0Am7KN{E7eY?sz;J=1=Wiv>O7{YAZxdYFJGjSr0u~); zmKQaFRHd$K=&usv(d5vd5Zds7`c{>JKVPZa{>Q8b@gMjKV5qh~<{Q(PRSuJF8qYdO zq=0&TXAQ(^Y@dy#y!FSWU@g>pXE=*T-BLAc`~JWFSdTwb0(6cD1s`;Sb~pBswv4PP zr%dYx+l!o|33CvweL%G8ej;LR1|e)>dvrNTNWOSA%?Pv<`o z2l#o*wuZ-0G|HbnLW99b>36`Pi6B|gL?9CuToEO7Nd$m8 zEX&ym(27-!CS zXWH31itPdQnuSJ&bY64oRrEQKXTvn!xm?x1XwVT8<SSSa1ylcMER8Ex0>D z6Fd+gSa8>qs?>V_s(rK1#jZLR-Xq1P_9fPY>=J&s0<%FGYrSD4=!v;qq*PJf72~4^g;8&9JgA)%7c+8522RilPFC z3LGBDmpgTQtdKVK)16CS;ly?bjnSRh7JM6F4Gy&(q(h=QqyggR#pNnvYpeiwsbcy~ zRTp_LkAQvsB7G}*&a+(yITZT8>Rc7vFUw#9j;Ed{2V|$=zE;=Eu*f@o=N3GM?xxazyiFWf}VgIS|#n zAy^aGX$qqIU-^EMLR^=3F>wYJr4$O}jXxGA0@&XHvcm$skc_FxomzKL;-^u>)`Mgu zp)u@ll3u;RpOKjQ)qy)(Kz!Yvb!zOgL+Dc8Ex> zZivrVf3L23%Zg( z12X|UKg4Ba?dCy-tLSH9o$v%!IYEWtr&gql#F6gPzj z<{$g;|Nnl|UxWPr-*5VBhySm>-;~b6YwQrG=?#DFsVfy5VfN4WO@vZp(6^gYkRHD( zMvzG=C%HmyzMdXBZO6e8S8~I10yvSt{5Ppd?fxwR1uN-u_($Z9EW~oGy84|@=pUbl z$Q}T^#-*`X!NQr+#4*aszlt4&uGPdVl6oE?Ct9c64cXiZyklj~?VYsfUd@LdOJj7G<;~P;U%F{b@tt6#{3MMvWDF0j_pC#McUavwWJ{|J&HN{=K zasN(v)v=R7E@VJ?uhd_gfd#~m_2zRzst}Kb(23m0JxYPrsC@$Dhm#g3;(OO$_em*0 z9BeJ;WpXqk;xrZ`2N#LVzw`9GCd^+;P{TmWJq|O40pu&DS7WMOt z^EQ%|D{6d3;C|tG#mochaIqf!yEZ=Go?o3cd8MEe$OZ-r=y4k#nKwd5WZ$>3hR`q+;$27wT}Ac*&WIR@*DCNN!h7&fPzQ{&%o+0hCVv=t zf0z39o~)_C^->(W0RzOZiq??-)8G!p`je(wsS0W0gbzyE=h_S}~XA76@14~Y8{as+EP zgRh)Q8#30s7>{72m~tt_2m~#mKls5J9^e3S*rHPeb+``+3+%w!!sjZWNr5U}X6 zaVTu<`6AlK1=8=o>Q6Tw5RP1wA4_pDNG*oXR_%cW_IH5foLyJj39HG(y~))-y(puA zd8A=&vM9Hc4ALIWaa6wm_Ah%$#P2o%d&IkC$82IG`UxwnbR60|;=sq-A9Z+cg}^%v z#jgn3hNtH#iJJ__;PL@kdT}{a9@69Kzmz#oI!niZd|=t<)3HSo_ije7fC#8<1LbH` z6x{YcD#FM%ZMuSpe z1Njz5Xg_f&R~@8o!oIxHm>VmRPV=nkP5=`SG- z3$SN0L*(@7LF=Il+0|dqF9vNiBG)`|ke0v+4zqEhi^hO&e*li;VXO$E^IBbYys{3; z=eJX2Xu($;GuYIC&f&IpyT&k0E$^a32hl;#2;Wq3F!ubK=={M#CUgzHPsW82yO}!? zR~1W_?+)y@L`=#s%VY9Px>Vc+^vs!_VyZ2O@4v*urDzTg>-$V7LHrom+s0^RFLbtJ z?Xw?~+}_JE-21c!e%9|n;0|Nqfnf&GB}-)S9X15-h)`Cd$;~{h{_=_{Z6U5IIF`^s zQh`hY>IOC=m=XkDT5|VFsbcxxT$nU}%&X^3-D+4Z3F_9{I2O)3uCzlhFJ`4hB^GS00r37OG{#WgEo^Ds2d`lYr!r-SC7uKfjFC9)2PIGW0xDpgE|CmSdmk`G z9>aQWiP%!xB)7026ql6Ie4O?~#D=ZRLHf}zcwG_J>>AkI3lH*C)?1dWDrgY+ygyBX zwe~zs_2CE6b#25wc0us^l+OCVb0$UE>@XykA{a_94m-G@f5w{x@~$1!w(xWFBGfx> zVF`Ux(qK93V#qp6)ehvUTij?}$J8Kx1JI95aqXW+H$uIyh`a`@LyuIVa&fIo-yqSq zH#W12gXmnvI}3V{1m0zOwvItUcZHqY6 zj#ddRfdqV};=4I|zThprZ~#xBQjQa{*w?a@Cg7n6$k}qYE=WOt>mhRP=|283CzUM& z;+I-RVm3}bXp1~8V8DZFo$>)C^h6;4gCi^TgtEw0HtpI_AW?q9z%;KiiRM*xO)mpY|j|h_c zU-hRmO_HPweILy?nx-MAt5~g!0rq!*mDB$yN6Zb3G#smuHNg|+U!2?V_E`j&Z0yv0N8b|IzGQ+#8jbm3n z_*#3qfcntwoqSE|!H>#Z^BH)MenLwxb{!751mwE-2``_XnU}qj)0_EIGQi}7lAj1{ zfO_X70^Ij8lGe{C5kXQ{jnN#1-LHCf2#y{vm0=PJ3gW=Kss;(=mc<4!G_e-OH(#l1 zni8GpWu2P$u@i3$%0pybfchk2)`{@_4O04GFpbai>xs&kZ@QASN3R?**+{n}ETRBN zKc+zs>z;jxZ@SWc3v|bi$u1=ExB`+`?d)o9@KFi-z`f39zpbogZ!>`lht+w850c#EC52#uyVxA3ks7+^bI2sV$f7PEZ zKl4Ro5O-WLeIFhVigm^HpYNLrnK3CHc(n&y4pwrtjGH;SQSiC#@(D^P&< zp!VKA-|;DMp-@ZJmUB{^N2fPz7Mv984T9EJeR8xadFb>DVFX0NG(n z$WE-qDE&}=JW3r_M_}XR(v@roJ430qeFK-#EC-OwOURxxS6eLeagrB_AYo78G?a@$ zE95tc{WFk1gJAp~{_op9K zc%oKvY+A|JD+xXPloWR%1vhH^r{-zJ?>|L4XGuB>k9Srzi$nkoOpFc7CD(!5bVj%eiQ zyfT*`w|s~+d!)~%j#=>-C%*e?h980klH2QbWhoVO4YM!vldOOhZBt`<%NU7D1pi>mV8xfr04qs8h!-;75yWogF!-4gFh<@C0wM z#1%*W{4Y~N8tVW0BVig`siO^%QRxI9rKw7<_+LhCPj1NJ1zU}_%Rrwp#IXG8Yu%?cNB`D}&p*Ge=yh2J?~p};*tZUd#_SEv!l zY_WzgL(*hc>mwNU^9Uj4i<6$pCd#lDXuguZr|R8#RBGgPV@D|YEUb0!)SCqMG}hvCVZIdv)-UGx1N2B^uf9i z&ngXgXBc4=ymgxd`*m~qE@(8^5-O#-3l<@KUeFV}70$ts(*h*-zv@rNe_bmJH_L1M zwj+-YHRARSD%jrvlG98_D7GFg`sRLPwJZ!mY&@&wyh)t(zzxqOOebZ(5x@^;)SiJM zZ;{;3M|gkoiW(q)rC05+>WXmVB`9$+DyIhg!q#qMRVoFsye`+a>_d2q@pO?SiG@R* zu=sphvH(;c@D2(S;p>RktcJz91^%~C+%_CzF3pbqBOBI-K&+tSGdOUNegZw`tc~8h z`YAf^kRD84T}e^+`3Qyhp2(LASglPN{m^9l&7-A@WB*3?36Y9Ch`);5n~>E!GCrDI5!azLIyugeD+RP za0zH-)?^c^y(G3LW(@JQ%vR@vW`TOy_HRC{D#S#IAN`ar&+k33T(l^14rlszNHy%f zU>)lL_T%;(F!U}&!zlP>pJ({N=_RxF?(AamiyP|^d1r&k1}12}uQd}pMQsxfwkis5 z9}I9+T^ls*v^Vl=Bu97OC8r1hxRx3wGe~vks}A(kkhK{(%~GIe+30F0WuFAXfYV$1 zx3D07eeGGpk0>upQJ$cw_3ES41Q@-e z&4S6|sPZUae+Nh(iu&AVulS8KGi##T+e=wPem(5WtMHr)?eb>IRIp0`kB3?qjd++Z z)OIm)Dy2&s`O4LBb$MdRnB3KlPeJr81NSKnq#2QWY&V+F3QBP~QqZ=M~A-l_Zp@_?XVPIRV7?>4^ZfHKUj=F@RXi%knyE*Eeu0oW+(w91>g)$c` z`H8+VARafS$d#C*L1ohQ+Vo~WN@X0a=UjoxwxyHwNuzqql?UeGJ&?NnsfS>mFO>0$ zDXblrXK(T@&*@gxDFJ#4`lBAOp5i`^;%v-pxtNxh7d>Vz;49sGmnsY**qW~d@FjSc-7~`Y5^BdKfl)U zv)t+w(d)ah19g4kcL;GCJ+p-`p@@G^vsT?Zj%Q)qHwbl_WMrjHhE~dvu@``Y@ynC zDoCWjzEeNDfM_Abb99x~=jl3Ap6{lp z1}Gx~%kri}v=2uf4tRWkU-(GAqs+l;rSRE39%++BQ9<$CuEBOVnRXRNP}4Z*4#1(R zk!}=IGenh|d(OeP5Ixm_YiI6)DJ9Vlis>%ZHD?Q{q zMzJb9gi#4e(0qPdgL15^F^EK8jD-n~MK@ z--G~(Axs->*a}A?Rl4NZ8liqgoyf)cljz4%@erbc27o(9I)A>C^^gfmx7>b@Y&(MH zRQDAuq794bMBJNQ|Dhhhu}g78ECXL$rp)8O9e#3I;;KxmK2-mSWW6Cbu4`B0fOz3C z-SZti132W*{b!PzMcg*rgI@0lGjd4u8Yg^kR&F4U{hmvAv+|*{&47c>N}I#Ff{nq^ z4S~y=XL0Ine?I9Ia1Y^ zQd{Cg9kyyoD5%;r_kT#pA}c8a=edi8CCRzttVr1~rXzlBLco8djK z@zlkgD3nuGgOyYaTNO}7#~K@AT0n5EMFG<9zv@rNNLTb`1jf`$J)e;w1z5$x{( z$q6gnw<}dF7+TB2J37Usv{?IH&L*|)Zao`iFdL8s2Gp4p<=+=6GA$84%y?f7#w*fvrwRpX|zS$DTgZFurpV&Umqe_W)>ecviAq=9c z%Hhk=&tx*wtW!)oVyrl%>0N-5FWfo_-am5DkCX=Je2@BhL=)2I&>fyzjInC8`1GbiKk0@z*yzy+a`a$^EbT(>1JI z67s#0fphKrq<#&oRQu=qrcGA#%QL!-fIw9l&*{2gaAs*&*r$3)R>WQ+Kk@T>;9fNB z*roJozp3?__gS;f?Z+C?SdDD?JzrHlp0GJ|WB~ZlFJGULIW+i*>R({X?xtNwwwkPX+7&bXG)zywVIk7$Y!_}v zsl_FAHfuX}fqYMtj?Pb=S$^i1y-K02pF(hY^V>(Fx#QGNG#s7&oh%q2`xAQyCDMo$ zd8F9Esz`mk5McW_4TiL~+LAeXmrm2K3gkontNwIbI2~fVui6}j(lnTA4?{BWV1EZl zpK@WO(}yfEoBjzd1PtTyiSWSKVWgkJB}faSL#=Pflt6SB-B#z%-hSoNfetAP;3A$< z_4W9NG!hYdw)mbhjATH5Oh<|dyRuvC>A16@$7yh^sCm zg%&qVjGw}IX>zaegvMJsnzYoSdpo%j3QUOkT%Un^!hecy)|cs9%gX{!0aH+8AmuZS zfyW7#96t+z&kh@8*Z-TRXBDhXy2vFgRZO*!x=O6qC} zobRakhQZO4fj0=*X@1g7}gHH-!rEo{HDqHAe@Q|BfN%zc>BNVPbVA0^Okd|Ug-N{pvlO6 zkP^&4?De&QJ(+n1>>ACl7yF`xH^PZxP}a&$=M9YB!Z0@13xF#Hj(cqi{YE1ejq+<} zMisn)*HTA9TRO;YtO7m$R(eKgvbkA=eQ;V>N4aAh*y#Tm!3u-!DaGv)L zxzv!o^?TB_+%HtB?v$*;LBs`qSJ!G;(EO|;;JzZW_gPatizVyU?DRZ8&de2Z87IgZ zRy_!tbOHGKzv@pXaz=raI{Mb#$#&5GT;W*}>L2r?cB}CvVOc_yv+O5@QbZFzb4%N6 zcphOQOP#ia&!z@&LbvgHZqzkRuI<*xjjm5&u|(GeZ{Ek;n)92yP4Vf>1kTTY-Jk9a zyDsIGF9k;->n#7e^Wz)rf9QWksC>uIu-!~m&&*@JDkG^`#GVs8Iur^sd$RbTQwjLh z>}1qjb7VP>;MYbfd0}45k31v;L!W|bMa=2q5p>OAKDyjoXIoNN^B>jg~nFLVR9##u<+|w#=)P>71HFt&9{6^mO#GkAcF-#FN(e)8vLiHchqPpW)eH) zfpzvoJLI=SMU7S+kbcW|=I9<9!q&#=Jol4-GB44Sje5`?9#hVOJ(pB>3P8L}+{Y?U zxQl#TV${`uF4+0}OSJEsXfgig!otPPmR&p~h@VueMn9+HE!8YU;n(OxtsIoz7QWz9 zWPFnVy*0WjL?B=Pbn9tsBI24@qYwpiqMhfhrcVP!@`{5i`vZD_Bz9FF#1BlrR`&p$ zwD9SJE?UUles`LNfW;-^9iuFJ(@Le9E8zDRL)l`Y>oqcDgfIr?Y%h2u8EZ9Mq;2X; z?H`-5(Y=vD{8nnc?aatDyB>@AH>e`3Mr$O0NfQSSt&dnpV)hbt1NRMM<5Ie<^!;$! zbKpB?94el!r*fUssLvx`VKPQ~Mm>T1@DoI?Su;#@ob#y7(CfDduhrk0@ALFD?bW0o ze}4@44d52AO;`r#OWQn{{?M4%^sma22P}0DzYgwdt5e*aDd*Tg`i*e?{3xSq(b`RV z^gy7`lieuaaKs7Tw>=|46H#)l3EZ125}EHrojNX0MK*4DD*`ldvgrHztk%Cs5tuop z`8xn|+kdrIf-xR)L@p@#hoKEc-Iyl{5)YVJMY!KG)zpdr_}=1SwRFQxQscWwIuMPW*kE^KW-6Oow>PV zc+t^qTvMDt{CJ*%dXnRH5Rs95o3WPMQV~d3AzXK2?|u^ESC3r(-~Uo~WzSUkW(cru zu=*7wFsW{PskSp<7<~`LUC)>1(@fMs{E7>`rm~kc?`myPQSKrF&7tMECy#5wCDwX~ z5z^NP0lQ`l5U=Xu7Jcje-LB#-YR|aHFL+}pNOhBZ6vs&?K|@bc4#|zEGs-mp&ykysJ7j|6g;3-*w#be@ zzTG@zhYYWYq=fQ(4@tOR4b+vYX9;9Xjr}@$lVB~J)5I~A>im0NtE-UttuevG;a7qD z9l95TJuOk=q*|=R7uZLV(Ui+{8A?eSOv?9izuRG8 zy(VFP+XczKIs6O4>KsP_M2E|xo*qzQP;1w0I(h7hVeT*PMvSu?RWmnvH^}|g3piiC z^n!z}dTiHnJMDDkiKtd5cH&CkYpp84oKok~p8v0(oboM9m+Ld*l*vh!lwc;pG&&JV z$i=!&_<=>J-MOYS5En!VQqXU^QgD7osxoC6QH9QzxKtRnts9HDOS&<2j3fc+m+0yd z2EEChN4iYMS~s_?m9l3*L|!sszx7zhhi*Fsyu;zmaIJ-jxQjzQKgFP55-0I3`_^l% zrtjL)DER!O2MG@1_iz2_Om}`_7-y7X>TamfmDc~z!UX#}K)eh%$tqm6B^}*QAN8jPK{X% zAg^f_bxDCmfFs^uZglLl!488CxAuOKGHyv1Pj&H_mIw2L2_O2-;7>w-c4ClI0y0^t9=QUl6;>?k?w4u89w{rQWM~Z zXuKt)|3>nfkYAg2pc4}-eA!`Ow{r5R6Nj9)PJIx#Z(7p=C~=#Ok)#GV@i<%&jFTLv zgz&JMs(Gg&0 zMyPZImGlid-m@1acAXvLmXXj+Rw8>Z2F*K70{4=(yB(C}m!D@0Ro_N&qXTOA#kFU? zA^2TJzeoyPIFSNzBX46!s|6=&kWW?&zo%c=Y0o+PJFtUZ6Bt+B{hly5z>i^e6dN;^ z*4=$rCD40+yRKHsx^6+pu5M{C_x(BG!AZ0{#=HFT!T!_~sXs+(!IPkO*R%EGM)Aq9|3@ zmxT|(;f}5#xlRw!N>)(@92DMEB$p>YJ@M>NO!?FJoK2l^NGTGL09@xgA{5GYlv3|q z>tOVu(@cwrj@0c5ny%JIpysFzM+v~K|JI+5U@Ou)!S9XiDwr&D`KvfI2H4*L(kE$D z=5mf-L(Hxv{*;8App~YN zhw{8MXO-7Pl}$)M9Fzm&jfaq^A2ar7^As1`aw0#eabMkeBVbD^TEKfp2Iw7l`p!Q0 z<&DfosrAUE6e*^=300CO#)xIa4tj(XM+P8|9)zXLr)ecPb_FBJg0oPoN)c~#I_Yd} zJ>7oxbY;&^57I9l<|d?Zul;jrNl?e43dbEbVwY&f@W(>%nYYF=*ew(wI;aSg-tYb% zm|QAT?$_wdiuXy4Wxqe&cH6SMUyaG70sgWacPAqRg{6>C%nuqe*Sw?kGrM8;wfYh? z_yXp0&OJ~Ex>icb&yqGm>N>WIEd(7W>UNdMzK?k@Ko3o|h;qyTWpkJ))A(@CU3;9K22tF3l zm*BvB)CzD0DEW@2LfTR>I^cd~p>u%si#O+F5{d6;&0da6Rn~FYA=FfBY=_W6;x9*G_Ie_epVFvF3JyakMQwp{pmd``- zDsnZ`qpV6e?CL>j87c4bud^41N#f3{m_QqB4<*8)FG~2wc1HeoF z)}Ly$sUBtL$$620v0)7B7MT)nq)Q!B z1*b>_`~rE(*u}cu57ws#cH-_Cn3V04R_pLB^0Rk;`V@h|nX!ZTjg!N5F7M3Kp_m?+ z5bh!Jt~X@GI@-q!%TK1o?;kp;gXlz{h0T8rI-Yv6F^iisd`A6)f*y&H%v7!e5JNu06H8gAVR@+u5 zmFLx=!icVvfc7&EAyy6X9!6ARFKob`T3h<9+o4i&vW8Gl}$_A{XF&8cq>A+Fs`#eK232HaO70{tnRZrPn5TD{w}W>S7#cIL2z4@q1GzvqjHx-rqIm9tQaV zasE4JX)`L{0(^d#n*6;oOZdvUsQg5;WYo|188Q3cD}X!=LVfzG z@hl}#>xQI%!00)n<&4!BT(R{ryl+fJYP_1lrmkEA@@`eIhRqUKa&3lL4+iGPE&`!r z%QC9>F|C;X@m~o%tpNO0Yo?JPo%!5}?n6xcSJ^K4+InaF9e7lPZ z)BM|buTFYB+ZoHx>mq>o!B}O9MDx!l2~S&;Cggq$#O=g2^hgim z35IIUKfNnbhX?V4GZmoFnG(D`Y%3RZ$hoQAQqihQ)@f~pe(i!rv9cBg(G_GwJSur+ z_3(}A#Bnqz&CfBbI$e#rkehWl+xyCU1AZDG$uRh{|46PLvlfv9hR=B}t^Qnu@ODRD z8=M+AaT^dn{9AuI+@^a_pYOX1L}*UvOfdEAmns2P(^JCznq2+&QQqK z6+C}ggJs{bxeoyH!Bt8b5w&{D5M2;Y(YP`WPGHE^2ZL6>6Y*TN#~oT5?LqUv|H`{` z$o+QdbKrs5)l%@4>eR>?=49h;l~ow2^HeW@^UCgO4f2!8D7|OL?^}f_BIHlsxUPjS zme2^|aC8j919*u}9C^3`yfDuyGlxP_sZIo$i(5vj{1=m+&0t}!NE(1IeTA4YHrH*& zy;{CI<6Q~!gx13hEZfNhXCW@;Ojp?f{v1M5ju@hm4_z#8#ng{ZU||yK{hiu)PS1f_ z&UAd(EpYF4W9K%q-(aV6y1D;8T#7E&_$bFRdeki7oAYTTH=P*Br)3d^j5MkRPj}_& zv_G^FI8W}smbZPXjjH}4R^zJ!2Kd!17|XC(^)9FO*oNqEfy`lQO)0E!bG39!EGVYL zusER3KTis_kk0?c>Ph(6H>2iQ`@EI90 zax;4@jVp7y)7vZ%xwU)<99#90I??6=2EQoohu*rX0_*vSWC{5cd62w=6j#C-^;Oql#VzN|I6!FvJK2em z*ATdes(m*w9Tc*_J-tn%^Tm1eQnfxCuVcnR!{uQz`@C@k-e38}qC7K!0yK zety*Pk{4VdgY3-d{%&14QP&o<&(n0?DBy)>E5AjsnfF9DPTjb-{C2_lcBL;Zpn*3N z4~PeSOqe?^6Z6C++C94y|Kk40m_>h@uG_7t4;@2!YSvt@R=`U*%Y9Hku z$E}>m=bep-e#D&0Tz}My2;eu(O~sO~V73p!un}T*b4*}lQKh$meL|IOnV%aI44xA_TD9p0JVEX82ZBeiF z@QWk;pjd8^L2I=Y8jVbj%VQu9&?+)>B#V>8tZuFB9NYjtoc_L?=!xc}EH8G7CLHF+ z|HVh5yLJJH7Jeg~_`XO!=WI7dH|Q|uNrAG;LP9AdK0sZQufRcOV$OQjcW93b&pWNS|XRy!)k-wS=}Fl~2PZe6zo;+}yz+TDwcZ=0w4b50NxeT-M0 zP}La}lX&JWhV>N3A%I_9{~R4oZ*u_yBVC5x=$9qGXUN<@fB|chOww*`)y0lLoJkXe_iMSxI$WQM$aSrLP%wka4tJ33@14jM~2$^o0NQDrAw1KBQJ>GQ-1O8 zQLlTgr+1)y=}zVQR=qJ`jvkHamnbt zj%4$ch3DexPZkN(Vlv0J%VPHu;SbsV)StE*SSi~%Z%ejMvIDFjLX1RjyWt+U&_MdJ;FMBv zYKD8FJPmVIe+OXQC9vCVdd< ziQ@c(_}uh*8H$V^ne7YQSVPw+NDOv>eCWURr(1oKrfDb*0h_v%U^WzU0E+zj$G%0|ey*gay zz9}__{K)#BR>tUTvz1cll;A}!_(~UQe7NmEym9D^S>1yEwh$phJ%OUckhTHKO6FEV zMCIF0`@uLXCQ8seEEBx8f6uYcrx3F^hQyN@=Wd8Cy?loQKM`Tp(7b8{;s`2S?ZqxT zsEb%%u_PoYe7r=0ZuTZFxB?YlW%)%EGY$~HqcR;R@2$E{aei^8g(m&X=J z?Q{7o{C(rVx}UE@c=H+0UUqI!x9ErAF7WAEJbaKW7d?aA{S@Hl3;4l*>rV#4sM!xgpmq^kL(-k{Z zF0+QCB5`=?pBMnnQTedUl<tgn*w9mycMfw9~MnCZX$$#rl*V2KFqJOlYeYHiVdK}1X3q@%lP!%1hK7^UD_ZGd9sRgw+n*khNIceac%9|mnYqp6RI}6T%dKWfL z;_QtCuO9YdCt7JDP7uHJ)8K)t$@}kX7DEh2KK}9JgiNpjA8s_G$rndeGOg4=bng__ zF3LDl#DWHsgaW!67P9Nc2;Jk?8`F_H#tp2bj6ih%)}QYD`J5Nxdl;GMc8vLcd=>;O z*xv#AeN~=y%O}mR63lU5)A-(Vr}}ZGko)(IX+?GKIQPdevV!P7TkzBP-%7V@eL#q6 z4V(M&WrbzMEMq@DFVEqu_HwV+g-{QOC`Np4zjQT-PLD@2Oo`ttHi2CI8O(+t( z19;o-Gly5=O0>-o!#GLADusYhQh>^G7tx;o59m9JXY^3?Mqm+m(vF`C@qgbJpii>PaT3mUOSab(-!tv|*c624Mg` z__zLaU-j(m%8>+kDRSPy&`-Hg!+`xAAUQ7S&+LCb4iAr2;9Wa;IGl&TuW)t5z}w<( zX$ZDkiDm+#tEeBqUDqSxc)jx_WP96gP>g)-dIk=GX^SeQ6|7%V_t3!>Jx|U;(&PU@v(FfI-Kfjd98G%*xsZV%eP9SlW-?X9uc-N zi=H23Ai2Uj1%02!Fuz_~_oq3&uqNR|C#~thmkSr^RLdg#h7$XQzJYE>Ao%wR>b%^^b{i$zoKWXfV_&qb9K5d zh6Ktbtr!O#lpRMfhDgdiq~~vnCR!|T&otnk!D3-piNu2KUF)bRD(4koy_oO};>0Kx z!YJWg!8&{g><89{Yp%TOo`_>lQNJWrdnC8EJR_(H*Bne?^j7lRK46{ytv{Uy@smwF zc$Je$DIcG!fujc0KjvqyoZNtbRvZcr#^?IK(TM%q9P}r4ErDY7f}$pM4SoZ6(XR`7w#DY|$53Z6H5p{M#o}APmipHBkoL0LfexZ8RqULJB5(v^c*n6buo-iN=hI zkw~`il1|E^XC>ZX1#=k~OIMhuUkbu;P`<1r19>@w0($4R;2e8SD*;I>+!-nUTT1Fz zDTEn@L$xxTn_0k5L`LQFzE4ePYjtof^^A=blW8_!(AEf=PgKb~^uR-A2d!7=G1!81 z!Ok$uK2{jHKdgBV&poyTMO(OV5>eVJ$uh9N`)RqQGE?g&r<;X`BZsWQ(!6Eb_@l1q z1}&Yx74Jm=@wef(CF29|mD`c_#zTVu4lKJ59Cl*kbLQw(2`=Cr4R|2Ap8dF^I$;e) zEb~TD12ze%hl6Ni_)hkuO5nm2IF>j-9QJJXgv{3La#SxX+Jh?_E1ZpVh<|sM){D*k z>7>iX)(phYNQ}!8ZFfgldf(bvH6<~+OI&Q3+}bJ8=hEq%eVbAML`VF{{kwy)G1x1? z%Jnmuvh1&PZ8H-b-(tE<9QYM!}^iHqZ26tk0-;ja_O`zh`@U2xtqVo08l7r+LqpdvXZ?$G*Fb=6o_9gvsBBf0hsi@$00Y#vdpOfQ)YI->ga< z|5U?r>Ger!1L}L)hBi+Fg*)D_PU1?ABEo`-GX-f+V-zf~zXSAp^(tIL_IWu%MQVJyldzqUXtb zG)VrKP$7co&0b!72POH71lVuY#F(-e`J-xr`==HT-#Yeg7I78=JwuJVE$V(Y`kT zogz{H3wIoPE?Oa^CNDtO(mbMPw0}dkw}J1%PdIX1<&x!5TO)m4E1G-%#pjL=G~Wr| zeibnj5&@{pXC9b@1DhK>tHK%lM6EB$+oM0qlz{rqLcHNClDVT0vTH-lhSdkzrAb(E zsvqTGjIC={JS7IV9<$ZxiY_QSgmfH{@_W`>>K*D z>G22=#btpS4d5^5?M)b{ig@<Lzv@2QFzB0{4V#J?6WM;$P-W{+geI_dFtPxhTt#Ys~v5 zp@NV)=8#Q6{7Q5oale}U0CSwZ6Z$BnCqQ4!5+*Vi<5KS*{Dl+oLJ33{&6K_@UNhBc z6=~*Yk~$gQ)p;n@)?7+k$L4zZqIwSaJNVl#E2t2Usl4Rx`yTmMVoq}{o9nt65nBTq zzr~da0RGr-r>UK8zULa};Q5nD&P!91|JSFMMpr+$9(GyIVSVM?MJHh$c?sD|VQ-z% zGCXliu)hPO4})xK!==+IZVe+@L9}-NK+TIPf!#^HB-R@?%r1;`pl-&$1P=K^_Sh_` zCZchZ;|$IGqb|v9Z?Dnm_#>Q>D25q`UmYY;=6P?ocTmIQ0b>49;|srB=amS>y0ThU zF1E1_;1@8HHk=3F7SpPl9$JfbyLTqf+=SS`BGSu6s&Z=^F9A4y%>bMREte84XeT#)kB9n8d^>kZ)nB2w}wT+?2mwbjw(>O-;^cWmg;+oe zo9OzoTyqo?{Yz9vl`YO0*uOkxx&RO~qNXoekGOx9}6Zk4Cllyf1UGXiuw&X!} zAvybof6jngP$J{f&~`wq)O4@*x${$Bxc)R5m2_kd0f;U{G!*XW2Vr?z;6~4(m zMO9U;fg=fx22N#2X%$dEL5ZtnS)K`Ee=`&a4s9B6&%}5tgLVHTonNK#dJ-Rl2;!GM zx_Qz19&E?E)h4x1TLnCN>!Qe0DMBVNemReha0kefdR`M@EDH~Sd2KlLI@+5}aAAX_F2xmeIDh@8d#JCKi_q;K6W zSbTp9t1afqP?m7{1sC79ujt-Jn(!4IqE82??=;M(oo_k{cPyj)l4_2E4cf$BGY7c=5yU&b- zCD*$7H=PXu-Cd3sCj(ed zPhHRP_kR>R6Xh`O5-jrhV9ukg{qf<&V$O(xfv7oMs`IH>|hPQ?9 zc)YeXRr+PCB$zH_Yk@p}N>`*ZFQ$8Ok?nN16Qg`pE~t2c!5^mjNI1UgaR-!)wz2T zmR<-wXJx1sCz$Sm`W$5yX~c9qPw5!;lZEn8k3E$z#hol2eaSdV2Ep|hF;E}qnAbFs zvBU{6#K1k@{*;R0---O;bf*J}?mk*kYcx!?7Vb_T-cd>V=%?KkNA57(E;~WA z97$?6s#bD&z=7r=a=dcI>}Z8YC}|p3bkMrOsUtP}5l^Jvs~RnjZe9f7H+~D#fAs5s z&5R(b`(3&}J8}u49rBm(ffqrGioF1200;j{l364D;854xR^WuRdZxQ+ew;Q!kn}V8 zg~lxh$q&Gx{A&{18ABjQFgqWyZ?swKzNw@S5&Uf9v#LCe7JOSkPOm(Q1&u^%)Uv5X zk;?vE5gqLB0O^e|f?ySJhztpCdiQN~GM$zsnEMnLZURyl-;nQ`RT=|Ccc}HtjIJ9W zueruY^4*UR=dxMfz^`N5~kCm`lmnRqelj9O+?IKWT6g?ZCMN%!7G;R;FIo2R-Bgf7!dxdaSVlj@+ z--L3@fcQOJlh>0|Bq8iLB{Kz8XYxA~FQRv<{!H`jiy>+`phXAKDdoBwG9cJQ^T*KW zydD17YVwY8&~h-#5cygzFHdj{unRwr<=2LQ8A_|cOR&C<@x`a9dy&QWVr#H9P>0!tQG)n2gfANMid}naZBT#8+ci5U z`jqs^<-vV@lEH+J(VHGPhf1dpr?G|FJMP4a*KN3!>dkc*F`vVyf%w`G zNESt<%q1hrSZPL+1*Wpy1J3P*gt-Y{RmImL8MNsXuT6H zKhyapkXGp$KRYgDw{ydr{Ok7$eg1$N{1JudpB693O zp;mYCV)jD|J49G5V@s%QyO^xR9i{WHBt8J1*3^wyhLdZ`$Zt=p#}7dt#=)ECZ9+}r zh1J)a$%op)4zjCKQp+8eT3lK~lIXi+^p6A)be}DIg(N<;l73RQ#-e}%(eV|IpQIOz z6t%r69ZmV%krbQqW|E39n*Kt$&Hft=29Q4lSoWg`i`ur2yF)fNezWD1RY(6$1pb&% zhHaY%u5R!a#E+vo-1Zm7{@}*y2QK@ZkvHh^)A+JQ3G*g1L{@U`(m)&uHf&YAoj?(6 zb~3bHG0vO4x;#Bo(bOMY!X0e-)6j$u;x}=B8ShOa>Ok!&5P2(avR(&6I*6BEzLKT= zvId*93G9zv0WyKfQO2#i9IJpAH&1r|%zp#*KWHn+x!Vg0q z=v$(U?2qa28NNhKN`>q;zd21@D&cG&mS9=TxVV~e z3_@TZ1*d+*(%rfd$7SspJ=@$dBmh5`m$@dkNKdDmmLQY?_Q9O`Ml2%EB2D<90?QtR zR8KL-*2kjlxCh&=9im~&YoKl!E)uPO{tUM@3!jT)s47A8(=VZ}y1gSnA6LZCFG&-l zcfApE?VE(c53N=8@88ATP{IBV(EJ3W*F}kg%@w~-Ald2#I5;Z%CVr5}ZJ@U1&Y|9) zc>wHs)VR*T>#4S${;9r!+s2?@D%gQgjwXM>K30{u215vl<4h@Y^L~rL2}gs>Ee+1Z z_r?n-M~Iw@FKyZjI?0;e!XUYYTkV{i-wvnDJDuVyoRJH6G+`IADn^>CcFH@nREU5& zdq*1QHU#-SgX5Y{?B^wz`h7&rO*>Uq16>RMc`ZLW;9jDIgiGv$^HRt|uUc=}n%>uh z*Xe6NXB3$&?NS9p$th8g-0wt{IO*!VEnFFf9$hkt=K;2tTC0|p=5x$M?r zSUgpGp4a>(i<7S^EgrH8Oc0nuK3cT6A~H&a{RZgB4>WD=sMz5hJsB7GsD}q|BW2tF ze7G<84c1Ywe%1!?ze}k5>fADHZhy|WmvhtnmqE+thRyb|0? zzLRaEc_ucxz`9B0QOR#>#<)3F?TZU5?UgY8zHJ{^MND7$u{l#@ldt* ztnRV2C=+YcCk6!rOj#wpd}ltxN(dCNzXPNhC4XYac^M_~1{*7M!Fw&GS8{q~I z@1dw#@7{HDf#`1J?k+y0!w`cDL}Y4(e$ZZW!q^(kIfhw(~E6xIuQgB=TgK8P}_!XflKX79DAZ`CC*?`(QAb z43{L=9|0tHe-yT*Dep2poP&N?JJ*POAOC0_6-=tKN&Q>>D`gT;Us_<5ZxV&g4eVf1 zjmhE?OLt1)oA+=k#bi9|rH;rYgMs*Y{~}9ha9O#5Mm&q)Ip}!PAvJP!y^vtV-GYAJ zTJcYxg|TxBbgC7ztQ{R;eV(KjQSZ;*Klk7(;DLYKtNAC zexLgX@jf{#hXa(!Iw9!?i1Du+kn`lzg_Ns)T$m*Mfk2+8jS^_dr>jy?JlGaxF_stc zmUO>;!4L90FPuDg?v@PLADT6t;eKq=W6-lIP%uVq!K_;q^4$c3geBbxA=ueZ08Y7t z=evydvpLc0%8D$4r?4{xO{HYA!ENudb2^%xeO>jE((ess2Q2FO`)%TlC{7_{u)hOj z*9_$Y>9A8cx|~!Af4@eSAZ@ni@e@9YYCh7$;ghatVE^M{76l^d`u;dKwU^a_>r3jT zxcT#s*+VPht`HkE5HbMnWZ`blj6%)A{YsepVYKwNv}8JHq$48=PFFbAVVNZi@LM@* z@9T>_4V7uA)n|fpNh-+8sWFsT5>1-+$yOJVR)Bsw$!G(pz)uW%tn(0VHkfERGMg~rSnWavmfmqy0sI;WFumew!}e_&KUAU4`ny#w&ooqm7j zn0N9TXctF%Wp-POCvWRhwN_XpTdM>n3X(ddKz7l*j?DfbVI74eX~lwd`mQxS13X$s zGt>f=wwK!@Z3(z%9(BRAC%G`UDRrO!8hXU&Fk8+Yd{u#MTTXm(Kgy;GtP{-Od)T?+ z*3wR|FTYPkdb4imn?j89&SxWvD?V{A4FY)FC@R_bVW@(USh>m9m+IZAu$QsoI5bHc z!|S2VC8|CENAUy;J0@j4lvY%fFz#_bAvk<~vq@Keau8j5_$$ERSqC(ad_{4@xLH1K zRwGkEJ;Th`LycGOI3qNwszKq+K^#~k#av-#2KOhM(1KY6pN#+rq`%t(IClqeUS@M@ z$+YlhHB6MQM{!>BQi0FlVjoJ_IwH^rd7(jaj1yQt2-Ll)Qmf!;XOw{j{d8Z16@QDgtNx7f&KBTsBVAeG8WR3z@ z@YJJckRbh7wJfm+_AdRS7*y_*96{J#Uw$E9r*dBib((xM?k zqFL_d<6M{fs_lMbn93((6Llay(>t~>pcoj$CsL4fENijA)SL(z`tcmjkzTePmqSGZ z_d2!=$_N7Dm$<$^-r5**j9cKMtCHjj5o==?TjG_3oI#ldweq1`%2HA*A=_c(1z;fl zYu%Ib$YDkp&JOs!xu;RnCV8a(i@t``tTRxt( zOtqVBkRiSGnMBkaQZm_n1EQ;ZxjZ9QPWzN_Z}5O^!GH~- z^AW*D$6U7>&8Rp7p#ZI?5 zaVDF$s^@#3LcTF)j{$j9aZ)1m#B%%w(hPSWFUG|fLm)=PPM>oRQjx6%BKfrgNN$|G zU*o|n#AeRPa_Dsp{a9}*uihgz183%V6Yh6)FreNIaD69P-N^XRa~anWnBa7gX6dsJ z|Jw;RbS+J<%tsYCcNEc#WXBwmreL`}mh}@O!J7p~28nG~=yM_q0jM)ofPO!Jm|eO? zi`u1p_t7nD!@Rgd^hAj?FF%fmauW*~O+^Ihcbf4{6W6g0sn060bS)yn!kK-EV<*?2 z_^5FYf3iYdKKc0NEno7p<40m5DVAzQ8U(Pv1N8gjj`t(==(Vx+9l7fM(N#_Y`uOhf z32p8ko=~Tw$&o-`*4sy&!};PU)sM^-ki6dxJWKhNexRM!dBfKl1|_4WsDb!lzeRHk zluCxdEpGZ1^F3cT5gxmBVd;Qd1D_N1n3WXp^Se~u$otSX#a?k=Fe_J_SuNhSP0+Z^ zLTa_#LmZ4dxPbV%b-GtV@10b|bCF5=yyE^AZ^r+MC1C8dQr2fRd^!vGBZaI^!%_Pf z0ZpFs%N47w7M`D+kwWfX9xxBX(SsXR&q>~C{~|*@xz6LQUQU*%v}JOH;9Aapjy9)MH7B`01n_jqeo9&A`Tjgw3{hr~sWF?VKy-QJ1V=IVMs z5MS6i-WDvpNNT}_YaPpWZPVT#V$wya#X;RI-dwh2mTQ6d&9B+7p=S+#BcTyZMG}k& zPj;}u(QZ}~)h9(r-FQz!E1AAThbK=3lRYA+D^$FW3-{Oj!2a^Mf4i5@w)JQnGcOh> zTxApMx6%?;_4!TIiH7b=;y>@RkE-{hh)=Eo^J zh4b@VVPf!M7O(?#OOA%WP#Rq#bgMjhg2u3F@bC`?qmH0*9qM7Hv~>VyIosb#Ylu47 zxl$`8k{XrPRMKy%vQ}2?AntmK+6kZF0ogTLs=I1>iGbSQIwoV;@k|n^-rHozzlBP@#gd%kE~&cyn&aDO=1c7!E0$iAg!d9?VzzaARKj_i>r-nA<&$r-YWHq~w7%(NRHplhd73wLh zE+uG8K>VV0&1Izf1~4);X+EM?&1Xt`thZ|D%Z{N^2Q2`_-_0$1!I9mV}cm5^7P zMO|V8#!8{rWh%mxK%=(B-~|0IJN$aZEXRKFQ_hZKI(cwGEJqt(?)}MJ6?876Y?&cr ziV4y?iNy!&$F;l4*ISp+9m2G@NroYNxOWHvnw!<**|JU1Lxp zVz%x7o|Pp&H!4GVcIV{v0>}rnb!HkrQ4#t6_96iz(&(xR5Op(dXPj|;KSLtXXdEn2_GL=H_w6!0$1VMUN zfZa=fh)VA16idJc-_arEz6ir4*C*v+KBK@76?7HF_`iCZ&g5&ZYyX5Rhxx|wV_`@K z`(OHN7ydYhUkVRM`7EjD%fnhY`Yx|z7sry^SJ0Y7UDy+d2dy@fa6WN;Da*pV=@QHR zbbipIi}!^!-km-|=)KcIz{d~Huy*11tyBT`XdDCWPsTQ^=@!r%J;yZ8; zcc@@aBJQBZO#j{#J4-?h-}(c+DP+Fpbu@I!-Dsba8EBpYm2Ekkl8hJ)PR(V zUT+QSJUKt&^9s#z>Ji7Y!aWC=n{Q^4h8pi$YXkXT3sR|Rm?w8ygeuR%O-_BFx6rK+ z#T=%x7IL9G6?6$NNWU)}pQnv?Dgyj*2&hVr?F_!TVhVDKDPA*;FOba_jj({|f}gPr zx=n=rPW`=6-w{H#=ewR&e9?5P)q4Lj4}M1lob!9xqZ|`hvCm@-Maj^K<)Hx%%Cz4& z1oy-$k$PW5?14O+4>2d;GC~^J_R&_sVcH+;IC8YU?DfsahK6UwNE-tn*Oq%LMVH$7 zZqg#@c)(ey^D2T}couh3_GAvxL)Hr(xVKSNX`2kY{j5l+THY$w_q3n?+fLiSMmD*B z8Lx@(-Khp>9vz03x=g87aLsF_NEmt#d!1e-+InKmAI;pT_NK=jfpf~m!L=3C0~tZe z87eXPj>sNWIG?q1)eFhV?$^khc0vHpj_=I=fnsA8!n2EV28*_$-`#0!Uz^QjPjFTQ zHXY#W1d@Bd*pXdQ)h&|be~93Tr^@YGJ)X=Es_ihMra(Ip`Scz{_h0un8LL9^>u4L` zIFvWwUiX~pV1fM|Abns1+7N7!=n=uj9Bo&!1BxBQ*L$DdG;ib@mOCb>zyo>b*q@f| z{d5g#;j2{3B}|w2?jG;<+60VdMe{NV^Ajqt1Fh%rYh#sQuJmmjbC z>dgoE9j2xh%n~5Fqg^*nC~*DckS)kv$pcAI>(;kmsYA$4WG?=p8s{JEKy>GsJZfiP z`p7D|(u{8YEmQCMx&z*O!douKxbuEv{U=^@p=kEz3qhuHE^3((x0Zjn#U>ykZmpDs zPQNl1U(5#11Es!$RVKYLzrMQ0%-E{B?D4@6oyFQ|um_ZjqY#1|5P!NYai}%?B~jO( z#CYTlR?${`+rXyM8*mveh?9PmRuY5sGk3BT+x1XuZN0G++>v~W5Xnb)PiDjBFq9b; zn5@$e@N+m@wVROtR=ngXK;s@8w!KFs+t{w}Q}@-6byzpM3cwp6k|5TY(3BPiCMJ{nqs1&2uDOA%_O2YM;X{! z`*PtI^`E8fmIJYVro8SsQUAB0~1S%rAkgRKDt5oph@1muwv z7u=)#@6{7bUI!@dZ=6k7B;`Fx^9TpIByKJ@GM;Tf^T;Y?h1;J5nQzwU2Jcwm)yqunBbv7>-=_=AH66YTE*>GK9_9kD454HfCE z&oL0pKKMM_ZEIy^8}WYWxi}3O6R5u-w8X_b;t|qRQfLS`DI0x;c@Nv9+`U(trEL7a z*Ny<^Ybz)y#R-aM(6N0GNZMUz(~aBhB5#w$Ves@OzO-QC9+ zClj^x_E^hYF4yf-H z@+;_>29KzO7X%2`Me`Sw9vSdyurukX(BPDGHDdt#y-=t<_vl9Sa=hz@;n^{5LQyWN zjg*)u`JPcI)*LVd$PMlPe(~6laf@E~^~)RkQfIgAI_7Phmes3haYgGJ8V$#9Z2V8z{1O5=$h8Q4U@15N4I${0% z$V84i5tOgAqKi3-vqRa}d9=RxjA*A0oSSgrTd7}#x&8T&d2^>zG3>pFixwlFqRLh) zP(~f>|M{-#zwU3cZ@|Q)%5BE=u))O3gBP#>c@ z*U62vBhZvXUII}Xz)33x7^~z>TWyJHdfLCA-_KfQk$>i<$3waJvNHzp8-jev6i8Yk|N8y)K38ND$MdT;Wq4hKNh!YpV#taU8iz%-yAu~Ls#Xw^JeT_rO!%m8|Eu&Hfit!I-+ z2m&;{75KCPYV>hCYpw4(B#>EjyS7KAiCDWIPq8xh^_Azc4t2+-%g@rvC({4Pi~g1 z{Ah>PP%RFkt33-;L#BL6fdOYO-el|aXhJBZPY{YP)-gGe*ZqbM)SD2Ryo;!x-rQ@8 z6QrqD)}@e-tFGtO?-*E@Ud9BJ1_QXv=0q7$Ax35`RYp^yc!XPbD$eGG8j5$)1u2{7 zXI~!+kX+l@N(hNI@F9+>n}kspR@oiTiRmF^929#BFz=;GaRm_Fy<_}jK5F>Xi`fpw8h-9C#&8p`t1f5C7}_Ce8E`ay7qFc&I83Lg&mC9NF0c(zcK97tp^sm5*S;SxqhW zwv=zSTJKK4m3Uz3fWi(w{+3u#WgZ%^|636>Qe1f(9Pdl(YP*6`sXQJ?2 zVvNkite|=9W|3Ruf6t0Nin%QquxaN_zuBwuz6)(|iw4V@ak7vC(Iw5PC|bF+IxgY9 zJFqu8kSgUoEHiCEd)lc~F80)d#{$u@yU8hVL^^X6o3b2D3uj7iXf8*bt)=2OI03s>V99#CbSjx!8kR2A$KOjqPgT2{)Br!kGS#v7gHs+VVYqUx z#XZF)YdmF=M;D0o<0%C@)j(fR)I~N@If07fPT?G<0sD}s+Zvj8u|ODYOw{FYPW4+L z9tMh~BpzO?7qek~N+o5$EvB%+Virz?r*oT^1y7Z60`mPKBA1@E?NJz;rI5o!ZOU)qzfco2m)#mLDyhbvdO+M%>Lfd0Jy zy1%K|Ue_G!j#X%zkW;w+!!a@%*xv!NYiEL5B5D@K>F>)}^pqqIaGnRyqmIWf;pEA>ceXsWoSvDqlPt*SfE;V3EC|jD05MQq4xR_T|$*%a#Q4 zkqUE^pYmyf-;=p*9VpH|Z_L&IxBz$hz93SXjV=AV63D*@I!V!8c937eIAlk78(T)n zmNUn7v@wrjso+d+TCq_nIN3=Z!bQy9OI2{TA#{Qt`q%5D>lJ zbT(a7Zi&+@WaGVZWI%HHekvJ|K;sEwSe%c0e!AF=Z*u)bxFl-zOZe`v!9oDA-+$fT z^ed{GwvyO^>Dxj%+TOrBTU4;W1EhCmk0u&vNSVE)Dtw4ZFeP6(J6(Uz+m*22U>a3d z95~V-y5h!2wQ5U4oQu3JbCLJ(CHEBw8I1kx8>0vp5w@7yKs_Feeiu>RF%hNvU}9A` z6Os9CA#D<~q$I==-=AtWz-+_N;9HyLKtx3w~w_gktX_2|RUSGL0C^HtSKKtf} z0Qik9YfW!a=4j(Jcl(@jH$H>pnfS&HO!pM;Hiv&T7C5kv;4`#`iVAR2J)D0|rzrD8 zMGA)gaz?#7TIq8|-ks;`d+oH~CL+8&2dv%KofQ5t;NzCq@DLJ3#vEhtV&RMy>R{rz~jB zoiH33uPq9Z4FMJp0aq4hHizP+s- zbg^1>!>r64Y;01rK!08}E7+y5D?xem%7Pv1cTSI}T5tv|wJ9h9La`vfmqI9ze*blU zQyH$g0FuAe8$#au6RzqCzG!k- z@hG)B$)9?L(A{A9*@-XSVZ14EQ-1?~ z5WMhbek}%KnRcBc!OY?njaBH)_+VxH@i!rAOIUwbNDx2Qto=COg{x`tK4my2;gzhy z{q#{tl2n)K)9Jf4&<{_=PFwCLFTr>|b*Xvso_xb^Ft- z$=Cb}AkQXY!bMbDVPzG2zbcAdB?tfd^txYgn;oQe2(VRRgfkGIemFqAp$M*FcY?`=45D|J{i)xKQj2$HK+{dv`+<+>TZXegBT z!{o8<$WzCUMAlh@Z(z3Dxt>5B@NFG@d~eRxT~4oMuLUgtiDsz%2*!xRTcBkH zz`KTSSsNoYobx-VNa&!cjOA!G8dMopp*N^7ALkE9Jt;wQbz~2+wqSF06F63)b7QR?Mt(NH)4J#Qp)!4k)v_ ztHX+xx6zg8AUgLeU(+<9KJWWB|8#WpAFhn_76rU@UL7u?lGP)(!a$uvEa^75P%MJB zqrWq0Bh*1Sa3Qw&ivWjrw~BZ0!Zi)Rk1oqZx&|1~NFT>f2*Eu@)AMDh8q9PNyW2=G zhuc=%fpgc`3`+&Kq^~VSQ%0|!wtqRSi=zQQEGRCA-A6dUN~=FIHy9BwB=VwK%w#b)HDC z8MKhoBSWox*n z89!6@_!{CyPRKxZnCr2)z5fzq{{;>wq{?^YiK;_rvWgRNR{EByou`fn2}IY{WfArX zA6;ecUC^le&UdXQJnr<*VxqUce6i>wr1y*) zmufs=9=a59fL;IV{-)*O>^HFi?9_!m-`}SFdEgor?C${S?f5Fq^{4SjWSciC?)Xrg z+kP|yT&16f?dH~qn#_#{$fs7!AeIfR0%o@s_I*OsH5v;D9b1$kS)ZLKGL36#KLB{l z!_No5(GVgj+M&)~JG)w>FYjSHa^z#Jn<`Ia!6lM`x&~EP8l7m}$Rxy3n4W&`*L8IM z+;+$ZdtMrQ7!ulLIKW^3*ZocEP6CLpj(GIgh1`1cyf6a6XP2AVN{CnW{;lVqnD5Pxbl4aN z0pu$x>k&~ul*9*n;j;}nKkg0{FeUVD+mY~v%*I`|Oxy~B`2E-YO=}u@+R>W1-WUG`UoG@2P1ZIj`Xj*aL0M6iUsQf``HfQ{? z&Ljvq`}bnjY=4j#FMdW{++GZvx+8!e{MY?Wh>KK;i#8$Zl_LI>lett}Q2&~ruq&&h z#mW$7v6SY0N@Fv_x<&tqrb~8AQ>`sDJ4Xe82mSx*Z@P&6hIb_zhHMw*WTnnqgN*$z z{S`#5z$qKG+Mm`7UmU+HG@KkP9GQo$&L*t9=_cAk0`OQ8?$0*s`;%msgensE0q&!r zr$LzI5~ES{W1^+wa*r6G{fD%W-Dmna>eI5?OIF$p>fQmz3oRB@=2eCXWXw6*29U2E z?YP`4#pH0ZJH?Z~A4)sP8D|(>{XI=*HRn|}$QKIKU9tTlvt@RH$Yz9jmG06)G14o0 zB=lq1o>UMY_%dx@ph0r$=aA5>h&6|f?bWld^)>eu|FGJnm3oGRZKobM^S1Xd` zp7)0_1ED<4eq#=7HysO_=Nf7{akGX<9*(oTK!1*+ZOCTp?y?Nh9H#dB2Ngf+$9jTP zRar47s8`NCrbGZ=hf^zT{rctu5 z6562+RFoXQr=3HXuvLD9t=EX2tk(%EVFc=B?{!j^{uNasly*Ly1FVl@>(*;!kI*?6 z>RR>wj@wp%exHq)xH7q9UAceylRYFJzS1lW>p-J-O;HMgB}(UP0l14@^cCxfl|^A7 z%T7d@Z^ey~j$?pYqN7CT<+_it3^xhLetXgc&Te%6C#hArDIcCZ0xr!|^~{R#tNBy& zGWO=efbWYaY#m?mNVf3NS>!sH?&FRgW^z5Y64eA%nCVVfM}+}?%mu+-$-x^C$mi3q z;r^u-Gq*lvo=l_EglwZWYuh!*Ah|_#&X+^($DT1S^EIh+Eca_*9_O&$Wy@^K_dJ5r z9spg>@99@Wvd|Rh!8wM(>L%3bY)qMa>R|)%Dua7}q%8o)xwbl2&1F~OhaUM2v9tpR zHh(mjv+{dCzAl;dsi}Dgz(dw3&m=r?&_hK;=$c&&xyT-tEGl}e(c4wjj~F!$oQ{Enku+!ecYjm;X0GMOPcNt3+fZGu8WE|we|oY%Ym%keyoy+1 zWv2jnK}UWwM@1cRd8_rPjK|J)~e4A3`ZHIbuiLj5}^itFWW7XcKU5Y9$v?Dn@cqV ze7|!8wkfkpvmS^@-ufo16Wj#NBE(3#B~Nq-VcuO}^(&CCQgMOhw~6*`7sxuEA=#9S z%r?(FS*VKda6`W5ohbR||Dp?I^_ojXCr$p##J>N}}rJyAA? z%SQodH7-IUF2RXT3>9$@T`AA~ZOq1t5zncD)wANk8w;>j*+WfA(=i7%iA0-k(jYp; zmlY!SvE~{aVuyh>^~%UOrwyFkFEicMftM3%H4D}tIw9>K8TH?+ca;Kp*+p5(^r3B< zXgOAWM_AHkDDAPgbRaqz1H;iR?Y>CEv0v(aokroors?cz+b&h8x3CwXCuu<4qyN%W z977$TiZI$Nj*;lQJ-caZ(b?L{GhZo};H~#=DQLcs&ILHA8%V;^P3}W0KW82Z#;> z#RHOP40+tLBI-E#f(kw>^7sSqw6-v!We84>oQ)lbu4u3$M#6=HbmO;_IVWopOJddV zXX1f)!%#$FR@a~NK;G?b+}dHyIA4+o)7B`pizHGMm6>!=JR?z8Z(b7f6AsA7kTcen zCPdTiqPI?#@_8D*otvdI<<#}+4x9xeXh-e?xJf{VdtKEV2CH{-VhHXf;IKqtG;S4v zT*{va43-8WXMsA~(Q|niL1`+RE>rB+x!tH3=9wi^_ol72`gAdG1L2e$XdXmg(2akN z*wd9EN8B)XN~PtEL8QfMH1mq2?GectdH{LzEOu@d?ZUoM?1J8pZ<+NN)pQF^5R+bM z*`7`OJb(TU8^q5(WGFefMODnqk8&g)Rr(`s2|Z>_*B(8CM_q^*qk=q$&e6pj=TkN2 z*-0h-&nJsfE2{de{1I;IET*yjVu4mhWf0xa&FEIXpk}?Y7tN}Orx00g42+QUQ=);@ z8^q2}e5k;D2?OycT_w`a59!U$9tl%wQ*Bhyz&&qKrp50_HW40y_&u*oq?#tpZ~_IEx#x8GZfHA8`3U>68dywD<1B@N8E75@Q@EnjZwykQbTHR` zsCmyj5SUAR4KMQGN2p>;L1YE^eeDl8teq7)AN*wz|=A zq|{PxwIGOTk#w+1cJ6(ow7mW}ZXSRq={!-fS77w3##7FqJ?A@Y2YTau#C;hr<~XQ* zC^j7j;wc%w3kS^12Zvj%WU2z={x-gV@N^-c*?x_UtIqdQ&g`Ihob_(dZaI%)u~SIq z>(}x6{#FPKSRW^wF?jLgnxKym4EZw(>6^}^|nrLV=xT>i?5FtUv!-E z(*e#k#ETKpO(OEmP*mfrb%Inz6LTvLcYoi#g53L+MkmYaDA7!2T_ux5GrwN0lrhtZD|iwa}MQKA09#DUE|YkyB7eT z(%4G7!bGBlk1ay|mC&ukRC6p0fg*as<7eDC?`E|D;N^%1W4B_faYEHs`R}Ku$LtP? zKCe#6WpOC!AD9N%H%o%%`@z!m;N(t6V68;+B?mQQ*y|m9vgcKS3ta(5?hqY6fU{-G z+gW@)8$qyp(c;A3>a5+dN-Ls)@N- z^J|l?I?Rw?s@=C279@8rH$-DexdMJz7q6h`s*IJ91nZ55|8N+zZ}8rZo2UecPH_@U zm*m`F2nK5|t)PrbZOwtI@Qq<4hSW1jhFNm~5QqQQ`%V0-eiC?fYMS5Yq}ejf%8}8* z{tl2Fl(VeH*v~Bwa#{GAiK2MBuLU(o7N37n?k?Uw_bSf=_!Ku!Sv&LsY9OtjF{MtT zoh59I)9bHXmbprQtY2+%x&R&*t$fBEvc{%SJn0<9ZQhLYlc?}ra}OTGnOEezCVn?i zH_s;~it^>{86Jies4+l^``$7Ao~7_g_bh{I`B@u-4eax?u;jC-^I{>z++?~U!aZHO zLB$Q`3IojGIBof)gh>Fmj>H+X!M5sVwz@3V>~&d9kYv{HdN3#`+5QDp<)Q)!+_PdR zJ;mt?qvvl|UVCo+o<>xXTMg{GQ*_pQjQeblHvr^c-#u7JCw?SIOZr|3)ZqJ(Z(d@x z4cJqhlRDvx7fcNT_D7J2*Gi;$zco@ig>sZtq^jr~b_iJuUtv9)GvxX%mmFm0VzPtT4jNF2uIf~ge1$> zsNPBD2*!kpMknyas|Llt%@Xf6U)SxQ{||bk)b~j z1>E9W0WomDTTz6K&~Uj3b_JJlVEMZ5EBiA87H#!hGBNcPr@1>HSl`FFi?J^Ov(tSr z#+(C_MfKdLNzS_QUn{Hk>zsy$A^|)9ulJiwbxEBqzoSdd&Wo|p^M1BR``7->nW2sy z?^eG`s#MJ2v#61J{s^6Pekx#v&2qj@Hn{-!Ra`u?4+Ync9ob=;(4rnH>QRcnnkBwy zYIr>G$FZ=z1L`+FSxRin&Xs{0w1@S3l`G$O!O8j6@lAYzkjF?ThV{Tc5|?c1zy8eU zPVPFgOVq+WI>Uy(fQ*sa;<%G9(|+6!;XKJou}#P)9?G1X)XQ{|E4oLz5e}F_Tcz$HWm-}S4x_epnYT&q%^fmOHbVH z$s4s!?e;Z|ksP8FlcKkTqx;vBxSkn^4z@AN=gB@PSJ=4*36{qE4I0m_MYYV(nu9-f zUR**JaL>0Kcu9PSV#`h zgQB51UlgO`JLC0zBj3}slpdY~`wc4$meb~pQhT&1=54P`gdo!Nfzh4W%6Kgth)yLvmh8uzv6ytkQ!mo) zwy<_nhf+Xj3oa#d=?QV&KkrU@E8I8 z7y;I|j)N*z$h@!Fg4W&FA-V-L6^R~SZ{jUWJ|xkQ1OE4az2Eeh+G{Xs!})$nTv~5g z!w?b`?C${ST@^Z#R(H~3MZkq>r;Hhxpg?dMNJkluv2>M>6dkDy0ivrmw#0f~2^bi~ zCBzZA*Hk=U4l5?Bb150;P(wK)YL@}g1tt@k=s1qffl8w5QkD zedJKXOl9QE(Ou;e)6?-${i!{hv(jSXd2*u z|NIl4yVyO!*ol#U{*SMAr~c~lNhGmIg>Uhwzi_TqS%dhY%aiTXXdaAUKFstQUgQV4Zjbw+dep+vY?O-??a*Y zVoKSbV0(Mi6;&?*dBOjBzX?wA&hwmq!k#_CkM{!M+y({g?*PqjJYPg8BphlHjT(+m z=WyaY`xzdR!y%vKh2uTaqK29*i0<*~PPVQ87Q3_?`%13b| z_=Vv@)>+(Dme^fVv3fB-ZbKWzxVH5Nl9YqkWq#EBMswF2khHEGgKd3N--gaG&lm_Bc`k)}@WqWU`t+z!#59Z9@*adxyWd_l~ zMchzEQdsz`a#5%^j&Q_19P9HzbRTb26N_iS&qz3c=vX|LN)4|{IZ~8+IAF9t-1@&> zesXz(a(wgX2c3OUKm(#{JARy(#8eyA+*dX18)2r~tH1eG&5DMho9o+2vmyrENBCRL z;_*Nm2#elRcXVwwsk^aiW)b~)R{Tw#h@kd;hQZn-I_lVR{JW*k7tA-3;w_<&eSt4v?H|vCP2X!no!|aph5@ z&|%^})^XoxaTj_or`&=y>r)`#9hYB}R<^838>sfZ2vH@fS3^(?pp3P9kn-9{CI2X; z0OD7AeUl6(qlO;H%eSed%OY7#oMTKH@~QCou}K4BLmfCLn*lo2WhD<;xw z@}24z19~DqjTY4oJ-}~m6+q9{YjEy^%^=@}dpphzc=Q=p?)(Ht-!A7T_H+j7qm*gU z0H?IDI;O(QGzf^oaY2KhMZVElp}23w+i&GB0e=Kl(~K9XC~@2?;K=l|sSIXp`3;vw ztyE^3Lvi&r;sH><#h$-pazRUG^fVSa@)9*p8X*n*{zWkC*`-mTFMnSF)H6qgH+3&J zEh+6)W0bGiWF0d@cGS^pFso;zLR--$1pwalzus?Bh;A`F7cD?q+98rr_|RmA^mlsz z`TYsz*RecjvRndv^J%<|drs3q4UDHxw)e2tHPMOU;%XrKyQyCyp4VpSzoUCR@vOkF zQV=alg4$ZOI_huWc`2d?{KAF`A!1S&_uc0OD)kt-YBFM?zKa)acRQvw_~oVL98?g$ zWYX@$vAkeyQDocB%j%>)G?xB?7nm9j@-efu!w!9*p2U!x{*fcjFn2?^H+p;#YnYs~ z9C9}(y7SQ`prcsU7szK;e`@W)z8BB?c>0B+2*0_cyb-n*#v={esXK~U@l?_nB)9Av zZsT{j*+X)cas>N&?Z;=qO_R+)QsJZj!`)j3)wOKlqPV-eySux)ySuv++}#2MhXf}C zNq`^$f`;JkP6!e#c<{IP+h@*GwO`#j@AvI0s#i7N8r@^e?qS`l=lAIIOCvuD0N4BL z9M&*cIm?&qO)bG_%+0%yg__?JBaZIOXqo^5b`gOkN;Z8l)#$kTS7xW=Ix1XA z;$r+7QS2t2Y>rl4Ry{D@po5Jnlfqow4Bbv77Z+cdXx3b+XSwR7C{#t)%607m?Mo5G z!tQFRcaI|1P6LiYjH_n}Ie%GbkCp=j!ua4IJeY6L^$LR0TJ=nT^KN%v>|osR5a%mr z_tSodgLK2Q)MvQMq-yhL+9}mbQl%ljqtBCk7S2`jBCpFb3FzO$TyZF& zoBUd;Qsi&z)`>OijjXhlF4^x^*YIe!u}T5sh5vPb)BD2+$X0$`pYc^>8m81NTO^2o z3NW6-aJ{wfrJ_7P7rC`LW#e>IbSPp})LG|nb0e>=Ejt|n9NzbP+~VVKg?z}SwB|3F^uni8lmc+CdyJcpA05)_wgNwlNE+@mV~JhvENIU6=`p{@L!<-G z%`ALHPLcc&8bXlt1)EK}lP`?)Q_{z}m3JcV$yj`x(QilIX-gMr{1mOBpwSR~+atPGyusNkdZ-olEl56#Sz@Aza@%ldW^A_|2 zltN*Cvtp0hK_UiUIvepcZ2$ZfT&|Z(Rgw@RfLDLy1khU|YMOnsRS_XELW6aLviBjP zaj92urbl6~?8->x<_(yS?j{N5fR2V}5J5%^qOd<6G5#w|31iS`)l|HWTSH0*`Tbw_ zH}$5Nn3yFtVelQZP_~ut%OOJiQ-JYcv0LMaXBjj;t?lz`GvIq%@t`Nn=P)<*e!$xD z5!?j#ZA!`DXLv;YwHcZHLRjRJlg1R-9TUsaV(LcA51$HRz__sb+mXF*$N3*L=)MpE zH=9o;`mHthWmng5QEk&MxAg;XLX&dRP+ssp?pHR;q#jZ;;-R{ zpx#TLZ*Or3Lx@K<%qnx-8KgZ~U9yIAqH<1<`Jxhv=mkE{`8vIONc5#w(1V@iSrMzZ zRXN+&>%3Vq>;!Zuw6r#0UReT%QpTNDHPEJJ%ukGClZmW_rMy{hFE+nF&)(ME9E|7T z-k@N1Z`^p7WN_IlvA%aPjXbJva(@l393EvM}wDJoo#NL7aMx4)x&>PVEkj`O5<;{P z6tGf*cHaI(LiB-oP_Gf<4c(%Z z@kJ~#HL)csoand!=I&Y{Qj-G?kb~gPAqpO$(aYokj$(8oF_zT_RX^*`>Ay4>iGukz z+(5fe6LzV^J+Hx7u0t+@ydz2@|J2Z-QbH5uLa@)~swt`o(EDHaH?hyGsjjlv`*S>c zshLdG8N>cd4saD@84_1-77pKYuCfpbta0fn`aGjm+?=a{uPA}M*TJs`S9P0wFk-hrupdb0?`M1eq*A>F@I-2EY&TL5!1j)=VAJ0-4 zXbj0SXQ;vW>;LclO+&HC7UhJ8`W{~F{_ti79{)byB)vU-3@MetB2i$ui!q_U?7U|V zce(x@?Nd2tR=J!LB`^f!!%$uZAG4dA|5x3HD+?<_@5o30=YLzs9T_FvhaE|zfA=VpIk2nY29dgQ~}yQBP1 zyAaU$mQCyZ64&Tnvel;y(7d^L8E>^gy)P-JIT851{D!a-Mo3)UI=O0eM_o`mcGi05 zQfsP67W8M@heZg!QhXkXwoX80Xk1QB%BxZv6iek4_*}Zd>BR@G7u|%8Na=X}X`b2X z>f00pTMg$OBA(`bv!zLkgza<@34jl;6;GW8Xi^TViqLyE%9p|F-^f+7^FGHZhEe#x z5LZCG%?Yax%M`(r{M(JDcsH|tPkNcUq}Mphcv?y@K0EJB7obPdED=ds7<`Q>f!JMT za$v&ux{(M+=uOC6b_FZKNeGyC(K>Ju&-s=Sy)7-Pv!bwZoS#`h=>jb%rHQpDWq_d! z>LLDYL=8+Sy%*Uy5+%Bey>-U;-GI!nXZR;eUx!O4;?w$3f8Pa0@5 z0yyjY)yfSo8T~VIPyMA)t^~Qd&Fcg1XSFqix2Jqjj-a0~LrDQ0-mj@5{892tc=sjk z({s+@cBFhOvg#u1=UGEl4et;HDOYxzdVVzRkZU(rod1ji=%>C_VBRapFMGT`ost7F zZnlSRv{1g|RUi?iFk;iiZ_v*Dc`PcP;A|@1!{TpjP3)Vu=T5Zn{e5M4?ZGh0N$t-H z(1S5LXX>gB!+^o6zcQ*apPy58DGCx!5JyMU?9ZqR^#X8=eyH~0(P>gIC62p>Io~p! z_6a4du4Q-hF`km%$smFG5Az@4+zUbYeCJmhHyG8vp9!TVh%A0pW?mM*Z1Uo%I{@?` zd*wM;4)}wnds@H(!I3!tYR^?c`DhATvX@O;UsLCl4eIEUp7oiEdqsOEr>eIW_pP@JPj ztjEG>Qm*qlT8m_Op%RJTt`9PJ|Y4*ey@cX>~IZ{+@?tGor=|ZAV zF!mJ*^rx~=e>Q;LL{B_pa;#^cijdkaJp@`Z3(Xo{6by$VdEQp(*ZXWR?hMI_X2P|l zLN2hrzy7E?cam>K)WM9sN-mK0q5O03Ik<1OXBfuJDS;Z6ZNCmr_|EY4>17m zZ&YR!lDCYDY87dz@3#;3iRomepAf+P-P||X+%bP;(22OE?XBbGCx&OHX&OdGFD-Go2jt+5&3>ScT=CD8-3XSTrja8lE z-rTJjulKUQoRi2JHM8CCZiy7eT>*Lmxt{fKv44`$&(E-!7Np1ms}_6gG>tqzH;Ftw z8bU(?xHAf<%1NXlWgTf#G6g#2c^$Kh%|Cuknp45ae}sev7;5o5bmBN3JRe-YODYs% z@nS>#Q-JUPm{oInxTHdvna(MEA&9-GDEC&&ZSs(+9l^_3dN5-FaOUJ*sG2dW`<|*+ zqW&73vxQq!GS7jDzIPcMj9;&PKtCo^I#e(Q0e5Bc<;S#Cx`x>8H{9P5Ft!Ma zDcIn1f9PmYvVJ>`qnCCm7g$>3$UDl(yATla4 zG`%-S;K7R36+CzDQe2GfI*VBVzsqssfuF@0KWVuBgoM-(}l z!$Jk225+NpLVKc-eBnBPT;At-@pL?dZ*!9f8VS%RmXS?FLU+a}7K>a$Cp+IfgL=m| z`La-u6b>q}AsUHljne=ITVYTqZpafM0Rj@8Sw=c`8^Eo^)SNoMGBYQ2qE=BpBoxbsuyo&9^6X3O)}PE+_U& zu6IXhdH2$dewRm=GO`&&vKeJ4&7aAIjqNrz%9beEi|)XmrRWRy@7E4U10F zV}dh$FD!ZFpgs?5&$x2+K}@ZBHWC@?;Eety0yFn6b@B(L^vwFeAT}L9Prg#f?nZ6f z@=5SHm^kjUAVLDvD{&rd;i;07SM#0cpkJ7G2nGEsJqSu9xt=X{W0s@xtG;RJlG+{S zU+>+jkWmEpl>>)Fqd1SUKKj=?o2GVJ>asGDdp*K3)&~gJ9kt=9f_CncJ+e=Z;f)j4 zbMl}G>Ij9jfnJ9Qu?L)BrPG4Gy}H>_t1r_B!hG@pGG11+pi&qth<^$&?#J9m`SXq0 zJ#0$sJ1+(}KfTd12!!3Uujgd7zU7|e;QA!q(q-&)g&{Mo@vg;bG=3*+>k>JSB#F(v z{@F}-4w4U`SNbIvUfaBPN5;1Nhmk5e&3>(&cp(bEOTyl%-Uk#bSpetB$=k6{lP5CP zKljebszDQqQQ8sGR4!cbZr1|!Vhjnug|45XQsX&gDb8(^$1rho>lQcN#G#(655qpTNfZye3C)r2_;AKiz>p1!LQ+2uY5wzlU?C zaG(M>2#bnP2FT<(l6{zvidUSM+^{UJSmnBB^+j`O_aFZ-0l0BUQ+qwyV&SU!KThJY z@WP?{4au;k$+|0VVEX>By>SF^2HVS!%F5d+gsI%yM0wj7xRJ%5KV0Np+Z>I=Aj>`SM6(+DdlO!!}~qkgT8TT0y%cQEXY8@@H6CzS+b5=_zs$ zV;eo5>&sCQ&1_W1Rx1g3PR=h`uQ}m^#9w!s;~nvuUZ9pV)X?XthN>=1H#Nz?+JpQW zb7hNKT^jDsUy1Yc{dO2q31P;(EXMrU-KVeDLT3uv>pde^j9>{JMa1@^s*^)>`VgW# zs~ULy+ut^JGZX3%pg;V{wy2hX_IpDAr|_G>f-7Ep5(+v`k>|&X6^jC^#tyJw;g6 zQU`ZNHK6k@yH_@{8oHjJ8Gd(d!$y}8~7p( z#ARcT->G#(*Z}f}zWMd`F`qq+aTw#uZ?d>?4r|g6>HFef(WAkeM+g9?Szuz@Jb#tGYR*MV>uC z7C=9@m0ihP5}XB{#G+~X^kI_#@_Sy#oY-srpG8Nt5s^tI1jA zF^F4$srZ}_VrRX5bb-h8R4*+PD^>L1w^S#|6XpS1cLMJ7@o#$k5(h zI~xTT)U=T1$E%B4KBHJ+2lP8_9=})99`^Z=a&P5&s_mnYSYQkhtE>IsSX$pl&pQSH z7v1hOpm~8<{faj$Z2?z!oZR73+X8k!%p0oCPcYyG)H}a>mXK1MJ#eEW?oLOZmM2~r z)Akg8Y!Bs)aNu@8fd%8a7p9frGo!Gl_^3&*t>3na2Pb%aY^bk)<~?zKug9IH7Q99D za->pZJ&To43UJp(!GQRu0OO&wTd|m~+zG&(MU-Bd-w%m(&kPMlWPjD7Q;w@i$c+r( zB*#TcO~=fr2)m}@-y9DGAbiUYbnfHEwU=avEKS@3=WoTlM*hm4tooiE8%dNR!LLrX z`ySoKQUA18tb@Z}EsX(sqXLlL@sE&Ry<--}@TRzhHghs4=&z(W7po;m;8#XLyJoc! zO8o_&($ghq%}mHSSi5eQ3<6g_A0@To;dtK6ADq7v`4%vtw-XuZ)!IbYIG+t#XCn z+yy8TpSoj892yy2#D4eV>j@;Gjad>wb9rL`xR7r2Q?@L+ENsJQ-%j3rwd0*jZvAg_ z2>N&NeLo}dK!0_OfJDoAC3oodeHN^@hE&C`)Dv+M%W&%03TJ^BWke8HrN8H2&l;Jy zo3TJFvO2ue22n#kl*bZQF4oX01cPG*^h*lMgvpiqcBJ5U0|kPwz;9S-BE0;D5;$0@ zn*+$}Z(0D3YgH8XlZ)lnZ`Mydf;?+HWtLNMg&~Oh<3Cvabb4e#`+zBgkQqz9;*H~@ zymiQ3+hQh+Yw;-iAj+{B(`QNW-}m?sqL_p?1P>J%vgwjIV+EWSF&NFnitTh1w;^ak zlC~)W{c^y)gMi)p^*X0FosdluxoF&b@o;&>iq=Met#`Vwi*b>Eg@P&Z2aHP{lz6%Y zhXFdoKLz-{pjU!kxFYq#2!)%b^E!h?#M^Us%G#Q)Q<#w{miA-;0JjzD#*}w)7>pDW`n3}_D&NzVrgHWE;&1|sMdVq4M5rp#FI&T#~d6PCxJ z$l#R#dTC5U9}XHWF>4{3nuM(HQavq+eW*mzwf9+B(@z=VRRP>F$$Amz6~(;4ZwFeL z74I)SZN9i@RVY>%8aO%bNJB=t9uiC!eDg8-hherNDj-dL!+{8;Lns9JL|7u{UYWpQQ-wEL3 ztE6T)N080kZz3Cxyz5^2(ikpj@sG~%w>Wi+*?(eL0oNfR~e>SFmHx|KP{-#3g0Q|3^ZF70%viPF7gUDESJZcfl)rI}D2`m6;z z;#m>>D_rG;wEjQmn^Z7ghCfI|+a;I24Rg@Edr;#0m2>t4y%;7M^vE9X49cMw(W?;! z26p07S5isGR>j4NIV?lwhi{;ap6zZ%pZY?pG6Q1nUnZz54e&$k2kY6{z1UzIYg zJH~yDEJ70p=P#^c+F)!uzgAQAiQHRW-ekp)hMh@ym<;-H^yV%WI5u#Co8q^ zLd3ap$rBifh%)9}Wa7D($J$?@O9TDB4cZS0w2D5%SCVR#{ldTh9GH!WWENo?A|vc( z&$_tbeZ~U$k{_CL3O1O}nCg8ikt#yLYB1QJ1TV^zt&OZq&0^J21Bt;(b543} z28=JoE>Yl357YE_A(`+(p)W6!)dPwSW2KRypDKN8e}{7bxP<-NIQHKUxl7QVH)>M+ z(63_dyxk13*Q|MVw);<^U1A$}G~s#4gkp>_wVYfJ5KtlhDZuw3yBO^6&?eKles0qI zS*vx1Dx37r4UL2*x0%44gZb}yVOmOEF*QT8g4^$F&;(N&`UZHW@+}UbWp0sj!r3p( zVE&gg&x(y!VeWfJWaI?}KVM;#|H$U{=Qn7fOgu>T20~z5XGXqu(RF#Ro>GJ;VU0{E zro}?E7asOY&$JR%&KSxD^cQkOa;hqQY!&O^4>C6?r29j9c_J)(;r9fB3m1bCvt0o` zAed||px)MPwtdQJLnBDX4`gAGzgEE35nz;=$x}`<0B{rBoMFTbkw!S(E{B|4 z%@>-E{JBz+)=azQRzW@Z>WanVfl$hq7-ws?Z`9yggLQnN$E9{qU5z22+h!J=M`LG4 z%XuLLva4+yw{?7Pf<(ghqIW*M^sm=^-9owKp#=IRENUlL-+>i5A@7To!IxoJ8p4;^ zFWLAZ4KI%(X)T5Z;2sV*1)FCUxx*DH1vO8x(aFu{*W{MAeY{$3aDN^A1kVezFXhoR z(?%ewwu~>orzg{aIjCc5@Yc~`8@sH#QaAzS93Gh69;$jOo;d^y$CuNgeuY@)<-6q) zaUzlXy$>f3x&#eDFZt!Q&j-IDrE_&;H57<{3NW65iWZvnYpOzndHz2HY4)S&1E~I( zXe&vgbn77taH`-s;YK}8V;T&JSs)#au}}9rP?+>Ga5w5``8b_=FP!=T+*iTX&S#zR zc7ItHMugVq!4HWiG&9+=>YisUeoycN?gi9aa{b;8wTB@B>wSc=Lnq=TV!stro;LV? z1V(IWe7<`N`q_g8$AqpX@qv_?KH`1!)wy3zk@pn)kQ-WKq7PiyR>1LPonjhOyzG#j zVu$?@s@DI|uukiUqF&Y!y zIs8k671Z+(;s|NxlTcgqnlvYBI5wR9k~?E!cqj4MZy%%J%51@WdEd3Fb22o4wZ4%V zkI}dHP3;z6pUolvdQT2(NVC?I1!%|j!?0YP+IY44@82B7k;x<2upKs9d$lR9CgY2e zQ}TlHt9fb~fI}i_T8$zc)G_}R+@H|Q-Q_AmjRw~$MD`>P`elj9uETMuLkL8*DL>YQ zTx-aa6s8H$?YtchD151t40I)>b6_}b#I*mIO1L%%P-r3l>$#_e;4np|YjkZpbkL@| zDQo*PJ|81Xsyc+yl&rgCPJ#AQkqP6$PYGfm@-p-*WzX7feZz`!Q_M(cLFY8Kq8uK0 zFWG@kl?@h}n=T{e_rp$Yb5z&`FU0+9p@H$a=emWk15lr_d_Z=*OAGeHkzpHZilfc4 zdom^CkcIe$h3vKT<@cy1FfVzPu|~I9=TYDL$Po;Dq*fl=8p0Jm@JWv3H)Y(q(*os> z@G2hhkb{>Nbuz`*@qF_B^@2SsZxyy+kfLh<B z{LKH=rTkoj>A|Q;nei?duT9o|4QBfkkc+=D1Emx)bl4*!hF54kR&=Vl<0c8g5LUde49BX z_o2Trp;oqPK>gEWR;i3(Qa_X#IY!c`LM>U&7FK|fAB!Dz%7xT*t-u4wD=Bk@kmM5@ z?zQji$bHQTig6B$?<2vauc7qTY7nQm34jZh`P4c8$C$m^l(03JUWk@vIsCTeE4D&4 zyetekNiw)E7rZRBn=Ehst^rdK6`IoqQ|lMKr(tC~yh`R?-`q5a5MtheRJ&AE0 znGUb`as^8}!7I+)B&CjAj3sZtj`*x89g+l^%M8X+sA}#H<&u2I!X@pP2u6)RNHgp<92hoOS9Q_qdIV85_?{@uhD6 zeL61*^lNd!*{Gpw6Eip+-El~SVUCB!xwre*g*et-kxZhLw6p+@f%%g#-ht~S)t^+P z{t9AQOM&?D>|iCHNk-W^14a}uj(bx1x;@C$_zr&DS#jj9aHk=Y{?%8ivYpvqwYkji zkwCvLJUWLe?A+O=17tt3sE)R||? zoomgc$~t?c)b>ng?rGr?@<6`so8sHIEfF8mnsP{e+kP0JMM&Bgm}U=rHsC#|f>k)9De#6Jc2 zelojyeekLqQ>RJR(NDbzi8qeFcM4F6SALi=D{ol+S06T=b-JS_=vcgmOrGh)mm=tp z^!I<*|HjydD;8}tng{xE+C31OhG}S`B?mq1T@)W$zGZAk9jIBnPv@xr#>n{-%y$r5 zhbs>a&?a%vZTk5c1Qo$z?OCYu+8o`6@g=ZP#~Y6!dXvUD8jO>auyZs% zM#u}{noqUVkt)VG2@C}JupDA@aPC{*d;dmoRDnNr7t`g}%w6HY5X5$lqj-c-+I+Th(*IY>4s-syj5)V%k5zwp##^*hbG4aN}CZ$h( zNgtI9dh1FBWug^)ap8rM!UVr-{x{D)DxUhp|%y1uV`-v8@*i$5jp z*tr7}e^i%Ovk?i}gYq1v4>`qDE!UJ-Nd^+_>zWnyt_q#iVgB`;k7U(JZ6r@!K98>N zShwyChpvoxvN0l&SFqV=hhPX=0&)yYr>UrnG`bPcoc!;0Q)r7BXQ*_hnRrx>fUnnVk< zvO1@Lm|Olf|1qESwouVAZUU}98Dj7y{g7^jBbSC3N4ucCQzJh|^YSOb2*{13OyZ|! zK-7D-NR-rue@}NL<;P!#|EI?g4%(qya!XRuKJy5QRrp60j0)iwyL!}TA&N;1iz`8K zhq{g&?%Q|drWUc7DsBC*jhUO}DPnH@k;NIpCHcRHs;)#x(r9k9``-5VS>2Clkj8(x z^wFp_(Q~;}qz7c(%+?B<H;lb4S{hG-oZ*eG(<$XeZKsO0d~ zL;`mjsMoPIQm3UArn|G@NKul*us&og;D-9N2-I@*h>CXTPc6{uq5W% zU=VR$5*n(!r$mml@Ci)M^auXet>4XpttsjW__5n=`TlH40rp-}%xb@w`Z2f-WGPXm zOth7D%GK}*i{PNiHt6nsh&1s2(+|M+C)`azX%S6KhA7`NN9Ks5Fvt`8?88Nc>Aooq zjjefbKh&HTt)kYbe)Od#3mwPx6`Ca>beR%^rCd(2#urP?Y&C$MX47QQ>_r8_;3z(u zR4l6tQ|oH)AddOnjj~yhRZFiYfLni(jDLQJM-BL7NuWiI{{gSK07p|{bFi1tXQi;* z+YZ1{xh8)+bcvymnO~loL1q2vd1NP8om=VI%*HSaef`({(h&a?8@6WC5xN0Ywr>)m zD%a%l%;b-(@8>T3&HBExV9N)A{&4~{&6G{^XF2v5VdkX->3JP3A0s*Rp8|3jdXn4i zIBWntkNO_>){10UR9s7?qDQQ7Qbj}9!vMb5k7lCWiXsDG9xpAgYDL;Lhn^AIy2z3W zwq@?|b&a#vpl3_%%Gf8)BXFJMn{Hyho@rbC8N4LPWj__Ee~EJSBUq-T{my$Q37ZVm zPp?*$zjqvFUrdY4Fhz5Ov>x;kjaC~*5Y|2R{f;Lg0R0>quYQsaHSrs}F)sKHtTuk{CvDtOChV6+#w;2?aGz(J zH^@TNY@IWE?nEof^=gp$c2Ma;fWn(&;oW9G7nuhj7eBTN)eA=%9f6_@^eD-n{=6Lv z*pApI`5xLM`cGP(;PdtDG=t#XX>2^t%&Rj|J2Jkv8dprS6Yo!S3$yO?5eD1ZN28?ebhELD(tOti;H6po* z46r+`X)aZEm6voPHW52&+z{+ zddMA~vQC0=YGov(wX#e|-Us}hWX3=7?!AUL`~HomJ{U~ZN2%?8WPmLof%vCHN978Q_wjf){Hn*y!x(^K$AXhC^p^z)z?vMU`fS)5svL2&3q%_ruvf zI{6I-pkL~OxTMt=tyC)La`g}1sZgi16*ygu@S{nWLP@Xg@`+7Ml$yJCR>OUWDzy#S zLdF2}=rXFk*fc`FQ0X^mei4IB>nOK-Cja7JnCUKGh|ZH`*#N)9;P*A#whtkb!kHjZk39RJ}tiW~;^_2Pvd6PE>dNLr;9k>#MN?rw-brb0G?^u!Flx$CuQwu~8H zE9ysdDhFELsn!q^w171mOs_ygbcJr>h5J2(;UR0N`yfS+e)k}2ND@}O*=TfW7K8_^ zJ850|YaLP?7@lVJxU5x-S*!}nA^jL}f4^$SX8S{Ex0GsOrQJDe$ali}Iiyn#QDxm? z7I~&jzP--m<7!2w@ciU99w@y`hvnWX-X*of_&?SKT#`zlwH}tRU-}4n`6|gtApgV1 z-xcur%VIq9zjf;UNs~=)a1F{j{0FPgprK7zq*WQVH;E)+X+Akmg+$ zADJm{R&Nijj7&aPycI6S+wl#<$Wi=2aIG(hM@Ri6iGlf^SQ|>=Xc?`dj}HyO0L< z(}4}lR=XxF#s5nU0%9yXns;yBo(Fv)pf={z<1>O`iJHpE%xIr+&VHy)E$B1i5IQ|k ziEt#s*bK{_k){UL=qX`fx9R?5*CIhPdqySz=ut=|co=^?mbq27WAxl;q=dp`*oU4I zi7|uW4>zB$1=qS8eLydcFZ+u?9n@)1)$*eElYr5y7v)|0G2Vc(BPGy=40cC5ef*Lo zc-2I&Gs&Ayr#ybnP!Onw`32Lc$J*!&>~}(Eu0x>-RZwxKYfx^L+4;_clrMA2y-Vz#dQl$>#&l`7T_aYP>$uQj`gBG z3f*r?!4_l1VB%IR=X^3;4~v#$8WoHcqS_ndu-WSJCS%?n>UW>SpjCBaXIG?!epY4I zOisV#1n9k8X?RUHI`!8tbdfv;wV)iUYuP3ivGbah6pTJgYSe+bC&dw^nJ*{tL!@d~ zVV3b(v;GrPYS-Qry+Uty$DLqafjUdZExEYgJZMhrvX8q;`{%%uF`m}=B~P~YF*lt5 z+eUD2dTlgRVVc*2#PzChd716*_O8|%4rOzTR7rWoz&_@e0Wdx_z3a$xwkbvJiB{cR zGtxU;bvT}h(THJDj~kz~U1Ts;j+i%DT{7#&MXFUtl=mzBjmVi;vN75Q?XvI5b}Ec6 z2GFaA{^m7bH(*NP$mOT7f$i-LA6{=ofYO6!vDeB%G=mA~R6w^e8-IjadsIg%&P<`~ zldm$eWk1s^*t&6gkNQDxoKu%;zam;fz{k_Bmdkq5~4FX=%xt6nO44pg>${V_TEoWZ5 zY77J_z&z5YC|54U5x|o5P~pe5Us;Fk=gxpu!F!8G7eTwobPM7-Rv)Qjl$=cnH_tvA ztfSHy;!mJzoeUxB2js*?9>vN5^tNvb!WYhX#j0s_>rYWD;$ZjBV0*-`-ACsoM{4Ca zL0@w&0`@7N_ZGc%F-OGubs2sZy_TFlmw%C*47mhMLN1sK{3RbxZtXRfQtx@d%y&dN z##gcq`RLPCRI_k=U5_{p?%gU)pZ`|-ljlmqm_<8os1jbil*H#D&HU}Lm0_EvTEhz% z-GsTPOGd9BY3D*Rl@?AK z2Kj9`aa%~}Bh>I|(NN;lwoTqSa)-RW8~0eWe>9l$IH&b=L>F;*Zgs+%P(W(zOl3vI zPuPK;?6=hT$@9s_8=yBv5={hKVpAP3I;NqU@yq)rTwaMIU4F9DMpzk9Ko1_kZSUOV zt@$R@z3YQ6oS-R>QRMS6+m}zON8V8$Yn1H*^=B2!MWx!!uk2(S@fT?~zQrf$<@MFg z*HgSlXFtl0NVx!d9*G+i!~A`l-f8eSD6Xu8ieDws2w2XQpw26=-o1;40C4GK!_o%l zvpl$c;|tfv&CUw9@#5dpX>dg=RAOI~sA&VZVMKFSFC9Ca=(fE+jM78jtjibJIrjxw69;4gq*NOnnjyj^6F07#?Up?LxBTZjI2H&_dI)??pfb+QS(85zL}6N#@pbaNCLQC4u(r zR1^I?f_dfHxM;p;K6E^weUUMMpjNb)GdUK{r_Z3z8)&zWyMe_IKNp8nFtDY(I)((= zxsgig-VYRUp8qH$oKr5h2ipmqbqW)VW!Nxtxsi>6J%IL?${t37Zbx=F*C@oGh$$jd-})6(o3#X9nqH<=?}K#NJnL=RA&-*^m)d}}v*$2( zLKrx|$=_BEx0qOB=3mSRB$*%V<7=Eq_864!LlSsHD}1d4{VSoXlM%_S*E5{Naf`J( zu0KMZYf%Xd)j79x)t1Qa`a%Dt23s*ajwmOc8Q(SUI5M~fNn!0z_?)k>32Em+6x9?m zFmH3#n>Nh?N9zTeA@f=sw?%xGtdvCQ_OlTe;Y9KdF@+7(0g$|@2_fFS7WMG(Oxu$p6+d69Du@Z;Mztk zw_n=eUgtruuAID$F@pO(vHsE6c2AiMj~L)LZA<3OmvDAiQG(u@rfsLva{zFQDcOp3&d7l^^Xj+I=t%nOYOU6#A{dLflRe{%A z2C9kI9?aDUbVKd2bD%VfP%~jObRr88+;4Nh;}SH@5Fh%}qAQ64{aU};mx0xG{NjiD z(x@s^YTvepC0?`8!`Ph{FI~lu4ce!y10>DzqzZS_7d#FBYM-h{PL-o6t}^X0l%nke zD-FA&mnAVmQT z4SPYBz#w}6!X{e+C=UI^!l*>(xS4x8V?F{%^EUbTW@ZVxQ_i>;7FA z@jIjbT`%|X3g>)&;vRkYs;*h%gcs>yE$e=yB)^?Djkf2gj(TuB$n8N<>M`#vN{^~b zL>pKg>&X0gENNuOO7DF8C`cD`<$m<;q8>iAPvKll@~Im0aWgERS5Xy=#5~-O*ng0FwOAN@QaAL+_xhpd$x7#m0gtKX zZkDKH9i{CuNgw97+m6kujYhA&bbmo3<7i~!D1OZJ^Su@aT`->ud7UqI{K>OPfr%9o zi3mGrlf-t@;EDnTs0NUexhtaM837*@lTS}`xbg~lS9iqcDv3f3i#uL3gJ+B3@Akj{ zfI0H^rh}Sk8I#z|LQ80>6&Lr1V1^#==@&ejHhESdEj_q}`bm*`@?rdo*lMgVcVsw% z;oo>@E13*0{qs?iq)MF53}}&Zh|q0+bboLy(=jBwDN2XWpy77d2~VLM#kC-f;H@(7 zq-($$SWTsG86J?pD_C$%z!p_&C!b-8n9=Y7Vjfy!OQo`cdbRam;i5mf3ZMt*Z`nNf zHAQQ`U83=|H!=YK5x@x$@d>If`45nJ zAMxU@Nw#;tuZ}Lcnt$Sfwj0r-pSsj6v?pOvkO}&*z4g#3?2! zssJCDp#mNOa>-w*tHfZ~oboHlsvYv6a|g82_+}!%saZ>dIF}RkvRB_IZ|`DaNegtp z=RiA?h-s-qK`HaQX!#b?0yrbqnX9IQh0X5fkt)f!IZI1*2rT~ygsj5XIp6z)ZtMWu zgso>(T9vxtNJtZ#tPCC3MV$GYU$pV(mN1@?Ve!Xa01n1e*@C9`Bj_?=LS0m;CemKfQo6=D!O477`c^Sv>$FJhGgvj_(_ zEUwERW*YJZazKwZ>_rN6L?=UV51k=)^s)MszKJ)-l}eGs9wU_$FOb#&^2K>>zgXFF zJk>g?gp}Cl6X@F=sXRF#{wYq;o5D@>~4VIbj=6jUo_N`(BF9gE&( z1mT~Et!|K0Nd^0&>Wj{&aKIP#G8yBdm98RJ~2B5Ux8b}W3k%sW;EdXUsu zw#KwCj47}#av!Ov`&6Ah%WJfQ#!HMRdg1ANB$%1ioho!awP5ZHd%CK_vNIuDCm6yOeBbghla> zI3Tnh?As%b3$P3DQ~G3}{X`oX;3WxunAGK2l$7Z0X0$$~I9 zQn_n;8yNjg{D4g1mn?EH-w`lA2+Jp6_)WMsS6pfKhNe~WJ@)EzG~JzzMH!LRThMRX zwVpocIV5NH~M5 z6Qi&?YpU)~VorU~=m9=tVuUxz&zFkI`g!VYvqEa2587z;GHYM6HcP=B#qNQAw!rnp zzSf)=L(cv6RbA#14rRyG@h`$&*CRSYC$xS!(4SmS;3t>9Le0?lldVF{$;15iw67CB zt!m`=vcR#VVX_<0FK{dw5&$kkax(Y$ zcLGCm?lsjf_I286^seX)|L)<4UY)ECt{%{Ksj-~)t|aPsNZz1@-K`?{#FG29*p||^ za!zdbiW?0m1N7QUMrNR1Idug4?50~#gj(-JyIK_)yDs*M_YNm>=z#PZoCf;8Y%KUO zx>ijwYM<5DAawtvt)oP?`>pf&*PStFLzKhYOD2fjIBHkN#*GY8lTB6kLKo@-UcVc}M15Yk=d6A6OV_GElXB_^1mIfY~ZfU$25dU0HN!hd__c9n? zrHTA3iF;()^P7=LjCv#tuxC~B40LJ6Iq4l{U+PhkCV3*VgN$9i)CIuY(;up3B5*3F2D%SOptVbVcOeY-$0~WDo4$im=HjQY;pu z@IErRGg!uDZ`g6Qd{u#VKAb4aL2v)ygYc;%TK?&2u#{UN8l;Mj9NBKq=F_{62jHXz zX1Sg{Bt5;`*cnCxeU@t8y6f?V}m{R9xs^+gw=-bxDN1rz?Cd=Mb&&2m>U}v|GZ7p% z{5Y1WqDq`V5)?F805@fDNy6aS-B@XELX8#>^;XACM-*wd@#80^7oUX`v%ozh_vS)I zx0k;Kx_iS;o8Gx`6Y~DLrYS;uF(Y`vf;-j%KG!o(v^*5bPvJdjQ;L+~(O3$aq*Wif z@=>~NEGq?&KT84SqQJbZTEc7gq{N4*#_9TKjqZ9s#6zpca+V*jiomf1`p;mWvhkGb zH1e-&0qbOa(F>iN5JaBs`pXME@`<=?RN(kS7DU+Yj!{7AHi)$X36gCyKiIKM;!*c(IOturw7%^i&It!lBgmBPI(6ya@!BJq6L6lG^5z=+hY!>akTE@T*oaSRfk9ql;N0^6HojO2HcWao7Qr^R zpG+TR?-&K(A0c0Qd2h@&Gf#AKpsBv<)Ccqn&h~gQ>+$jx5PGCUW!YSSK1JuXiZ9x{ zz6{?fR=~U^$O{vvHz`ob_VXRz@9T((f58Rt$0uEgD4*%D-eGmZ_%@os0eah#pHB3Y zakNEBM532G;voNGRoSZWlRt|3%LBBt=;;yzfOn!xGkB~mBr{3;C42l)iV)Dh&TEu{ zIbXGg3sjf)ldCWQ^cu;C>gvf@qJOe~hty&4mjpe%MMwiqdXy*yh$5C&-Gy% zHU-t%Gj5%j^AZu#3D9Rlog@E-o>Ms%h2Vj~!V?AbL>}v?jT*QRJ90cMr|*oo0sThV&S60+^Y}97S|cwgCPM z7WJ+#QXwF3SBJN>`?YjUe)$#`KU%zeuT#z?&HEp$|OIBu5EseEtSa({Wh zp#`3U=aS5juS8r#eH$OkU$OqYXLXz`6Gx38o`7-PG~AyB=X(8dK6#%HICK;BcJ{|f zA^Cc_ioOe=eiwzZX8xh~iOe3bH*WZ{duN1&re@^rj0nkg-OS;;jt?6^6Z;h4~z8VXXi&chADiY ze#QB1#YYga-z=p`JI6*PPsNqc6YuBc_xl6c4(V9h!5nM(FdXV%*i!I=Xa;egUGJ`O z$B*11RfmJPmR|B-n1!MP_9j~v(L55fokoJpVkC?2@~z2Xn@otu3bFLNMK4KNNzu{bSzs)Hf; zB($c6FK6sqq+JtTu>pG{0wp5|P`FBlDD?h1MIW>l(0Sh8Wj+@tf2==0-L?kv8Mgd? z_v^GIWlB#l^UnRoI`CBvBkmKs=O?eP;Gg&S1#$xvw1QRzQ7?6=l%X!MhTMKa^fY|O zaHgR#oBbeRiXi3ylv{KDL(Y8)vG7e6Ow%XUJkH7SwA})KGOsOXZ_e;SPC@|JuUS)E zGva48QLFT1sCE-rhBzELJI_Tk$N8&S4M=NcUG zm?=U@zLimH+e3W9PDObeS!D$EMZ^c63DQp?BnobKpNe$gLe$& z3r~v9KrQZw;sP-!!CPyKotg@{>h3<{kCxOjyS%W-@*7+pfAxPqz&*zS{fx)J&cqP2 zwkTE8Q7_y4D#UFc^^lX!tdL}=CHC?k zxf&Qr7EqZQn)cZ)Aj(Jqe2(A`E%RMjB0JgQNqLB*Gi|YcMKwRa0v{>L&p0b{aQwh; z##$e_Ls!^{0KRxgUy?e>5eq-=lwW4GQ5)}_2C_uS_yt6N+6@^dzr77vlYt9Q_Xyg* z$AorY4x>4j?)h$*4zyLh*;y$yxk3@)PX=OsOnm2mc0vRF0~vq_OVxM385k@{u=PX? z@42sE0$W(W=lzR6X(|I#G_LJWbx0#>TH*L*Y6d%3l0ehdSYoci${aT>xogHvFtImGi zAvm8r?VmzYm8cJ0r-Qz}F-%f82`z6J^XRn*!f~y8O?Ku;UQrj~iC@QP?1l{Jg9M!g zPM3BloI24YF6tn-X(ox5{=5KNRRT`_d}(OwyF5^CxOiYndnHYKQK+~bdix3W*!~&I zZ;kBlmCbnd@@|p*0B%6uubpPdAeKBolJc|ftc9*IEDdb*su5vMdj zL3sD$5pVL>_~|aIeDb1i8|@MkC0Xit#BxXA*cRxfosa^}SJUc^`jwI_FGZ6fSdiCT zUS}IkuJ{Af!iI6X+?2BktCqrG@-@UPycx3bXa|WU=P_9w~+x%$9 zlHi^9hm(l6%pwdItg9tz?iA^5eZ+!EkRYFpuH7%W_QpDvJ>P6KXA1J+BL5?g5c=SI z1D?Y?E7Dd3z#dhxeeha`cEh1cTz{S(ESsgetr~-)8#H`c`uTG76j;9i{YBF^jUqg- zf*j$6_K)fsXCaj4QoFMXS;g;t-|K;S{Y`7Rzhhqzp>CXyPpv^2tLW8ZpbTJy!k+k# zm~@~mgKMxUWoJFOZB2V$n2Dj-lfAc6!gUstSCi%#r&erM_uml!^)svCN0cz?sR=P3 zOMb+3Dkg!+F@oIXNLCs}I5xW}wFYoK0Uk*kp~*6@&9udLM@jGcLb2W3B7$}Wbu5+7 zx4S{k%pw~>g&4L-YBCnr`CP_c#;k}JYY}8;T-A8;>`v%#wkld z07r_^pG{XWT8k8ypW|)ntn3VcwL@U;{sn>@YEEID4)xE5G$si}&C4KiKA%sG8s39! zPW!Jgy~ifFAP1=g#O)I1AyQp?Eknj%^7E#m3^Ks?i!tC|t`HB6-sT0cBl`H-D2S@5 zG75D`t{76g*K?MM%pG=`w83%(WrTZKY~t||#Y{wE6>9Zzk9u17c7*Xl5Y7!PxZ-jOVgj7{E5--Z!N?bJo0ukx zkLrb*UW(96&3?5gr|!=hh$_qS26*OTSr#k9<_ghzeXLPNtw_#1>Jp`|Aq{(dXJinM zggK=Is1#h|dX2Kram5rM`$;3rpUwFVW(_N1MYu8Z5Ygf*d2F$EwJiA)6Wlgbe5kjO zqS5ua)1}AQALLLR$Bn&KBM=%U7bqaTPRId{_-|`~?-ha7w*U62g?{wCLRG;(>D`5H zb=rT%rma8o6q}Jet9VNXbXiegQvA~$5QxDf3G1ILBWUp?zT`%5){3xgJEVR{jFcJc zZ8N}?lmu|+B7u`#F|UJq3u;^3?U^zfo?yc-3Yyk_fO%!4GvMWRG2XAV1#x%oZ=Crb|79OsKE^VX0%^{4RR0C8d#Z{m|gN#{=|P z^nwj4-7*fY11vX&(GVqRiBUzEyjes7C+Y982+_kp+|>#59@b}JZ7M4HJ&s?J{l!B^ zT&3cXXh(&zGF_hvE3>80y3vOd9l%YP2bxl-SrZabkpnZZGwn^^?;q8b+F z21f3Af5O(#Y7HF!rP_Jg^^S;C$rBOM6+?zrQ=q-Hm;S%u`^9o!?RRrXx(0rpJIiNN ziKoAnj>W)@-WF2>aEQ-Muk>Q{$dMdSze{Yj#v}&_Iv&685aS_E(3#s>1?LNi0xyg# zti)txD=|72D=&la#-`mODvqM20pD`&2u*j|d){Mqg4? z(W(%9-52$b!TKfAA4cQPCw6joMD1TtVvS9PCwBrEkSAcNopS$}a zJuM9LdS4v#hSTacQD^N_8&3Q}wx?x2m_N>V$sJ)@xP-Wj6){Ru`K*5aDT3B(k)3}> z>e7ym8<__1seo_OlbRE5uWOUjd$TUD_N#>{QfI`F{Y=>H*F(91hZ43lDGfep-n%tA z+d3pTtr`wTz!x8;mpKtc|2fIstlo&vYLrG+8;eJI z;8t!f*U-OY@SMvNgJwWGZSEaJ&NwJdFvnM1-suk@5;O#`uV9jpF(iA5L0en9 ziPJ~W+oF^a@(gmyxF+j4zGGOIoKGJ2a~R&FoEdNAYcA*aR7P_lJ(a0+=t+)}b$Ip` zdwc~a?RGF?{9G7_bGwm?y|r8bA+YHw@6tX7?oC&}q9+=3G$-*Q6_y}OVYVE5#UPtm zU_=Oy#sqmv$!-ethvT0YPcc7Ts=1VZfi9G_)2?YJM!CNfgz{bv)*x8K6aKfK&4$~J z=*uj&9ob6J{Cyna?u-(!b-Pq>HkX1KfR6T+4!GZbKt(aoTd}sjW8J$?91q%2T*B(v zv9GZ8o>*x#JtzWW3@yh}a?J_YDJCS9@e?n`KdFaac=ik%ZMFulmaRH?2a+on z550%|z@w@`t}%U_!d@nfuWAz&U{A}IX4`(ta5Zuk!-ZY?eHyMPc0U?Sl^iZv9X>C2 ziY$QhW4>7UinX(jj%uL%84psPW}Wp5mrVr2gn_&4wakB=X-TJUvHD~~SM;=FJA%t3 zi+k|uk}otZk}T{8W!r_GCpg}|TVJVZvCG2UFhZn*8KSUB+mXra@4zYCB%by+X>$Z) z+%N53#3EJ8FLZF#HP&U+YPHmRTN-K!2WKdu&wH+fz&T8KuD{m4auAQ(!PvFR=DoM1 zv#bxhLQeps!-F|JKP%`z-&H1_RMVx9h@KfkHG2^pZxrS3rTQ=#w?o7cwc14J1MO9E zcl~kz>CZdm^ma)(h~bk(mQmdJwR07|nFt-6WIi}vczpDmQu;m_?$O`7bpMT`&%%*1 z#2KaIa=Hl1;)o^7^56Nz5NWe`PSbam*-Xq# z{x9ARDy7K14;s@dgt)6^CnaEKZFgD{RiMF?()7ErN*WOopx=qF6E+_j}ta38DPh`-d&|nYemKIEsub;jSbi?nb14??oBu0G-w`E z0@?~N-??yX0CG4dTqlgo5Q&hvf)B7mGk#?t5khB_;kc$Gy@Vt5-|7GDUmcPdd}yW8 z8cFa5Bs$U7cH`~VN>imh^7Q`9>YWks!MQEsclM;5Qq3dU&Kse=(*BD4F2tq8FY7jv)ZTdNs#wU~ zeNqMNEmY;8BA@=$JH&L|j%-95FCoGE_2Uec0p1(1 zN5|3Ma7t|HW2D-uo7%rIu4DFWh3qAs-$x^8Ve}CNY_E9uM0*wUh(2Tg{Io@^O0MOv zKFXM{;t#OPu=&w}rFein++)+1O0K?-6!|Th_L!a+afJcNBqM4yr#@TasSU-cMF=SG5vDj8LSV;5fRz?B5It-k#e^cz#!vn5Z`17(M!o6+T(^lM&DwbfE*EA_3LSD z%6C?KH*a<5DA@)@xeL&?x19Xm)=^K=-RU?2b#U;@wE+sM7 zWvuR7v04R3YI3{bZ~~@+SwZc;63)ifW%h%aV!{BadXH(alVCV2`(Jq^EQ{4Zq5=*Kb+00kod|~Ls5$@qHtqbBE9lxX3)z6 zSbTuKpez`m)|pmDLt((MCK8>3W@4ZeLSM`#JNy2Y5LWmL~`S206>*eY3C_C+Sy@&*`x%tk? zWgw(kR>|Y%0KQCkvdSOq02Kr@l|53o4dzoA)gIKTQFi?5l1z`>vd07 zfqc%O*K6WAyC0g`PCE`Y3gd*;Ee}47*(o;I=w+PFjC3ZzZ=XkTWyG)U{gD21ZwX(o zC?vWgi#Lfn>NtHLu)@*~#}(O>hx2?LtnedPfE^l=Nz9+Y3-#Y)!a~dES~HUv@;qGg z%$+wL<~1i>bfs+?jf5ojyes=OpwHOaccMq?J}MN);W+J76#R+TFr*bv=GnxH)JgT` zSOQ$b-!z)5u$}y}jUc0q;+uGP=A6fhx04fMBwb6k)Y`ZBpPK@2ZC zO*VW)=f=gExz`l(O!Kn2Ix-Z1gZCHW7sI_ZHUD+QKfCW?mAb9$W0msv+_PCx4WGP1Gv{?=0oMnw6cK_Vz{K*a$>_wX2N%p2AaRxt;TJ|IzS(u zcKwTzrMZnzd4Jn&JK&0Kjz0S(=>c7Oo9X6N;lds`cUYntdKvOK2VIBiy!S5H^5=X; zMy9db)1VzG<%-}MCn``bF7v0XSS#rY?B+!z1IjJU+%oP!xiN>HpTf6E9uskn@K$u=tyax{MM32C*9YQuI(FH4f^(J+`Yl3L zt(Z>vw=D%0&gwfCWW)N8Hj}|vjWXk6+%p0oU|ryY~_0 zhsKh=zKM!SgY>)9kQjlO^202ggahuJ3VXdc05ATns;49SzcOI)9H_eZM5)@SDC+ zLoEzf|C}=e)u(=<@)P?US9Y>c*x3rlsHZMP{9{2e?T=bZNKy?n>%7cLlaAMKbj4J8 zF*sf6DTeyh2~PPTh#_V!pph-H%}^lzx$L|LiDq#x@z3y?AtK3>5h^nIk+-xNP10Cg zJn#3s9r+O!yv7Azk!Ojy@GQ%>fP1H9^t4p4m9DuFubGVyz5U_WYPr2gG`sW*o)_8b z=FQ~*zIZwzip2ld9OKueRc8&XQ~zJRgQOh)DI0AK%YcIZE#C8QXj~83IVRss2y1J{ z7B&m6dW0OzMxBWRVLYn&uhPUbs|ZiEh2{m>>Qc|eoy;$KaFtc1e)5ZqE}N!*ZL{5M z(+~_AFTrjp=GA1))?ls8ICl&SCBZn|Q0M-V#vyZ`)bDKFp=4kf8YbCBy^d@_@dk@v zEKotaxmvz2N5Lp7Lf=sJs!p4aA;HV3@UNcH?m&g3FVv5L^W?bQ;S z6;A{lqVRl@Kf7u01>6|{j`(kLfbXLS8&?1JsUh#QK3-3}zrCgtDTTdm^Tk54#O;#9 z`dUksmSOiNO@iV-{eeobL~k>mJsg{9JN#!_tDb)2T?5EBq;R7Wll0R)nYSA~x5pK_6{4cB<}TBV~rBoqk2_@(kN17i}oy{;RD- zn|A;fvB(OrhiWtr4Y_JqTeGH*IzP`uf$#ZS^MEdbd;x|qoEM82eAXpJnjm0DiY+hl z@vALxX3qFhm#)1TM@xQ>_j8vcvN;3xOpIhM%;7TEHD3KzqxKX2w0&K|QCm@|d6@93 zHcHyk2*3q$#tbdIelPD!OlrAM^9v^ev9<3uGzdCi^VoWwJQbWbSF-AIioHcJHkBXg z&w#!qzkxnx^N%k=;^S_#SX@~*1MHDrcM2RUM2px@4a05nP(xF0X7irB6diqPRmqb% zhKB@j5A#J#LE(wCMAw5Csd4CorDIXAC(46Jk@1`@C;pO4xAMN=>|pl zndfF@?Bcd<#?;LxUCkY*cV2)!gUE;;$OF97P!9?RrU@GPKuP z0=PH!tsf6mzo7R&H}3vK=IB<(!o*Tcvy>?yE}>VVZlwfpe9MBtFN$y`Xh#YVA%BtL zXg9==Vt%B+>1&8Di5rmx?}Mqc!4D-3L$&5XSEB;EDH>sF#RO}It132|M>kGijxYgx z|J!_Vy4fdfp}&p}bz349T4lzO>FH`K{Z}@N^hw zw|ftTu~yGQ)8nvjq*PBzkP=QsPY7j&{G=1_=v3$8I5r63Qg4?5E2lIrc^6D;($SSE zom4t zk1IlSo%~ovRWIRTrZ-GkQV%@&oNHt!il&iZ0Ezb$=_H-=mCLDsc7W3N83EH%oq2_XMTF$ z4FlU6LZInetx4M@gOt`uO1~2NLI!B3wQ(ya3pbPnMqDLwlw%8OT0$-?@_`?M>o5_! z1oNN5#9bhVzMK&ubCzn$-&;!%-Z(hC9LNQe}N6$Yps9#*%P{lUti+GUd{DQ z2Y*@UT*!K%e(}QPJ{s-d>%^qjrVemle$w%@R??A=BWX(W`Y6lGa2Z_|Cc1vph7{g_ zuZ-#p58z6rqElDDrhmAJ9Y1`QC7RnAGK#hr{G!L_O&cCcLM;p648QbDP3h5Pz?7CR zBk@0km$jg4la?E|^s*ueqZiwPu}D^F7Os32yot*0+l06qpUU##&2^fM!a@JFSZ&J@ zYGT0NI_1ysw@e;^|mqeYG?yW^ik}5e8b!b z_c+Hp_vl-W=2ws;2@kCLP7r{-*5aScAF*#Wj-*j0uhlctf>?{#RTgvK6JGp$aCPD4 z2XLLq56w!Y-Mka0z73DP9asr+;f|7!^~UwDkbb~^@{$2?bD0g2$v@0EXUbU;!d$GA z<@=%xVi~P7cM{+}%`3bH{a9ot^AH8p#N38B<^;}4EM+};F{u_+O$G|jqMPqLf*oKl zY3T6L^h9+cwQ6Im4ZF4>JGJ1}JBYDhq<3{{6#ttlfK!xA(`2%~?ZFdU#P@2^HC$53voCBesCj`6@}y7- zB$}6R`0@HW)$JM={Xu^7W1OxX1BV}5Xlj|TDdKw&Z}2)_$@VUW0=M%Q_i*+i$ip69 zLnwY(aYf~f`33)F$`Q<;wNXBFdsJ%>DAX!ohk+pn`Cr#PeD0_QH)k)HN~VOLej-3U z4QZV{euNK*Jgirod(L7);0 zfqB7i%xG2Kk9aaeA57rWew@Vt>PdaJWrS%z<7cGT{3m|_-Ve~{*e!F0k(=qW1Cxu~P9_fvxW6yNb*C}WinKSg*V*DkluO?ulElY9iS?7F zj;xQv;(&Z2;?SJl3^V4dUh_!b;O9)eY8O#2^N~s}wXf@t4nLVe{uy^TjPN`6XKGTj zZ^S-IN-5z=n09jP!j5mGf^N7lTERK1Q3Kl)Y1zpy*&Q|4G8s0=O6Fy*-!oeMt(i6c z`Y5xaK>etx!#`AL{47r=26$?r1&|t*{^Q4VZcF*`^wA9V5)~Z|1+Ku#Uo+vz#6CN$x zp@w7P5|R?C_Ro0o^my0x)Ig3(Y+O}1cp%m%@cFXYJnp+6?)r>7F*!8tK>R-8Ic zz#gA;k5}-wk8yJ_bBB>h8!t>~3?Ekxhf$A7l9?fG~e7}GF{ z5J=UtbOpJVXZMKvPA<-abM%BaiJq;xXDavKREtzYL;_|E^6QORisCU}UmJWSaIyu; z?H?Do9i6qs`LH|rYjfYsp>Dj5<;Ruh(v)Ia!%!d@C4e)bUEyw?OOB!4cF%aI$J%|L zFS1a1K$6^&d9|-Y8V&xx(Kx(&WaTT!RjaLn5Rc@|BVUis&-kgj7=`G<4aX;00eglQ z19wBqrGAM7om`(f8Z)|*zBP#jr z{N}|tFKeF1+ElFxVDJAgd@);Vz8pi)xuoMea&cBX5iCFJb=PXy2e$QmO`JCT5Io&o zL^oL$4L8JskFry_zu7;9>O%dMa*Z|I3DlcN4l!|_H{k+0Na->Re`Q?(r2b#2Ue$~G zS6;RRibmlVzDAXTvQU~b3MVzJntdfjPS;Yb%zjp$29Z|Xez-Tk zNr1k+P3(j^5i>@1t+6$&xzF<(;M}(^&iqJd3w4J-UgU51t1v-P&mGx>@TN=NQ#Fyw zZ=B44DdL5TIU^eF5_UWenKdsB?$H+;bFW}RjWA`KBn5sSM@}bQ*3Zg%{;=mP#a+j= z%48)N@m25OgT~H{(GOO13MFoxmB0GhC!XShzPO@oK)P3cg(R`i#4q}jIheDcEU9lS z)x_dT$Uv=P?HI(4w}I*xyT63}SO50|w1bA!(^HL-0pmEA7arNxjH1c^od-Od2I@sK zxn6U^3IkyeB(IOZug&4*p@wqV0PD<&hoM3C1Fv|#GCxUD7Mj3L1|o=Sb^fBQy5@1y5^fC*6V?T7VRXB3KfEy)1x)}x z$EXI;+UVlYO`io-Y#c(|D7FckKq;ii)?ynPOSMbFANcJk0LIKno(&)1i_4qMb({-8h@(YNfQv7>N=r5{T#KyO3&Qrp#Coi$H z!^68yaqp<@{~?_{)U`_uuB8_n>))Nc>v8&0um@kc2)zyQx{vZ}NMC~7jbAfK`=cPx zkKg)u4nlfmweKR*oh{tu`K{Mi4=Y+HC4ZZg&R3p!NddUs_OK`lp5w}mpfm_Fh(n5Y zms!0)%r7$7{!&$PZl-VmuG~|~&7r$dkcO(IPTnZnk7SRS~)*xK< zONxiPW0FNvl6nstC4h_Rn5(aHu2E9t;K6uUTrr4avifH8YP%b*dz%?g$CwJh8BSJe zbCMTcve`5h|A1p5#~a4ne%Al6=KrwgQ%k1;@~5NP-)JoAOt?+(c|#SBygbw0)=BF- z74`JUQoia#T7$m%8%gFsHP^s%qD8**!pwI#5lt(Caswlu0RQ(v_Xm$4PD_&f1~Gv@ z`Wa%>Qu8*M^;h?GQHnEnHamwQC$E7M$fHL;(ub(>2yEUl881dtb50^n@NV-1;!?`$@|H-+Mw{}v!M|8=lKEZL6Xdr+%@{RHL>XA@J?ehY)d_F$v1 zesLm~3~waqmx1`%INHqcV!O=}9y2 zvXKVLt()SIb`-20%N^=Y;scECQyt3=NPza=h<8W$T6O-a!F;c zG7LUfSpBTx{z-Vela|)TU<9sR{!jCZ4^U^#v!heD|v5N9gWx^&#H|fJ$ABTomz6?`3PBuzp0wy!TBCnB#jKhwZ*9){^+0(1G{r%eCVWhq|qQhL%vOGOG) zDf(SstQz=cJQTH?yO(bdojU7Q2rpUXe>SjW(Hgd_cP z4C+N}uyi`QI#zV*ds3TDA=@DW97x4KFZwNk3^fYVXfexRuz`e)Js8^f#J6Y*sK9Zo2)Hx6&))!15|JGSMO3`hs4n`0*F5@oxcZ~1fWtJBFRMD* zpX0?qU%4S5T8eHoT#R!6a3kEPKvB| z&k-#)eD=V01Z);crqJ|xpZu@}P;STZ@{JgRKo%9nNrg_$c^%J~y{?BH@sd9xZPVV{ z6>wg$x@|sz^|Cb;?NhE4mVM1hAiA<<%2jZ%1*fIDAnq2p=7>q?yko(CT-dM`^)l#8 zh83ZF?0Zw~>~@KkUhMNs4LJX3OAp}{a6!#Z4y#nY#%=1@2EdGZ$KBg|-o4>P5a(MM+$ASC*gl!aE~TIJka;{Ws4- zzmILVVo7@1PaTEw`f^9uXmF{NYsTQMyadZOKRAZaKkz)&C8Li);eUc$#5(yTU}wO* zg+tg}Dx>(*H=7#VEAm*)=90x+80I;~KIgPQ&ojMXsOKYOl^Ba? zT#D+j(5av{Mg!yV^4}~3%ErDh^Y2HkKXp#C(dWg+_Yy#oS^CY))AGfD`Psjymzo)- z2yFZo&XqWIBW!yf$TLg&jF2SEB#RhfQ$U{Yf0|!hZhmi3jo^V=&T0VpTO`(I1h)-g zS~nevTh&96Vx!Kr&6h_%+Y?$9K5{|$A-q`y;87VOe_LuZIB?G?!(z|ngkW-DZMe|e zt5I3N$;zyM>62=>Uor}_M#i^1B*gdeY%7+~E@N=6&NsMQ8PL&&1-l$LVY|Mwk5Hz#Du-46i{0t~L74 z$~iL*KS(whDJg4AzoLC#f+URV-v>DwdWurTu}K5;huk=&X!>lLk^;sOZ%2%bi-(yH z+YhKlvks9>bvVeZ|Kscp3S%V=R`+QX}edE2@j8G|v}+ILMP z7B2Ppa%wm$!nd|94>|ReboXvK#AM0n`<2IF45_%8zcBdFKOcA6qOuWoxB_boFT|<; zO*nuO4apzsgB(!5x1=F)goB}h`r9na>H-wXtgyArFm5+JKWX(`(_7ZS_g0L&#F1HGDV-O!`>=UrBW>avH4{^uRInNmz{RdQ630l#_H7O3X^eSjx&`k3V+Z#5Gd*rO3OiYymA@{_2)xAe%0VisKd z4(K7^dxYOgGg=vyxEajsal3q)@CDz`U|aKx3eH8Jc{8;N`k`P69|q!|>y7lXjKSAx zF##M%Drl4|V?b}D0?C9V)`s(GAet^A2tyapqg!k_m`!fzXfWuyM)nC}1NsM&Z@v<- zpT*OcxO~F&Y4HF(cQdww#%iX9;7E<2#6B$rpg+)XGMAnXwRRyq_2Q@0LICu-#ri`Z5^=5`gZeEM@6y_yFJ``?p>-YnMQvtY^yByPk6>I(tF=j89ae!lE_3^VFoz6f zSxSF=Mx^N zZ$zg-FvqPTRq>`>y}(b-IKjR%Qrt+b!JY0Pl+OWiYb zZ^LKBy=qyB+CL-&ts3$P$}Rl4vHaK4@vilzx1;r_g|9!obDV2f<*@|DB@jMsFIAUK|M zv}Uh|8b*#9308Kt+k3F77CZX0wo%2;zAypyI`kx8clr`_akDDlG*8dk#9S`OjmX9y zhb8}z`6$zf58w=XBLw{9;o&;GD*Odf@LS_-CH5itg~UFOzNGHJyHQ zG@3TA&^7fu-1NH<#-VpC337H+W(8=$8_(60I1OWe5FwhOipX+X4A; zIQJMjQZ(Y1aUGbwM|d2VWnjIJn`Kpdk$Y`z@FcwRTgBT0WBqN z<&n)vZwLJd6ME6^U6YMhi3P=J7l`|Rn_sMNV8*nN1x+rKYKio)zKss+IHzEJ$`8kF zr0yV7sEE#+yswUa+^DPKhTun^>I!7V3aseXdK`HGAy_H`JF+d~Ik z)9^Wc0I3(uvym&hniBy*X2TRAi%*ap{~Ht6Jw+^;7m=d`-TWc!s3hUYSm=+2q3qKP zI=SOwkQSBpBgu@|o|Le@@n~w=Fo?niQy%k}Pl%2XWQ@+_fKP-lH9!<`lOPzXv+;am znC%3_puQy9!j?O)%m%mLxbZ*VaGtf@k$uG5V*RWC`vLy@SB$N0EJ{rBVoZ-(ltlQP zcTwb0UALVYvN%sjq`4H1MNRv9kabv$Iy~6U6Bpxt@L}hEIPws7yjPsgqM8pdp9ep& z5|OQ=?&c`U$6yXay@Y&5`^jA+k7517*DljU8r5%}>F_79rU7RJ6UPf&*&yd0-*JTk z+6td=JAb$VCV z#ef9y&$X1ei+|H5sCB{t<#Y1UM6e;xnIPmoMw8uWhZk|INl4Iz)%-W!^Z&7TIzfqG zs4t3bq|18bRgetC0pu;QpVNjdXBTob%78cm7<1z_SZOZHW+eJ2GcENkPYx7W)atVd z>@g?hy>V34u>*75ToCOZ=PvRNM{BV|X2c9InH#hsJN%fQ>!G01TeqyiXA)~LoBb@) z_NT?RG4hfwykt((TwHNPoKX|Hskono4HyfO-^!*r%gp%~L?Lr=*Xcx@H^T1yKzN@; zr*<_$FNzPwT0e$mHr~F0^fq5lB~FfX$qq;<4GDYauPrMjZW5MxN(21Qn_OO=(X~rr z4{(xF1bxnjq^5c-4a@57cWu69`L0fM0Pe6)d?y2`-QLi99#+S}kT5cVA)2eVzxRhz zkKUY&JUEBX#Dm}9H*%Ah_FA$yrGlx@D`)p`LP(|zWslWc%OjGr{f zZ8YO4}3@cC>?8 z(#bg+HiIbUHelJl-W1FQ;8JL0=FQmbDZZQLIB}2gCp2Ztjf(!H=2tWepR*4OP*Se>NvVPXkZ%!@p6U@!2N%9 z-d#1y2SfkBE)r7=Uo1icESC0l3?7rwJ0pY*9x7SA9{6RP6EtG(9B%=X6P+@BLlnCm zC)s_B1LW+dCS~R^VQO?EPjp?}Et_*`X4vZ}d-;ynOIGV-@=DzPEyVMS{n}#NU)9If zIH}JyP7&P4ZD;}i(x``KA4}UK9~1x1Kb%}inA;Ue|07H#8Iz1L^?`(@4-MO-r5;TH z0nHf=IpOL!58y{BD`0K*nexop_-^6;AL`yRD34}&AI9C?-QC^Y-QC?ixCIXq+$~6g z1qtp12_z7L1PKIp4Ib=G>N&fo>Z$kt@qGAg)m=?BSM_Yqy?0N~H9fOi6vx)K^Y6K} zPWbV-^{enybFHLcA^y3l?qlfSw6MMB8z2}gEu`=ROQ(@J{_{V~h8@HF*>=L1#xdnq zD?+im`3n-5z&t=n?>Jzve<*Zf)g=cN<>?&iTvLjz-1I`<1w92VKLy@d%mf+|U**T+{iUZKTu zxb8xCU^5421x{F~PhgO$Hd)-y)Hwmy_C7_Df1bg*sQ$GNIvU9MUNDKu}$P z`?91IAe??>Wcn#;{W1(*oN>OqOdXN$W^Z7fQuE1=hXQ#AjRlXlR1SAWRhTy`9M_o| z$!O-+b6Y;NS@(R{etFWV8~@}1KmJ~F1?Tq%%W;7-I4W?S zTi$47(7w_S7tJwsQ4Q^FyFzV`^T`IS|A%q)E-s3^F2#So*O&b_B?qUED`Yof1~?_s zol_Oj9NBjgE9P-?UPXa$VBQq15(xR}W+TkR8HqB;iZFMTYq4*5AbWDKn_{^$9UhF8 zQRuMUmp=ms`Khs?OS8ZDi|VOG)7v76fmDsa$NEu&HiMqoa!6<_x)CdoX7^E(sLkF(cpcf+LiOmBnH z=Fav~6)#2M7~2yH!>4g-`-2{3FZCCQ??E9ygDe4m-vkIf_^+wuXDz1A4S6go9>pC@_fRn<}4 zga4}%XQ2VdG4o|A^j_8P2hXuO;^X-ZTEO0^md{WK?T3$_L+hDK=YqcW@CPK7{dq6% z(~Y??PXYu6fJ0V8kTR&plJV6c`Z!42Q?=Nzepv7^S+0uVo$lXUK@JK1n{Uz^vsMm zSi)w0u$;1Q9H-2r;7pCUEKZ0KXP;za!zSEH&$vl?3z}X1L$kHW)*Zaw?Dg2SYDs(V z^$r^d{9<83=VvwVnyYeW{&C3-J!6OAsDtS;*Da~84zo=Nh|alMNBd zt>0&DAf}G;mtx>DD40WwR{5OP9N4{!54O*LJlB>9by18sTV%q3_~&YEb+eJ(`$7J4 z@4K(->a=Z`hL^MONjGbk?0}`N7aqQwFG?IGdEBu&kvHNtt>|!vVeT&Mgh0? zmpp{XFKru$MXXXSk@R6FA=0plZbRf`BhV|1fIWgsV^i3G6q^;Qoq4j2vlnY4u*7F{ z)Cn1epJLewt-$pTK}0Ww!NhqNT%pt<0@fe>kB>(15*p*(@4bGjt@2@j{PUr)q8^D; zm8i921Eqoh;-Z)o&f1Fg3!${QjIk0cUU8sZr~>^?Xe;fUwV_eG&CnIdk1)Y7v#mK&cm-Mao*OI1L;0`qyO<$!a|so> zXV^{qf^pVR;=9ycnziQjG53+uxPVef93uarK=mEd`ihNAuN0VrV{{akV%pob4r2QT zV=xqR)V-Fz!|5TcA`6GYd5b#??ggA*lP2{~KRocZXu*dasTY{wA z`UI|z6|03N*?&>E71STf)tD%HKrF>?SNtZ`9SlzZLAcxj_A}&5#vG-%4_8;hQykl{ z@|Dx3H*CMI=C*iiIXu`GSrLJLiGU!~TD=Tgn9*Z8AJ&76#Nk4*QD4B!-TEY7{)O-Z z5r89NHsV&(hcwNI#c9y=CUlnVALb1lSSEAJdgYgfiUOV=@r(9Wa!O!z1j7a6S!DHn z@K4!6QOgjF4D)o>2eaZrDZt*R4o-QCHu^aU`1#qFJ@1e%maQyyXz3;C5<4+U1;ysptL1iid zt9GzXHaGXPGN;xuym<}}N7=7Le_(E2Cm(_AxyG$`i6_Cdk=Doy=&wytkknI=(dcuS zbUx&pdII{^)=Pzf8iB?0vbC5T}lZ7tJt?d_kYSf{aTqFT}vudWR1^u&z z)B8?CeGE$QJPOZ*a-Ws5S%|R$9G1o0I&lC$4G)R6o%z1xM#YZ)_^pq z5CK&XFIMbfCZ7qg120pHpJZu4h&1gZ;zO;)0_aI>oS|;112{RIB(2F_;SvFQvYkfE zV+T%d?;J~F)l;xL%y4hsXvwO0`sP!G#q8jD39*3crv4mHi{YHk&z9e z50tr|_lT&RDz!mg^yxPT?h4)zZNe)9Iix|W$f!yR0d7;d)mt0SdmCX!kjMP_ddylA z!&>E)l4+5`)oU)h&8Hy-&V!*bdF+?Vl2puqA1e|)`huTx9tQo(MGESfb$emoVP&Qa z1mz4o9qnjMg8MRJ^bqf_N}gpE+wHuM%c(Z$s$rv6|GZ2%=XZ0KSbG6DXI;!1il}wHvaTebn#;+X0qIGHfrp2I ziIs>i=>ZR5KMVCn4@=;^vN9^uotjK%?6wNfqFLDNNaTJX+pl$(1@rs+9KsPownqe_ zs7uoxk~i%Oh8Tj^2Pv-}U6VT*&7nbi<1)`_CEn|qzFgIX8H$Hu_QU8O`Fj;s)tPVz z$p#?6^-Ry_QCv~MQmx>$&$}){JU@zW)G7#bd{VVNMc6N_KY`ybszn7wr)4@rSa8g6 zZ{t^!jZ_w;olk3SU553Pc}J`YfWKzPRWB2piMk6@%!(AIO$FWC9o}T8S0hqGcoca_ z@q&5h3NG}}BXm)(5)6N(_hXIK zUrE@DPy1K)henw@r0y!)iJwwV6q3-QLKvI;mCgMlWPjz%@S14MZiHUcH)*%HT|7Ar zqtOk-Vkiqwvj{wvI$4hS5A1ozyBK(o-B9e9${6*0EWkY%UFR^C*o|+6(+|pR&?9;r z5Fq}!3>@bu>ZYYwt;r=RyW;Sq)<}l6Eg9F0|LXsK06#R6acv2O_buqAzqmWjDIpyt znXsLS`zi^+M-YCaqC>cB5qC)A#m0GCFzdf`ng&h$iP^E=(SU9|CKmDS&ooCN+F0b^ z6mxq$%6K`pm!D0gvxS7qhtbVkMq@}t7hyyKswzD++OmWV&i$dtt?pF4)J5%9E!T)J zvtndJxU4t;KF4)_UUx5^g*xo(xx*`6dWcXO2MEhsQZx)M0{c-oDhuF$vdFg(mT^H& z0AIXo<>3>aoFp#;A59+U-49=VvZA_2`UM6u&%gnH2h)f4sUBMZ{;ll4#{|sGHb3%o zI5-&;;g43UE%v$f9k=hKUnu1d{@InmrY8#Y&!@HfO+VsFS(3m${HK_CvKitd2B9(L zSHTiZze@$wz}zT@&7g|%ky}oEon{2VHZ&(9?et>o;m8oji1k)$;HV zT_U1=F5}>wJB)OanLMOwbp81q6bBl%4%9ktnH!vSSAt+vK=;?{pHcedidl_40{qi zUzLy2!2OBi6}M{ZxaQg>eJgAp)Kr(%xzq?JF(3aX3Zt#bkqPq8L;76XsrKy6E1zH! zqr5oFw$4r*#ANxgD8)@}%;J;4=g|3vnJ|=r%_x7!AzEoHN~BxSQGI@k0~s!zeI`?xOFt(sJpI*SZ)G#i+;^J8g5#INq{Y4P^o zr_g6#3WRiVC61m~jsqTCP?*wLzWH@CvlD^2 zfsM|o)TjRZ_X?@fqEZ^4#_5Q|!Pe2|c3%f)s zilm6!d`m&Q(6@l?r{oJThcIYvl-ZBe{5>728Sd+eL!e$sn3K_tJ#2#(`pH$-4djcr zJ0%k*W0Oh)w5KbP^@sR1ZZ{+cp}Oy{W2#Y>$p=A>W^)%BTX65KOc-NZfn!G9pPDH3 z7tQwUae^U44rd&V;Mmqx>}KPg#*Y~BJM<@v>^7D3%*rifLN-D}Sa*GU%>r0!^1rGt zwkI!^ovG)BbZC-*z#prVgWoI{JYu{ci19Il{e~*S&bcan8OlATy@tr3g zo0;f1A4mHr6(GLc&MgypCgq}UTk|S>%)w`~;53IX5{Hpm_4r8a!@tOWZW@8A5$Hxy zFiDB^cJHSx5J!ucexNFf z0tQQDir0#=b)XY9II*AXm=|Flo?;#B-+mV09 zcOfjMaZ);&<1RVwJRtz!cJcKaE{5CZ@FbuR8ep>N3CjAGod-F_2GvH;cxn;BSh-hK z-|>}RvbQ8)e_o9?=KQ_8eI!d^lVL_t+|}=?43N)8D3S0;a)hsKBR^4!db%NuZep&pdjqrZ#m0Zn)ittvVfDtT zbD5DTdFk0Gd-6#2Q`Mt(vTwD z?QLJd!ViFcgjCis1+)E(g&tz4%cr*oH)c3VjsV@_#PO&2fPJt7AgH89Hous<+l`{e#8+ z8G}v|@G4NIs?$0C=4(c8K9HEY)58V44DY~ z(Lw)G^={a6j(bN1S<7kekr<|7;%+5CQ4#O1T4ei^e>X+c*p1b9B<)zOf})V-TF-KKXj*J7WI#;aYKxO{Oz=l0h9;EZm*eJ? zQoquM%Q}}|y^8j-c|#-!@Wn62_6eofSGLu~}^gXPg-o1psTwnB!w@CpLxoP?%Nebo+b{8RzOHQZ0 zoxeq}YC}c1hgU9|$i=lW=A`nV)MOJgHL1KD(OZ;Go*Nf)V|a6H@Z60Ae`ijaNJn#r zj|euV_C=^6Px)?{Il@wc61`B{HGXJ7e+-(kiwnLuVSKU1f~@mqM4uwJfMI6e$$&^Q zkQoZjSnl6(7G)r+al7^UId4`?-*~F7n|=M7I%kdAz?d8O zotgwe6?o3u+Xc5nUHG0;IBnoi@!_++M|~Dp^B#D%Oc=~SzHTJq<>1ec z;|5`0nl5sEY6@aZ%i;D}vbSdT36=@g*4+c53#c zFv(n}))oojQ_VmgT{62uAdOU$pCNPWCe)^cDB~GXq<M<`bqqE)Rm6b!~OPYonL6+n-T z5anOOaU=B2*onGjGz~nDA|&J;xw4ip#mlBy)^Y(cB><1CekXNx|BYRfHpSj%m6;XL z@2YTF6^ouBrYFq|)Ebfwy}1nZq6H%Y`i$D$NV;1dMe5K*B3Jb@=Vrq%9uN7-*Inv}w5 zYJh&BN5k>T&f56ePk>d4>=A6Y{nsq2d~B=BSNpemR`=52IT(`?s*oID=4>FLn-A;jY#ARcy;LfPLM;e#UWo2S~0*O87b%DkDITg1T#TuX7|u*oG;{ zZd89JmS`KiE3A$D^2J>qxI@7poG zT$g5x45qOLo=3+vE8nmM$LIPo&%2gv?DxoFFda*u&AD?&EZ9#>`M}@vFeT#+q`xL} z_*>k=AQL!~lvLL`td6E(X&+1z69i>&E*ho12#*;MsG!#`;HO!q!Ll$U<~t?Je~aR^ zJ*uWK57wMvnCG~qZAPmx*_KOlHA)%;Mlz>JSA-&$tDfI_6C*hS_h)sP4&@fv8zJ_q z{rcRgy_At9ixCg&Zl-mVQ<~TEw=#f>ymMJ+_Szd-&%Su1wQ)f`9XdFbwH~x4g?2ms z6}Dvx;1D>KXcQ;Y*`Y%W*|o?8U!zb;j;6qmOxgPSoC&cR2?4l=p#tq925~U6^2@ZbGK)>(q;s!bo#~o$QsC@>VaCG#lyy3mg~E zlTx`6kh-fpYZx9Yk-wH&e{m_9O`eVZZt$63!jl5zfv*B-N54nvy=Hns!^uCYpXV5= z3fF{Dc2H&5WQd_ICEXwgVGm7=^@JIQu&wUA()0&M!v zCk#d1^pff-ay~c=LQ~FYy!p2h&IP}YpPlx5Re*l^xXzOt)Z)2%zJsfrn(N!kM7ji3j2+5*PUl1dRw!)wNAC0v?R{mlIRXS=-?*Z!14HhU0>Xn z8H6By`b@P)ibqILT#WhWpt|4KohRc_sS3`SPcE*0 z*`9wTp1Y6EUwIj)0_iyH?s=wwC&kHjJ_OyCbX6V5)lwhVgE$suvj z4PLIIrrfX+b2u~6BBK^4slfCh5Yo}{7Nh*B@e%WFmtcq` zZvy%XA^w0W8W8*L(NB>E9pMq4edwJES1sv*98~Db9v43chxTQ8k0YyRB~6nbzs7gp zQi;F%zaPL4E#3>_H?b7#{aR8~Jf#}(I^k(JD_#V8va+Nq1X8VbZe7ZdZCrpYFY-gll1>4T5! zWP?ZJ76dDk+;&qN=r!I~=)nK_RRtw-^_(05zBnC|kLDMNhrjO1C`NMDImfN2li>{m zmsZ#03X=$`tCp-muVfohhvvV>gp5Bm%VrU=l}XXAuZ3C$W7;a83MQO>Mo!LCvsg~2 z*aH2NYU^!UMIW$e9bHlLUQoyLYFG|+QbNqk!a*>=q5&J+OAP<$z1+9dpPDK2pmp## z7S_Yygq=5G8|h6}G?*0Q>jc=tRMK#Wc0`+cZ#krjS-8R>g40b*jYew|v7o&y4)x!6 zeFn`(>K1A7U-kL^)_wZuaviLnXY`y?#s8DE>Vf7g1LUc7V*@jXE*&pT@1jWWBD#Xi z`>Oj7YKR>^x9We^;jaSQ^~$voNOotADGZ~moMAR}J!MaoPW&{YC9oN#dvbUW#uklW z!W!&Ap4d78B8(Tg@F&Q^?IArchpV%-27|| z6a7kl)Be}Q2`Or%U=EL6=MocB=A`ABe8hOIQUKTNE(gi=EuWC7uKD*GffY1hkCY>j zT&_HNAOz{U*n+BTG;U78H}**AV_itGU#2Y|$j6f1s2yJU9j!<5_Pb-^rW-90r)rK^ z3;(EUEFRx-p;iR!<+>*EA8HOBsj4OV4!&;4dxwNfVz86*u42!6|M*)1$Vt&9zX`_i zkHma7tQHN#f3~-UqRI)*)t&OCFp5@Ev;u2&l0r)3oyLe~J2eiAA{G|V@)JZsjA?qYZT&J4ij4!>fqTb#qV`V5W?h+Qj`8@o2Ev%G9 zXGm6oSLc@5Wa?Z1d3xp{yy%udy@}=_$hZI2(&Idt*F*Wbt2MFC2RUSSMYV_I1V2=% z2xHQzrT}sq;=5vsT(z`gpOvcd-Z@K?@j6ZZ#%rWlwa2_ zccqZ z`=x4jn<&$DeKqY)Etl~Y$+Ni)eZyu3;;0}TI@uFfrQWw!ltiuBg7d8s^t6^7Y&C0J zoR2LhV*2J^oPwhkg(Vx#RRxUARL>)Zt+Mf-+%?_M5dORxNv!WoM<8#OQxrNamqmP& z2NsAgKPq%^x zadbQf60v!$xKw8(H1dQCT5LZnWJ@uVYVYsLnPdX1>lJPev`o8 zFM>&7{~c5P9($a)IuqkgnaRJL+P$lN(JP#-%6a2=g)j7&zcPVL@z0|GAz7xzj(K_E z6yqS#*0qw_tX#x&H0Z*rFa9#;Jmd-+oF6)C-1sVsbo$B;+U!PpSUXH#k$*P~DW(6l z%*o5!`qd7ww@m&dL-{z^f7py4h00j^qGYn>`}NvKvDJbf^DR7z;F?Op@T=1Cn0rxF z+nZJMmAbR%^|{ASL3pj9mF2r*8x0O)D+TI@#BM>OC>mOmeE7L-^$ANC#V1L zxX9U+k*U^0I-fj1Om#ROaymf`+N0K6GZc0iH@JFL%y;#6xf&N`tmiYh zMkrHO8G4h?DEL1A&5$=uP~A`&4*0N5YFn&UAP0;D7B%^tAeON}8il7f%Wwuve{|Bkv0laVg1S{-Zi)$_@Yzg4TGOG&ntv0-^@qaQZqGXYgvLjRJIB-iZ9BCQ~IwOHG+G(YN zwtCe-=|guN|L{?S3lSwJflxKKlTQEMFr-u}I2N8@WTw2O(LXyS$mO6;?|F?2abO`* zbJXmeTqEE!LJod!2d-6@%ow9Y%h63(%3e;=XND0gD3}u5S(^rPsa_Yf!2Q)jk9f`1 zef-0Ta``E&VtaeThu2#Xp!DNe?6k2EeZvG|DiGUTKS1Fjxg<$7F^suD!AjaL$(SoB zn*~!NmFc4DY1+D|Pt);A_9E(*(Y=vIXHMh?VsVvZ43zbUBN0SoM~7QUE39RdahY4T z1=M%s`!-x=%%qdaXV7S3Ud-i*p#r*#1OiiU7nQH3S_NWsR~YOK{D?0X8a#d>+8b#` zzt-`)-7*tyXT@tQHWoSIx{>egwV@Ec5Tj|XBsLT2jKl1uGe!q;(*TH82L&EfTw$~d zS4GnU;f5?jZQ{xxc!rQ`$!3BjRDdsr@0jIa(SN7Hp~PgbR%U>!r^h55Xc->6W|zBw+@ONuu$#>+a&IS~SWk_L46 z6UaaiJvzUocgrvKJJmO%jHGSltqVeMj`$9b2jIr<5?RKj1hCcvym-tG-lD?p2l41Y zxVZQt{=oMee}(_=I6Evmo!F6MU-S4i?tzn0uCDBO5)}LZ<19<>m&_S{ zQ;97P3Y=oq>qn(vhy~Tit9z3LN&6)`O)ytVvb=q3pYBP-Q#|Kf7t4f4^n!>3Y3+V{ zKv}0%r0fn8Xg4N8QH)Rq6TP-ZY^QQ`*-|OKn8sndcAbsyCtjm-vlM`1SSjYx?Tq?e zV1UY{04w-0YU_vL5W0~xOirg!i9r&WtIy9oMv9mR(Nw*v2#h>>cT<6Z8kZe?P2Lx& zx|@Ql3-U7L>9QX8rTa$T)H^z>lDb^wp+m5auJov{_DIHF5B*XA+O<(`3sd@>|FEIk z01+4WQ}*r$%AjUy*u0&jsPNB;V|@U(J?Lkv;4^5$>jIOfCP&j^a9t|HKI|@5q`47_ z`U(eJ|D0>xr1*51fHsYEuj!bZQ#7z2R&Fk~z{rfv?%vE$0IpNr?4`=b>LWy8;FS&) z4ne=**iJ(byyN$78Ba}+4q)I1+U?!ES!_z|h8ai9#ixwr?%WY*JU+T{R<*F!C&E}D zR0nWI`3A9Wd^FgE;pS2UJ{W7N!J@WbnKY^x5(Rv1!wj?m+~beO>1pLoo~H&{af#2U z5N2|rRnBT-uMg50Hku0V!0|hb;$An=1|jLXCpY>19ts^` zkD{(FM~^J(II&PA8gui>2s888|GosiszshJFAatmtg%>DKX9#-nP7j{Yv6Yz&L_PJ z*Er(S^y23>!^-=$h7kwA9_ibZdx~40w?aYNkZWAw_9}Z%xBJ_vLqRQ-?XTg+)c_pS z#iC!dE%Vm-fIw)VQce$j@@a>T6a^!yT;X!80fGk(#6K6ze`LM(kOToGq-DVUxfol9 zJGjR;VVle=;>VP5?RO^Pz4(1$0B@iX4u?qyA+`dgYVdTV5AwVbU8-a^-51O|PmO-e zRYF(*o|z|>#0b7wUb1R}6)|$!1kg7qiYOpSyI`ka_uvKd8iMt20sMvKp3aD|3{&~3pS5OL1_Pkaiu6aR;D>du z5?o<$tqC#&^y4%G?hjn7GN}@@7B8q;D~JP1_D#>FRQC{Z8D?E*-<%d&7$ZENTf&Oz0aB@2-_Rf#;`s z^=PuC*=_DAMkO%FrZEA#tjWb*)HP<$wEA5*t(gsg6S#@SL|!N8{W5`x_#rRTnMI$7 ztc+?5V$~L-#F1zH{#?xjIn64|S@>loXYm;ziwW0_aDj__0uMlxy!2Ayug(G@a znW%W8=f)OO^UN#p#ekjYAo|fE#H&3iw20l>O8=HQLSo1`G9}g zZ^mp-jfty2Xx*j8957plavlzMOFIz*`rGiuH-N@fJWRMI*W$4yG}6pqUbe1VaPvYtK0IOH9ZXyK&B`r7lNL);5g0B0#)uPJQo<^@$z zp_?(H;1AcGM`XvAB`k+ICxP4d-?J*;K($%N7F5@+zGW|(K4`$X;@FTG&PvY`fPHOS zeCP>|PhYc@H5gPf^4n!YV}kCK$wos?5xb=v93%%^Mz`RRL5_pSdGYI7sD)tS#mWdP zE-u#f$mkw!;iQ7&ZSSd?DkNCv8@Ltv_T(k@?<11q_-_@1;bn0-mGpTTbV4MRt7(#w zEPx-7+ZyGxTh$&jA@vjagvE*bWtlnO)(3p5c(g*_+XsW=afO3|Xdl;k91Xng$Q;uA zbEKp$|7jR~6HMMUL}1JhTfkm?bW&4oV-i|F^%aYTci4zYvM_wQ{Y-tIsPoPS>oM5R z{5?K08zNo8o+-cIrA^^zI<-g~t{KF=z2}W=cxvlQnT5Bhr%9cMm2tp%C@N0L5G$Yn)I?4ANOg!feARLX=MM2uYJB!6YYSc<=EgtJq8ey|)XvF=odan3C#K>P1t9UBuA9c3`j{G?k7LaPpybW$WGov}9)!xsyEUrfprttwSw%YYCqyw-zGCx>z; z2dN(_Nbm+{#QIN8GF-CehDnGp#Cr!e*28c=)QMi_>0;UJTcyWZ*?!eBcEHLt5RpEs zlf&ZYQTBLSL*3Wu&6};_ss7ARj|9wlC|$cHu8!+Z*i zOD|1n{yiq_^YN!V3iMS^;O3Q7A?pFSOw1~Ucy%G3m&WMA2G37Wc?s8sIIm9Gyx^MQNo55k z0o=mCa2Ew8VKaB9VSrcB)}A}`D6Q*m^`SC1Gmlcsf6tFlRytwYBEr9D-`Qgk3a@-yT=Q;7(!Kz+5#2 zRiLIQB!;fTRK1tPt+^_sY^z)D={}_%@&4O&Ko%r$e@4VtaLJe(PxHlxScSRaGBiR* zJ`cSRse`d=368YHlmN~h@A>q@(_s^Z;M7Z%Nm%vAa0_FIN88>ii5;9#9Um9~Cpz(M zD0T8Oe%Aqs88#YiUS%b>HEdkkSe{1e$>0gr7TJ*tk0&z_-K z5QO~CD=9F(q|C;8)*tKpQml(QNHWL!E1*^he=rR|x8KqcH0N`L{E{Xh`b;eA?7S0- ztc)f}0nFvOy0)3LzaH!ClKip^zny~SI}dV$nwb-|_#wr?<0aw^@Wti9ajx(OnA}i0 z!HCi8rED)vj!-!u{<-$isEAx7JQR}&1?)&FtKcaSteG3p+k{p)kyXeEIAuqWi-h20 z_n8Sggtggq-U<{ll`wvZt~Ei5FMzg;6BP{GuO?){OB5?N#X@OuAHMKmdfd~>xn3F3J%fzD|ex_ zAx)~_wm#w768rx!4+%+H(-a7q;>;04mjj;FZ({6a+nMON zREYG8{70e@pF0#j#o5AHlfTWArL#&0pXuVYAJL!C5Vztt7EMi{2?wZUe7M{=dhbs} z+mMb6aKQYfm2VMAUq-m!I@V-de!<3t%XpbIox(eB37<9Fl6?eRyP8IeJ?(mM4C2WO zSZ)4g!(%27so`UocT4oJbUE@E2J#(D{88-qQDXHcAyPfi!^-N`lO4&PXI*}<6FGcg z&s|_lZBn%5t$MnxMlxhxC|OiukDhhzwb6KRQMHLTk2I(u1^k6q{uPDG#fIxERPV{D9vcK{J?N&98cHP*)ZTrKDR<3#SWTuXk>75Xje}T5aFdpo70%Pw9 zZM2A|+2IqN!KXKwL*^r4ug3Ihc7ARrF|&CvckNg9yY)E zWSoBFSA9e)5N&4(*mL#wz^cv{!-`hEe0B&`!lbI7(z=~Ez2b?#y;f*X0H1^ZD}1qj zZ94i>#VWg_{gLX(+j(Z8(rUz3xzsB`K{IP=hPJ9cQ42?4e!XHUNl=iM?o9%H?vztq_eSMm2fz=vCtFsx-F4(6Z6Zh zr~FwJT;ak3V(RUecedeVt|+s+6NtgxYrH9Hp-xcW2KfCR1Ce>(`OsiM{Bvc|enk*T z)8`x6Dbeid)@3FCIt%4$nae?H1!+T(GK=g%KP~&+Uy57RSej(U#+fSOOot}Hv)4qL zo75sq#1$Fv({{&BY*IPh3Tlav-uWYgSLai+hrvO#W9!2Y*U5bq)VsS8p_oYv_G@{5 z_$Z84KVKg@$0LVQTNuWlOjn814(?)xR&Ojmx%o-MQIKkU-ZwFVTWSW|K)~$*A5S5%fwctRV-5mtcoa)^joN#01qHn!Pvs-_!{6^}+`cIw3cP{? zeh(|&)sLYcv>e39Vfmlx5j`rrU6N30Vn5|v{Jw7^q~HW_PuKcg@@=&2H)+E$uhkTM zH-%zD5>LI5nbHkEM;CU3znd_x-%KKhA0CWgaXgIYtT#Eu%|c-?BH|J-9LD6&E8qcp z69-xi7s-)1ZuNsNGT>f>`oqWEygXT3_SDl0MN9v0{XW*&SMzyIx+kqxME+ekfA;|X zx5@He`k#Z?kr`99oKOLK>|Cn>=p`3)F<)om_xcL1;Xf_dkY)?_&V>n#aptR80=RE5 zX?!I6wg?p0HRM_yvEnv^2^o{dig&7`_QzW6a9~}a#v!RPtLSF_E)Q?_L|CEK_{^cW z81Du8fmwI2u+J}$x9yWB#3GL%kPg?fWO;AegX;ejqy6JIZmasXn^6KC0XXh?lXOe8 zq!d4>_LvsPt5ngEeYbCC$DU^IZ$Rr&vOWT9C&un_Zb^$*f044`Td(Noc#6}{_3nPj zD!)+Csv-WQfCl)npKj@Om%HkWw;Gi8?htBG<~RM5!bAL;QgyW#f;TrlfcqTVW&^YM zBg8;Wu;YRN+5pCXeio{$f0)!~QCdn98Lan9SJf5IcurzCwYy7A3fF{NA8cp&sXn-> zjO^NT)<4M&*gGd&o6WM^ZHA7lc&k)ihm-a&(L!Z|lXQ zMK&>PML;2VM$l%bYX;acjp3&~__QuJCv3>ZsrSJF(3AC0(LK;B!I!%*!qW&F(E@tj zE*$yDbzW<;31_AH)fn*H45N!T?gRXZ{D%83zDRtW;Ct=-r0W;QTAt+LoU*M` z;Cae85lYg5akMb@{3DF*2ryCremi^Jl}Rm}k;*BZnd-Bu1)wJqvJykW+YK^AlhqE-m?*KgnCQ>!} z^DDmhycXZzLl~_t&$&fLY|87_5vIh<6oBj9$oQO9CVO5iwrw^U%Eg#Q53h?_>UJz< zFG(tImIm!W+`?uu!<~-6L-S`Ry;O=~*R+HQIssiad|@ZbEeQ8~I-uQ(P=dC`!IHK@ z6Fo1yu6;smtTxxB9}^e>0(-2|Xdggc`DIDdNB0g6ehUBTbFYtA&995G>GCReSIJMc zI!xkd5deE-d?<_O1}GHAq6eEvjCpVJ{qGA8RQs&HKwc;UsSO)A+QX%(g3jz|HF-r(XPe zW7Y`HmD`FG&jO-T60NI)_;tjfIm24G*kuGFP{buph?d`|g5#JBS#LFR4P@kf%anK z1i2dfk;dNV9-~JT*3%QB_{05MvG*Q9#Bo@Mh-~u(w=cjv_6+%%0eOZHd49j5Cx10$ z#7T;30;XpVF0|f|kWIZ0ph3M6&>*pnIO$1^6t-v2ee zSlr*9cX`wsR^@sYlK)g(qeH^M9?`5tYGOi6|0BC`(OXr5B8Lg$OTY9ddo*OMj$?lFJ+c3mNd%wr? z{p^j&5}_D5N;-?Nc>GVjGX+|=AGq2scOBJiC(xJN*aSlQz;|$vj_MuI%_emEOPBdW z-Le7>2QjC!NGf6lJwJq8s)*2F+77kX=|?CGTUc@z#aUjg(^7~8!#RoR1}_v3w0WCX zPNSYV?fP`<(->CQ?TAS4o5KuBo|E`8=Bli6Wt?4JEjp9XpTJWHd7=tmTzcF#-`r6U{-l4JG9vm0c2g2+3oCax@!q@v%*X8yV}%e8G8Y0_{f zY=$3~YhGX?M?G_|W%^F*vxtgoGOMRiBfF$ip||6ssd)9&j`2f|F$pIste$aCo7%B= z5ajZC-~UJ6R|nPcG;8DT?(XjH?(XicfndQBGz51K?iM_FAV|)O&Z| zs^3@l&s*=Ux?6RsPtAF%XJ^iCPtP+wJp}h2Zf0F5V&>{@*z5;!ue=myO7-h(MyaZ+ z;dD_T{&f|OHBjqR!Mg`JtdPuFp85)ZF7-IyCnKzg^Ts2PW_JO8+k~rKO%COSKx5uYPgtge9uD_H;JXYC=jxau8 zWAcXu*T9qzEKsAEBIw7&qd%!VoxVGTwT#fRI!A#fB_0gF=mt54UwkW2#P^N(K_gNF zR*)0|S_lGGu>>ek&~=K5lnDRc(-)g7TnM>^|Dl-YU1UGoq5a}L#L6PXm#4WLJz|HR z07~Hh^O<%*|2S@^ACwr@L3(s~wTBS5cCb9!2C1N`!)Ad5#ty7SA6eRklQ*4h$l9_> z+tM-r7$OVaUJ1Sr-U_MQrPl@Y`LRy?$}|&{(w@beK4X*#I>qBz*ZC@p??vq5_B8GX zaxVh<$tu|Vl(9|BOT$kt47Rvhw)ObP5<;&YoQq~MPK^P595hpA%HDXT*FV?Z$cm9# z9r6Y|ukOBJ;D1K;CR$(t#~6NxS!lK~mlr<2A74UFPla_OSN=Y%;yG)H+}c7MTtfu( z`5OL&zyBnJW0Vo(jIC8yO^?s^9z|=wy9=qW*YC>44#54ehxHcOf=&oCiBd9?3P9?M zFhZ%}!7`#uiQC+wNdbLiC)PJS9LZ(4qr;vY38VQg*&0xiY94{R2U5RT0DV|k zE-bNCT5hl3BAPY&1)b&I5nqpPZRdm1^~IY&e%#$5_MuNa=@;)fBvPpn%Si~EM!vFW zC7sf4^ND3*B*^*vr}Gy>uZCO5d8RQZe;;OdMu1|_)`nG4@AM^PO?!*SkdH-yg>c3d z8#&7QzD|ws6OTEDT4=PMa+aGcgk_PDE_|Ngb&aEBV3+`t!UQ@@U&eyLNVW#WgvTQ1 zDDr#EZzox>A2T~qA#2}5E6fMk5qDfl1NLQ9@=rpf(sn$$mjg~;uCEPRONB5KS-!~` zS_j%Ij|Vu_7p|JfLD9iI45L9v2OM((b9r%PT(-F#@wx@==o? z=XEprB&&msdA5|nYK=Al>#?)ukxrg8rU{nQlIad!s8%C&&}J{KDmJH{`KK~#iiix9 z0kbt8_<<6`#Go?C{n}Z2n>;tIpZ;^?IK5Ape$9hsog1?f*<3#a&@--}TiQrr1iFD*KEuys>Xu zNUJ7RyptZ=v2}jwF{R->Ndhs&5PvSZN*^@LzMX2=Es61z4>-W?aNnKFH}H2;f6Sg zwoX%_F>edA#yOAyWdIhJqbc{kLc2EaEP?|AoWIWXAv%AVF8RziY(WM2(|?45vDR2# z4EapjIBHhVycJv<^{1{rg+C**`QrQTvH6-NvIxQ@xlhF+RxQvQnk1(ioL>_Yu2)jF z5B{vFtm-}J_FSw?jv@P=bi|0%^bjG4GY8_9KH8#Jo1CspiAJ7FxbCIOOzgki^k}zJ z3K)8o2sa6~7gsT*ftsuOtt-(A1)Z2bW*hIwk)i7YZ;*lp&i}1lOoQMVQGJA3C{{kep3g~QbRHBGPb<_xYC3Nv z?}9cTrB_X>Ws6HBkIAtm_LF{ZJQwwd#7-zz(!S{QJ~?uxGfZF}~`ku2q!&5j5KM{E9VOpmUQWQ3ND7 zKl=2TX<5r#cv$rN&!Z$KTK--7*nl=~UVn)?`|Cx`9N5p$mr}J-?VZn7=XWAlz0$*j zLf^7N2}VM+xQIeZ7GXjEzI}XD)Wt(w;^!Q8zfE18=Ebhf8Jq>2WuD6?C0(CG(1-d@ z=P&l;)Ay7*|C8114L3CX7dW}4>1>{a2twZbWCJAkR8Yr-zxmqHJ$7H!3EL)*P zHW-KZV{IliWu6hxG`7=rXTBn-WgoTI5OC*!d}?LHPp)O6Rg|(+6edJT%1V$pqW7aI zkmrU8p+Nt0BKp5B%FbLR8Af|nih2g;=6gd@B4`g`ywNDii9rS#yysXB?;u%5I2#Xd zBqt|2f@d9u!6`{qVP}ORTEAD`+GK22Xw`h zNTWC0X%$2St!jhjOrN(A*|d-b_}=82D`Bp}UL(KuclFkJiw94PiMWWsK>i8!?YG|# zQq`b62`P@BQl@w#_`PoobCmp~NqpE>Yjd8ka?OW|-BtetZ$4&T8<6wIuwc8|Yw>Bi- zfIdrVBwe;km=M1h%*eR*``q>4VotB*C;XA|IS3eH<2S6;f8dqXLo+Lt$N-Y>RcL-73)D zb-PL+=w(#r_Dr;r+ZSQ5z`O0y>yx~;>BbZcDOKb)1oRnlW86Zvc`uUPx`i!ioS&U( z_o(agym}Oo+me_07={kua<_Sg&}hkw>}-yg-`S_S*XKEQA&%kNMpB@@R~B320&vq` z$VKw;5w}s6tNMNU>&t9YKVhClIWv;*htyM}?mGiGn3hfC`ON#9=J~g*YuT?tKRHw` zaXDB&R10*|S6AwS?R6N6Lzcq9d8^leLjLkk2J;#cg^%ZCu1hjhTlKObVIa?gk$m0U zX9ne$hJ);i$%eDd!fQJABthe6G?{EobIjlc)a!1aC{{AK70>>n*Z>X7V4JVz@>5fq zdyJGF(U$h`4A?K}0f(0B*Ys~<64#HYjVWK?T_3g(`o=XbbHS_bN3VcBvmX7>LYad_ zhIa7Wz-P;JycdHq+d1AOtc0H8JpS7oU|buK#q~pr(%YpXEzP^)9TW!>tq$Zx(o9gz#Ad51#Zdnr^??cf2-%}I{^ z4IOH8RHS^=As1DvIe>CszD21qzZiOJ99qu+eFl7>{K7Gm4QtbfiqpMPGt=E4%)^`Z zRa6m=8lSwi?TjDV>;ocz=fDVnJz=MmTsB34U`lob^Z$OzH6)tU)bz?fU zRaJp%HuINz{MHVEGfh9pQxD`3DhcPqNHi!Q$uJDO1$l6l6lT`z{6*+p@nN5CbQ3WD zGI@E7(f5xs5aKgk#GEl7e1QA;<{gge6Od%zL)%LGLMQ{|i&Z|+5v0)tB4a|@`Do<{ zivf6~iCm&V=C?2fSk+Y3m)*)hxoK>Pl9mMx$-qxuvi|Dd;9lySXeFIBNi(rkt3{IS z{s%D5+RHqi+(3H}@rK4oST=%62hc++wJNo^f2bZ0-liAMAl-ho&)jHW1H3OiFKCL7X*{*F{9hmsKQ!fwOpb4wnC!c$e#~XzPv62`|N5H2hCCPc>hwhAGiaBZ%s;1jHHHfx z$}{`_a^LNu+g#^HUO*=-qhlPUYEWb*HK6RTx)uvM-WQ#$ub^t54)3JH^cn51fc zseVHn1kOceXXX8a{P*2x`+DxHTpwd=eDR~*%nu=NN~m4LCSJP$`tF<12n>T@w` zI_QV}{INte;&d(y!4eK@Z|X6}QT3xTq0?>ryk(? zs29mQ1b*!`m%5ChFi4GQImR?ZXCrA#bL=gbRyW@@aGa3VRx34%yInT5URx1ilVKwl zognYPT23)IT}|MhZl?tL+2ZGWH-&XKMSlnjQ;kN{&_#9b*8b6o9)I1l1p|mEWB}JH znbf*D91@Xl6=>fEBVBFWd;fM$pWWnD>EtYXq?-YNTZMF(gs%v0RD*b<=|I=|qzM-; zrmQO=TbSM*vpoD77Qp>)$zSaAgllRXCjuvO($1P}?4aqV@!8nCuvIB_tQZ~EO_ogU z3#6(WLWc8A(j@F`l(T(%{Q%Ejd5l>=xLQGD=)$JK7uw`)Xupka`d3=!P9gu5CfW&H zf2BT>x}nUQObE?SXb30-v~ntblWc#bJbS$EU+F`;q!K-9fTciILzuhS10h~EO9Zcg zO+H6)$vD5dPRaxy&uiY?Dg4bSjT`d#y{CrfA!qYLwCIjLI-hUusNKSXuYL61ic}XV z77ft1mhPq)ItYq*ncnGcmlvIQ<^+CFy&qs5LVE6O9Pa0#q0dsxW$iv_8;~H{mB)?! zIb5`iFL@tQO#`A2ZDqe7C*;{z+Fg`G_G6`!%V5h#=H!=>_-U6a&ZQ;?{B|u21a)s1 zE$xyrdDhaeU|Px}IsL?yz1&k#D6b%NDdI2K!JI@Qia)4>mX8$6Qd~qNz7|sfKIqw^ zC=ap%9DaefyhxIIgvU=7XySA`O~b$Ce?LGwZUpn;>>Th|ZAVlUDU{`K_a1vSC*@rr zE2~~AOA+=O5nrZ2O!gr-QzovW$BySvE0E?Ah25B0FdAy&8nv@Ppu8SJxTh|cBw&EW zIfX@rq8DEBCeXUD)+$HS9Ed-IZ_zVT!OZud_7%NV@)qb9h?VxBb>MAvA$E`43lu0r1T<`jiy%a!UX1OD-_CnY;A(}6qhm>8ZoVe{~Qz8@cm@0YAAEw$x+O_ zw=-^{vSZtLDe=BPlPUu`1>V>J=pVf0-^_RY4T~BOB}g4q`vlUimWh>CHpMN;*N&<6p=^lyoow5>&cm2uY&yRJSfIdPAsXdFDXXRHdP6DQa zM<0$`?AhpFzU6(=%BFG9*#v!QJg=guCjp%3wn)iBWV#aC=e%7e?NOL-U-%h*KwuI-V()bF4xoI93COYUlnmT_|2V5mo33S^8W3%vkQv{aO?BINE$_MAt zI2;U(e!RDMp4$Y|bf4v3V010>R>)W>a=~Yl^%S~-`u-&0jGF!xqwE>E`#{_OJ!jjL zAxQUNz;?af;;6AO2;_$BqFyN*;t$_f%QjE3d}PvBz(FBKQnS9|vo|_gE?WnA>NB2V zM3by>m}yGccx&XL%Z3Vqy*{{|k9`c-wAR_7;8>KhVry->*Ca>F(mQ+7KE$Wq#fYSp z#!xja3VU&=fenrcT=nJR5WJ;uR7L{0iTUf?aiu%=x5d9#gK5VeiVl&%F}2O%ZQkl+ zzW94G{L)Sm$TH{Oai>X!u_m}{1r9 zteU^E6c5Ixx8T_Q$#ToJijG{@_nl)17r?nZ3y$*Evn*2csHm=kHiX!tu9qzX90J6c6uH(A z|5vxSfkG-yDrh2uWgD%ed~WP;A}8T*OCO#5npkiBzFl}5Js2h5zT z33wLKjLU%u=SM+Pp{+v&dgCVJmdh#B#3XNI43-{!jk`cxfG?&l7ehGA3$P4lhK0n* zZZa`pABP3_VlT2X!h{4N{T66sh&4J)`jiHFWbyt)O214Y-SKKXK!DMR9&xl@nw<47|tXbAiiZ#qVQ`Q3A_x!mhCLuRem=d zftELW<9S!EYoQqX6+eZp|7B3+GwpkJdo-IwF+I5K9dcd%O6*i*REdtlQJho4&fJ6@#ius7Na$YX|{hR{zuC%l_S zCSi4KM~F^lUUyqct)^g?M^SyoU}giJK^r9l{2I=r z$w0N#$H%goe)(GnhC}FG1&73`22d}nvS^xBoT0w=ZS}f&LkdaiOq@gOu?G zd?RmcmSs=y=YZVU59i|~XkWp1{aB9(GRg#XNdG!4t|_}zyQ983yQV==Z&>I>BU(~4 zXk+$P6NP=6SaXI3%D9LLrlWLVdu^3YPLM;TII@%tX~8wPG`h4_QH)`uOn=;0V_%Wn zQ{;uY$C5<8y&Hh2D1+!%1@3RF^Wfus8goO9KiTdG_ilJVka-$xLUcPYln|RPC1V#Gvh!tt!#F7G*#0H)5MoTt!G!9q&&?Dq(=IR?Bk=2#Nvc9|7{= zOnQN&MmM*vaNWF(vLa94iKJiyI>oaD9w8Af!T4gd{?i><_iBx*{mk%VGY8w@M58(E zOy!9XbR83<%@D91O3LAFkF#}@)UcyW2s^Vl6)nLW3a>Iqy;M_$s8`&;e!2LH-A07~ zgF_+kWStT5F{fBC3*(y~Ix#Evps+EFz`vi<9vK82juEwHBV{CaVSB_zvfjjMDIwXM z$)sbybSZG&_&=48!m!N66~_Cs)+z@HO{EF5R*U{33I7Cvt?J@-KvMlAT4#uig=mxzhMkcGni|zy55-C64Pz9{n(ryO2#pjgM^uR! zwQ*HF<{>D<)aBJ1YP2k|CcBgY-?YY17`bD=!QxpXlH=Wewqy&@iOXY`i{$JabsNL`R=T4FLCz-IjcYIR2+gRutnZ1(4P3 z)dh6c!j2LV=xRmN9M zCON(Aq&4B>GlO8G_Z^p;my0|aU33U^g;4uIkt*#%;B|0U3H2K!|c+L&&?#!SBkHWU9 zDp}%S8JQ=309PF(UDT|PF#W}ikWdmAGbd&SV%1DN0kYYpqD)gF74&genxT~yi6UN} zNn>(rtnI;}#BS6dI`S$O=Fel_(LBl*$*QhM3 zk3c$4LIOB+bTvL!@uhiJs!Ow19iL+6NlpX(@~7rHyJ45B9YRq7T<`TR1K}22x{^vM z)T(5^5@iPi?81rrm!2smt@zFakT*)8Fbxd&b3A*7-`K@(8pek4hD<+GJ^Qvgi!fQ2 z31bOBUv~{Rbw=UG;pc*juW?*BoEa7&l$N3mPQNFzw!V!?fWCE$F@ctmM;)WV>&NC; zqMsRS;R8(aTx%HL>BOu~QDeb=w*U6>*;QCxu8-SvnDt&@3uZtiis^Zu%OkO;N>b~+ z5>PKL)n< z(37jXO*!u=)In%0Lob|oL!do`a44qnM`8A&1+AdoAj7|q3LL0FUJ`}q1T_-288xzhU4r0D z9xUIC9P;EmaOWhZin24GNs$A1OaV$1N3LaJ=#*dWHeB-8LO{8CcCq^fy^})#532a< zpzk0)UziH(na(|=MGKU&Dg8<4GD#PUySI>pl4lSiT zs-nU3>+BljaoPs=q^!QrdD{Nc;sNk9eVUvmgQYJO)V@;oeDR_J%3a$-+22tN%CBsS zy1C*Ma0BJ+SByv|A+=V>ghT?<-F&V<`Q{}Z59wh6wWS!I9V31u7&lECm!M~7Rj%d! zdfkwkcUly{pDDXDLF>c7_6D86COO`LJaruIEw>lZXZ^j^8kxt%2_*oJxY(eYj6#k| zAsh@%wlAm+lpE>iJ30HTQHDD9p~ODAfcZN9S^iJ^>ba|xYutW2M)ms8BXrJ!EZysr z+%Q2|Omo^EXE<*k^e5k4-90LnUtmS$QB1m7YR9IrNi+#+H_j}7BI&X#2nXj<*-n`a z3)eAS z5VzmR;8LqVJK~oKXC!hB$D3=G!!7r^&pmVtk<6$KlH;U)$)SMQ6!e>z8b5BI6KRYD z5}>BK^w{tSYG=!T6syE{u}nEzGx7x2DL3~JH%8zwrrKhWVEDzmQ>{ZSx5tjAJ zg*_Doin^0RA|)G-@+O~EnfX9G8le9^Q=f06zA4Ho{ObK{xn$n{Tvo^;j}2NH-9?VC zLbMGM!0k?Gd=W4`g&e*`%s+svQj4B1yW!W;4#|Re_EhC$0Xd?_U$I9Ml#I^8kY^SH z8HJ-GPV|R!^RtO}-tWlbIG^20hd=1GWb)VyH9>F%iq-^{J|_@UtcF;sPeCdCgX2|=2wKI1G5a@tN%$a6}0RB)A=Z1GKaBqcb`dVZfi7O zLuN89zjI*TZR*uU9Cr3ZVS!+w;N6sN&6gANgV~0=wd1AiGQh(4D}#rLmAiTCAl$RR z81#MK(jV8VGX5(Wk>8p9m5~F^mVf2uD-|0}g&=ha9#;G4l2W_8LsX}~^1kHQ<*&>V z>X4jR)5m6Aon*%=r_(3J9%s(#R5R~gL1hV*EuakDUEm2edS$TonwS-~)DyN-cuYvX zp8|1FW!S~(C{)mGaMK>MR)MW~Y!&3}O9juVpFUgD%Lf@V=)iT+(>6O|u}0l-*xvV; zEO`vGtlJ0S9}s2e;FJ@JD(Iey`-P8lw~gSSr)HtZhR1Ew$RB+pD|2pR?XWh|+015z z>6Y@Bc+x@RazkX){J5E@4=?;n?3Fi#7e?P!8BB4P~ z7TD1W$3_wC7S})n{S_}B!5rd^D)Iaj*P*kMu~k}v!Ac?&_JurzC~|YDX(>Uv+H0aw z$BMRRTMMH=Xw`)Z2&a^08Ql3kCG8y3K?wEb7P= ztLW`+;nQYSPE@;O743XGC4#jhaTJJuU7yO`>4%*3jG`w;Uo?+FLtf{Ka`cExF|(*m z>o(cl$pgO`K`}d>{I*~Q_+sYCNS$&rMQML@Y#k$d7w^>BIey<=dyCYLa||a$D zE$_LOAT1jdU^2)|Up{qQGg*1agzp7?%gI;2wLDQrF9V|Zhkeo21~`_3-)^{6wh7fT zaM>SJN&@;&7v;`z@&plRG{RG48}UskAl+d-8mKs^p+eZ49LK;pvW#2$(b)KTD&ESK zlXs7wAJ4XOzUiCMcTsz@4+nF!%78vO>;^Kz+}nv|LeiyU)|YH72tk8`EN#qWwY&q! z>q(%mx@#iJg7!d<9~P8pISf4}gKYCX+nw+D&+g5Tz>hJUAh$v6e37U^0XH&EC-{np zWU$11qhzVv$Aaq6vWH?ZdK(F-_aL-)8c|G>PUbj1jrab?=h%%zhL<;~)MQSVex=q| zpp9Izw}jX=dV~3b$dW_+-I?+MYy1rEwyD})xET6R+g8xWlS@icFToy(OO7*$KFyzo zIX|+PUi@<&u%V@?U#?3fI#6$wTLH<+gZOwRcOEU5{O#_e39 zCexjpnpn9Div2{iVgdBczsk#Ubyn1>QmacjewO#fF{ChSjBb9B%qTzEJTHf-w+!W)q8!}yu%$~GCywHXxU+?4cTe1-v4y|;*{e?(OFd&lq6;g+h0mso^}?I z$k*~&npjG(mi$p2MvRU1YDSJjs6tBOvf5XxGH*PnnQTH6z04}hofQRjyrRYxVM1oc zFuT1+z19LkC1z7?eca9A%Earp^@d#-^Kk9489VtFk$U`N|WE-YsguM{qH z88E%5FMRcHYUP(`eFXNz=XLiP5Sd{i{&mqZ>_DJ|rDFWJaHfH?ZbA5ot<1vlU%%1N zjBpZEbtsp5p}nln;>XL$iQ{i9mq5QGQ<3Mq(Si`L+(&ZBf6EuwZ3|P|bR!Y!DTe@4 zaD%tro;AtTnRBUjfTm<2^w0js*?S@1WKcX*n zeUl0M3b4gy3Bov<<0)jF?0KMtO0h`>zna**JaDAxd7bV6aKwL`1ALcVK=J;kO}(>< z-?tyPm{nGH4evC@*5n^htPD`bMtj6PPT&oC0BzBEFA-^kYU6w6hu2O|&(2Bg=W+TD zn$Spyxt!Mtk7f20|J84-_C1bY9!$R%o!lmK7w`K&6iH}Nq%dHNy=eyHlW;?m z=bxgNaAl+v9IwP3ckPdhstD+#N|D>w{r%*-Vo;x**^{~3VOaKD zM%Qh6@G$pk0{`E6+TIFQe<#*)Jb1X@Nm`I3k^jK5Y_Ptk`ZLfWLT#Zk7UXR|VylG? zG3yXdePk3{qy14)9*wVF_hKTu_kQHoF_zyHsJDmIcSBIpkndKeT7k>_iHNO#t4W`k zOSt-TX`k?C7IFYLNMr#A%RU$J3U$GP?)K${&}Q9hdUU;Ip;g|BDuz=L04MEw`a(!< zZMTKH@#^Dfr22zC(qe4IgB2CEe=8bO;JkPm zam$78@Gam^Z?e@wqQA}b`=AQ5*H8xfMzx~Bvay%Ob0X= zWQ0#ZPyqL5d*n9gmhXp=GLg%9;h=Ld9r7^b;H?Eytq7ws{sAAHZ`~J&6b7rc*Ry6U zwGUh@vl4JGRd%G3*AXh3rA@M5f;Kvz<4$bqk`~e@W5ch^H0{)|zm`GicLj}7%}Vkp zwGFst)(A6wwPT^wV#P>K7>1c+Y6Yj+?on6cowuasj7J0I4BTJJwo+YiroY^9o8D*4 zuca4S-zD}pA(H3F+T-|9!f<5)+gE(2HoCp)!hY%04D)7lcv-Q%U&*zvY zG(Q6G0|gfGhSZf5`o#^AI@BvE!t-Cuvsm1uyM(1u4?R&rkC8*DS%)uqh+Icl*8lAA z=($4iB@37Kz}Xr0@(dqv(=Xb^N;m?+@PewLzL`tPwZzZQUg(F18L?_m%h%M6Xrm>!g>~P6q z#KRqoLD{-Fi>A!T`11!+a0Y)FaONa>? zy-#Ai7_+{3aN?xAByHNV9{k~KY%0*;7=sgA>?x*IjjEwDV7#mhA*SO zC*S+nX#7t*8#Fxp>XE&2+TsgU_+;kvESm1Al4RO?;7r4s_~BHzE%02TOYFhp#^~cY zFPaHGO^;k7SS%>MeSsogRBrxDi2D?rw{vSZSiMtoD;t80ie!-M?3>^AeX1;SE3^os zfj%2d1AW61j`iyy-_`ww-_gYhu<0tZub-3PSX-oNAl}Q52%;kb^+FG5Du$m|z3=_X z@u-CB#Wm~rU9B3GFZlDzlUQ0vY|uyhv1}5~mR_WWBH8J({tjJa5KfrpLmuoQ%ToE8 zq^KnL9y+FNq*;Cc*q>K$IcJ-I$F*hsP#6(||4I2OwWG7K76z#I5H|DcXfEB7k}tKK z^MET1D%$Nx$}w}kwO9Z7)3E_2fP14Rk8B!9Wz=3z?SbQH0n*d-RmJbYT2 z3FchG%pWrvX`IVZ`m*d}&8e;t_%lX{U8YW=ISnsf*5MrNXB_lH!|Hi1DsqgE#Z~@M za;{{)3oql&ujeRjnyatg*#Y$quwy{pd48wahd0JEI4NHvYx(?uc@i&eWpA>}j}!~? z0GtG95n?Y~zGZ9JnT+RoBl9A*K|E>WyV}2)kk$5@fdKSX5^&E#-qVDNyfKMmF(IK3N3#x8u+a`b(z$p{#B+q_9R*&cMq}`Rx5aC|a#$Oj&d-#|;P3Dvy#|_|G zisLu=D+I(*bzD3hs}TyxhZx!#eQVt7nZoJt{7e)8T*Y+*69dkQHl+qZpzTqGirFBd z!zZ>6=M=CG>95l+Yyg}_+^kjr;?qZs0|ebRjqQqM$HN52r%zEuo;>Fy#-G5sL<1B$ z9rNROq8Ooij6NN#2ISCpDhJ{zE#6H3n5|A>RzTl>I)8DsDLq=y4y2Xwi!y8Od>Am! z_bL0GvUMiC%Lfc^1q#d>Fc0tAXcKiUbwIg+%P`5>78cNvlaFQT!NyxxIJJ@SuC_8EIZy_q;nG8l+|T`&-i@Oq;(Ol33j z6iq}(Za{h2z#^7bs|mKba|o3cPXrkMn}JVCE)096;EBR$Mbs^83E(-8Yt6@oCron+ zSe4E`-GS%PeZM&3vvKWX_d@a~{$>8m58z8Onk9y%Ha!r(eG^}3{tCwP3WrN$47?VF z+=zB%bm_u&0`RlS%(|iVPi(r|(iCS=vmnoFi#FpF#wsRZl>_TFu$lzMK{JO=JCN~D z3-JcRDmd*T;Q@M3IC3b{9f=@L*}D*%3jdwoBga6&@ygRx-QHn9Yb1S04Zwd{pi&aa ze{DHYkU@)H$tq9Z|eIF0B<$6_#EiF(`w!g=7hMlfS4?K?t zSq~o~Xk%kdp$}R*&Au%}l|?vRT(<~c7PzpP95;jhmEg2qwe=bs=9XycdCcnk+l8?l zl21+j6=kex!P63E7JxoMPqcGOd+Uhf4Y8u2DQxUn(v`HFk^zdgAHdo}s8ER` zsiQMs2HnCa3PZ~w@hF;)g}9+c7E`a|`&XdljV zPWgYMJrXJ1Zr_+7OGEL-NLKOF0l3?B%=>E2l(#0SC#oGW?%sP0b4Epmp}mB4D#5is zt0)27wEc^v{o1*^02d96K?j|JPd`n<>^J}9x})o~Jn(X%1#nTA8K1feqheEN-!H~x zmhvR~j4j_ZA2{`Juzv3KA^^veZYxQ-VRUBa*L(c$WJb$$RleqFr>BRUT>juGKt7lT zn@HB{*7!(KU{oj(mxb0NMaodBA=K>jx zQlx-h%u?LVsyE+GHR~!wYCM?PjTxrglIg~u+XG(!x~rF;>yC~R@vnT#TIUc`;DM$t z6HjN9-U8D?@x}75Bzl6T{VPKk#4P^G?G}IPE#ef&zVkB23_m>_)W|A>Mn;Y`MHJL zp+E}qYix>)_2@m1*Ffo>L9q1g^rUz(%W_}h&cVEluaF+X zr^Oc?tGcr^?;3;6f5DpmRr2W~ zSu|frTO^mB5f(ZO3Za25e0~ybUu4X06T)@+EU5dOM9#c5CGh@EN~qFIF}|^!6kzV5 z5DZM3nmcB!mtSD%fP`E`#xqrrHx%*R zvG{%FiymvE<8EmjY+o`!A#2i#gr2Y4K?v*S>i9msLP}q7oiGdA9H&PMmQ#=9M$j0N z9Bw8epZ(H>Q`UBEz`?DZ6w0>0)(7BoID+iFBR=1Y5RMvH6$;q0hrflBYrduA#v(|z z{x)kw1pGFiR}9TMsR@Au@vkcu%SM}!xgPo}X$Pim2(y)*y>%N%5OS;_&%WTt%nP2KbOQRvG(-jtJ7d@;@}=XQKg9|RE=TF% z=2T>Q^+S!bMDDI7fMYwnFr0ymmqk6A=ZZ=;o3N4V$jLdM=2j98wX$&I1ji0Enm1(x z?R=YIKGlZFbg;Z;%VNZttO88BiXZEwZ(BfLD>9dm&rU;+voZaHw9HRK@^v;zO8nrC zJtA7_k#LC|&}QTgwZ@EMB{|MigalhQ*Zn!XM_1cT7x$Nb#FQ>7ni**ONKv||EF&E4 zeoMpN3}}CKm6oj$Zgi#!?W-O%qnO%f0NNq@mSIWdfIR(A!Z*Qj3MEgj~ZLexbiAp6E>bBd8;H%3B}oK!B(4pAM5?V|3(a`mok%$9-d#4U0IeD z#WFki)GXPRe{rM((-M1fLka^4j7fvX!{|TLOoN}~{ z{_nG%M~e&=uP~5DcBW6MMdD3yD(_`#aRx6ilyeT#GqU@@vFKGGGbO|MKe4qZ&*?y(YQXQe0@MislZ_vXO z(G9c>(Nryio>~zt^4kqDUi5P(oO{nBlKmTEQ+)zVa=^aadX?(4`F3Eb9_EOec>GBo zWNzSb`e}#dsKkSs$R*3UWi1Y+pR~tw@zBaC7h+2Qu%o2LW-L@*q3oJlEaV0c=x+HQ z*eWco%{;+9<9O?Sbrt|$+}l$2e<6ac$>?s59?hv10D)q( z_@feD)qIKjRdhL|8UHqh+h8@@J{5+ojl7OV4yQgr{z9&425qS-l4%)tSIv7TYKLJQ zc`Hb6Cl^d_^Y7w9GZHLliUgy=df`M$EsZ_`eV+H8I#0B)OEO;Au-Z#LyH6M73)}-!^fchC{40fZly@Px{tkhd6}XjGA}2&z%CB% zf8NzN49;DEu}1t^w7GIYKiYq|%Gfz!ni&>udJm<{sRO)A{rnL!JLtGPlt~ro=T1(I zOj8h_HzQAZ;G(+4M(VMfjQy#`h&IASk7{an6#S+Bb#+w$R~Tt5=Q5WcwXWFN)EpuWp38b1k`7 z(MoADtE&OH|EqlQW<8@D^aeBMe4RK9o`|(2yJ`};)ZzuJpND|AL)Vm{Q_rJaJo|y= zww8#J!jrlWz@whM$0lF%hlD`c!A0wQt)tV25UXgp*x_lUp^PSg;L3d*QA|mv8gAW? zUt^G^y(ufyYb#z@z%Kmp@zEGQnAU_cqLDFUil6-gVG|x<{@Lte?_QinEY`rwAB(^d zyIIragRF;XZi;(q-!30x-JS+uQ+WliBsP4EF}Y%DFpn>gSiN}UslJvW<27$vF&7CU zk^p@1`}=2ieOYWzepUv?jFEKiuF6}@ce}?ngu}?ZR|<37hrZ10;ewm8`xa8Z-V^~m z!b34Q7*w(Bwr?*K!b`_Yfp*S8<92F^+}`dRI2>mYH~Bi9771kdC5v$wc&%+ zt7&cT%|_G*amnQGXv36RHo;LWUE|ucduUnni`U4s-jN%FyF_eH8$m{{OWuA3(-~3V z=dgOG%LR2f&Y$dxeabdmwCotR^Lp}UlpoE3b{-Jy68q~O2=%HyX*TLaIvVGpNec~( zn!Y2~yx_7E>Z3~-ye?Mk$m}5N$Cu{4;zvVKjC@dF*HUYdLczl+&4@b0$@GD zcSvJte7@IT&;U3?LIxY@_N^u7l9WyTc*L8nev~P~TMx||_&pvLOneCd7t7xkfkE}l z?u+QxQrpqYP@J;$q80@^e zGr?s&Xg_`DYD+hWK59MQj;-yx2(11nvv?G42x0oxGSn1ls|Whl@DR1VumhiG@51%M z-o=C!z~qY&95k{WltYfWef``A+8v$O_%1INL!GyvMFJ~M?j@anBy>5{sBy5o@)OWT za}WaB`}r(NPQq0CZn)m(lNVdm_y&|tQo8PyC#=$AmX~#qBY?e4Ik9FLjUe+>Q~?+OBmm9Q*eN>cqI$FT9`)DeX&zdW&XnTJAt=nQ#D z2j~lflFlMb;%Ltai3(C0)EuY$^3&y`_@ESBTTMs?Z=xoEt6^X1Ae}(ziWosRbl_W8 zq#iX9h-Qa_!u*%eo^vc}eFE;K6zTQ@yn zB5L)){KW*;a_kPNG&oZ$HoBNUxj`OQz0d+m^*&xAy~yKb%-}MZM}p``#Mly>-cTWOwm{9SAK!1)ru$88@INtbyNek2YwCrC=L0?J(@_;|&gc*Juv#(3qw)pGuK<^Qy= z21LSRRU9xibUV8wjbriX!`q{0=68l9(#MLh2@Fig!22@4Bv6}K=oKYg3maZ8H=@v< z`D@(4FE;9+(dMn-OJ8^ZXVhD5VHj319H<7%+x9#>K^xQfgErFm%5ZFRA+o>{T!%4Q zyj>&`hPRf_rlhE)LmE%o&UxZyG|@Y=J9$&P89@N(yI^sx^&%Fl`oev{bgQNxSX5$U zM&-r$S*P7M6oYXD+!GtR!KX~In(%YHI%qV0ZjW#NYmrt5%j2?Hk_>bEsu&o5&`9)a zM0CSJg>!~AQG)1ADnZ|@J02^1Pc1K+x2gFr8KB-*abccl&$2IAXLn++kCjwJ)wp#m z?ja}G>W2q%MH4`KgJW&Bk#GW!^JtFK`ho^pXi=F)znEp$XibX6FDJMVtk-~-=WF>4 zjPuW;76yC_4@$fc1Fi*XZ^WRTk^9oXccMVO2O=mxr{UpE z1Y6mKMj8wig~wH>JFuXg2H&|8>3?=P~Og%DjM)HZwM}4>_jrbo#jB4f897 zIjCBptek!}=6iE2y~ub&f-g&ucWGF3^Th>*e`TqAC^7LjOUz`nUJAHP6;&});+KEr zUbV00UzvLUjrFe-SL8tAQlXVU$cQzIdEkdg-`N%VDVbpm8y7YL7S* zGKovP&9M@d82$|U99>;80$K4}+-5FJ*5=CgZXF@5H1gtDWK^-!IxWiu`sEVI0)(3G zu0+_z2wdOHJT=uBg|lk4iS34H#pWy#VGY-toV)Ez;BY)|^-$STS+B*Y)Rak=C3sNW z6@?ou;BVV%`P@C2bPzI3O&#gKsB#iYSmYQ)v#UP2Gwg@qgSm$SPK9-`m*4RPH)oji zjwv7kK4{g}jTlpdhK=X{S(s^;e)%oySux)ySuwP1VV5K5`qPH3xoi{LLfkJ zcPF?L91;i+z9)6>%&+SC>iq}qRGsQm`>fhMeP(9$?$vv`1yYrWN#ilOb$;`=6z$Xf zwg3G9_i)sVhz*nJ8Pnkkqm`O^pZn&QV1YTEB7=7WTyn@`B$Vj^N)}koaNav;ZpN}c zw8mW&a}Kk{(y-t77huC_m))H5ij}5GK2zPf7>cbu$_DoTdDX9Q=*zLd0nB(-}OV7yn;*#aYhmSOoO268QX-$T6;KSpV)5c$U$< z)(_}1Ee81_NxvNxt%r?aeg6<|{@FuGLd~@e%x8Vs*&1}$ij*Y*_f9P_N6!daLC*|} zuNdD-X6)6A;YKOoe@w)sLC~G^^nafjK@*s9aRZe{tY`bpH01p|&49*rMo_n{dq1nr zu$3P+62#19GisGWQtR_==GTfJV_R{-@4g6d4ajrlKTkg;CL`64Xr6sEWcD~wsACz| zze~;p<5!}%#)4yMLEM3>#wA<{5w|&6gbKce+4Zng2Kr`VPFf>Lo|y$f;QYQil2n=n zz08mn^ozf2x1#gcx!8_(f-s!Fc;%R%Wqj5N6;GGY5P306 zTfl~TR-=L}1NcKdcW1RGTnfWI2MJ(XdJqq8Yn3n8IOd3(O8d<$hDG-*5b{+mi?G}xO%JXr=nIfCJxGO)!g0X&HfPCZljLkbo1rD!r zkt!B=exom8Pt`fyTZyB1nN3{4`8|K~Tui&HDM(ZE6QCWF4lgG_Zw$&b$r-t(T^_9a z00ZFu*Yb;fVmo0+5R{}goC^~e~Y_M3RB8@3$vqN)RfaiR`qc9q2M+Um0>b1 z+&odOa=fzPbSxmHA~S;r_~l7-LyDdEGc8*~5SNZtEYYuye8pPqSikIo->^s4J4TzA zzg!rlK2u~DC1PpK!}9?=8p`=e$6V72@qwF(fH(=3AZFmB+Vm1N>APK2tp-6JWQ!aV!=kXL9HBipBBdg#70~5z3I$^)1t3cxuEKe3ON$XuFMX5)=ltF-%WM zg7ecb?1+Q{U5t-4_?NjDCPTfeAfB1X+H@kF3(5n7@Jo7nyNx!{WEBlvJs2Ffe)ATK zg`b`rHvDOPxba19g?_cn$a@vs1YArCC8kkwchRhjEwIZt35n3QZVvPO;}#RNllch@ zS^K9j>GOx$;t*W3ya7@EZK5ySgTn-75efWU2D^M3Iob*WjsQ#db%qkN(GGPdX~tQLU#wrwHgb0>b?u}mB>T9rWk zapkT5Ud}%M_;D(OQum`ZfD>vfaFxcwvUDtWs9)66(AH9k2Bw8M>S#6D@Tl+*Ah$41y_(lN0?Z}HX z66E8X81CgZ|KTSfmdzPNk9{eahGi&r8)YyI3*bDf`#9DUP34R%))1IBKf_~@-qH@1 zaFh+1t10fI{J-^3MW%jH5ztJx?`U636@0kV!4pK*4Db-KULq!38XHOj$8UD)>7VTk z70fmWzjzyos?RZGrk7PBmN<#UengjVI|uKV|F!($czhuQ-3=TRZ{bmGe+~!#Qdwer zV#;VZ4fQPHr*CXX3b-xE_LmggQ1T1(2WwGifQ}ldl1%Sv!_PzXW07Vzh}5fO8OxMR z{geO0H9Gx-kDFXqp@w`#;k-c*Iv%H#tE8FScr>GFa6T#Afrha(Tmx2_8nt-!Vvc_u z_gj9d>YuFH;_xyKsV~JY@SA;K-wAWq5I^fbF}`PV2^}W1t%+0wIF&VE->`Sun$ib} z#Ac9$Nox1>l^r{$wEXG=5_Q;803{~mKZnTOuvZoH7hc0_RQ!HiDDKR-Pf))#)by+| z_;qIZt@>u!$BFU)9eBQ+ z>)R?3W@&gLWhC?=FjE-te-c0OQ@OuGrgq1H_gDe-Sl{h6SmJx}s+iSmx1ZEZGZ+T_ z@=Gz_Vc3^K93HitB>;aLCt1t6Btu~&1Bw+yBSECyh@$xN%F{KYjV@g0Dl{Gd4oRiu zV94w#XNa=x>}9{KgjVk3+-q{SrIgKShma~dasZb{e%;Y{OCmEB^hE?AHKHsl@pUy~_sPKiHa|Eh2paOjzDj_!Fh%PHG3VY3K|*Gmj9>o*Z~*Qrjjufd zj-Q}M701~4=jq66cqo1`^1YE_)!*>M!vf&@3IzKO@lz9s+b6^&T-hAxkqUh>2U*?5 zr;n>racDtho`Ao|Jz^sf*DFU({kTH}gKi47n{*|m+>>Y7xAW@qCZ(X>t|~ChZP6-R zLHOadu|Hah3m1wGi--kX4H?#5#WkKE65wx5Sd`a~pS-wpx|?E)oU^=TuCD2d*NSOH zzMf3PubBYA`F^LyMdrP1)N+{Q5ka=4j^ccG4-d6i#39+;^`eUj6~xU3nsF3QG4u_E zokn%7B`M;K5Ob0jM@oSy|`$wjz-29UsnE!hSZ6f}SEKpvdr+xDG=OOtoJAZ*rF#v>acGO)gsik5NlCABIFJ;K%bGceYhm<3=h6Uv=89X~ z89%)?lym;Uwy>TH=Kp?%+oO8FU8{snq#une}Vofu!`kPk{G!dE~Iejo(QBW{jF zfl|GIRY&jj>q)y-NPyzce zv?aeIYl|B-_N69)(Xbw1hidLowp#zj+*wdgYks2#uKUb#P)bZ6V+Z?ot6Cd@{|Xzx z|J(j=e!Z5!bx<=ah?yIspNg2!mB8ltCtECHyjVkyep{|x5#$kQ4x`LM&xgCa`MQ7N zQD2A{>DwKF-h_+0lKti6FBVz>GUVlAg4xc5i-bGkY=@Zp!P-{Zpa{ zeD2=~;v=&d!d43n$tu#$YUcC|WU*gZMTOjFe!`esqHUB#DK1| zyOEHUtj*&ZqJgbY=kWVs06h1i`NG}Oe{?>yw!uN$KSFG&ZBF^8`c#oG$l}3%#F_u|{dF~d+`3IO8&Ge0 zYVBOL*N^Rk{2!w$=JPRcE zE<+B>jsMG&{`v0Yd&C-Fvn2@(*x{Z9Xj*VSAi4~x`3JnatiqO4V@B3{f69qEbgf7H z-|!g7Ul2xOp#XpXtNF$8W<;uH^7mfY4}av&mfR(AUUf4;$T#hgEY@`fB4|to-(JBy z#g0PgDbA=IED3NfdR{U7E#Hjlz|THlh~9jRCP0ub2`Ht%g8VIY^3ARPme9DPDu2s{ z1OdJ%Nd#d_s50_&criJQKupBHW!KpYr@tkW*f)P9FCT`uX$-nY30>?ZJaKp@DOY4R zsvj1a^0>(QPuy_QE-W%E6c;M3m4U9g;r(!^k6t(q{&nPr3gR$}rb@C2n_I%?=LfdH zwTi#ZR_FYVD;>Hx;6_tKA%6}p$~?U%>1O<1#?dEHNu1zI6v-jXIe)G%EnQ%50=pk6 zxlA@ZH%W^ooYb+lzqxiPLwu5qVlW@e&b+4LwTy6rJ=Fm2Td=u?1gAluhH~ENJUDcb0Wqlmp_)tD z)H<~WBE4AOg%4*3!M=flH@E&@``-`H4yqU@pD+nhXxJqy(oudzE|v2Gjw1GT-7Fzo zC?|ze7@J=u{%HaEp83%a&J1VW;xc7Nd|y>k5$Njog^`*=NN|_LHTz)R%MQRSvZ+Z1 zdcGrKGrpx1HTK1kLVh0WBJPa!whIp1r{{#b4Bbz_xtqJHk zAFgRw=}t8KJ}@;(p&ebJ1U48sr{c4avqg9CG~J(z0lz(oj{DcTxzQj){&QsJ-M~YR zbS(a_eeWb>-^h{(L*xFtPjG-FZ8^R+i<)f8BM)@^!0}+AMzEEY)Tg;gfl)4#1;&CB z+HJ?3(@arq-#1qvRo|@_vfl7PeaHPt2K!U-+e-^Dw;|6F1KJ?wx5V{4;iuEh;%UZj zESC}|5)wE04ETnLaDTFMf#=i4A->UR%1;oMQ6Qr*LKia|amA zj}_LjEtJ`U;Zr>74@LgJvD}ajGR(Ug84RPZlrKE#&ZfnS{!4eW5pZ=|9_* z4>d`IbqabVZG05*1Gy^hcARk_m-ImD_gA7llU5f!_BaSZt;;X?*eJ!jL=A8*FNi56 z1j@b8+=`cmrLy0G0#_fzz4#Ou~|&2pzmG_$)?SQylNI9pcX;5(JqI% z?eZq^m0b5o(ZhvfbI~M(CeckprgvRw+tds2hhH5lzG{2ZmcXzYzM9i(`Ss_OFRWAp z+)6Le`?aDaaLt}=7R<(3dX2RTA|YMxrXWkM?y4#N%%yQZE}`LZ;sbCDB&o(M*?Q9@ z{)6^&s!##LQXZ$-M=MG*QgiGiYu{2ZdZgKKmd-ekAF2^=X@xeYBB=+wwrHXI)HOvx4Z;{kBr>hbxyaqcWb72j*!YRrZYKw*)hXRzFt@!DY2iQ zwF2vWxiJ^c%o=exG~{>=rP6r$5#LsbusM{Vs2ZUeh-)n!Bg8a}2m~N`i`>C7YQE`v z&4rdhL-^C2*yptmj_ll>mzQ&ZtoIh19h~aRY8cw#MY`x2AsB#PYMMN`OZOFqb0jDRk!h=(Mc{2l>x|d))_Fe!YrzRI~=qzj`E*q&1<+`QP7~Y5e4| z>KQfNCI=+AgVOO4LKF1zh-4_68pB;^6V-g`Wf%fP;T931;SU5fU#5Dg$6qNK*X!^` zK7Jz)@mS^~;N|w3+t72+pk+71Z%DP${$Pym>(nIp#9iqXiJ$?SoQ#1L1^HvV*?>pn zTpcK%U!w)1noA`fOZ|vFtM!Z-vVVwB8dIPTt58hcOR)^gHZCPd6TVF(fW093cBfGF zt6{s({Z#(noLWX5;v}P$ zvX^T(Dkjeisj};iF-fU4<@!BWe?W7C4$jfMpI6Qwyq{gi5Gl`2-yCV-)|o2`(0g6H z$1rkGy5k1+O@3~-H%*N3L&6wJsxvmsLpj8-GJno@3*NY*CXzfpgPawbw@5@(=O;L= ze7&#Wb%afwRl`EM`D=+5wk@LWIgFn2zt`bs!BWAw7MsKi;k7urFF8*2$uZ(VL5Xx> z{#^{kVxwR_@KB1pq(a2N_=7LTy0<|xdHMM+%La58EEO*L_RJ)oGT@K zGaY$iwSoMXhtD0P%0fiRC7-@fRSJUR`iV-7bOk*~^=Jd_AMA(;=Q`{Pz4Z?_91edB zSR-=q!MU&_8E+>Nfr@&0jtowub1_YLbA*D@2X=|x-_{tdEA8MM;e^}%_I?0VXI$6O zQu~LhXf%yUB`B7=uZ^1iGoR}gg86ZS^XgaLzs(ysWZ6n<(0xs2rs~QdHpkbj_p={ep5I2kmjCejMr9 zMD+B%OvTzrw`5e(v0Y8~1?&A#BmS}NkL>S~w*eX*s_tfPvmaCwxJbY!hKe=^&M=>>Kdi8w*1y#5#pT zwp#Nv^C{=(fe|(7Zt3y(XHQX96IzW`Y4JSoDaNXG%G%1tgm*v z&{o8?GqLmM_GWqAN@2;=?+c)CbyG9G!xaqZXi`AnGSwL^>e(k=KJl$F>i9_~UyS zIIje7-3t9&c;>^?uc{NGg<^2wPV&q@<1Ch8gM1QET6GQ*x^e!^v)?L*Qn@h$6(1t;)aJ5fT_P{JfJRQ|SJGe^BAx3)xs9c6ROMbVg$ zrnVK(0&rDSTT@mQxwBWz>U;QGvagg0@W0N!Ir@}q$CuYFj6w|H6mswlHHrC+gL@(@ zw#Z*_Y!nS3wv{(tT<*3v@$qDVItsrZN4=!eVt=u0RfJ2>`@93y(+YwT?yD8tb{{*o z4m!Z!W4eycu5`XF^0<6Vo-6^52EQB&}U0v()w#@0p6O2BESXk|e*t ze!$^l{A($+FBOtL7iq&-^o+YmP7G%QdA171(2~K%fzW`zS0YH|cZ*yhO!#eM>Q%h3 zH+1=q%;n7Yq&arOyhKJ|KlN7QDNv;0UHP0n&S$nodFk!zFQQ2{8wjj^K zzNn_)t7Q~S)VLSPeg$_vlaopTQ|V&%YOF}P{(c(NS+9dz!^0JSa$qqPqO@UNe~g4H zZ__YVn16rutaZ^Y492)#wFt-79?@hA4$wA?g3E9i`7%^t0m+=#T`&_#FPp$v{e^Do zAKge9vHqmtS@ruwib)oHKXV^9S00{jg8t1YFeiee)-`pl;q!Oz6w`V+C#2auRj5_i zpEVmf=)Wt}B)Y(u^xZK>o?+Xw$Fg1dr}UA)iZ7>-p^Z^MsOH{&OTuKoZIl#W?69{QS+>{9D{2^j8 z-3YG3`!v-l;hywDz^m+=fsj126M)C9PUAc_%4K^Dnc&|qS_JjnR{VIOlbBpybqZWV ziTVp>0Ppbgg~0kOnjoda9h3O4M>I5^Y|W$7dH8E9bD4DTJR^{5Y%B}7#HCfc z2sT7*r2zcsi!A13Y#d{((P+URmY8IKy<_A?IsJ8wf4pmwr=6NTs0*)$IQvb}WQoZ_ z+~o2+<@^AArjwn^GmddU()bW30RlHz@4xN;=2y#97ilOVhNX7SSo!v2ma>2Mb5jRG9*8g*5 zfw9AQCk(aH(>w+YzLrF<)Y5|B@}L?Rcj^fX`P!2tWpdnTClgZ-X`4o=XT)ooOSRws zRPkYp0dwavAAZ+!Z0Savp*K35sk+Vf+RAUvEE;!R|Qb z?TPiRpILm(e;<**?%-q?)txanjR&;jg&a@4*ei3dQbt$x4%I5^%JT0k!;(P@O6r0A zMA;YFH1V$1=5`hzdT59p3gzJ3X| zZs3)}ZjhujCNJoV{XWy_gtbYB4B!;Xpk7VpJ}|o^$jvxfbP0)j_WC0Soo??YvtyJHaHbT%rF^^1?3hr zHQg`y=AJslZU3aq%sSL5)`R1obfb?Y>I2*%DmK)Ym16lqa?sNJ5$aub#4u=QX*-nQ zd;o`5{Siy%sJ4!&&8{3@w=5%HSaNr4IS=}6zL9sOJvjdOU)}GH)nCtKEVEv1_0PEq zR7kA*ucKDIG$=1}NO1+Gn~xAWU-~ia?mh}}zAU=3UZlC}?=SRxe@iOfAtdfd3X^d$ z2!`?*BC#+Yx$EDu;)jUV-x9mei2rXHmK#7a%(`KH?41Eo(jPWAQ2u20x9p{wmi}7? zruD1v7rvn!+{D%B`h(@B%ZzRZuRdUARymCJalXYd4z2(NK8wb=xL{jX2j)9`u$qX7 zG|U8vc4Qj;#QD0`ua`t##$=~r`jrRZwQnyZhFR~AzzKAHfxr~?(H;7g3q@`t3Je2J zrtInBs6QF^d$iKqHBFu&Qz2~DAGoM8_}rD5&Z3Na8ro@FTZkO7DhSW38axA}K}hYP zT6#90%nfwS6v`v6VWHPX5sJ2Z)UVK>9cxjPd_{>kHxI6z ze^^aq7=&WuSM#+-{e$2p6%ebU&!ZsHH!s5~b2xAs!ukll!CObMRD!YmYybNJo}El2 zYDz5jXfLKUY(nW00gsv+mw=3CDC4$x6_v)kaEpD4X2;Zv4NI4fEPC8jIYKbC>_QYD@EvZ zu)P?JiNi1Zx`{@GA&@W9!;tk)CJbG#Xnku{wXsoV?-s0iO`@FMMg)|L99soR=X z$a=hOX#xD^(k&w+!s4b4=*2~&myn(}x8zs?4z>t84sM=}jdHKExQGcB4B3MA8dXMf zqfH=DMtJ}36EqIYvbBT=i{TPC<(RyB3G63dpi{oTA1+Gw)M0DE0%K(TmwXCkwGe&i zp0X=+3g?fA%{V;6VvuJHEjZ%XRUR;AyhqafDvt4#dQT;C;K4h28%KR(CVLlrlKU(s zx63sK;yNPk{9luyS4)$m9FKFK8nNjMp>~?ourz$}8{1@sfU)HpzwDx->(fn1%d^RT zJ*}XnEAefq1I=#XtX^DfuS+%H`fW({8FBtQsFTRU}p3vqe zGBB2w_O`L!Vu`N*9x3m{H}>9Pg(@;dAkU8Zl=91`+p`Fa z^)&s23fA7N~*Ieihpo+?^WuX!GlYr_ zp)XWnU=Vsfcb$JU2&z405o_{&yiiH0&;ID53+mK!lcpP6*xtcVv}6i7+6j8mGrwAL zRaY-(-{L8{r9udS^D9#jqZ=7cawH$QWQUz2pZ)DxgJHiKvxkwqZpOlB2KIsG?*)(~ zjXU4JuozB!#Bweqh0QdE+Tl!89zr}ezbyuHLplRJU$2KI%I2EuNbC%e-FJoJcr=Fx z?+EEysa$MzZ~^sNW}!%PF2QfQAZ!s9!lF@6e;3~yVlv^<{#`fvS{DQSUt}FGkgqLE z)@d+LS@QxplZ-8hR-&~RDX&K2Y(H4r8zMmda{yy^Ls~S!;;Sg3ju%Tb^<(x58ySKc zSC$DZui|29HujQPn@~E*46Bo*qW81Z3J2q5ZcKMAXD-M@q^kM7?aCE}`pGsZZ37FK z9Bbp94bf6n6faB=PU|RKU4Uj2p2Bn%R}R{1N`#fTwNk1aoAg){DdVkTgZvYB7v{iPF=gJK-kQKmS?$0MLuiktr*)NwcqGZc5pCwNVANC6lW*`x?S?vq?NPQm0s^8z}fHpni1r41Icy*HSNqCaKIz*?`^4;o}osUR&SeOMr;I%4x^c=yIr zo1(D`jLO!15*XS;^GNYHN=7sq$c&-_bwZE&HgzA8-#YE$*wI*z+(}QD%O0h*{q)~R zK2HsEz60a&`mcw?xhgQ&kX52pRqn!$6x`U?%_lC#wgtP5MNDL7l>fPZ@Y` zjnw?4wtgsaFRw}HZ*~+-gptM`wNdnQK;0qZX_^{ox2zqSzIjjKIj&N>KSNe0)~Mn}@d2835c;5aYKl`S`*7K+LPV zf~@XKjl=V@xsvY$aFEWowXon^I-bi;Hr<9Trz9LDO(v#+PD&sd-dC&HlEAxb`8^|k zPzM%dy}0ChWT!Y0ql|kBEkp~nZ8vYuekb(v%i$l!=P4+lUJjy{pT8)$2)%i?O607U>-&Vy@gob2yeW!feMtLP1(bwd0+aXiOQ+T{6^?2cv$ z;MistZ4o|k)ZY-eQ8OM!5-89~q~~VGexz_|EPXPx0dvCZ)WLKf`nHAfTJ)qJa)bH{T zuL81mUZuVX!@Aj*z`EtK{*|D+HrR|Cw~*mwl`RUKAJY|2xLN)Z(lU1V5NYKfjf=r> zI`2gefo{ADGRbvHl5Tdrj zY`LJGrHoRSOvyD}2`C}n)n}q#saAxj!8fBW(Wc3$I`z`AIGXz=bHq~7g=7(sJQo;0 z`y#WJ{TgH1xq#tD&!8hTIM7h5va2%zIMoiF9Ivt+$;>608vYX@z2bK(RmE}KIml{o zob$L*8yqI&KgW~gPi36MTHL}3HIz2@Kel#<*U-o{8rY37iz;{x;c9Gnhg<~#U&L2A zSmlpCa&Z{Rz19fa#qfAI67ZUHY~%v^9860Uls`!yjDtPc8j&JJb0`4OhEu1Kw*P^6GGh?q^#=`au z#^qKEt(BZJP1NPZgv>$R1FMjI^)vJ;0pfUMqjCyIS62X2w#JOj!4#>~=b(vvkWZZ9 zjta7u-Iyhv$*mrp5@~XgNbKpcN?by!7b;l?xR`-@yYJ<{<@Gr)=Fr){?UcR!iOT3P zBLmomSAg<7xx`9z<)6 zZ9Dzz>ny!&7kx^l41;NqBtM3qDd7xDOAEd<0dUl=ah6j@D(O|LzEIVqQMUM|xWu0V z&QSeLzgfOL8Uyv4Zo^x>*m(UFs|ssIM?}d?zezeGcT6f}Q*>>WyMkaawmI@aMIqAu z06mU>oWPA?_Eiu{%QfhY>qtfhA|C?ncaSIUwfzxpr$fJY5cJ@^>im`aZjEG{CCIo; zrj+AEt5}5zIKS>T_&U4^^4HxmWuino*jh%Y0c)pJjg0A`bZ*5s2_U}*+6<$udBM{l z#29K8HQ%_fWJi;>G>eKbwn^=$y~yJL{5j+n_4>VVMxBFyxGUx%%=ryXiMtG8M2Y29 z$v|^O#szR0`UY#dh)ZqvXm|SUc>}rvQ~dgA%zHGf(IXL0#}!}7*Uz4^0yqtMbbT9?G1(sj6y1dtpFR5zUj++V0q6HJD?oc+C79R!VE9IL zjhbR$-c}cEs$8^CfjfW zz@M^*+r$A>0N^%^jA>7cFC)CT3w{z zsF6y8DjT!}&nMoSA2QlXJMw{2j{v6K92AE7Jj(N8HgpDjD~Y zO4<_(i?!+G9hmQ&-d2Nc9rW4y7P^bq$?uIX;Ae)LRBF70iTC$0iE9SiK0RP3Nivj9 zx;%7d!sH{A3?+64?C};~tP%d%BE$F*8ahlB9s=0ag?(ts7_aT$UCEQ@q)OxeU-p0V z>*ETQi#WGFmD}!M^$|xI1Gz)hteTIUwS;R7dlZsBsGsUaeuHr<>rNcOl3AiIt}%Ce zm8G6Ey>Wg5Wg>MlTng&IN3KU|ei%9No-KJb8Fh*(Rcv25B<0u;r)Bf3!kuTqcz3O+ z8zR=fixe8Lj2$n5x42F(U^IVO*fxTtAULF03%=W)@eHA8P)pRt4s{ehrDsHnclwr) z`D1_iXMd)#{FxcZOV!Qc@PRsl`)q=#TqJZ)5KHGj|?fbin_GY+^d-+c`%Z?=L!a(Sk+I&ksZB!;@G2 zqVo45OOfc{JQlyTl1|ZRrvr?xF6Qrv<`TscvRK0V?R*m~eo(Kg4_>=W6-l)$ zPjOj6yxQydBib3ogqbsI5908?y~-VL0QdUcSIRVltG9a4`4~LczE19i2xJVR*Z6%3 z4DlyW;iLfWgGN77cb(**=r@x3vg750*mcu}7>RBN8Hal^#)VIw08T&2@iqCAwydN3 z%#$Z--$9L^Vv$BFIykTg%^$#|OcU{P?_Np9Z?Ge|2OI^ey0jQWLn zq5#wjU!6OJLse_NcU!JYPsQFV#*>G>wdw3%{()wk{$AG!z-^w^m1GU@hheY2pLJ-r zMcWhBhu66$P?KHyp^(EX3hvtp#Irn*{~XEvg!+1zQEm`4N#up@R>^(86F!r)b&g}L zXtqW6dro=sRuO?VNmeWjHs1E)X5xY5Eid2i<3k0=6RV`IvCjvK z!05<9%JRxL`H6_WMg zRuW|7LOivOci?}q+~VsJzI6k?Mq%j6=w1u`53#Vjo%A}C)5T~%%`4*x6<(2lzh=|5 zUGVdd5_+R=?A=axzep#Dy4TEq_0$@WcRR!+s0V9@hT2PKOuddDH&Q7}AZ^HaETrgQ z^>M*M-?2mdEB=O^f9FS7?FwR+qeOq&!Uu5%Bw>Bu#bQ4sfcs$hm~Di;>X4t+xxArn zqU?YeH0+c`n*B!@%I7aTmi*NiEP9QLtUVJdoPX_qKfpCrGqJPpK0&~5hAUOEBQ>;M z97P}|t70bDnIJ*e7VQ*Lo$vCF2oJ~7>=N>jsqT`uvrRR(dc1?;)id?3PtG?P+|qKf zT!apoG>wAwUT$;w^Z8maNsG}%DtOw9-rwn&LE9EbkY>S z`5`nZS6+Th+svgYz(Uqz^=orTkx;z7WM9>^Lw~~v8jX~(*UP{rPVxIL z7`J6Hei^xbYIpDs^p}a(R*&p1+Q;F%rnOYjSytGA^wAi$M-gp?jg^B?6btaT%cN(b z6=KX};4527MSfC9;xuA{bWU)`{^2DM5enqj~=6+2LbhG zzL?BaC&{1v$$`EA7`rPl+G+K#R^bVTwh*7$^7yE4(Apw@wNeiZpF>+fsr9WKR6~P| ziE$NdifS-(39$X}aIqGrW0aa~niW!N6(W?Lj4%x@7h@!tT{r7^U#b>$PDK7;C|02b zYhIGy#MLZ916POASf5|C$CN`wl3Wkq7Z`#rY(1wv@{49v9=tli-h%ZsT{MgW_sms`(VRy+H`H z?mcAypci|7H&uF3f(l*!+K#{Xf(FK1Or4Jt@}DCkRaLj9AKLIMy{D#QBayPy*grB- zTo-CWoxJ(4<0c4ZegOpXf(V*o#6wluMb&)jsu`DDsTY$in%_Zl&=P|AcxAbE*6XHt zd&ru#Aj@EdNGL(Im=rZNDtc{tT>n{y5|`a%e*HV9?r|k{5 zzIrjLn0;Mp-rqug7i!Rv9{!9g!B7>7;o!3=KM_LxX3q@O+Ywu(Y} zq+ZAnpn&H`{ge4a4zy7wdsdd&54YU_b8Z+$h-e+dFSIe2nP09fK)nb#&(7${M@}?^ zRY@;IU15|lPR*zJDjYJ?#P z;Q=_Qgfb(W-d|>CGn_`*&HElCH+=+%NJXwfy;#U2r4e9XO=1nVGD>d2TInaU$QHi- z^uYODTuP-?Q9T!Wc$H)x97nBbL7`BOIu=f z$b6lTVmR!5shQpuW&MoNM$meIs78|Jj~9^ghk|OH!mw5@-P;Lnj95D((J*_t6zgW- zL5fC}TpVcUk~kK=`PVgUj=1-Z)~M#DgyGgc2xM?bDzLs5*qQ$-$??vCV2 z8GlmC1s^~}ou)?Y($qWc&FB1H^piv!X=>e`RM{^Ut`v~kDZUY*BT+y4gU4eFre5Zm%OWT)I;vRRZ8=|87{CL4}xlwF&qhds!y_dia z;F3P&qZPp&6EY`x+D;a{HhsT|XS88WL0di5O-Ny`sq=51U3#B^G-xu|tqS$$`cfEU z+`c+U-;nY*65hr-AM}X*z0Eyj5NUp zaJ`+=R(8^+v`G>Vg*Jy?@>3dvt{1Nmnz4`$@dfO8z~|79TD~u46c#sA;^D}I)j41K z25tW(&7N$fVHX~Xa=#MbuQY8xB;sdmY2UG%WpCpipNF$Zc z?l<>YY7tPl6k~M*pF`G;IX=>Phurv&Y8pOY1yn~0YKa$0lhKK43TYBA2O#b0DnIgnL@Ah z66xvp7Ca*TVq6uU>!nwF9#)B?-5r!O3ZMX-@Jg)P8yh*&hZ6#Hbr>w2ubH)xPt4{o zG!w3by)VvP0o;e850lcj3PeMRLZ6)E<7pCdNrnd`gzMVXaADuTPs0MZEs5V^<7+O0 zqFpr)L2AM`ZNVv4LE43fG_lonJ>jLG-d^bc!|3f**TLR*R)*r6N0!OYis^#!Z#SZ7 z5<12bI>`Wk2c(6sIUJ}YT6@`*4Mo4rULn}K#3iOsRF~)+AUAcY0k~#d`QypWVAp}S zB?O_f3a>=gIg7`VIr$5JZR>}ilCuLi9o9(Z#kJI&zBg>W5B_KOW~tRq20m%d3KsfI z?r-0M_mw@@XA&)q2;8)GEbMEf=&lMQI@>hAU}Q``_u9GSez5;(-^~xw2>E&{JI?md zQuRkVd0m^7;c69GRMPIWh(k*Xs2BQr*+0sTW%sg2Ff3U4T_;2G`Da~eN+vY<{MA@P zM9+Wg#qNfK%mo8D#)O`|)&(a@n!p%bE8>S)sVcX_E}aX$g^G?v5W*nrJ0qhwVtinAm`uvp_DeU2im|B3HDWyT_=8j)3 zUGhm##MBDR=Z#z$V)@hi3c;p0O=x0N8O)DHDzZh-*UaQuSDfHf7d8d+ol7%Bof=-9 z7-!Nd`Yi3xYXJVmOk1Unb;ZntLp9tocD||r_JSXXtg$k4jItlZt?#H_gL&5T^k^D5 zVMQK!l$uUYwF)8t{^4ZIH$qF1D^rsV(KBcY^s{4^&lOQWX5(k3Z;Tr@2dmtH}$9*V7^9K^Psdp5c96L6oI z(9Bv(k7q7&$CD4d3N#T?p3;Cc^A?WPZ;Tnsyd?$Wk~cU3hLrb@7sqi?L@2yJ279;R zGR66Ju&bMKbBlfBVE}(>qp#3wzkeyYfH@Jrp;_T|koTZP?rz3Q#DZC&`KD_C;81wMX*+{lmP)=9vph>D&kQ7d2A@;)`o*E_ zkBc&{Yk2Cs)$88de&S_fT%tdpS~jac5QTvAc2ATOnBzcR(eegW5eyV8qLA!^+kDG>i+*Ntgq*hMq2X%d`Inkf?{e+-bU zS2fEuoJD-u@C?)RryvjG0461*NS!yv3TW?AdII7~(~rx|0iHCk$L{Lntrx=B{~vj8 z8B|xZtqbGs?(XjH?jGFT-GW01?h*(dAh=6{I|TOt!4ndK6Erwqa`v9{RK54RKhCY% zzs{^$HCFX{YP765M~{Ab^q8cCRVlf~_F+0)GyqP*WlF01+3|==yN4u>1GQBxjH@K3 zo3O>;?eLFyGHTF%mG6YqFIa>--$7Tx`N7K=1?IuZFeK2PsnpC`yXK34?ZaDWCrG0p za6>rI(CorB=s$Y#`292Ow{TMQK>{~VbU2{iVxzlv-f=!V*l#E_c4N?}*0^oKxsBMPO!jW9bTbj3dB}QsRgYV|&DkpF&i6e)!9l&}8dZ2dMIZ#?e zsF|=Cx{!qk?!I!s;}SH_6Yu|FmX$;SeO3WKWni@(I(<=}8&qYA?b>#+#4DHj7<=Bv zNS8BYf_{6(9+GBh{ChW(XFLtR3h(jD!ImKxwXioe@i=9@^Tut)M; zRq70mrell5;kJHE&y8V=mO4$r=}_E63>|P}r@G8J|v} z(T9Ag68pVksTO9$@48JxZJyp)j2VN4z*8m2sPb33t4EPNvB;>unQ4@o_fkM1`{51q zSC-%Li~W@x825gEWgBge;Pjayy`*rsSKE&{uQ3f7-oH}I7T)czj5V6p&q*^tGzbtk z=|W&Kzieo8&d`%^6-i+P^oO~!n0i_iKGMT z<+aX2cWER)(P!bNE&|LZs88`8wx#Vg22?l|qjk7X z-wWX$I`Uh`R{R#wb_*eZxP7VU-O3`(oZm~9{UyB#-d#G1uW>fIF6Og_k!zV#!Uw;eJ}*v%35NrT4e|?+3U?ZjK-91ceEmFT045 zS02lel2?kvmrS#X390efrlRxnIn< z8`{c>8tezKJ#oAjS?`>8Qda&$j4dVl%m!%k6%$jKTg}hwNm&09G{o=sIA8NcMlvCO zu~wgi6zaCjd4xeL3#@rY!-!NpiCOXdkIa>q6CrSOD8@X9OjO0858TB?paQ|)h|Nbx zD0NXikpA7z3LHf~aqm9%L4p)Lijmj8N;GO_Nqh`A45FLdSuECucKJWtN*Cy<{y8Tw zL1tfRk{k#SLS)TLjOjm}Hb{)D1~VdlDCJXAU$X~oF4ebU!%Yn8z)vV=?_c4aV4UDS zi?pa`2mTDQE!+E|$`6bq+-eSC601AeuEJJDd$YrsytLqD(}_!NHgG(8cNwQ#n+bqhuCI%Sg7GMf?1!rGuMyMbidI)t z$Se|J#?~#JKt2)uD+bE}YB{6UOvFKUz)AURX;iJjwAiVSns_s@*Q@={F)ZH3ir1P@6@D^+s9h1MRT;OUIGX{%qPN zA2m7v_l@>V&!J9Di0X9crie}YhgaN4-{qd{WSE&cbE>9-!FpGjeN~rzN7<}gacjkX zRjT7Vl|wa9pgn8kCE_=;ynzJtbr!l>d!_OthTny3!N~rgl3v)jfsD&Ss1NO`Ypee6 zICI?fUzuD2$ge$IA-r?uX0+BVEV+QJhz*g7qgp1K%fW_Jn8EY{>?r$- zOvRq*H`2RNs)(B2vJ7sHaHI#{)Og3I?mY)LziGij{Oc0lCgkjmnW1Op*x`+>Rz|Qw zwR-{Z#o1+PimQA?ZYHGlj;Z3zW;$Woeul`b{BEAu`Y`N<5XU5$ZakX%FJP5v`QW6| zXf``dUr<#>xl_qbv$Cx$xiHMvV4PPnu>N2T#v~z#P;}yDfS$0irC zYs=^48R5?BNM+Rg^9)x2*OYb|fk;gu#Mg$BM?zqdkJQ%-^Q8*TBWqEQBzZHy4#2_6 z?4WAIJN&HB&XE_vPCLoAq4`OFv)0a`jP}gn9;6N6%DM+#)Q6lP`Xi>#3}%f{7vS&? zh+Q5-F5~REvi4zQ09+|U4zzF1VTo`rM%&2*q$a=Odljq@U#s@KE$VY;VUUkC5r7gr zIeAh2Qo|M%J3e>ZWYRfvr&q(1+xlqrNC^GE&*#zch(paK=sqXiT;ft1Eon4wkUvBq zIOG+TZ5ZwrTLbkPe<0Np{QUmF*Y*Y4Xz?Ux@bn3HA=`YvrPt#|#9>9J`iE?F3ULm?1 zC0*=EEWH{SzbKm>!D|(hD{S~ZTj_)a=-WZ`ndM;SJv+RPz>)uoMEKJ8y+LR#{3}ID z|2rRLC;|YdK{eNNFG9ID3IElua?iX7j=sw3+H{G6P)eov!b-R%9E}u!^6E^sZtN3iM-n?rcT0R-Ag~I!_kP_eD25u1)UlX&Yxq@FFF{ z1)xA)NsEBx!b!bn#P%h}Rno=NoVfhZxHAIpyl`LR{O$7Ha|EKZAPqrv@9`mVY4}9H( zaDiK*p?j8o=pP4Jb|WMh4!GNFG&^6y@c-V%g>MaKm>sF}1b9@hQ#Pm#>1PTX_hFH_ z+g;y`3iQLeKa-mLkG%d0^b+0$a5CE!=WM0h{{d z6;2R}{Zb|KCxl<;Z~?)xp)4ya7B!`lwJS6W?3^eD#J?`gWhq;uutB@fX>Ntv;~bd_ zcnwEs)0Zw{atO!_VMkTFh(1urVW2`-Wz%@2 zC6~lMhp__S#yM5ZssJ7HfD#u98WjDv`OZ{Lw|;SH+fhC=-)-*M4ZEFyBfIxPNPKGQ>lu(|DZa zDt`r77ydeZ4D@bdd=Q5*82I|UC^KY^ER?saRRy^eKwQP{-o?-UXZeV=u$Jj|cT0e+XH0Mb!?Uoq$R|wA|Os9yK`XTiaFwwFYf}kO?t>um7WsO#;UNiFXI$!U!(<~ z4@UQRhiVJAgp6^5J5_-HRTOjpB>f4D&dj2fuWEf3$n%WuHxmt8ucV<4bXi5cow7Nc zJ4_%6>k>lCIqq1LLu3T?rM5>JB|Ee#OuHegLDoFpp~_>tEAoHO!;tC{{I(q&KbdU< zQvrSZG4IW9q1F}`T4S2_m~QqbObTdk9FEXe!SU;18!PaZx+iymugSj6s2ku4i|>!r zO4;~;th1BKUO)-d>lS60rZXP|L%a}X;f%zR(9to+Th2ucCHpxrP<4(6Y+ss#a+yJA znBzV@oq2#wU-98H`&;*)HuFK+rIfrlVjwRMGcU6eud_(WYH(ZK63}NS3;X+bOjJ;0 z85eiLg~k%NhS~NV-DiD+J;VCrozkA^&-gjNa`iU#hK2oPZMQVSSa82mz@?RU8;ZQY z;`aeBZ=~b==;|#z4fWH(gkD0*^6sJ_&=1n2=?3DW)E?jc>|VL87zvu3>|UykfO5Ba zo`T5oaA^SdKaDT0GL)i*XemT_@s3k)i}zdy;2+`4^I51B6@^=RSjEH=>Y0J^qxUxG zVv|4QM-l>X)?x0TfpP(f5twa6X2~u_b7KvA5h$R%mpw&xMLF0Vf9j6SV2EA_DEBVA zBJGr=L8_I%SB!*j!UW253=h2N#@LvjF|7Gr-v;0S8Jla98LTpXw!X2EFBqVo9$mRC%dpsvdXUf%YLz+dShqxmBi7bs?t*BN0p^W=2D;nw#EuEIJ1} z<%0W)-Ic5_s((XLIOfb?h~ddRL{D2XzOL^wW8_uIrs|OedEn%iOKbJI-XrRR^jaOE zT)dN7hRY+d?}a}15KnbGV}ZPAg#>P(9SW+swMP|8%(9bnqX&zqm{5b<(IiZ1o|3c` z&^~Rc(L7UFZHNvyr}Mpf3Aw$mUWl%GUkBH|wDon!Xi5OM3Zu%M&sm~OESA9w*#Ry1 z!St1J@;ayp%y_8L57WfL08WXck9UJm&2BY1kKV!ZV|M$p2%&X@6oXtcAse;l7`X3= zA0iH!Ux)8n@&3S-F%9jj{Zp3ledqHuxAN0FjPplvKp$TKMQa4#24z_nB^(^Ru=pNs zzEeL{SsNR?$Jawv18|-gDtNjb2`<@Xukesx-q==t!bOY2m-NlW6)HG%HXoepl=6+Exvdv2Kl z8K+N6iCeyJec01RKf;7wuyfmJ?O9|_aoh=x%l~V9G5SNd!?5O-3$03?QSw2$=P47F z$n1MPf>rJgdwvOazgtTWY0>Kp1EKHP)N7S1;^8B5aDOFYO|=8-vJ!^@;xv}1(zSQa z!hphGxtjkG?yn@auMznxjk(@=vMUBaEM>%y3r5v7A-yGhu`flX7#$6nTvvi+ zRkn9!pNA||(fF>>#pam>TN^=^ zb0kvPeSdVDceIsw7tCYK*yG75_Fjz-<=tm;UfvR`8t721gpPOwh>AuO*LDas1h*;6 z6>=Fz zgHK9t?rpPm2d&Zhh0;f$iTeuZ-U4%somuW?stk;(aY7BHjduD z96yPe0o*#r?u(2Q#f|PRiflm}o1o)BYbB(!=g%Z8=$0rSVL=m%x!iv z9)qgSuKUXkVRP-nk6i*@8X6XmCuEyI$;-u5RKHbPW^_Vo)YW2Y3mP#^|w>vxt7 z=WRCqIWl_fH$~=2P?j8CH-pHG*8E#o;42 z0E#38gBQWNaN&D9+|MOL`ihOFlX`w&+yPEH-&KG`U;8~5^ z-97~EsyCAt2D8v>#SfGv=u>dcO3Yu<+G!#G9Jd44EK|R~*TJ-#e0 zr~2XrMZcnQr671r2J798@;_^3#C>B`qKiy>S?U?4y)O9^Vpme9hWO)m0(o%lRi#!I zvvq@QSTG~c&bYJd>{V=xJ-SFQN1z} z(Y0|-PdA7ZPT6JwaQ|E5i(QlTD7{}^SSw(L(AG8R(`B_qF%k6H62FRE@!hcvWtJRH zby*{B*1slClA!P%R=skH(=9SEl~~r4$HTvFu~T4*GI#MO)n<3-chZ8aP!Y(mrS-zL zLS$l5hZPJ6#Xs3V6Fe!-=km6V6MVre=7s|Cuj{8aujgiRn_xQh0YT_iw@_sCTOY2b zFnp&Qc%wKYCW3dL!yzv-i=nEE*>UIKgHZrG>bT8>3P;UHrX`YSZsirF3a|Xba^j*? zl9WG;!=vkp3gC-ha_gHt$BiK(Y?vOT7d=Yoa-~eP_m^&u&88Rv=uRSqUhFRzQ$27AcqxUrQ2g256uA+R zqIXEulZl|FrvAi_bN#S`cta%rWztL65BohwL5~$pp{g-XpUM#CWg4OzI}siv^%Dz( zy~?oa8~Aez`Kb?r=?D;l*P2B-S%o|_r#RVui7Psmt+8mV{i!pmjqaw_X%3;SwfIMdBcVJd9`+&>HwYYR~ZDNi&3qz zsjo-H{$VusD8hCf$WO-mV|MR*cvE4Bw8W^)Ves9@BHezZ&u?u1K)cA%$&CiodwWTl zB3o&~?>ip+70Ka*L(@v@^u8II-0(%X##THuDS%_jg|qjdfgwg{N4tF<)oHD(B6LN2 zy5koqsg@D#zX#XDxE^-X!Q394`AfIb=Y8Pjp%cVc+yp&Byev9XW?odtUWl}eLr zAEWiZMs*vD?Iu4qUDt0~tlx5o|ENK-l798iH2E+XG>Op!)@4Z1-$ulyQ;V8XKbzP5q>Pmo z^)mbenTNP5&5CR$Cyrc2(bgtwcAn;9C;K9kLifz1r1w@GMn>kMCFZ0QQ)~$GGS2+E zPp5P;J~;&4*E~*=2p1HxGlH5On=JSz?r~he+!1?&X;egA!Bya`j5jsL=>4Hdg{I>h z1-&dzEum@Jt^|P7Y=m~oRW(J>c0^GKfAbP2%T3et*zXG8o(@l`nod{#pLRBP?`uRv z|7L)5*iVuW4}{H}Ub^!Z9a}|~JZa=xdj%2Tx%rIsh3u#1X9_xgXye1a`5&!n)Z@RX zKRq?aiRH5i3Yr2qr|(KyNG@j*pSmL&Y~77`*)UALD=+Z&jCnz|c<{dg?PqcP3~&3A z62JD2YK1OAWbRg14iy1Yu2la<$m!a!Be;YnJ=0YTiKR`g%Bhf{S-VN@W zZw+KFt!_kBr1q*n>&GHFxYC7d0^=7|Hf+GS+AF~?6Md2{fC(E&q4FdK^+`z-Un4O| z#0y*_#}UTXItz8?!nJw$#;hQEL!i@Yzy>1 zT;mqc?HC?4PQuWc3qv;AECKhk@I!`-Tx^BU@sA)Ee{Srv?ivrF>iDtTu!w|L^O1c3 z|2IE_j&EYcszYLuW_a6<9P%z|Q91dnoVad36$)cC-hpvw2{wKX)>?f7K8tkK62-CW zZ{xJkOVRQA6e2pcy19hGdjGe^7q7iKQbe(qx1QIF)FLmd1@rSdT@tF{afXOjEs6>a zy3B+5B1)?gZ42)Z>6c@&MI#AOLH<{*YxD)SYOhMHR;0-04LmonmY1|G^xJk^bA<09 z@^E#$1anR`+#SlYia3r_U|xu<18L4!O->ktlVl&6mrW`Fp5KMdao|rJ z9b3tmW+o0j$P1&Ors6gu)WUUF7&G0jOfv#_ilB2oo%Ugvv^T`EEZd*J{LZE0#diIZ zCwd3U-*94S-q8Sfse2^|?t4oE)POw(8YKiUo_aqp*t5Q1LS_<)1VOdoJ*dYH=3K2U zrA@FygxL325hM8iz0YZj9OW(r0xQ-p(SE%D2F59uVF`0a^D;ULCi3W#JDY&{H~v}v zPy5<{#4eEX*^M6unzytgn+YzbH_51wWd5*tm*|S#M-Gfh>TIL^{*&yIe)IT3>U*Kq z=+1t#+41B61kr)&j%5*+Enpu=+(n2MQE^5eK0^FtZBo;Swo(2@myXzc$=L3<2Q}jW z;9yEhJe(flM>s>S3asgA&osDpq?Mr6E?<$+^LX*#f^oUsZw4?jjg%PESjjIhdSl@a$PR<$945cPdu#$OEuP_A8Y;@-3u~6`?4-x>!8O#-@uf<7-(h_87!sM zIvP^3$%`lb#nYcw402<>$SohaKMe$gF0u&QHj9;Cung$Vo-+BLJLM#2(CdJ_n2$>IQ$=qhZiu04u8JVhLg^0~aaAA;}d4$dz8!Wyp3p_fTtzWeqVgR_TSAmTs z^HjThw>wn|M4!04RrkLp-@5$3(imf+vAH7^b0WGFZnyF@yIyn=4$w0G~e6v zC}_z;K5V;PT&p@{oOMC6yq4#?=cS{l=SLHIQn(fPEB77;plxf=&G}@+&8nF2<@9D| zjQ&c0Lv#JV^6igbI)7z{d$?wulP&AoJ*JvlSJWDcXJmR z40k3LsnbIVDHJx`oy2jbAmuqDTHtr>hc}$y(8A@cM^Bv{W+wf>EM=Z@XE`{y-%>qxdS)+MQcXEa%VaBuk6@rZ zW26k~&$JE9G6b%4h>-#*zM#Qh?ICH6)5BuX=MnD18QAQn{WAV7_#T`yPOhbdeOTo! zV^_p*%B{3cU?Db1C5EnID<1FP^1mOTA4+u1^4GPRdT;px z;Z{68>Y^Lv^0D(~V=lLi!<~zjaEv=tI=eRO__;ac$XF>X+P|av>F4iFLgl%(L1gvH zkpDccn`6uW7gQPhJbB>LgMp9lxOT+X0D~ZFFTAot1dQUKA)B6`5vcdnbkLgRs(jE%nix(8bj3U*^LW=-&f#vY&}kAIVyfasHpm6d3#&(%0Q$~Y zoX-}6o$oZAl94FMqKm?$NFEFzhuckwi1QRqZz%yB?7a8{^GlfkPWD*>akI>HIV8jD zw*!2M%J46`Jawc&u0*`m<0=MGm$0DN%cH&9UY}Kie7!}lYMJ{tve5Yx3o@WjCR6)1 z$webnxBawtlWkiC{od9}{_adpi8Bm67LL;bz@bbgmEd;-JS4L?ikh2_3Y@4@H2Mvj zz;(bRpMNf*2iN9HdekW-R@KlG-i4Z?^asKVAy-R_M*Hd|<(_Qo#eCqN-&HQA(8NW8 zG2Tk`Y*i{MJ(uI37hFZ_zgv9ato_^P5}b=(_;qtAn5ivm8`r0pTplb>zwDf=y~%^t zRJOXFL5%^QyVz7PHeUEu=yz7Z>8+WX4DeT#X%G)L4}u9F>V0N|(;{Fjck)tlc< zB_`lHo78Ysn)e7z;eD6fL`$lMTmZS8L>igTrfhZ;M<#C^xkvb88#Co5L`*J8ly4{? z-TL;yxg%t`jY2T{{J32+39`;zTlzgoX)yf8cA7%whwV#|0dTF<+FqxM@0L>0R37v~ z*jQWkdz&+>X{fzd4KtiV0k$M~Cch|XqeQT)lpSw03o-PfVwaaZsT9>=bZ1cC<`qQp zJh)c+PvxU@* zYvd*%m5ZTT zu8@KUuIY^q0aOe&!sxIjU|)_Se+Y%W|AeDz5{#k*!JzF)x`TyCw~SZ8dS!ylz+*c5 z#vZZ^TGQ<+Z+DslKB28p#p^0kx*P|dm>gPAqp??VqRkY zV#_)b_LWpG6Syo~k#hEnb~>=t)5_Xn=g+>qh9;J8qIr!~gRP(Qjpc6gf)c6OTT1T> zG$EhSDokFC6DL~W9)fxJyuh328_{2yjVwR43Q%zU9v!a5kI3e~!x?3eI>{Fy){E;0 zy0}Yv>AT>u3Ah6s@!#$M-{~-!`Tyx>lR-ifCxl@)Xm22NW}d$83C|1BS*i0UE@SRv z*F#$X*P9Dp6p8&@-QcBY47R8uPw~o9l6CDpugozT>~3D=WrOQi&-sQIA*O@ZF6D2R zBE4|hsDw1~A`)orT2VRdNDb6DDgHga3EJ-8ra2Po@zkQCHySV~j_QuL<>T217w`&L zag^~ue&U{3sph7ZSXs9rlCbRSsAc*SlD#PPD?E)KP04hJN?<+!rV_ENPsIJ62h=~i zv$oH%Rt9ys-?vG|^seeI)pGKK&w8Oz1+?BMMQ7k6*Cfpndk}UA?a(0m?>U)nd#QLl zVnv{R==9qmMYzG9^b7t?=?ap!42Rj@Nh52#zgM-niRE{IekT@2AHV%3=EjFLa)@xe z&6^K5`0?}ajn3*w3*FXu@{s_2i%VP|ZdkT|OZFXi>)n(QxZjh^x6_o$uF8uw|B1Xt z0dTtNYs1a#C2J(wxh`EPj>cbT4)H2(3rbjfQ6_pFyFtE)t%jux6BGG9l>QelSH^xj zAvJu^da{+;Cd}EacBq*apl`Sjb;mA#{~%VOwP%W^#!>G_@M`N9*}CwmsJau^T^9iN z$}UxkKa^0XyXIc*XE>uC2W9Qu@;#5ouiwGXL|KiXElQy0s7O*|IIi$Z(|0bQYe6X6 zAL(fO9YUVQU>gu2E(_>uJ!(Rmc<>6VUajA}BbGc9NzdM%u8e(l@SCkmb1wsVDz;~F z0}bW5-+y9vS<|uh9vMDrV0IF_MJy1==;b9OBLezt25v3O+Y7t#&&zOD>Tw)0U#CFt zmES#hjMfq#FMXp0aHm?{gTb_|Lz5wO%c1Z54JFByGgQ4;OdMqa^!=yuQRta(!@I0T5v^9YFkzzxxHIfG z(zdi|6F%1@LFC4wGkG7Llj>8NdK5`-5%KaxfpND6+-6$jE6J+f+#d+M7BcPJlmU;P0&+I*}2F}>fnoz7N8S%NR zh;-DM3O-PJe==O?@THlCDK5?r(|k-md<57xv0Y-*@j34W_57UhE0 z9v)42pD?86E>fpWk7+t>vy5(56UY}ss8E|OLnrHxUQ2p@diUfmCMhM;j-kr1<5umi zhy0cw-q2K6$oVTCU3jvVeUA}$60toNenKZ^<4_oObqhZf3BcIcX{uSw&u|N3?)4ktDaWyi4%Z!fD`}68QLszXiW3h4`8XwLY z4~_seLwt`$O@@ww|07R4FFSMM-eN+!8KGrjPK)0Cq;KM}idmwkdI^i+PqrQKd9W5r zys{2mG+Tg-Hwb3Vxgz0;&wmvhnu+dKK3HRs1NxA0?#6S&QXi@NH&`((5ebE`JDM>$ zSB6GQBOe#OzbPCF-&6Yk0+h<=kLl%gkR+BoH@<>q;K`E0G+7U_9LrEP6YF z0cm@0Yeu1@|Ce9LkW26K{APP(1N7fZ+BQ%E&%=i?ua$}y*j4;L&}FlQsqd{m!oatj`lBMz@I_-y`1X z-^iI6Y69(3Sl3Gb^3o8R?wUxZ-<;@1+(aC1f6f_|o?IGT7-1CLhjb-hRrRV0mkv%G zU;H|)*BpP~+3}shP|*H+@P*iE8psD(IJqoqsNj^xA7g+ptUO+A0sE8-LE z*0*0@8*Zl!3@liD6DY?l1by}YR6dGIw-l70D&p4K6}7N@uh_x7z}T4=7N(%R-NjKSb+ZpBK!7kr0JE6qEmz>8>OQ?$acs1w-)@s^u4 z^4O|Q_Vci4>Zhf%Qh**?$740wl2pR<+%bHw**aRF+?TOLnu?Iy{gXbtcX~k*IBx$e z|EC{YiA%cDG19h_LwzAF@|mQTP0F6x^NglsLrgf)X?cwZxF2yU+!i<4rTQ7olgml* z-%M7kSx+;oZMCcBAP5U;Jir6E??&1pQRTdDM|Jd9l>;LFeW5=RQhm6K>gP%(@&^dW z0bH?otJk&z$>+M)gi~rBw_<#@#vIN=zQz9X--+0z-9S6{N&DqiV@`QnBT@FgmXk zY0|DS%E1fSplb$sdAnOVEH0=3w49i{n52=;u0i33HD$2}-_r4S-&9|cQv&)_YDB}5 zD@T7r=$Jt(&#ENuHNF(`q|>|)v-k4sXVIYnaLdQBtr7Y8GQVL7O+$X+?ho=y%iopW zzZf~~!|bI|2jd>H5K=AT7MsbBAHO9NESj~L!3ES%8(Bfl-`h`5G5$9v(d1_xiImne zCFPqPrRh&c>CgU!?b`!SOq+f`9!X4|8&EH*`Fn~Ei*$z2ps3-V##!TUDJ)96W81Es z26dD> z3f#Bg{r8{FN1g@f!XD#fDNbj%;E4Pp!f5$fw;aXg(1y?F8V{D$P1a>Bt0QX zS(;E|VMfNp74*NdfF;k9Dt1fU|M8cbg|`;7Ic?p4Nd;A>|B@U&4F4qw@_)Drgf+84 z3>UkGy0)_K9hv=?oW&viFUfbi0&BakXLGb9?rLBrW)t2?217s*iqBGCj{uWxWkBXxLV-#gj46E!)LI29F5RDg8JNN# zL4THKg@6?@L&=$f_SMwh(gkdy>Sun7w%sQ>y);*v^VezufDdYw9f(A>I&3auwSZ85 zuZF!lq$H8z#De*^{OOllz$)&DWu&1V~#?uqYLBNRB^Ej5{V^;W2y`6s6M+5Tbh`xFlyk=m30 zTX0%jd$HM#-;Ptte%#_!qGxJ!WRFU8`RAPQOAXgCH5$|TMm(G~xDQLma4~AUNGAGu zdS*fV9DNA1Y4VO-6CcJEa;m;BSg|)t3?UbY>@)$%Y(gNd1vuSMDT1+MY zBf!d0%Hu^obm!}AX`0DYK$>rRRfG)kdeU>+8S!@Bctp#`Jlgw>9NBeFfALPc*v0%uzRG644#-m$2KR-C@>MSyI=v$V_8ek_X1ju|Ndarv@nFE)iS1eAXwPQowUXEoAey8%^svQ1-yr z2HHncCo*kESlmjp{g_4^w{G&{=1mLvhY`}q`O?hcpj%=9$2mn_8Ku4H^ioKL8y}&^ zD=w82b(fan9lF&qP{{RPu$O%}=#YtRoarK{26@pl zHm+z0X=XH}!}L^$a6TAE4c_9%JgY(sZ9m4;-xdTwy~tgK(J2|VEWMI8-g9v881zqk z(Wl}!Tmpmb7%d$JK~Cy0YBnjl6GuS!^;lF9KWe;&qH>D5DPNGgz})qrOd_}zx%PQ3 zziNZC_8(2P(GO;4%nKov!rxqRM^YS!xTSvq`Wm%cjh4z*0S7Pw#x)Xi&g-TTq!7_S926sU21<;M4Vn+U$S7+iD_dJf3Pi zc}6*Yeuntd;&iyOcA4Clu3Y~45y9WfJYawSQ}4TzAU%Q-;=|D_=(}@(+Xy79Y%=gf zC+tMGalaCLK1oL1EU~2XU8gBDU|-IeCp_DT60t8b z_#hB6WIYMvaqKw>b_p_ygjhJOrXf$5V$o69|75i!=aGxWAQl4b==I^LD9ypJbutR7 z3sia@Q-Q@xqTTgby2<@G4`d!Ac7QLgg2c zVtJ(UPN+0fQxM`gQPrl*-0?iOd3pK$UHEC4gcJ!%Z8aqu(puvZXh+3H< z5-X&?f$($aGGW)#{3;EcF!ZvsN@#Vr@94 zY~}MjmnB`?^9Cbd0%ZetYh+3Ed0^56z_E_>5p#+}3ngd8?3nyedyl>K99E`igB$h( z`!$BmF1QX5$8U!~$1E&~R_>=*=vuvV&Q}m2b^NJaKrGo&s7#*~nnejj12D*$=-pJayxEp%qdl zw{Mj*5E|B(iW_UL6Z%C_&cQuB=;nU9Wb+)PMed&s9ZNZ<$EIChM}L<+TznQSTqLoT z1lpGsFdO>&#>`INB^dQG;)D8V`%~6Tzq@0F7G2X4 zZHJ6#V{yYp4f;2m<&^baxZ)iU#sVlRhpym<0o%l$4g`*ll?TN2>{P+wn?jQfslMk|l@In)Zv}X5Kgf(>$F^-p6XYi;w&*79Bq;+gk7N#sqv97oVrM)V_@R~5+MQwRS3qivEpurUC+&-i80Sd zD@}L@;tP>qh_qak6bLzIn1YeX3KUsmX>HPxq7EVwsT_rmK{5!wkTZfJt-( za5XET0>&WQiSaNcHthRGznXE#Q(Ij*!UV${Eu%DlQS(=RE{E^ zj&rcRp(WKznohDYwZ-W{-cda+T)FX4?A1%HaR~Fd;=J$8c7X-u=uQTLgE70ZZ_Nd9EH9wCQh1aK=v zbBmS98z>l2?GFg0TIn=U6CQJ~hw-NvxUd#d=%4_cMR+#avYUlPpH2*W_NTcZUXB}- z894;JuADYuWt|0(&*067KzoH^XEb{UYb*PxU=7=SQoQpTP7iWzJ<&kK7JLpz5}@>b z+NO5JiHdGVu$)M(urmi@y|XA`+1{9k)Fp#FYm@ueIv)o;8ShK>*sJjR4 zu~*@2J4=O@ps&s=+R~&r_&g=9rREC%$Zx{$6V zz;Py)Y1Vt=sqk8gi!84--ds#LD*zSK<)$`auZVy-(>8~1SRvd7Hc^<^9wcs7qS7CMAeG3>L@f2++0MGl18Ef^M z4f|Kck0yGQ7ht{!CCO%=A!jG1x5?G`) zJ5#l5?dpBiYMDK&S6{tmHK1qsMIkrW>W$u{?6h9V023NeE>Y4XLF&pT!sTqsg1%%8 z^3Li3n7c+;{O2VSKu_&$6K;!_J2K)cGRxF) zXmET+CwFA=kE8sk_zPUZPFY9*{HrY~RlO+!UCSFwv%17YQlK0XvQtCz^ za+Yx3d^;HA*QzA^zTD;^EXZc1M%?9zQo%xyw%Zx`)+RD5ed94K)Pd*EMu3P4@ss3) ztEN6O<5THGv!}KX!+tQfIkOeqGVMJdfFs|Q$}kJyRGqoAQRVSMjkntM4C@Yf_VQ8)nR)m z*=x^mW~%kVcMEr&XzUraMRR3V;2M2IxW%N+b+#?XTFfaTH9)I-p9i-g6hFbmJ?`tvt&Aj?34-3>1eM1om&2R#C5G73Z^38wiLSD+xaDS+V*jRo06nZ>g9(-a>zv-!AceFj-i6-23#b zfIc`4X9RPa@Pho$3E7jbVHuV|?hFgo^>+e;GkP`{pTT)Y53@TXI%};ZYn&EYzl<`aVOgu2Y?1W#X?H!a=W{l0#nF z&e%~b^vls>2iIIag7Xe-p+GI+S<`G}=#C-*A6lA1lsVg@;O}j-L=(c>ieM{1-}mZ` zJL(y>7>dcH-FoEDN>(^5un@m2T+O`rYIeJBC;*pNoO4LvHFshq=m*P}Ao#4XC5hjm zuR31Q&pkd6FR2RPXzjJyf+x%G>Yk-u(zht+ncy!p(cXsZC-ELSP#3gG_R=iN>D zga|xUOS>y^m)Xc_7PI5|)bNZWbZ{*h^SHM}y*4DhaVMxW$Uyiixu_=DMXDg&o9Xgb zGIV7!ez1JyxKU=|Ub>`b(>oA>@K+YBmJs}vK@UR=f29H8j=&)5r3^nGyh3ap3^%S8 zgTY^U?xx`IS9-(bYdKC1qekNHQ}EGE>BTKA%ddr{;-G!fRJKJ`M)UsjjQ=xYk%;cb zo7=B}+Q%YzP}Je(K`6ogv+$IZo8$zOr#?(aq1cu^sR1x%>r`!WESPub@cHCor4!o_ z@m+o~bZ-&SS6&N#D~1uIHY!A3vWABW!gXC92%NoGBdf{2Y44{nn7(1r$5OC4@_bxW zkIJ`_DjMVSe%l7mpaPvta~(%5T&m+QIPb@WOR{xN{mHnJXHbWQ=F?9oXrTc+G=mp0 znyjAUCW{eWQh-g=Jl!{V>GdG={?I}Ug1v|i_@KTCGY0L?dG^Ma=-5*))*StQS^1^C z^y2(m{`Uj)!w^H(=x4MrajT8FbKw0g?6d=ix)?&P4^)M)mX%Tf($3dW@x z*$<=Y(CX4b>Iu;qug{1+5voy|MO3V>@;DB>70XFWG$L< zTik23-|!z*R=La=?taMQ0>3p*sq_6qEinOnaY;)FJ^HN;f~Uqy^V;qL<9HY;CfEBl zmlpp!o>#R2TofYede3aC|F0O0E_uyxjg$hJ&+CTdc=1F#O+?B>%|#8Ca)UUQSk>WR zOu(mb>p4QGASPP89EdaAj(itCEIf8t>C(?Q?z zlagQ79ujewWKxTBjdk^I-cFjg)DbsU*I6+T0pmS9`wo=q0_kRMif1@F40?NH)>~^ffgx zLs#NcWqTv$l2j4h3lqOHL~*seqS2?L6rzfX1AT7V`VAgYNe})PxHTaG7hm_+bFRH0 z5a#za@2-ACYJBtr^g(i~kM;%~cX|ymL$o}k(E@^VdF3(!S((NNjHhghumRjFgiPz7 zq=$6RUnZg)M>qPk4v$m~n>pU-W9?=Yqfki$ILi_pPEl9fz{g?cj)GG08h^dr$_R$b zkzL&Rrs2^h@PD1sSN~kcjy+>JSbR&`C*M=xdymgn**i zS~uZOKt`TV40apUCYaq+P`P@YIrwS7IqMB?MRog`IDT7a9z|8uE=GYAvWsrW=~f`K z2v3pB6KG2jW4ShE;(l*l&=)L*rr%jvAQLaw{n6xg{u$!-ViI2k=m!mEPjapr&D$6W z=*!X|e+>-#)4ioH_4f093{qfEaMn@{bl%P&-TN>@+#+4w; z6I?s|pPqL|(lN@-Z9uBddon@tAXtFUp>s&LHljt88<9uv6WJrM7mTGuT>jo`ERD!r z8(jtJ=bn^o#pD~(8984^{nrC1y?6^^Qz-(9DeOW15=+)nS9=xSAG^@7uVrxIJq4)n zqn9=TBHq<9J(72|b<*QWvHF1r8JA2Vt$WK^WV*-5f zkCt?$`_XT>j8t1_F} zZV@Ngu_8xUe@S^j&zi_a_>DS@!l~XUQ&Vc9s~XHlt8-aLWAQMF|uJ>hlE%{RcOrfj^1=GY z-@VycEO;C|;S1~26chm0;pcc{CQ+YjeVc137O~qO%&SPcJiK>*i{{awIonS3^8ocO zbp*UnnN*{A7#b^1-?blYanxKdXdNy~h4Uf$oic<8;I>n3g^aomyWdUT!ZgNqXLCz^ zINU!^uVVu#(VzZKMntY)D&tpRt_Z_RGa@*VIl9^R=o$&hd+ZNR z`B)DZ-PX-U6W}>;uyLa*aPwqXWEvkW^KZ|jj}qtY8;VSYvT8?x7$pOz!_i&{_cr{R znJ!&MJ&VuVmXvmpgrrbMCxwL+%+ny_F3gWZbnQVDT5XAGGUx)=enbq{E6$t2%}K+} zuq}iI^`GlXUqM8%1y1ZqM$BKrxdO?umsIcvgotQteZa~>ghnKe$cyV{#mqR)RUL-2 zr;%Y^&7QX{I9LWP>&~R}E?6DlizUaAaM(!MQ7yO+kPe)>w0Bjpv4a-7r~>9VEh&Y`7_PORtt2BwU?7qTXn zjy)P7=^#%fCDMEctIcd;1Qd zab2>uJrGwk?JaisIUU+a+o|EH%QG4xk&g`q$p4u-%ei*@b0#&Dd^-FzC*f3#rKtbP zE&bVhxLN0-st(-GqCBoSUt_tl9ILOyam_oa+LZrg9f#Fa-2Skf*frfs0Xz>f*l|mO zL_#=8HmL2Wm%eNd&$7*u`or})qfuWtARkZw9F=8VP02#CNF(;;AI`COc4g-eFA2M% z=1+xqJnbRJ;BzC6ZNZhzoqDj{ldwo`&4`CXNwwCdj@29ov)es}AOYe^u0AI4u``aW zJruOH5YkcG;(a}8C0ZSXE-k~!u1y8)iCLP}ZqpB&AXUE7{wGQeblLc!(p}2)K(&W~ zL$|_PkazU_l_4DD%6R!SM@2hEF%%CkTH=I17e z8e1$*>q{Jm5nE+z5KhjD-RLP@H~`07FF@+j6!^GmbE}E)XHB4+Us=tm7)rKkRE74u zIve!q1%$^toI~uS-szW!s5;D|?lV75V|QVBSMFxPRs+ic9IB(li`I7^~jKcEkK?ihVCh-5_RhjCe!ZuWq`h+Vm?K&7| zrC7H+UwyRs_Hzot+o)y*K;KU`PQFv4%N4OtjTAJ#cfxO~N~x^%u3}kHWTX`)MF-yQ6x4~KlH?8roz0QtH9)AR0hc)zJ#<&Zjhpr}Ltc=`^W zYu8VBAQ#5N$=!xi$ZCL$4CbA{oc$ng(U3#^Qq102Jlz?LNB$PwM#$B`1?MM2K?(g? z#SmD_dr-`Ct&QQpo_ga+X!Te~0_D14Cio+V{HDZ)!*Uc3RABt?lxvios00@YzTrFG zh~-MKUbO;wxZAHEWCSxi*~KlxeE~gOgNN$*(R-YQxss+EDb^T3`4_zROgh5M_+g6Q z#IwpmK;G6xImRd5n@sI-;aRINGF1`4XYL%@^v8`tX|wY3)|ruj?>ev0Pa{1G3`&dM zdC{zfW`TTh6bGY{bB&J~uAddZrp5op9os#qxR8(Dm_5c0X!65if#VsyF@%~k;A(<# z|BK1W+!Gt9S7Po-p&fUY>`DBEV2EfXn7<;?G6j2!NI>?$6h(8^!A%*!^B5Sw%9|{B zV>$QpSX29fd655I{%`vl^7YPLkLoNN52fL}t9euH1pH2m|GJ3MtY%$;2i2=A_%g2E9 zvGM%w6TvR6t-#t>ZV`UCJGsuMj+Bxv}NKK%h4Mh_4#%J%L zS}EMuV5T)%lP_j(N(6oT8TR#0@*&%oxIn${M(JQ={q!~xsL;qK=(uUTsQqngz1A8g zyzuUm^P@pOY<+GVV<02nmGl;6hH@y(Y%Hh8EPf5~-skn8KLaHn*pGTK=sQ%xeD18z zMH_*%?>benFD*1qDC@?)7SkwtdTRsqaw_JmG1<9<6bkC#p272=(!S{zoE4RO%i^z9 z+$DeK1mOPAr0=4>y5F$3voEfHjNl5F%{$v8Ba%HBv3AA$Er$i*g#9TPB!1AJ!ag6% z67jtD!6%AG;gl=nIv`{I8dH1=<|Vnlo&51u=cnAon1I~xgP4qkPXrir(C)v#rRdYZ z=&68wF{%G4+0C`=jVNgtD-=!ZUX?iNM@4qiz^>m2uBEBkVB7Gl~7zrYg1rhp3jd=ulioY@q!B_9ER6;1l`zzrPW>j>pe<<|9 zKclF=(?bY?XOsCWdEt$r|H`!obk$S=GWGmVvL^1FCVuZdPh^MEvxzi9!;KW`F^om; z>j{G3)B>;skUi=NZETvBhhf^TMyjDx&F&ku8oEgkBET0HSi-P+*b*Y(`4_0snz&NM zezl}eiwU4Us8iHnnnKV@KR4zs%xyFJ_nh!0^n2A~S8u}9!{(<>{GZKm4Wkhq_h}_O z@m4rr|9l4d&L9c7;#xCnjp6lp$o#p|Q*hC@x@B4}7;Qc(H8XKr(3fW4gjl=5qdQYz zF+w+6J*>3LrFI+X&(%2uxuFc2n}R;=rN+7|dEoFLhC3BrOje{CZFhrQT`OD%|DX)a z!x<|N;J(oK^hTHn4Zcst`QGg-CRlHu@g@{TuD)q?txuVm1>6hu$-<3(e%p9Mdx<2jd9DN>g}=?s8bP92Gsd5Af6+$; z)XO5*qsH8m1n=q2I!}tukk=G--K)fm!W+(BACl{^5AvsyKJOXE%!2kI8!zg(Z5t3; z=3g8xvWL(zR>KWOr$2K6`V2|2n`BJ6CbWwyo(z|a5}!UO*TUE+YAD3U3HC6jNi7bS3oZcep!dfr?dxlx>}$ub)OV!97Qk2Q*Ps`r_5kl*)Tt; zQO8VqCbO-6jn@GOawZHs+>BSkCEiXONpxo$J` zdLEhZ1J?(RE^~)XKBI=0%QC;U*0`#)$QmmDH_o>|U^<@0q9qf<-H4D^hwGP;+#GXO zM6nmytxm-OwvQ6f57%eWi8r6br`@6+*6NW3*BYXIMS6yM+Lf=J%_`b)*#O-CZNAv? zCy^;42@;7uxheM01r@t0(IiRn05Z-6MJ8Q_>!u1!Bq_5tc{?|?RHGg0XfpHbym;zE z0er}Vtew0f3^M0y(`w)5Zz~cT{=9hV@NBfWZgZ}>XbhS?YA+DT5;_$4$nUg0Bg(C` z!hfjOvfP^i_9Y~8$+KA?Q3~^V%}mkgfHgMT7iX^Mh^}@nOHuo7jy7}KMCrR+HnGsQ z56&c7moF03f3C`~1n1rjO&QOGYVrCOPyM77T)2uWebP3SR0eGnZx4Vk9y%?Bc{|^Q z#EbRCwP`-fi3aNmmFs_WWKW>rVsYq`Wi)y!JGj}ZrO89F-MKo-Vw{}vr=+^_U#*K$ zEgMF#Z}I$*VhK1D(PEi^5l-jQ^xk`ff|;a}EQ!out~R}5dDLf>;3l+FN8%?5U`G<7 z4Qbv(JApr76I-J&?-d=ffIk)&$lm_0InAwR>*TfLL|lm>nIfN{`+|<&j9fEA25pqb zO;jn~?k)P7ONRcPJkuL?qF+muB^3z&7)g(9dNp1@ zVgMZR-|hh4xdXyj|7}w#otRmkc4pIk$lyx_K9ahB^L~N+C7F+jIJ*i%&v}QC>VL)q zyALXCma6#KCgN@xvn+FKx!&aA!ZGaj9od(h8(tysSz2?oSm$M??v}1th1{S|DNi&codFi6OnTH{-80GGZT8Bn|EvY?p(bz7a#>G`18^!iwVGDL7?S?$(u01v>0jvN*f zp8JMLqwwr4LMoBw-8%%mB`DRySNW%ubEGytb1Uz#(KldC52mi~tn!iP&k&edX`R0P78 zUa@%aw`hU@u6)V%hD_Vs?evg){I-TA=7ZTbHUZHWnCh|!QpW2=698xAweq_W30}#K z!NM=$h@_bq1Bc_J`wy~U{Zo;8D?G>(xJQi-f9%VA$QpL^!gim2oNA`dxqgiMI*Hm# zL#^6E0O)%O&-4ZLs}1*283i>j^u!-axCiPTRmb;$qK53On4loBNpA;oujm!Ri7$s%mnGXkM-h5ieBTp0mS%ku)MioiWPikgN2eJp5+Ppbam2p)s3QD1IYoK z`X%}$_Go2>CsiLU@v)R5d}2zZ#$alSQ?t_*^r>o`CKl9xE@EvogG!|;B7y;O=00Vw z0M57LV)2n#Y|%ta8mvJb3~4|1or>7#By2Ic9N|<(opDbFnOj;auou{?KiUO&t!uf)>lbRJ-qeD;mEQN7x%SV7h=+~Y8rLQ zg+lT{&LowWZ|TB`7dC*ikF?}7Tl--VzIK7gJfi4r6qQbC6-MN9f<1wYA4G|OH^@W7 zHU#GZNmB>&OuUC^ySl6}VBTg@QIGPQS_?`EAoZ3QF)Df9dpX4f*#P4q<^9!+7?as< zLLb>S^kLZdY`BqXOft=K*W;sA2R$;}zwPXpU$~IcGQx_5AWM3VMA7Xl%P)JU(vmTM zB(Wz9^T=s{=Z3QZP7WiTW* z{ep_Ic%;5=2o2?9x8vp|zUWtlqHZ(*^kFz{=pw&<{nCv^TrEkm<_(dcGC{|>@P#|m z#!%=`5BPjV-aVj^FrvG?eWxf!&0uhjY%0Oxx!E~sq&XYzg9!ocY@(2lN^*XN5&<%= z<-`%3#s#PTKtSgvd`(UFJE#yuaKDXGna3i6DMQ4;=l4d#LeR%9FDxo6>;p$itq_zc z*J&o8eTDmO=5zYKR*c-bC#2Ilyu#m%TPTufX{KF+0?N>`Kwoq3?J|l&`HThT+I5u} zd6WIFdzuP@Lu%6N*u$yc8C>9c9Im-rPkyNk^(uXykYa+o*G1rfhaAq_<-4i=OqwPR zxQ1E^;yoj~c1}d=Myz31l#@;iF2P<5hc~GjbUl8|La0sS8$`#d8v456ID}+yzE$$Ee=WM_r8r`6$yVL9Z0Pj1 zJc;u~64!J{7x=j2Pdxs^^ZWBkz zwMtA3R~Kq{pqrJLiC@5aT&|)P9f|+gh(2Tc4f^UeX)du2GRWV>;n2nY^lKm7gtQd> z-rauL+d-1dK^+IK5%9j|Cr!A(`kUeVG@Obn^919ra(ISKs6UG0jN^R!UtanDHeXz4 z-$mv7&}MylEzP4uOvV84k~sb^3^E#mg&oava2I|#f_WYmwxMu{V#TD?`*jJq^1oUD zcU}DY7nd1id3cC@0!A4Elph}LFnVsziEI|V*6n9>aRSPbeX8i6xf)Q^lCAOP z3%I~M$bNEAJXL$>Osc3bq(|35U>tF_&|B6`H)|1m!Wd%)L{_lNO<8a=<9&G@`#0@^Rw$TRkz zl$J2vpI-`nl@@uc=+aH86wHW;Va%eKd(#i@JMC9DP$73=H*s5h87>ME7L7~nU%%)* zJ>ZlSzYi{Rkp}8*&Hd~LIVKLedyZ-1KzLcU#vsZ$ky24Yzpj;#UF!k*b**U@^5#0hFLRD&{tRR_S@!H+SQ7^uZmBXp z<(p@oCO?CGtlXGfsK?dP*;`@@9-0#7xi^0@-O%ECf|(*&+!1{eK>HO#0z08|p83zN zxX`SxjZe?RdcCLE`Cebl{nCzIj{wMp@MmXzgK0`yDF_{6MOio5-5dO)a{4qI{beG7 zH7DT=^owh-pt*z0R2<&mMu!MZr7d)3@g7+~zR?&k)krw1Vt{_)uVBx9ymw}*D!Sc5 z#I*c#0_YLGo_Gf5ZKDEshB;=oKz~ug=UeQQdE({@xDE!5);s0!kOV4;n5FCA@}ti3 zD2W0%-yxd`qO>|ZVK`#+(=Uuj1(}Gf0@F3Bi)D&RH_E z>RuU)P`ZCv!b{g8++;Qc>Rmsvoq#u;ObA_E6@k2XZB(oQ8!ctI0)2GMzmSw~P7UDx z|H2n%P~2kWX(Q9z9YSl{+I>{xb9l0``<%s`&6_L&GtnmOCBx|^Bf-havXWx5vft^m ztJH=6S9%oV6R`5S>&l)X}Mksw`SqzFH#qGgmN2ST`hei#axXkS=hY&+(Oj7VeF44F?) zRd@2GP4fzxO;$VWoetuB9fFhOcuilX_#H}fp}DtO7*#rG3hI|6!FpAWQ_Owxl*}Q{ z!W!%nw!;p3i7I@c#n%IO%VJo_V5pnw1-GOShYfA-h22)$z-z6WN}Q!Q>q>Ems#m_o zXoS&9!sPWZCX)R<3ACZzXhL{SI=l#M6ebFn5?jK64;t$*gVW#U;Y~7~&Hq-wPVsn5 zgtX(3O6YI--w)6aKUGi1M$16XZ1Rt2yZdkwKRpEy`#G|u%vJQ*Pjs10Cygmo^205$ z&u|v$8DTjUX}s}q^WV-pBJ`m;tPEfg@HL!UPTaR(tF2s_gf3YjY%3Ko9@=CI6shH? z`=?N<7`aNhGLSO5L*iy_cVa|@8JRe-=(R#6JLbh%YUzBy^Qby(Dv4Vxtb`eeRV3l_ zhdgCTlUN#xtR-N|1dLBqc_@M3jMlvb^Unov0KPaWFiV&r?~Oad&`XR3j13Kk{de*o z_&b&5>*i296fP-W4DPE+qDhhcdrpWTc3QcVxxo8*x;%oR=RsGhwlDrC*Ys(iVT)Hr zuZ12MAFUe0h&QM>T^2xslcj;(Dw2<{cY4Q7OGGIb-#@FWYKs zj;BN>%Y&yTY*8RApbtMRtUSIg(en*vG{@sG_&}ylJ;0lqDFxBFr3bxw^%|UG`c~^! zOMX9k-$@431tN;yx7K0rSlSibWVVcMFYOAAisVIU@FEJ7&fyWNRIrttJ&j^g4p1ixHBJFnD5LK0sPoo**$p8ip)>oyz z$26~M)5qV=0PZunGzQ$(`=k#?CEwlu6kFNyOoh9I(+{RSb$-8AKY{=_ksSRxmp|s` z1Q=u8*c`Kcor;b|_M_T6y%!nLxn(&h08Y!2HW#*4Co2|zPcBl%sTm2n1YWmAa0*>; ziu$^N-vhw)3C`kr-}ilpAOGQoA$RHvVgmI&r&?SOzFaOt1RObCf7(Y|C=M2B99~jlf z1);vDX=`zYDWb%_P^T<47&rZ$@63t*a6qZy>5K!#<4yzE(e!uFRIdBI%KB4T!jgir zq7~5)Z!r&iq}VhmDGIX`Wq>dKaX(>U=%+&6$`sG}yL%Q9dkb2L3+g{tskS$9Ie8Sz z_OOK{Rx!kP+aR5Fu`h%Y*AmWmmBq;$HC`GQTZP(Qt(g?on^sFsRpS);%U%(@J;gWX zQXUeYEVNd)mt?7|i*+y*B7B6NuOc!Hs%r9eR01)`78PU3#YTOZ3g~(aUKs_+s5r1w z9xLhbBKw7zlja&Qhy1MMX7k>2_vtl;KTTA#mOH&x5YJd-Zcb8j`}I>zcj$wj1^it! zqj19{S)kbh9jj0FUHk`$~2U~s>%PeZ}u_!RqY96@wq7F zH2B<@o$5cs2Ibu>J28UyQ?nbvGClQ#@1M8%R>ruHg_~seG1gy28c+f_HxiO{7(9$L zyN>qnrDQ*%@D8xr;sE~*F|$<=GyXpy2P3a7W^hdyY~R&y9iWbnif`R zJ};!-Gi0~!iH3X8ocBaNx!JF@7y#`v^z_y(Mg0-bQvCgH8}CO6tBfPo<~Va=9qud} zp7FC3fU{*9{i()hEPl1L%VRKHI;_8KV&UQRrsy$Sy@b-6lpDbLS>wSCx^Z?mK#K=S zF=4pEM6kx9N@O+celgG67c~Oo^5(bY`^-o3YzIZ#Uo>_5#%C@oba**LK`hAF%aW*J zz&%kpd6|XNW`$m|)xqVqW94J?OO>ckwckfM@2tdN&BjfEdMB$Raq*kzyc;vD{anzc zek+ZCht|S9?Ic=#(}UnA1KP^Vyg!P9zVV%Mn9YCG!gLnfV&?kt%dcqFm5SZp{H_uN z^a)G3?+Ynpbu|Km$t4jDkTK zd2a^mm#-g~Ri#GaWnn}B-1l@u6z$f=8Pkt05hcztE}KlL2;}7~OpW^pnE0AdAU~!b zBN>1@P;QWJxAvfK>rmJZ&w0*x@}kM>tmN%{B}4+$O~6K`@PT%bn$FM7M+iX!qXQ%*iB=6W^<suO_w{f3=+Q!yE%am^&2fO$yAGucwRw) z5L$1I=5uPGpG3$~P_rI=gX$GoGz9v&M2YBRAgD#6Lsz1RrRnCOYs-jGwF?XTE%6;j7WE4? z05{q#%Bk($sZJhMY2%pVic`{Cs^3*|BkMpKMpR;w{{MP6u5iBLk|!vuXe!yxUvNjo zAj0uI?F>KhAB`Tz_B;U&aE)@AI0zx&zHWC<`aq9!jewyF%MD}k4z1@4@xohC=>srs zO!mV!8&nq9Ku>tydW!zfawa8?g1;W?is|6IRZ`};KwdBRut+_X=Swu%H=)fFs6`(t z*b&DbsW+)|MA|uc3Q(ZEyH(2$KT0TJx7^qqYf3bL&barPBJdOcQI`xu1EonX06Y)Y z${xMQJ_Zn+WgD(TDr{M(mEXSd)Y^t+wTOxH8+G6s1?h{N7oWR6e#=YG=pN4;8dcS4 z2aPZ+{=NOM4f{|3oBOQPbnU%KRf0VkR>-O)DFl%O-i5b|o?>XT(7ymHU+ zC$%TU8K7wPoF{3jUCmLlKdZfpC+qEyFz zB-PT0!prKy#<@g}>8~`Rx6SekM#1uPubWRDQ3Tre-^yP+UBQj*r6n!% z++*)Fmo5UX!CQICjfY-lxpg~CAQlA4I>SNz=i+ce7ke#RCQ3Mp$8U-Jk{l>!#GZC~ z)>k#AD?5>X@xB?17lu8FQ$}NUl8!Glvq)BSK?U$p@Lyo;UveTJZkq_`bVTq2_?PqC267&`3H13-d}IA06i!5Sp@VqjppeDMraOf?qGh2 zQBff+6M7WhYug^~(Nsw=&&H3TCOs|fNA`(kb@leKQz}5uLHsPG07k5OBFPuZ_|t!0 zBK@E7Z&d$jtgf8yfOl6eMYF&J#!dgb{NH|T-B-b`j*L5Q{#ZXkH_oZ5+rU?;B=>2H z!8H~XTeSTkAG@|g8LR>IHpa%mhG{}}G?U^unODlk@it;F4+o9E-V69Yiin6iI+AeP z%%|Al*N(X4&7WuHY-9v~HZcx+MJYgL2jHX(_jNx-&NUe^RhH*)x2&UOS#shRRLG6- z{&0(gPKO6@M(<&4O8TKh4x{X1+(aloWcTycyb~80k39-EsiNrA0&u_Od)K9?tM7cT zHsO`Oi@st$lkDsmWZpiFLr?;6x8q`uB3eX?61$4G{0$o-w?nlk&yIVRtcCRc zD~v0k{jYw)t0G8jA#U=oSup?AYey$Sq0dX!fr`1$W*jDO1?rnf|JXVpYM6J3&%(vE zgwAV{3<_b?IM0zjI&a11fg{dvC7gib@~W&(Tv8YgyPEn8T;KFD4A7u3#+Q z2hN^Uq!5p9Dy1(bWXxfurb+4&(-2OLd0<*$$M@F3b%n0~2p7%ZuvBFz}SAoQ1b{JCGqC|5O<4VmK zXaYq2om+G}jp;++K7@flhimaA?=^+K*aj3bJaJOND@H|_!T0k@Th`M{la4^WHo<$c z@H$T2{^)<+tI3u+bo|7Ttob&;-1j;jQpJ=5_T#^uzZip$3@d=9k0op=ocNihN_n4^ zR~^PtkjU;vPbgbsT&80bLqf{R0AZm!h~YGz%=O43NBXafI#|T9TWoftisRHS5zQ9q zR%-MAEA`OCY5&TzsbPh`GATpZRSR=NfL?c&2tnG*W`Mv@{I4|mzGn4TCSjpSmZ=kB z(rk~=&141>t%;zEI$79Jb))0JCiR8D50ss|>+p2)ai%HR@O~6@g<5+cEOjsB7dqlV zLc?3b5`PjzJFOEpb39jt0>-w8v%?07gp5PXAC|TcwufZ3HqM(-%oh2zIV^-V-3aX+ z4Y|l6VIs4tgQ6$MHVKQ7zlgyorl}*MKfX%G#Sd+GMqYbPQFO(9@>I~&! zV?E;lQR`<+F2D!%y>0i-F3gq=(?YR5R~$0`sZMPBVX?yQZ~5O3&<{Ml6;w(sd$`PN z4CiQ*7yR3>M35!LOcW2vmojw`TSR=jv~;t}$uwogFy1LA3*sr&6V!psCgfyH4T{Ez zr)GHcnliUin{WkYtq5vkzZhvvDxjF0v(fNPB8l|xDK$}Y{MCv-=Bc$=VtS)^Lg@G? zqD>M?>3sIvdX*tItpNa^W9v=mYP(U#TbQc{pZ>IArn_iJ@Mtwa64b%%exDxh1pKx* z#X~&yP1g|Mi_r{-eZmzg?B|V19YwE}6%##BC7Z;Zbe)fftZ{V0@sZrq5nJiAh5tP# zaHM-gPlX?6$5~Bj(Dqci?gGq{Wh{=c?*!3%c$cZ>CD-fX2T`Vr}P=sE9KHkE8Is1Y&CN?t0@sE*^M4wiCj|oef+zNZ?`H zo@b2G{d>P{@y@4lb-to69fM4RoQh;of;#tfPT7EdOgKT2xc`;HxzVsqOtZT5g` zp#N6>Vvn!gG;*Cb8o9yGEQE(cI&huRJPUhH%-Wkb+Qhi}-fV89+)G~l0nUsC8m$LM z7EUSnOu2R$uI;|llmV0lWcK3pWYd)W8mIT}nh3l%m{xL!u6##$qIK*1xbDN_&Ser6 zg!6EnLS>X&KA*fqIRX2kAx@_5!Q2^ zXYfC%#OKBlM!ICz^xJ@A)Anrtg|0H(ZYE$WuHCX4?#`^2YIshpt1c@|rTp%fGo&m| zKx%^QBO>M-bZ@O{B`m;T>2byQ`bQ^D(qBX_cHG>S>|eeO5AaLaBfHJD>0_0cO7 za1Vq=)9^-X=gQr-H0pJqsgG_oc^+96HRR}CHrl)vgADXLF&9L_hLC0?I!PMp%G#0Y zbZLY2+czqLzrL5Z92m8o@&C`ISc7X&w;l5 zx8J(2Ta5&tP6xhE9*@<{wkqt%O8sTs*PEs=$!UBBs{iR{eXw;U8|2T5bCaQl#*8YT zhUw?q0oNp^d5eB(hU+NMrha@n(ONxdzu;WOFFIdwOeWo*CWwFi0NT;1~% zX_}NNCb3qAiD&V#hTMn)r?{o`gQl`SFN>PN_ZH#PP)hhdyki`o#jeu4-Av?fBl%}H zAiKUuad^6$rx+R-7bw!UT5-y&XQsLTt}zJRW$tkhvgI=|{5KE0`Bu@MVT8zfCj~ZQ zs^WPv3RV$Pr><63o3D~=M!!GU-z6XMl0p6FimYV{FvnFlyqJsdE9i1G`Xy-sZLD&#>x&v7#{JIa$@6XlY5S)Expc)x^P*O0T0y5B%oi_&(ZoC^=sw5P1!PIkmE5gSfD&bjP?^*`-sQl;bGcC!6H|4((-0o2r%hAB!_L@A<=7NjF6(vg4!P(lDhk(LNj z0)&K~P^2nNN|4?J6$AyB2TF+;P!ItTVG*Qv9>^1EiXx!!csEb(9p~-N?(EFlncXw< z<-hsQfB*B}GiOfu&$<8Yvf><};*h8&{K5HL_sd-M7>v`TA60t4X_~Es^XllR4vnYY zr8$#ifIxT2Sj|tv(@%>EX(anwpXA*VIHtA53FAxBJ(E@JynQ7d`mWzKeWL1bT(kOJX7M}7;_`&5_^VWCYG4$>3ep0N-u9a3QIX3Z1v!- zGH>^G`9HkJ;o5R{+5%Q|vOlJ*cJm9iE_=1vFA!KKuQ zLDWHKft-+OO07`3Tvhy%QzA!}+8c9FPD*O8yl!{{*(TxnXD&X;H*dz5K8@*+F>hk8 zp?f}1AwNYEaIo7Y3NsKojM!NxhsGG6t8dpC3^CK}urTLY9f0OQ$>l7&l+=b)oG%(H^}MZBl&Z!Trg~zHmjF z0yOs;#Hh~bSy6g=$DObXoP@04jH0g62qtNoih+gPO9#j=8iDXka9;NgdpvTA8zp6m z?N>XI5;MtI6-wuv#xfX|Ei$lBK#Csrq2vBBm7zbG&18iRO+xs>Ty>t9lj$$;Lw z&81En#T*pcj_Bp^g2(R!&bV&BC*4f*;{1jbx9ocg^%JCOL#CvtS1WKah10n=Y)XE4 z?A)lqk&SBm1gDjl^+4ys&)8V~GHsR5W#O^{s)mJYQA@IR7^ok+`mh+cN5nN}|EGdT`^%j2`NpmH zoTwR1!mS*~tj}#i`>s{k+I^z9MiFNxATFv*pl-xUc5yR5_6lk<_?WXQh4(P$R$ zBgIDjNF*hWH|zL_czf)!zL@Z(uTsuA71L+I`V-W48_vk7j?)pHkPv&aAr;t=8F{gL zFf86bpY&p)9onyK_!!YtE;^HEZpSNeXh>?DTfS#uIIoYL&3uNyeOMdX54<1MHPhYt zu7Fx0aC~AepCI0M+85Jl=2T|{edlfYIl<0uvN7;v*cG_Mffk5QE9e$`=HBV_<&3S?1+ISR z9CV@H4enf$p3Ac6fL1x?4&;YTrs*Dc2|6S+CF7_kenwgjEO)3BrlI@OVW!2<7>`zK z27Zt~+l91hRwTl2Q{ItV>PjK|*#b6nxiqzWvEPDEC&>K_`6$W@d)QtcFVha6Qo|vI z3uQq)x?5y14q>?Sdcai#EhPQ`$d@i%g!MERv2gy~LaM&ADgfjwEDk9|Pd{QDrtrh_ zL`tCe5)#}=aLJoYg*K6xB5 znX{J=gevW^Jt%4FGlw!T_f;?@ z^3*8;Iu{!EyCoB@56yCq3EuW-mS!;M9;juac6*z_Fw~053kU4E!FFq$qgBumme3T- z-DJMB@9G%8LdVYH>*CZh13wS38z?*|H_JC($L8Z2KJ267{$c@g=U$|+?}2|GKU$ggI3{+N(!M`pY` zG~Q8Z))}LExy@PwH`CQso99#a2wx@VVIBvCU|_qoGxAv zD0I^{uv}%#H*nlm6@mKe)`?|e3r{>`EsGzLzI7N0?yOW2cND--^hN zOkUT1a?|sS-|$tlq5Zz?)7t&BVJ2G^#l>%56U0IL5)AiqnzeD=3P1-vXjzX|=Y{Le zeptKmN<}`$XRP~g(0P!fI5InW;jEBSZT=ok-ie>q(ln(I=ia&TMQlZ{b1y*c{;!H( z%*yaRvF}n7oTs;6u$7}9(=G#CyraoZM7*<=Baw{rXW7l;*`;W2e;nS$+v}7C0q^A% ztdDck*v(-8^&=epak@k@xO4?ISm1~_XA<+SG{`jwA_1~sSHZcP``t7>Z!domxZ?kH zH)|81Tmb93BGr5G7*QKxtENT3np@cAgN)pfWI$J0$CjM_5m9V4`7%Sl}9AI`?w&h zgWk=n7kp#35Ea9ztH}_X^av^!l&x-)jFs{0$@j1MAqj z*joGiR}%G~ls`$i0H41M!2KunKWwFaBLCwK0KoX?{%-?h+}*r={wt38Pci`THx9ek z^tEzvwAQzD@wN4anfV_C`ae8O16CFPQ#t=G5diSN5`>lW|E2n2X2JCTsp`Lt1OQ+P zf7jH1_JzNmfPMRSt-#FwU(^87Kk~Hye3D=^;E&t;%L-A=y_MWC1^BR0g%VDNWcMweu9Mj>F7B#69TOAH1Dl9LPm5tSwAeTO*@P zY&=nV)i~|8uf0Uc3;v#?anpYU3M&snT`y}Q5m4}~Rc8l;NOqcT2$8VkG~}pUh)&zGM8Y8?0`ou+ z!#ehiL<7E$+N0qinGN`>wZpEqnK3)M><9t8nw#?i2EQIaRN#U^y^1pn*#9#{=Tx#* z*ztR|NjAP3lCf~&^a;UH_d{oJmjJNESHjb%K88GK^cB;P zY&idppN_x$@uOUqgszj|5h7A<<)%&B=V&fvDk+2;*LDq|ni7(_mqvcZMTS&k>hyLz zOiLVprc90;`e7dP&^2TbsEScn>MXmgtCUM7{2V6Jl#ZiTj+$JiecKlmhu#vqE-9zuD`cee%R- zL)5I2jxK1(cVv8+6r>NAk2cQ*V?1$Fs@&W2M}*DGcoE#y3n^SG_!#1+gY9ir8+EZU z%(;8|aU~SKK{VfpzXzof%PL{rFo7XCbY?k=&v2ffJ2T54z@sM|y>pn%D5OeU{LS1p z$;Ej>7Uls|Ompmz=tg}L1t-Nk&tmq?{1Q1&RZZVsl*3&9($6-%=)1VzCaH8?M6Uif z>=3!#16flBV{2dMXWCwkI$_RVdKhT5K=wGI{vGD@Bv{NvJ}P8YvoGj?d~E27tGC`c zOD5jn3}5|8$u&#L%jeS1(iggNaNd_v*kFG z{FDDOmX~%2?$MQH>s-SP6ir>e0MQU0bacsnW(oeu^T;t2vkuY!?Ld~djEtA}N)Nd8 zX5ONSEr@rOc3PJ>bD!wp=mzgQE(?ySIg$hm0*IPqZpz@#bjMj#rQ7^zn%l%^nxEMA z{2~e#c)sVw7^OF}43p zXFaAiRhl6){V7z#!9PLa6hh$yofo8aUpW5kkyz4cUq4i)*s~OAWKTbfHBrQl4$Z2h ztTM8e*NjlWHN6wJ5-a577ur2E_=Wk~-rf&P|7ZGOKm$$9nStK3D<)+)6-ALh)3c*su-Zt#Mx4?t zkAk;iV)*s&cj%eT& zOz@hkh_b0@kA1iVXhBX zi%h_GOT-Ol<@a2E#wjzcS_#wm1v!n>JKHl$COnA;KT=a$b*%0&8c^aC$RGUXxmW=; zuk>$TZM!YoV*FKp7k1;xQ($Mg85rYOoB(AC4sXo~TO$ZJ(J>ahs80FMcvn~zz#1B9 z!q%F|!}T_E3CTV58iK{LL4q2M~k|PJRmg5ijKJQLo8Dp%NpnqDmjGJ0+ zsYaATJpWk33g)hFtYVl!uRWG8#MTJA$|xhbP>;sg1>*x+zFymhTs<1EVR#4AVxX$2 zJh=#BwuqA$y?Vb;BKsKv0NuBn#9N43PfvO-9+&GYI-`vQvtZA0jA)NjD)*#EF}x!1 zHIgyPwuWDaCEH<0vkHCv8@|0*B5)8Cr2D00#NM~ST9cnQ-ED**LBwk663!YKs=yJf z52>R3Y008mW&ZAIpIT?Y0ORJcG_0}Pw+XIbl<`*fz>-iS1;t~#A9VimXz_SL@ zBUC2S!1h%GA?;KYrWRo@$srLCufrj2T-%uxg7XP8dm5t5vk4r6lZ*gTXZ{b~`pJg0 zV;IT>jIqbW{0TTH`lUR=xn`*3o{>SH1I`X)@^EMi<1oQEfmOa$^JIH9IJQy!9oT%j%_l zqH-{X$`X&AI8@Gcy|$4|*c5>G0XM*X2cZfdQN2*Jj*F41G>w+oCZfs#jj##4SeXog z7F1i7{1C>!dSo;7rhO)>&Sre5Jap# zj>PO*pDK&&IKBrz$q?$+$U?NbS}1vcs8=jvW8}PNO%w>@ywC-%*}aKL)*|>m!^bhHTVn zyL@zYK2D)oy!2D1{f2Ci+$H6+u)*xbm}jOlade2#dRof_wa)~5fbeW6C-X#_tx3qH zp$B5U0?E37RtDBvx@nepTpJuc?P}&P+qRr4am-wp=PGp}k=$;crveb208QHrvAy(H<8)ue(@?r_0R6d-wx4_dA zVn=9X!3qbAP$sELVKOc?kfpTrXw@PuN%rOzNN%>Mh+U(+WJgh!P<$5fgCFV|Z;6yo z1~zMuvU)3ELMZ_tQ~So+B;ZqjW}Wq(Por{sSCBYcl1iYLPd_EO(%dt^McJnbDwb&`~=cgL?((M8V2lQ;c&n9b00j%@}a?76e;n!IloWc&WtJDg#Q=v>^np z)X`p&W9bNZ>5hauPz(C%^m_*OqdA7xGkk=i<<;zSb`aukG|P6sA=>T?=nQP!gfXTt z9YfwYj`=POHQO1QCDB0EXiFr990e3Z2`ptUj6 zGRclpq?yU88KLg7m_4LtM?AnMn4QxJL$Se=+;BR9Tyc0l2pNecmPLkDz$~BqkOx^n zQ5L2{|6-Eonk?Nb0pXb#Z(2CSbnVr8@3jDVK1J089vieElir~0V}AZ{PY<`gt~==U#eA$mQb(~b3OuA$!kf-0U`9aK z;q>s+U#oZ>KnzZ&gOfVz^EXTG^uB_oS?36xfxn3y$q$>`K-Au(#8OD z$)_|~pqOh}dU=Ldu3Nqu+|!@74G=8oxTiMeT-6yJRKpq(6by@kHwd?p6+0Dz7hf~qb) z7o@aBaNxn6#wKu#{{DBIW;TH*!*j<>)8@hwP6CS>qd7EbzO2J=om)VVDLfbrKW&Uz zUd&B}iF-v5$J`8ss30TC{kF&%I5%lb;2G=W_u>bdY#*(wi$AitTvFI7{!5orgwZTM z<9; zsI~lK1nt^}jY|3^f^Ut;EEZG(p+O99e`Fg6Kg0_5%|{z}jOO3KQN0HM!?P{m!mzPns`eaFUEEcKLf6>!$Zyl{yTj!H*B zxxbgRCr`J=ftBNb_hy96$4ObZ=qq-9S^k=&wa5s(bts(ar`$-?p<&d4Lc$ilQH6i{ zq=xh9&OBU6w2VR#B`zr0T|NAYeNB}8LOAXdGf&Y?l{8?xXbd&?P0I(AvJcEPRTd!6zid|Q8E z3)-c-1|kQ_N4&O`WBh?F2N61)N$S<2&#v!pMf`;WR-t_#9j#3{8bs9XQG%{pWMxp5f%nT}wc8D1piA}i* zh}}nMG<7Gbs~`nrR*sc!dmO9TUy3#_ zL6D@|UD+k#wMd0Oqbf_wY9Rj3e!&ZO6-l?Qu_t1D(?Wr%Z-Vo79}T+li%scefV3>E z9lg&{p;iL$60Wp-CT4Pd4jg&eR7W>1Y^zN0(2qD`y!~sWp6~q3wof-_p$02-}3+L+z^Vptf6z_}=( zdzI!Y*)H_<`~( zG7{Sa&@x+r~HB{&8&t$+Gt||l4Flr;wWQQ z)W24@6ceiX@D_%Vk@%fifaK()6yn^iR%H8z7B1g;cwvVRu=$+tKs43|ZWXsY4-5{y z;t>~LqEZ=-8GVk$D_8P*qhxl+LTYb%N>UGSS*2~F>#X1p}IKU`~;qfgpWpF+H@s)by`G-^=e_Ezvc~7gbaB(A@!cGz2SOSRu2t3|)?yZ9Sn# z4s;D*gzZClQGi9u8Xzr)@u!5EjYCp6R; zrt|N{Vc7a9{dXl1Sk%G5Bre=$u}8@NCMwyuD&btkSj@m!OgP1+;rkL_k=aiYV$vqW z1|<>DqsTK4Zr*If_vg0s7UeR=BQ#x%=J4{yf>X!j)EA>Wx9s|FgyO;^8CBc!|cEvu7slV&3N(6 zwUdgf+&UK}xd^P#qx)F126BOZqEeO&Y5LTg=i&7^{a~}x%eO{*?=G>SZivWyDXD?c zPGWiw@Fa`U$+0eFE>(@OT9NLF5ck0#voWLe9#`3ABOvzp%}BKFeg_qxyY*q%Me_NT z`9`jM7Z2k9`z7|K;2TAl9YSim$n5M^a8jl((fP>n&7tI_dQ@=c(gV@g>ZxtP)gEe<7gf$r%vGrF5eKg~sVrVng%7yvI#^Wv zowVvVh*^&4b(8KSY^a*q4*UP|dM$l4Um(_Lj5%7zR>^X*%pK;Ju=-A?hF1vI3J`8* zsxVfnd#)0CIZjPy?eBo6^En&IIAmhnStWG0zAVGy_xau_#(`*IP{devA^Lg0mb{wG#gDaM>e?IdN9^`k_-1$0X8fh2ojuny5HM>VS z#2!S5{H;HGK`T1OPy%os^lm+B^e@&>d=Lc1ET{nv*tDuzn)Vvu93pq(wD*~YhGjjg z*!!qFHln%`+UHeQa^j1VY~e=LA~rK#cqvI5@<{dVjKJYUK|S#p)G2pG6Xn<|N^T4+ z5_%hDX*SPeF>-AXVMpSSGeJr-f&*TqL7S$CD#Mr8h_HHqYdt{w+H?;|e5+!HF`TPB zeB?$=gQ}$=?@g~JU1{Zc^Qg}Il`s=5lvvmin|Jj zfW;<9R`Fa~q-oe_ejZE5+Xu{Ib(?G&CeBDF>8b;F`Dn!i$dPtcM8Rgi=fpBA4lxA^ zZ@wZj*xGlX#Y^;-Zkn(%FnUI|%sGseGm^?n@(bB+8r>a<1!^fl!_??&{zBhxv8GAZ zRHlpA_=BcAOL2)g5XDZk2a!s~4X`dY9WJ1s)b-L!JGO+D=rWmb2cDXHQ%K7&!p4KW zH))l=npna{KA}{V-A6uXn~Ln0XlJ5+(NV( zQe7f-a2tg1OWP+c;V`JXIC6fRGvVB(WtIZ92or)E9T?NLooni5u#V94JUV|sS*i4! z+zXhH95Ukj|K+%qIy7%x`e~Atp*}~*7s!qei(9n+I0CauHSIt)yMmz=es(J1(9aY~{ zM+NlJI8O6e{Rcj9k_lbUK2T=?)4F5pfH1=w?~kt<9P z6RKq=da;e6=S$*^ev&&mgO?o5??RFQ&zZ#8W~0P9O=C3tb#%A7btz2btL~a)+$pzg{YQ2to$` znGcl*NmEExbkz_2^gTNApc47Mga=nCE1JTv)q){+RxV}sDh-gHsGIHxNgY*;T~6%5 zx!f`=hZB7;FW%%i$|}y0A2Z6TEtE70m!DpJsf>-swm__$UzX=tWsxp$7A)SmVJ_Fz zri)!Uw}P{f35T|ugUMlAbU^6K$iuk@&u$Ov2Y<%J|Gxh}s|JAo6xT9KN(ZF_2c#Z< zXIT868}zChqDAKaic1f16})urPo?k1FK5Q+PeA$My?;U6ce|j059l?RE=c}44o>8b z9>nW{-nOXa+qfsXDp0Dvj~I$HR7Sj{gBmJ+?H=j~wD93Q#=NyNR1$ZFAd%k(sV-E} zWVQ|c??}!3M#Nktrxc~h>ph~2U6tL|mAvxAqfCB1M4H&XzZ9w|?{P|L$`;(fQxvn= z%cex%|Ao9qiAsUpgi935-H+T1-c%0_;2~=G8fwa?S?I?umZ*$Y9Ynx4fJv&$Vj%Pt z@lJKuH$q=0QrqGJ9ufYiX2NojXT$rY)-XYnUOJoEQK_#|j5y+a&Z7vk$|t!#w@9J! zQ?|u)_4+1i|@ed-=nY>URCi4}mVe&=$?5ro?`%wmMbLj`J zzuY&;2&{0M5nmsvG7=}&wmWmJc%*5c*P7#+A^h+BF^iwscvxadAIMUO6gn_ckom{E zh+9`!)0C}yL|u)bEDIUge3+j0_PQ^!a1X5@wZ8bx-{RmVg=@10{?w7j`&!0a(VJ|~ z@YJglYchpO&hphWf{rP2x_){mK<7@Xz9NaXAQ5g1{2Qb_0puYA`r#i=U@!41TOkm? zxR#%?yGfX*dR}poHQgbmQ=v(RZ3K`Tp+^KyRK8ot7|dve9|0u7B5jeQaII&u%oU}v ztDJM9wrI$3?JU0H{(98G{%R#w)Lc0lS-uqD_>CLSUdEWrqq=W}cdH-3bRJfZN{3~| z@NJM9T4?Z2hUa+OZ~RUY;O5*xIOr@4Zb%a2=kb-1Q$D*_yWIHAt`Y*#)P8N?oi-KA zXn>JSRw_rKN9TI0JtHnn444RGO4f?!Igv&ru!b7Bir;#PAIH*aqE7D^MP`1Lb8~D~ znZ>74Sd2~dTY(!SeytxRyS@M?6+%Mp!yM{ME-}g<(M1k4$J%L_-}Zvt~Aq7-n<(yiG`^^qp%3Z>{PzW{yMaU6|T@UXg3Od^+Pz z$$}YQ!JdK41ts<9`41YOt!}1T8+K#qmRaz1roUWGA)F~xe-qdE9XUehPi;jLv`+HD zjw@|>xC~>l$5I>v1wEa*KvxlM;Z3`{j7Yd<-w0bJzY}nY%siH>as=(1Af@By=xwF< z*3}YKw5RM7y?9a@0h}bAhnB>8KVI>HHZ0uof=5Xw5dc1KZsQoT%WEwN-}G`Ut12kx zn`&WZL&A`cvL5h#;PvSVx{7@(e~7rG;-T;rY7!~7hyJ8Lr>VzEG9h4h&%vkj!$8Mg zVvjRpBVW`=>OBI;RRy~^RP$&w!#&e!KnWKl#Z#t=0g}o

Z+6U4$VShZIulK5-jy3GNm9Qai;l0r7oT65B5lBV(|^8D<1of7RT= z-!p5Pex+P%GzHO`cHea?FM5Ti zk4p848(8!0ujusz>e8byU*vGiiZxXk?O$K8Urmw@^i^7f>t zDHGSq#pQDGZ7B0Y9ckQ0%VptDNwI{h%(gTF z;RH9nk%THyJ|xGBi{I0H)t-JlV6Rn8)GHFVC5BZQu?FFqf4Robtk-`-+-X8_AQ@WC z)i6g4BSF=1U~d*SZao0b=XdU~U-E-?0@WIYMBTB^dG!5i;<&ePN8m;;sr4O2&>((O zg!nK^XYB0kYxNxwxop@0)K{j(oRlqE5j;YI+ZceK%%x@*M~h*kr>>T|X53?-4`hzi z4>&R`^p!Qzz#WPf2JwSG{_y!HBi%0=@Ji%H!ShIcu2+Y&+K?dn*UK60t9Bq?2(dS0 zjlh>cB7SvXUK26ou$!2HT=-r5VkNtu;1G*I3*u*(>`7nS#Y;W~GuX>74Ug}N9cMdu z9i5I=f={@`$OzaEXpG|o+_6jp&y%-J?i-!emfffBvybj7OAkzlM^R2Ru)!YimUiIWrt;V{WJ;D%|6aewo*V*NT zeJm*I{i>z6=PF{bdK5~&&h!d2%;L^__w<=SzQE1H=MR(qhH(qMo+)lMo0(25Tr4^5 z;QJPtOi`K7qZDY|f8F0iCo#;#lrR9kMfnp`{g;#(BG?}S$+JGshg;3$WWus4SR+e0 zkLa8m5QVeb#?oVe(-|H{2h=rdP8?rZU+t0W{L84`sr}08VtBB1^}v>W-M-9sLW~0H zr0^K2s$QM0j880g4(TZJ)7bA>`5x0rB%&_@Yi~pXMf3?G|#=y4BMjmNJeJXy0^hgv@sH6$m75F-V_$7 z^F8EPa&LycnM7RVK+O?WY3{*`2wEM|JW?pr4UeG}0QBH_aN%31?=5VKn@F&+aMZI8 zvrZo9RMqdVWsMu=J3OsS`i@L#{kqSpUHs}p? z|0Dvt$AahRG%NYP??vT`i#XBm&?Qo7X>M!mx?--%i>$&mBq@c=RrLL;dw}}!zwU1m zh&APDTihUq-HMXk7wSNV|7)F)2#eKM*5^}|&&FnVD10vvgl|R*1~`6aW;Q!#XJG*T ziQkoeIKmj&VG zTP40!a+-;)kd_A*Sp~lGoLh|Z8hklf`n883jsH~xgqzilB-tX`vD}YQHjF)*Wo2dv z)}tiz+HSiQPi_ZG;Q-kf-i3;_D&ZIfnO5rBiL#VPoywPBrH7y1_Os44$aGaFc0b~4 zy!DF>!LpdpDz+vPBebGz9bl*IZakB_f7g9{?)H3NkKFs^9N~Oj%{*)ukfhmfk(xOJyu8Wqmc z;l&Tq)4?U%C1cTijfOLs@d~6E0rYwp^ZRRHHk(#YHkjz_&DPfw=8r=jLw6)HHpvz8 z-4`gJasPFH6WL0lYi+B9iNF~Sc64qu63k!v3PI+G_kK$MHa9UQnChaebVOsrHT{k6 zw?<&KL2_mou)kI?OcIBxuA0Ga0wXp&@QjALHr^@AA7tLJw|<>C_z37#UOkt0g*=}U z_rIU75#1&#yr0^q{36fqs_v7BaQeas;szlp(c2Ps+~!8CDRQR%~BFAVfwda#m~ z{n`7oX~T7tc0+J9TNd4Lm9XB>%JIP8$d#WZ5r``T%!tyWE~jpZ)nLgfC!oy=IlP>h zlowZ)1eMlE4BtS4*7;xeH;Kz?>d||2Yr79qi02N!+WqnKI;s+%?ewowNgt2K%MRXtG}sA!d&t-cZx%`e^s5Uc?25!FZsD*G1t?kvDNf- ziI2++U~JT{5y?M8A6TW^bFBPQEeGKCvy32Ngv@s4dT}sFc_#}=kWUe9ZpyViV?JF+Y9{n&!t-awosZn z5Dox8FBpVLE6GsUzC;v^+#5Ly`E!n66fbU>gPKsp>+}6UzZ5=6NMW|6NQw!g5tN2V zBeD{G`+$LI!Z*Y>Z^V<}j(|K4k>R*!iVmjy*`7D;Wv1(iQ;bF~1N~HqS~%>2WA_S( zi_0My5sjyxXB(;tZhUk-8%bXf@cC(Jhs5fN=wH&YfOyhL$Kh)X(V7!A=7`Cc360xf z{YLNW{bt@YTlE<}ifJH^$cjOy?lCsxzcz+6&iFm2ked5zjH#isdu#6uDWlH|$V+gV zf2@>vsb}^*2Q0&4?SY4Av$!7^mZPJyVoJZFXIO#scRblE{k3Dm4Z1v2)Nu*#^8uwj z;bax=ay-E~{cO&AHV|%uhcD_3{AJ~QEFe2p>k($yG#iT#Lh6b=mlJ)w08$);ThHmN zFmQ9p=1XCdn8w4J8Sd=206P}I(l$a$h!nd8_IpPqme$}zfyMFVGV1tO0lMSltrRng z`vys*7QZf;10bK@Y$1_zZOl-Sa+)=4gSy)HP;F@~!`qC;$z#^$FeU-~1%L7-13H)DnKt1YTzfafTm`IiLEm{0T=$^Y>kXP~V{wDD% zvj@lio)HSccb^K+e7Uv}{0A|S`lv^RT09a=_yPOp0Plat9l~Yma%Lp4AwVla^qc=oYzU` zsPp|&YX2^DGZ0^HYdLK&4i{8oH(QUIO+OfVLM(`f{|GPEs>OQdB4`8ZOsjBnUjo9o z>RpqVG#Up`@CgLND^cxvB zR^Ow2H@N4`o_@IO$_J5DSMF%mH^mAdTu3oT9HO*m+NH9)9FE77=l0U?@9fs^_@rD? zZcpbtf%~U=1m=VZew?At3hnN(zd31;AdSx32?kVrCxxBgTr>jrPtSa&c=@srhcPEw zKR!vki?V#1j@weOay$Inl$psa*$gx;_TF(czW)_MBF|XPGDb0ho^+8=h0;!9bvRgp zia(bY2-m6sU+wo}oo7!!DZW~KQGjMJoesFCju5JO4i1}vL>y-XJ%)T;L{rR!&HIxYJEGIwu zfqDGv_vv_ORGk+%1(|Y}CHW3LSKncR{UMOtC2`xF7ck-PVb*yTR_p_?S?JlROC1t3 zF8#|KD4*B?za(?0IEhN^fhD=H1$jOQZyf3+Beh@reWREO|3^Kw2wc(rY>u6U>8cD(u{^mrg-iytMs~64Q}rGNeb#Tms##?ei#y;uOZ8R-nesy#pR3`0 z)AJ0x)s5Ozc9oNdJHd3QRJBiD5}^5}q3?w|dKu(*dgRc0X(uAvdLV*5iW&d3EYkg8 z+&KiSd*yB6Wp~JiGuo`e^H2HtqS7o#!BVLYeFq%`NC>3-0IqfUW!o<$ZSNgwY7jo{ ziFjIuDP~=6jtv8UJSz0nGqB$jF(0?scAeMW{BVsgJ%%5l@;czY6zU2zd7ewiV-y7P z5f~+8l3*}{pTua?-R*eU@hok;+ZA4@zTr1ecF0<6RG@hfk_R{ncXlooEl|kkZ(fTl zWT(DQ76|;AvkhG<^-9ME!tG2c2#m$YYcAx&7XO}Q5-s86f-Q1D8cr1dPJ!Y<2G}vC zF?eYt^NEu;zk)MItp}LGwu@@rOt@9|=5dML)`%=Y{1!bEhD&w?)g`KzC{L<58~DHJ8@A7OyLt8A>6NqU}LBy?&e{GaR2&! zIt0dOaYKaxJ2un-kDkUb*}wanEP2a&Nsv*9_G^FcaHj^Wt5rgowJzbO3J^czRR<+v zg5*|jo4NbwM^O5^`V*n=MOOb_o8gAI(?Grw`q{U@@oAu*`u6mb+PTU`Mr!>2@LIJ` zsIVpn^oK70y-Ud2&fiHQK>Q^ula-8$s&O&b-Bu_Tc;Tnp|KFc7`ib=@DB3HQ%6ozO z535}*0zE8FT;9t*Gf#8JxWW%q-&g*2mJqL&{wZ~*8294Jmmeo^#CUj-vsu5Vkw%yV4TZ7d?G@6dQE%?<=Na4 z&5y>uB1N_5{?!{9ZCAg4OM_1bLxP#-3O=z^ry3Av}fncdvaU9SmP?CtKMnL}b z5uc<~qIV~IdbHSW_?^8L`tl|2@0(W+( zn474cp#eQ#fmvK%vFa-Zy0W^L>1b zFKLKNPiUKtO1h#WD6$WDq=ZcDF3=#H^fgsWG{VwexL=}oZT|n6Ocdr>-XtGup;qUaKaS@ z^svwwNr%zU!2S?O?&hr@BK5dq-%4Z%?R1v2ORF;KMFOkOJ}bKg5HgtO0d?za=c1Ou zEcp@_k_=kPj6E3xT83m7^ zk+)cAs95#aWZR6LNTNghq?P^3+Rh;PMuS*1wlzP`SrWL|(!*0&27INV;D7tM&BuW2 z-HbC7D+ouTF^tGd7twXj6`-!y)+&ULpWkk=!|-L6P*zm1KLnZ|6(r-EI0C$Rm7Hl7<_QjcCfc7~@P;lF!%A3Y(mf$S-m_^~Kf*PK z8pBug!Q@YXUF~EyC7sv)*oTQmfmdoLJS!oa7sE-UX3QWeO#jk}Ap+tTxxZM8Jqow7 zRh+^IbN$5^$Ihrern-Kv)#vT!JTDr+4)VUEy^}8rra=5m_3o)XW6V^hc^yBN1Lu0M z(RS|)2C#2B7B(|n(XD%j^xl}6GA!JY>9@Y^)|q~~j7bKiqfNG;aVLN6<4(P$POvla zzwhMZg3lB8Gub^uv(BQmRqVAT2kg;6!V)(n+lkSP%SeyTMH0z3;_Z4rRRy?|LwOEc zOK;$QOnOCk`T}uJ`>Gp;0!72; zLV}stg9vIXOlzrmRV~|uFHo`R7uXJnAbzg4MnVx1qu<*J_zo54mX}l*esWTUNX6n1 zt#nODCDDR#uy3_iG~VRPDu!L^5p+bJ->9VJGajwn8;>{{DfWN?c80j=!}kv`4?{yL z13Ok;x>T+bs63vy9&wjd46c|tdJG_bi!_`DN@m6<^61&ni)LUEK2A-X8KkPUQrB)v zYf_FteBQ=wb1#!EgeLmgmR+E-zNCl2Pc3=5<=ib}Xew*c7uZLFveISL@U})qdxvYp ziQ?YXm5`8U6^X34EBdWdhKtjB0{@IRp3!{GiX+gN^b7iD9p{! z)8}M-VT6xOYj}vKS`9yviKH)zfpCoGzs}2dV5sy{%Dp#OyQQH}w@E}pNZ>8yaCP%6 zpus`7#3r%2LnmFaq*PaoDY zZTN&NFM?oPh2*U*J%5FT6*rnO2M9M5-O_EH5KlVr-1@G`pPibGSLH!#w+rl%b2T%F zvIwZxqM!s%IQH{g!mRVk67cDN#cm~d_8h(!%J)7jmI=}X?j=kHJY%BFl@9W@anh5t zHNj<0kW(fK7$Kih*?nZ*x&eNTpA*AfQV{(xtqJ!G&0gzSduf*E{;b){taLRV&9ewN zpQanH2E44D-fwvZk0+Z2sO`tdv{S|PsE0dbxU1g4Yk=m#kQn8i!+;{o!e}%e)&(2c zEnF^XhIXJCWhhkII`|!kx8Au;3I%>*2zv>CSM=_#A;~~=4bE8hn>BJRPcyUg8X<_^ zzkZ+YkeBA2w9>dr=4F{9d|(~{BG?}S$>TdUv^{mtro-5p5%^=grYchkqN~zR9*tRU zrX;R(1jvI+q4+HMU^<5g!LW~ltJnC-e0)6_PjzcJdf8*LX5xT;wbU9dt9h1P+L}%N zXYsz!4{)RGV5c$^lgg+Dl{kHY3ZQW-%;FvDHi({Zh=(dE)=N>(9i|!SPy4c{R%Z<2 zupI&WL59?AVey$+5V;F$wp4#2`C_1^)){G3QcSm^^FzsRMG!xMHe7Isjlkt8dTcVj zc5+w954*gkNWBNWI+}ral9xbV_jGAkll)I^+K+-pqZ{B&rHDfvL$R&9s)^-~=EIrw zfZzC9wezloyU5^6)(MMj0hfHryiHCR`V6X5R38wZ{_FSYw7(a^jpe^erQI4r zR;quoLHM(rU?4qg2j-(BkbzUDF&_5)_b=*(A4gp=Mi;A5C`EB!7b^}f*>zb z@+Tz`6>4XX7NK%;d={c>1R*b86TpBtR;;gnKv4>cfBZQ7G|w;n82e_5Iqs%hm{HoL zJ$qgoh$lDi>0GQYArY~m2Fm*b9#6d`l8^-|auJ$#ciNnIECIdz>-Xut9S4(hL?Svf zXZYYFL+We%-QTpMulUG(Ma(HU)1vg%21?yD&ftBoo3xFz7_nh-jWm!?g`t|FHVIPx zHd7epzHcY8^IWF$l>uYFMKeeLRdzKF*q@j$T{*FsHXEvOxDmZBm2p_xlT<&d2FpYm ztv>a4A^`iJE0gDt9g^#p@9(0`R7dCrjC92ew+VtR?UjYKu-#ffUkhfC&dqGhn8QB3 ztRrBXCa{5Mo{*WA6g1?!ebP+4LZJ0*=P3o_IA?&oN@>10iF$9;Ut&&kei>Wt#*rl6 zDp~>X``7Q&EfJhC*6pF$pu2LhL*1}5!-4%FklX`h+sG{Wg^74V;z|k&sac8e%FWKC zfiaLR{;q;%kES3Tl1cj->v#pF%j~x9p4(!Cs-LB9I&3O!CFGzN-y9j>&oObQG#Deg zl^=U{vF1oqWs%(!b`zx8o$i4zMoxnu@xqy2a+~kBsEb zL63~6v9DRiOynS(t#h#@E2T?eYjNg~V#-|`Ejqa3wTYI8FpOTdc~2v7pZ>4kr$Y{l z@ena@gi9z)H>dOx=Yj$ILm;`iIuMvmx;(V+gu*=%^o-z2(DyyUNJDNJro=nZno5B0 zMoYT_z{(Wfy1UFyMip)$+*WO|T$9Hp7`+{X(5Raa0qS82&NS@}c$(lxgNhLRN1vsg zHT|={`?Qz#qfyQn9+v?7>tDZ5cj%@9GjdPutRWZ3-0A5o4*i!NoZobBp69FY1o~v) z_4l5Ii*(mbBxLk4EZn(#mRUIi?%7D+z16CgNoFmPK0&KVy(7qjfck5G_z^Ok4DJ=koiAX_1ncVK_C{j2zjk|% zY}M>dk*W-VzTW?@_vvah>Kv8Zj@UN2(7ft@Z|GqEB|lq;e~wP_ZFZ=?>etASlTv}3 zb`9i;A{zEha+CMr89+S$8J&U^DL;`{sn{KsZxx~_DVYgZ@#>ft3^kN_ZgdVf|3b|W zcAx9^#K&Q4KO(7o?|1HQWJ2Dz|DG;{TfP2q4yd2DBNzHJ75@^3P;}T%I$3G+&mASy z8g?#rDyEKDke7D>og;JOEf{9<<92cVgPA`ot-1pN37V}dHTQazL^;FX(uCK=v-WDr-*$+qBl5fIe0(4 zmYs?kKD|*%1?uLI#0;xDE7kvf7q9XU`qiDHr3x!lnXB;Vo>?<>g0 zeILvO@mZFN)wWPwh$Bj2w_k#(oKGwDG{C)i`eabNf$DF0X0oQJ<8bidqaKS5M52&p z&H^=uW=}475WnP!+)bR(n)`eo*eF5NY=X}h6YfYK8E6ELBio3cJiMt-0tJqGRzbz^}5iJJp zC)*}U(e(w&Yv>Bnitck(jnXh$*0n`*> z-NdI0V5$WYeDmHv<@FXHhSInjJ;~@%tkCZ89D6F*Eg|Nch!^i&BQB zpd4G5ccNur6Pbse6j--_s@ppf*ZqP@`6skz>Nx5$c~nA7CvHU*Nef5PlmFcV{phEixCPYo<(N26JzQWEGU_Vk+_(e=h_r&{l zh`WPu1tp&zlDgi#Ypl!}A9Ldx<65=I9gu;d0y=8Pr zWM@S+>TNb22Hz&^L#Fu^jcJ1TUAxUiFTGp&sfEdo+RWndfwB5z@i=#n_qA*)I4Ai6 zh_fELtTz$)g!g`WGQV;t-&pW=m_fTt1atc;qOgz_%mVd$T!{3>Q684Mj*31ty);jP zQ22I|0c`{bJ^Q9twc{`n(75D`fA3u-{YD)^P8_w^TTs%)5?xP%xG9NIS)fZqGHP1pJ|FHaH?zBddPq?M z7i_pA^e+|XwUA%Qb?*|13#>KoDOhzKQBaQQ`rIb>0kFZ(WTlG zR9XvZpl;yyh;y^QZgRA1&6SO+8C$$ULtf?YW7Jz6cdR3Zc6 zlqHzH?OfO;BerBjld+NWvxiwM-M00nP}JP%TrR;lf^b4apJhk4!bkE1pKT1>D2vYQ ziAwOI@s0PG?45Du?}5C-&ME0|nu@X8&N2N`RIb!mV*KUnMbFLTz#0EV^ztPvh+kcu zp=)_g;Db*&QN@UALj|{aZmwQzJ(~8?Bn5 zj%;AMb%PC;ch^xC#P76_Kmcia#;^{NH60ynx|nv$DxXgUv%}d}7PYO6&>Dm@Ztx)< zHjO}~$EE$EEM`SZF2k>$t7hiiTDaS$=US=?!m&#u7`j6i1b~H<)-qd4sl5sCFrtjb zV7DexYl}BY!Uy4UW7V2q*NO;BL)NAyZ8yf8@G|GJdwPcrB$tUWl-|ODa3^frJ~k!K z&;{8ZKSKR5MYEG+i5BrX(6xRAw%sWF??19OrMxGxyN71cBxhmRYkv)v8#1v0SiQhfX4$}%R1727Oe#$e4+aY{LQ+##w5 z+QC_b>aiw(-B&QJr^CHW3<<6}w-0@Tj>a4zIIJCAfXLo=H0d2+0N4*=)h|zwTxg*K zjXo<}ew$Bu2lhf|Q;G#1i(74WWY$3b(8W_Yl|hA775Qmcs#S@l6$e!7Z_Lq+pTpImX)#;ek$|f(POtMFBb)KVR>qcN1?? zTGR2c)Wkl{4Lqgs|95F}S}_d{)b}KViwWwv8dVVbRf@nw?;C1L*p4s2V&GxXhZa@Y z=mCG2($kY;m1g`^!RLh3982KO}q4_OS<*RDDUBm(qXXMz}X6_+GPUQ-0quZ_o z#=M4F2Qf631RZTUzEa$O1MUY#*ttnD6=IY3C-e)xrbcVUT#T?zys<@1yElu|hVBLS zrAk$fpn&D$`BYeg{Uxauc6QZrQpPS8HYf28b*k%oF3|e^>;5LLzBu|Ow>NLj^StRg!%+t$&-P0!y%WO;03@tYYWciGift?GalQYep5 z$H3xl`lHX{bxIo@TF}^#Z#`jRfOy}hb+=B}?YT+fYJe;3#f;2I5U;!R*@{MCr3k}< zc@(fm*Pe8qS{VkCvw6FgzC9c|>wYcL6s@~YGC?r5w6)E^zH~QM0^@#RmFM=>xf@-P z`Yk5F9UnjM<2j_~0yRNy{1zl%5jwP=Lmal&TWtD;vm+_Z*WR!Mp0;0?c;>-pYX!m@ zAYAF|<8D_J4|V{_x)al6%LJOf=D7^be2=DVSo+bA2xSmXAe!>3EGdb!t$VeUy!<-L z{2U9rba{q{Lt|tnv^yP$eqI3i0 z2wQKk+$W&9KCvDN@N*Ot1#qXmj?~FFZ?2WBJ5qR)`ueUf6LU50~5l@}i@MFWBT(cUrr;Z%H>Gt9{LAv%hl zNPUR^U@7q$u|Ku>GxrlTH;7-Y^5`{qZ@vVhihk0 zv;xu10H4jkFApYozB+9ul-$>WYY0-SfZNKfv<1nl{QOB$f`E`i}h(`)d z(8XV=c1HVV1WmLcaux~^O9_dBF{_{C7tZ+d3g23_ z@NPP|v%)i#|4<@er?muiSStnmsV{ZpD0>B&EMw>jHZxm}Q4vIbI|zlO1Lt8U<{k4y z@J{(g2Nhynl!BMC#7QWgkLa3IUo?UL{6`>9p2!s3N>N-}>;8@&-g&OVg<6n~nG^~3 z+4nN54> zl$=S1#9(T`@RqTJLjn6kAbFS@&MPxP(6lGHG_ysxKLA2JE0UbBH<*X>|<)xZI^(M<=|CGoCjr zo^;*aLX3G?EG1C4i&dA5K^A?U5rlAle^b-3ldrqo@Quj5yhVUelKbffsAopGa>6jE zlSI!IiU;tC4OLvUBd9P|6X5U=}Nwe8SoxbSbdSe9#>7nnt8XzjD zWUp*}Qjt-NK=Wv}fQs}V|0FBu^%?c9aZ-ZdO%2_l@*A5iiX`5^erw=7Y-U?z9rwPh z_Cy#;C)Hery#MXud{DnjBNgPU@ZT@w*+KmNb$=7T>vvRTzGEjfwmZ6Vct<5CIL;nP-)H4RiX>a8D-i@47?MbKgC|LUGWDrPj~=*}1rXOpNR z&zC&adK*&aT;9hV=}e_#%HtPU8l4g26~s?#0(E_8>K(pAH_HuVu?eCSM3~Ew9tDXm z14q=`JUd!UT35i%EW*5-SaRea03R`B+P#)V3i7cULx{!A&yt5w4!H;h2hEo*M zBB6Bi=J4Rakv|Ypx+a=(A-;erz$kOOM`}dSt=u*c#`=iN)Cj^6`J&-&7tRi_5NX<-UI8!bDQ-Z;J%>hd}dd z;;>WrAwBT(G-E;@VV`0U{37vN>7~p@W&lAXujUev59wMxyc(zN<3}VvNk9K4a>p`T z8J#7P$25e$;>lmf0^;H#EJ?_iccr*m_&gu#1dt^ef6Nl=T^z(ecDbBYaaRF;&CUpe z-b7y(Yxjl5LY$u4z3SBLV_oZeKf7R>ac%2va*%u$rOj@9DRhL;QwI80mPv(#mKF=1 zVjPd(xEpX4i1TzoI7!LD+4hjm+k@P3KB{xD0CXNJbv8vxZJzSguA1;bpuW-;jPi2zjQ=eA-dZ5pePIW zLeEWAm+r=uIA~mL)_LPx!z?AH5$brV$ZZwbrF-$yAUfum9jHxM${Zjr``7(Vc_tqm znx?JZt+2mnNE(>SA%guOklc%b!|@7>4IN`+1!kSy#$i=G36atNJv~B(?9nZC9&QW5 zQCHAn`#Sm-k&p^ghw)`*^()~#`s>Or3g7IT&=tA@{`kE!tbM^6BzRo6lFPSV_PV6b z6K#7#dp#Lg#T!)dLU|Cs^boLfziRa$MYSF8a*9927) z()3D~a$_INGu4)0`@NMnW!{|XcWOt4cE48iD0Me-{*hiuKJ zpEYtG=%2_eAbysgZ-}4^Y7y9IGj;QxeIW6?N_Yn9r2o3VsZrYOt!vgi|_2nFX&}w($7ETn4Q>5+R<$mDr4M1xTa-)V?Q%V%R=HG zzEn26l^3wDYE7P*QqeOrtQ1C1v>;p}(vGL+0Q--@Qo~X+zSuesk1fXzPvGia5idB)4E3=*Ue{ApZWy@7wm@FJL%PHM8O` z;Q|Y5N?&Dz_t^yG6-$CMK8G-Y_;s3Y>-69UG~Q!J%e80aiIp><@wDQN6p{Mq1XIkpa6o<2*UISC`+9d2>g% zB+302iyXK)gU00<-QMl7mDPscN4nY~dO=585C1Bf?P6r! z$t2uo5UB~mO@g%(5f?00p2M#dp{j0bU})N4?A1AYon~Hrmn(bS**P zr$tjMMpT=^G>848R-lhf3vQfqnzv@qe;nC)M_#gcLd`F`U^o2o`^dx{I`kCKXJF^9 z8iD>bGY$K@7HUxyaacB(&@AhPcEzvB=LIB;d0=0|f2zm-x$n7sW&gX5o>*`e%a}fzFN_cbxs}TFMS>Js`t~eH{?yy9o*zh8IEEvXcUqA>h!tcr^YSY?E`Ui z`{zc^mKhGY20<**i0IU6K6R@O{$e^b^K`oJrvuvhpnWrcyz^GSE!Zn19$rA;jW*b> zg$?<_&-gDd$D#I_s3gET{p z6#`7)KLjcTuM*{btLG7FNgM+5T**Fa?j|l$2SyF6`9fiP-Cpm(mc>~XRs6_cg0jNR zHy}Oy>;5Lv_r{85vvlwwNEA|TT?%|qf35R#rz_U`gyz8E#LBm){)^kO2^e?TL0;;V zxhoRR2XMf;{D1W~J$1b&%c=Jvfz!6det;jc#{NtGM1JDZPh!@C(qTj&GDpxQl-mLKpTGcBPj;VAJ z^b@GPkWM1MzX0NePZx+cG?wove8j7k4LxI*7%B1WS+7l6BNM%oa1`PI{Yn(kK$t+u z$Z_zUD#g7cCU`eCg}`#!pQ*@!;FYv)?+TJ{H81@2EE6Zs0L+N3tZ zZnY(7&x;1<8_wXQ6#dzhhzWsw)af#4A)ta)RW`ip(&*FlvskijrXunj$E`UPe#CBnDC6c1}1(^3+d0P!dkdX z7m9QAhH9tf1E0CK2|t(s@(T5sf|5QPEH7q!y2lS*qaQE~*jw`!mK0t)Uf2q$G7&*~ zsiA~W%u{A>xUxWf;yPl(YI{P3$A(w)@C`6hrtUTd>T0?@0-i7l{U7a#gqlAF!q(xZ z*CHIvz-Z(9n44U;+fuGr2)Zn&NP+Jm9?6)P38-O#{UOje8%N?t3D^EXk!sqO*mVOa zY-s8hIf~0^PJ-Wyu@=$+`yLu8odu4Gg5+!y1H6Dl` zovL`TqEo>S!~vp(JW9sCb$pRRS6;}ZO%vqyUsDFaeTRak7UfcCzN*H_3?u}J{5A!5 zKRm<7f-M%do7Wfak;MTdS7>a7!RG+6SFyVDm%s}$Fd@sL3KUm;&wK@OA+~$*FnPoXI zc;A+mV{;Ig@aV?^!i}p=k?uMivxJvSv|cBP6L+F0XF^mdNOUO6?Npz{0(QsxV@lnx z9Y%8$YTcbYe^!Fm)!T?~7GN78aZ`PdPjo;XQfHusRdERi42<|*7HxV#1EDZRL%eeW z`=&3nPQ;+q0W@xL>Q??(dw(_}vhiB};fH+=qn%ky0Rz86!oIWW$9K zjq1JOs+*6o8b^uf3gTC{WQk~$ zo2GLM`!GS{u1uXv;RNT^aaXk?L^lwtP8)9{ca-5+K||+Tb$Z3sx4+ zA)J_h#n{)eh7f}EtHV#+KX-COE+c@v%y4090?bTF?@a`!3R^SF_fO2?9f4hB_gbyr zjm>gjfqE)u(>dBj-q-y-P0?2aIZ_{7I_IFO-F4KT@s5Za=A*#*@;IfxU--ZoXE)6a zQ8OwjqJ01}#eXBMpx}F;Gun$Q29i&-g3eIt~Z=QvJu|D{N5$(;Lv5QtKEg~2? z2L)h1iNC(?%SW_DEUv(|bMu9WvliP2cR>#7aqf>ELm{I{wTbJx8zm;lZ@ld#Jz;{h z#svFApmC(nB^wIf*KJk0PCg#?=umMK6rqfK6ecs~`c=VXcJZ$7yn7I2e&8B`iX5xnm&p3WD1K~cRWFxAf;fISSk1dZB zTO2y;@jJhGz}H8zAeJhRw32{uwUPx@@`!k*wz2{_rh2Q2{4CJ_$J<*+Wz{`@pmcY4 zONVrKcXxM7gLHQ)C4!W6cY}0;5+YqvA|Tyy-@Cl$ylZ{$zwi3Z-=Amd>^(Dk_MG!P zw7`0)641RE^)z;X_vSse=B!WeI3=hd58jh-*%sEaGFiy(6K%X3@IGy?l#v1WasMIC zod4jR>bqSb&JtPTar@bb_DV-)waJp5E=dOl?57e8TtX^TM8VyC@gBvWmD>x=B<|y1 zL-_4rz$4t<{TsBS7k)zkQB2?ixiwXp`_s2q>_tKGa-B}D<5Fm$m=%U#9RU=W|9oRSJ4Ch?WkBiS{m7VwPb3SE2v(9U7^iA5L(Mkl!jhfeq(-WBZr}ZLNGge~k!rMkd;TXgZ~|bJ+=RcO}4%*Z$_iAAd~krmh(T z+qR)|uRfC9&X@E4n=3k9kfz`l-Gx%jGaPABfhO~S5e zNH*V}lvnB645@GL;nlxXU~z$U+D{th`{l_dEtC)~y$m?f8VlB5pX2V}`r2_+xRIZP z;Jy)|DNYd!S{Ai_6W$N!g4n7ckVV96{)G?WrDn;iatNGn_$`)7&$(II`p>}7g{DMg z!RR?gIId%(JvDjM@=x5+*MJ?I9xO>U6e(j3Xc|@lu;In`f!0M8aSa%D6U5Kj;n`q) zNT(T@{xRZtY|JIfoSqlTME$A!@F`ofI!|AszMG3x4d54R@cQwOZLQ%3{O2OFF?;RD z=?Et(`$^9Z#2sIz{T4$2=aT+RdPQ=yoUg7sgdu;55MN~zc~u?2J?_huEG1Rt(dY0e5kD27bv_VN zwcKimrnvT%Oub}+=Tc-8<2xnE}xJKv1|TxZ=<4g?K2$4j-DmE{n{ zovGfh0P{8608fI+du6WPoAOtzLhm3vJlNM=F)RyPx5tWKx}r6DS&SCm3LksJBTW_Y zn5y2yF24-g`(l3b?!dVBRUI=6e@k$~U8W3YEd*~72KlA9+>;R_)8+)XrQ5G`;$yWS zq7U>pnwSuO3DDcIz!CDo;+s?8#1ki{RX4|yXtoMJSA1`9NedIUSwEOIVI??exNJ{Q&u90GO zC+Snb0SZ`;AQw7+lFZa_i_M-tcQeuV=(-JtGh7(yz5n6T(*8^j=I8gXmSuZ~=!-27 zC8km}4$M_4jT!C`;EE7_r2V3kOoIpPDD>;l*y`g|sax@~XE84?bGNoT+BefyxXAYK z=6(9No{PYfI1Wtevn*95NJJYdlGjl_ohjBd*~6}+~_v}DX3sy%kpl!B&0g`pm;#=Q=$Qe{qJMz$EU;E}T=B$&2e0bOQReo^4J--gD96xBzb7=w*d;cAy5ThZ$`pE=PQE zb&x>L9eoM8LvxG2?Xx?8oA6)!iWDJeHzW9NZ5vy!m7JOYxo#xZ9%A(?y;(570)VUB zrb!9%k=vQ2EnH0%+&V&b9RK7e?DsUVbQdE4OUMr3%xd#YJ2~(U=@-w3c{cewl71VR zlrlHSr9BB)*>A8iit3@aM+VIEX zYx(3Lx^vt0K~pC{ZtkOk^~FNskO>?`SFIYpBSl-ZUHhc}>d$L#g-X~8@V%3qToK9d zdb6^l8kdN-p&Bqkn9Rztlj}#)$6l;bKBTe$KW^OE(?C^*s?3$+(QT;g%Rg8HZHVbZ zb0%T9SWX-{;Q1#12It`5ll8WD)68;e-+ITdG?zMx!Kq}TFSH+XeOl!Jeq=*h*oBYR zR1VMM3)mPc_-={)_}wnbI6ShgcwN&$V14Q1B(UZA z8afD?DCcefKVPHADjlMZf?!3+#_5sy++&%LdDhLiRg=W_U%H*1;Q1Gh<6%RZ%4?4& zW)4z6A?EWm9K3MvPxTp92e$iG?q6V?7S_EsuJV&`+oJJ4G;r`Tx&6bBNgQY~op}!h=y`r( zc0NYl?he-4pajE^N$OfYD9@IaBt|0<@Q zd&}Vuo_9aED`50zUf$d~v8#PX{C$(f6tkPmTz}vME9#|(B9992yWYc8Zbk{jd2GE& z#7oh-dyp57SRF21o3_;J&CAgO>m!*gOETsCR-0vLs3nCX-ljqcPRk>WpY5Kz1Ot{u z;idpTE54zcelwLde5uk_SzMVTo|L_9k|Q$_jKwdJCvOp90o>~qwN%dgKkuyiILQfI z*^E7piMrJFnl2=&m81GDFcAS97X*oL(!$5~9#)n0Dfs?mc?@JC$zG|1Hy=vQk;wDF zdgLY!Ep}{=bZRODHIj5idH`~L-m#&2`zZf5TP%}`j1l0+9Ttadfk|1`qjDcD?+DKCkqLCXPM#M36C5bAbZOK-dY=H*g(| z`bSDv7dOr=JtCgZuRbqA;a|U*)lsJXa_jE)lQj6Yb?`w}9QNE$rQAB4`qT-?NxH z%2d}?jrZFpHfVpGpIU2R#u1S%kc!x3DrfKD=M> zJtcb_M(c+i`cY^9kskWbIJ)-KeN@iV78x995Pu1fgCsz+l)K-wymjyva;bPBVMJ-Z z=~2vvsbNCAq2I?2TyIC(jTm*7F03vQL2^fQDYR^cNpMz0md#R##l=&JpTWMz@tS)p&J+dXZq{bs@oJ7*5&aX%;C?{By- z{Y0WEr8dQ@6Cp53Agx44ZCWa&^jYp~z;z@{t7F~kj{Tj-%QZ3oEMtwJoBys*wSc|v z#EiG6OaRO;R&e*}5tmcqZ-yP1%^=i{hp>Wr8b2rSF`O5{rqdW>0{*i)QiM4m^H<#^ zm|vTUm6p91K^+g3M4Au?7H?w}F$DWE3Njt~*rq;o#uwV~d(XMyoZpL>Nq} zv0%MgepGZXCh-eOwcG+xJOjF4B}TJxlDZ%P--n*>=&}b#*{Bg33yRn3R6NXPd!3pN z_3ttQ>%9AS#rC1x9o8w)Bw22GanlMeBB~k?oOrYuP##1qZWe$(qHt(xFImuumnAS# zS5HHm5-`6tc|;1rG7OlVQ@}MT!8W<-qF8)X`x&qH4HmbFyv6Jmz&y^b z?nj}CmOy^ZX~tMS`g>v4obfRcB{!Hhrc-f;BNen)8nWkpxYCAv=H{ldVBJHrBw5sr%YwY zhEGb|4|0g2m3d%X&Ymrz6IF7GCGDVvmZ$3f+W6*~Nlo{UawN5H{G!Bb@VxfC8wO)n z=LXHczNArZ{QSPu7Q!@EXnk)7wh2XN^dtD3KHI^eiLsyaQfB#@sdpaTl^$t5!{bUD z!WhuKQQUF_*RSkPIk9g~c>S`2)9bfS%WsNBx+(8FKZ+JT*;d@>#8*)Vr#U*^R7729Hwfgk61qR(^7~JF z7FCY)mmNFv9G^Ik|ID3y5huz@-S8lj|RtAmP&O*|U${+VmHWOGR}& z=pp}o>|k6-iir>{Z?xr+N|(3Bh$kW7RO4SyaD{Z}pgmWtV2D!#^ub&f5((Qi8@IN? z;~K3Qyi`~SgSK+X9%x1*G>R|OcK~q5GM9q#vs2^dX~a1liq)o3L5Ve*`=@O?q(?}J zDo!c@E@}feg^iO)-+#$fY!=taSb>C(KXccGZ`6{CtzC=;jLUVFQmZcLZY%111IK&W zk`H9&NM5;b|GX3AAW7dT%`-gwC@3* zduSLJ5-FQV)V=B}4AW2j#ud}d$GuxFY_x|j;sH*5AV2=PUCOsJK4f#IXMrpsrUypL zTk*oGj!%{_uu|QE1YkW`!!th2{E{?O6-r6vR{_<~G!K~&FlS{fjb24P+*zy&*o$(y z;>ExE>^F8*9+v4+5)t!D8aw)jCDQT*QO}TBAJ}h1KP&or7hvADq5cdxz95p#Y*ZG@ zz&2&&OWW&$o;|~f)Xr!$g&U}e(De3=ldFdz62xBu7wf1Yth0aZ`!W6+tUoqPp4c(wbi7IY#y+0v;%Dam{^y?< z%~;VRhx)iarm2DFh#wUgwAfbui{{1L`l2NLsm+pDvc2zQ_S2LMUQqMjgZB$F1dY@V z+OKiQtk?CYp;6{=ziOzeaZl-^w)dZEWxulm?A4`|E<@39T7{RqakM;>ugGunP`|~~dHe=Bf*U>I`)ML#Fz4y7q|w^PF#VR)lv(+v_Cf^qprI_(UEaA#qP)A?v0Ol3Ze(!7+qdE8GD*5^0I z+NdBuOoTU<;gUDl#O!!+uSULQtY2z;o;zCefBKeu!K}RU6Z1l2IbE1O82L;EB3jQP$~ayc;eY%e*X{M)kQ{Am4=(V1UDN@r zL#*Wcw<49BHgPn~EBl%hfSib-EtE`-=Yc1Almtq_BmVZXc8AW(>V@y(Wl%$PGYkL@ zT>%|U6N>k;%SP_GS=|H~ql@3{=b>}{;tpdRUBhp%Pbi%>)B8p5tC5kdw`H`P#4!H} zR-tVkYxW?E0~cHWZ?N9mD+)tPU;EO~1=Ff^dSTihPd`SRC&TVd>Mn9gLVNBE$R)f* z{*rh28tTk1NVPQ(xBm)q5N8FN+#E_PZIO%i6kOMZxtH#$`K1ySH=>-T^n(R=$<{5H9O)b?=6>@npz}riH-!`Gp}% zd1(W#;wFh+(?Y`>SCp$=Ie4)S7g}AOBk4UXIDlUX?(@P}{k&A>U6Nj9-JNpy>mE{P zy|0M9QgFRf!kxV;UnH zjo*KoFrrZ*poqxJz%)32$>m!UOumdRHakPr={^oVeKLxg^eaaQE;{A>+I0 zbEmjk7sxOIILq1R)xtH`k@+XjnuT|HjEjK+GDn$-k}DX6k$s;Z6agFp^`UI@s|u)` zKf__jd>+DgQ64j;Qe?)F&a(Kb#6P(pM ze|KiGf^pCfBW#I}k8BnXCN?6oamgR)U_4OppyYTAKl+4)#4FT;xH+E*e{n&G)SzTM z;qoP&*6>L4DlF%=wM~ZJV~s-bSAg6tI~d_V5s@KO1;tb)R8Z^oQN*qn$BJU5)x=7< zL=WKl61YnYLpIV~_he@V` zL)*M`Q9NQIzh?@VhF^TDYQ+}=_jS8wct3m>G&5xHJlQMvCqMd$eW=4PO17rb_JJBI zQDy)?R{e+|M%ARt{YV=Ic}kmUGVHY8ra)gAPkLGZ zI!L0m11n&PIy7yI7muz)6|Aqk#v=9objm-PRx%@bGkxu>ioEOPeG&|$wGs>saa%W!g=^`4cqNWSl2Khk+=n3bkhvXPwol9x`df<5q z<(c&UGf+rOO!@qadjNc1SeID!!xyt{s0|Ee&f8OCNmAwaKR6-mbugmerl%}`e(84c zl*DyYsnmYQSuznCgGFgjSo)3!+RW2s@vwN1od)oWjR*^UZ>+~2)xsAS;s=KiO$+9_ zdPWWB%m=eEkLFG=kJtJ+WWOs?+-&|H$Si-S+_qXZ7nv@Cl|4(&7`%+N zVP{Qu(Q}sdm=*sSi@Ac-aSc0h=vYxQ98uZ<;jr&y(nDCP z6ILcU;nBc+sLQXh?YV#Gb)-4Iz^9R7LE7`X>n&ez-+>5KfVQk0h$BZl!~7_m$=)-2 zm*g~B4Vhf9U6t@t)tl!8xAXMj0z6OtSMyCbwO+!3IHgR_6gaM#2h>9UJKuDc-}?LV zc=@_Y0Mk3Mf%{VY7%oKFg9+L?2W5&S@UtW`{$L0Ir8?m0_%(;W@>jFe= znsF!|>%hF8s4EA>);=CzP-2wEFR328Tw)7-F8Xb*4cj^_j(i0?Uu_|x31UUVnc)gS zQq^~Hb|`u0*F^OARB^V(=ADN=gYiUpF;B7|!gR3Dt>cPimCg77d8?y4V5ITB+RoQe z$`Ra$u^d?sQhCC`WCa(SpW01}1E(o{+3YSM!f@`gvjj)M{lIyJF*NC6*MxzUNw$bY z@cGd8IWVHMoa4sRnY$m$1I!!ZY4&WyiqvzZD=MxMNe+l|ge>kAwMqC*BjxNq! zjV&|g%zAq>`EJy=^;xay418`-Sj@3L@qK9GyC zLGhPkB<^=O>M}()Yu1x1IU$}VVvoMx*)iWRi?{lRQypX}fYu zrHx@P41}Ew#{yv_UPaK)(jt_!#Zle=G~_tw)-U0D{F#$4jt{LA!p1*@YSAlL=^jzk#5RiZNT zW)AQ}=k(?w8C+4Gqg!FSNz?uyHjApl3n4i1aC)R~;Tr|^tvZtfme3DdC{T&xgmap+ zc14TyWM~-%i$4Aix5fXZ3hHMsHP$lG^2(rXgH64^6bjqrlOZ;bk{HI$2dguuG!g|s z?!17qmS;%HWpC9zflbU$w}ALtj1%Jzp2EVOPyUf@pdD?yvgj<7?j7`nIlQhZru0A1 z{GYMgPN*xz#~Up&_P{&c{Zq^Ad&uz8AhYLB42m8G-3dElmBG_6O(urf!$i35iBi2`0 zXxaSnm1%C>VU#=oJD8&G(k^r{#x(X>ZERjNrZXmPoz-@8}>qr%yD#ThLMrfg5+KBI0aGAC>~d>7Dv`T|^+$`0gFbyI0iC}mhwFOF^nS17ZKcV;o1i*6^FO`<10Dz-a8g1R^c zPC%jv>~sEC^GzGWU6k;Gc81(VOt^!VOEy6L2I#Zx=08@Lp?E-e67Ju@!7jyL!rf4u z#gOe;YiX);{S4OYIv=k`C=R`THS|FG+$v7tyA@6qX~<`&Uo2+-AQhJc>s~9-^gL~1 z=iM51m*?^CSOw;>oc$x>v9g_ubu|ul0$@CMy8IJ9B^)F*bBVj7(%@yzVZ$v&5tpjx zp+4E6{MOG3&=3COEOqUOmTaH&&IJ?M3}3@152g6_f?HP(g`deNhdKamU&SMGgceya zPIGWij_Zw^wu4>S&m7^OpM}Rsl6=2|_o9}&Zs`VO57a_sGms4|j~7tkmrSq=2%PUN z;Y-EMcELLT`jFyGKW*s!eeqYEY}bJBLw~30>kywgYghDBCMtwfgLG!`7Ys zC(K8EVhSzapCP}z7A-K4yfg#zmzd)<+R}N@QRe&C^v_{2wE-3H(HBGRaQa7ahPW;t zz-}gl*Gz`dhen|}fqmkUF z{=gOUt<7osx}0_DlJh7Ew6}TWS1qJuR@3#?XQp`cRM<1Txq|#{f`hE+A2=Jr!{EHh ze>LB9vRB0eOaF$;S6#|_{jl8y6XGuc{<1<+EgE;xcM_R0d#4_UT^$%8u$qyj%c6eP z`#?<7h!5cIx$@r&MG7xy8lNycUs5OpgpnC^JYjQ&R_n}uaT4SQaOm|s!};)f^>$aTL=XqCk_r5^Gw(7EKp3o3qG zKN=sC6VuFkbz>*N#|Pl_>Bz(yHo79;We=gH9i8bXtokNJb1nHa8JGyA;ah|2w^4L2 zsg@wl9!ZdG6pfJPp+3N4vtpirud!LMt7gstjMFcnH^>i(p|`yM{7upNfcHG}G2ZGM zqHKG^OB7Bhze}*b{;%enin6x3>Q9%+11^dUv@yM0F(CdDU|)joYxZ&?Sq`b(iBsLT zGti6A&Rb*MvCR;R)Uc-m3!vU>C#5N`E?XV3WFDnT(UB7It*AxeFQ%R4gjmmij{JMC zvF88hc=917E#iLT+QIXO8CgZZnHSW;1(OArSHM?NupYtQpNUZmAAEF{zkn+HnGx|} z4=FL|HKV1Rf$pdjG!3|KLO#wV@CI5`&twv(^Isl3GosVrR%?oq9v%@y`f%TZb@w(> z-J1p(CEFF4Ah9e*9RJ6{%1BX$mYk*qh)nMoNlL(8E-86Zvu|Da^9GwT>%@{*mnrri z%=TRpynYpZkqfMH0dS$d9aBetbdippIb~zKo2`FZb?|R|TQi&1OgnzlB<>F2P_?A< zx68za4PU z>uS7|gd%i$L4c3e&*-URxWOT`i54h$1SZmTevD=(FTbBn zFzr^2^&|)5&R3p;S6kYNhCfn_9J6LeGENF|x!$KyU&B%=HqOeDfqC=4nr}+v6;{I# zuAy`BGM)cSBIgHhqGCPZa{z4CkD|CVE@_033zwqkjnM_JKC(D zSVq2dtlK^$LyH|AAeWW4Q4lWbo(t!dc9|HT71T&(8XXhNS7#>Sk_>`!JaPb+T?IiT zoM9l9RE2oTlHQBy;0_x~dqm0RA|dU%qa+00w`DA9kWBE)lHMc1Lo+idQ?18)QU>tORX~E7-+wjVbZRFmD?a;y zH1{*RnWLDw0vg0$0^}$zwiEIRY1U0*Z??Q;JDJ!o-Z?}=z#E09)@YavJXZ#AtWw_d zaX~{6bMyN4vS#fv!|Ih(SpD-PYvNUg7P4Be0i0D;#o{*Mz&r+FR#%U7rPA!mmj*Gc z&}@0h1c%eaV^#o{T~=Qm-iO$z;pReNbr9ChUg>ejd`A5?NvY6j36 zBIE9gMhsv)56~9O;!c_P?f%|m@YU7B?;s|d*JN=ELY`ck@ciF2-~qXVUxLG8G*TBk ze!j`SV)=yp?O++b?gP#Y2?mMWq_!0pX9j1tcf*EiD7xw3T~jxs>Py~SPe63RP*cCU z*szt>2k$c$i*jmX$v$Q)Ei zcFKw+VrgHjlIq&J%sCgH;Y`t@G@xI8G>!4KVU+NtjmI65K>8VMB*Oz#ryZ)v2XmE{ z5%@O%?!TIEdT)}1WG~}R*c3#|%lGn|8x`U&0diQw2@}*hF__UNAka9Rx+|$AzGPXd z-pIao6o$BMtpU$rkiUOK^Wn!7QUrcHU1)Xeo+4kqRAN+2b$Jl;y5P*!1o+(%-y>eF z{gM&f{#AIMXz0h4rUeOOv`Xm6UIz0H(H`tO^V|$uyBk2hiD!O~wQp(B2i((_2x1 zM%yKF*jB-}ZH4rw??q@?yfnD4B6Gn9aW2_O9m6|(Bxp9t6<+UyUpyQ;eC)K4NrKkQ z`df7*!M^jRP=@+~dBoGlHr$g0&BUd8x?GlU@|c_$o@9J~LSI5aE|*V@FFo^BZXz~A zEYX5y*!+Bd{91Hwwq-vH4(v+-crNZPG-Y6*gWDz+@%CZP2TzCBL&+o$e`Dbr|&Ua|%6#ei4RQH#&(vqi0vfZYFTzUlKD8*xufSvG$) zQU=%lS~V1izXZq$#=6!lzc&dYLSeWKwr=`h-#W4+^VNy(CV{F)wA>hsA20f}-?fdM zd_p+6gP9B=QK3~!jLw5pQ+5=>5DAI;+yH*ooQ6e^Uc&kV-!oh*Iq%1oG5TpCi;yl? zxEQ|Gn>&N?77D{~`4IJ>X;>Tv8s=-$&;-#>l|OAg_rFyja>9QFQ3Cvay7R%mUdKPp zS)vgRSWcpfq1w)mC*hWU{$u$;(88Dwz)gyT{2n4pw)_z7k=a^ZyxfMQ#F@#zD%V78 z-{bjQXbIrf9&RhXYi9}jM9h72^c%c=C+Ke{-cj#-+x1)Fro9l{$Amn>$!u(eTJ$SI zS(0X9o^e8jv7z533V)e_D+$(>bf8RsQ5)X((GZ0N9 z9k%@Etx7D#SBQN4Qw>8`S3>m?`VP%tozfBmOR|=JFhrVJ(_=Eu!=TbEN zjsr1M3_c7fNA&jGmG!hhWi-T~vjaGrCBmK%Z`S74!dhz^NMfDD-7*NDsB$zt^d* zk0`Fgm8kXGzjMEolJCL3pFoNgWWyH^vn%Niiq$Fo;6!_qCU16|7I!a}}!U#8=SZKf8Pjve_TQ$$siSL~+r# z`+ zm$|B~Lx{O>W03v?OF{Qd69XYgTkPNOGF{1r$_)`JpH=p|S-!u^5e#y+F-{6U&_&!= z-a+q_bOrdubj$Zk{@ECcMXAn0zVj%Zil}Ck)Yx&g%$YND4SWaYDX*%T_zG=&Z z-n^3$H6=h_M10tgC0*zBgGc zNq8hOd{P~;)ZH3#ML!(IW{R$D=_svxhJ^*}J3tlgMwb7EL*8LY^z^Yd2UXYws;E>haCOI@_NS0lB!VLb7N$`G&q!$f?tPljXv=jW7bbt39Yc z#JL(y2f%air}c&sC0cPmG2x~vlyDTqvR^9_ZbCabh4FBSGhTFHU+%w}Z^{w=VDkY# z?~Qz)qnA~PA}a#KUjp=o>CPvBnXQpOCt}kmg!GJqzd;{!m51{4mt=mLTe|_*;WBd$ z1={Tu)@b%k&|l{zearN%4VRX6_Yyc_{U=V_jIQ&q zd?2p(w}pjAZNd6#@2>7o@#Y#t-(BKMFp=3Yq>!;wU^%&FL?`3IdxGDf9~d;_MISRh zs3?oycZgnKjiOGHShPrZlH23N_MDSo# z+{;U7Th`bS!2MVAP45iwFvIfkW$O#%jC1eORN?=+73{-}r<73B4TxU5-l-^wxGTgUPi;Z#K{?%{#(xV-=v%Qk)**s+!yx`GfG8j3&qE=oW4;dvc@GE z`vfAJx?$9_hSpxV;5sx#CPu5SQ;~bG^089zMh8#i>y~IFcXrgqaM>MyJS!vMum5Vk zDbtnNQx!&^7Fq9(imLHR7w&)jb<5LQE~{9b3Q?ivH#^c2_&Z5+jEzig2z4bMvGKPp z7&nnEDWn>ZB?WB$AiQ237%&MPRzhiw#T#=H9Dy{ZLUjdW_(V>e?ML45MD?4A-U&Q|adGSAL;BES#- z)qGR5m8VpdST?PApSXlMy1o?b|M(#%P&|1-7DBp8O8daFc;l(Qa(VFEElVN)Wc}NN zBQEg05jFAyvt|;8c*$CrIp*27$IIt!zh2Rm%|>gxHzo8e?8xH6vIxkvnNA&8(L?!M!=7N`#<_W59d98f|D*`uQ0s4AYn;=nSIHp zOHCV*5>d*ze5nEREMc-)LRkoD$7O(R+e0U7+(PFEPo0#KppIpdg3C@#Fkh`9(_Pc^ z^uL$dU%#}9XN|Nz(caNNuZHLitD%GWZ?ij|qv5Q2 ztM5mZz-M}cOXWnejs^X~#1lhL`wRF2ae&|V+9eV1)~$)68G_etZ>(b}o5kJf{!C{a zC|H&s6~~DIxC{SEe*(5&>>Tex`-{|2^P&xek~VF5AFBGR>~#G9{eNd)Lf6vSkNn@? z_=Xyvep!NdqA3{N73N@oT_^rG*$|A38Sq{7oxi!?m3FH#S?lVCa7lnuS zWVuef2IEt^P9sE*wNhc3!xNR!E&M}D6?*{d>O^8ti|+FZF*t-^3CvF17ZQW>OY`#@uSUsfz>gmjFKu`O-VlwkEZ% z9Gsnp?{0O8U@D9IQa$usd?Ux&_3s9sr?_0a*>Hz?k0P#1;|0fc4BETJSqmy&jE3U^ z>&b;fFm6j$&u#zgiWrq;2bYpc%b(c?3IhPJr+)NBpNrPQ{1nWIUKOEJE7 zVMnlsj&nM=gnawBGH*nu!_aRHp4aY51GS;!dkXA-#Tgy`pmJW#uIo$E>iA9{VG_P` zpatgZrBZXqhg%Vx+*jGS;Snz%5}WP>Se^6+d@*~Od~IXF=agx6I1eg7w$oe6X39Hqk8`CG@~6kAJ?G z(4r}W2}3PPe?Pj)u=npAiPzrioWo(eCw$avXD3XE-f1$nqQzGxPnoBvc<5gF;M@mE zfo_#N3b9EfR*A&qp@`kD$MKm?F?`IT-NMCeA9-^?zk)A@FZP>XpmF(&XUMFu&Wg$H zHdJxG(tQg$xX$$$1M9w=dNB(Dkq8-$6cYvRHl~BOUDXXQz8lCYM(o~vsd>h) z{(RsO&*{YU@mK=yPyXy=&AH8A7`*@IZxh~h{Yo-V=TKcgIDH9yu38#a83+4d|JU

2_4muaJS^(1S56&HN04H1rPnM9LW^NMPCHN?t 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

&h3WPe#RJ1 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 HPvQRr%Un2K literal 0 HcmV?d00001 diff --git a/crates/prover/src/types.rs b/crates/prover/src/types.rs index 331cb5db01..55f9a25c99 100644 --- a/crates/prover/src/types.rs +++ b/crates/prover/src/types.rs @@ -3,9 +3,9 @@ use std::{fs::File, path::Path}; use anyhow::Result; use clap::ValueEnum; use p3_baby_bear::BabyBear; -use p3_bls12_fr::Bls12Fr; use p3_commit::{Pcs, TwoAdicMultiplicativeCoset}; use p3_field::{AbstractField, PrimeField, PrimeField32, TwoAdicField}; +use p3_sect_fr::SectFr; use serde::{de::DeserializeOwned, Deserialize, Serialize}; use sp1_core_machine::{io::SP1Stdin, reduce::SP1ReduceProof}; use sp1_primitives::{io::SP1PublicValues, poseidon2_hash}; @@ -47,8 +47,8 @@ pub trait HashableKey { /// Hash the key into a digest of u32 elements. fn hash_u32(&self) -> [u32; DIGEST_SIZE]; - /// Hash the key into a Bls12Fr element. - fn hash_bn254(&self) -> Bls12Fr { + /// Hash the key into a SectFr element. + fn hash_bn254(&self) -> SectFr { babybears_to_bn254(&self.hash_babybear()) } diff --git a/crates/prover/src/utils.rs b/crates/prover/src/utils.rs index 2ab983b871..cd882897e4 100644 --- a/crates/prover/src/utils.rs +++ b/crates/prover/src/utils.rs @@ -7,8 +7,8 @@ use std::{ use itertools::Itertools; use p3_baby_bear::BabyBear; -use p3_bls12_fr::Bls12Fr; use p3_field::{AbstractField, PrimeField32}; +use p3_sect_fr::SectFr; use p3_symmetric::CryptographicHasher; use sp1_core_executor::{Executor, Program}; use sp1_core_machine::{io::SP1Stdin, reduce::SP1ReduceProof}; @@ -29,7 +29,7 @@ pub fn sp1_vkey_digest_babybear(proof: &SP1ReduceProof) } /// Get the SP1 vkey Bn Poseidon2 digest this reduce proof is representing. -pub fn sp1_vkey_digest_bn254(proof: &SP1ReduceProof) -> Bls12Fr { +pub fn sp1_vkey_digest_bn254(proof: &SP1ReduceProof) -> SectFr { babybears_to_bn254(&sp1_vkey_digest_babybear(proof)) } @@ -87,9 +87,7 @@ pub fn is_recursion_public_values_valid( } /// Get the committed values Bn Poseidon2 digest this reduce proof is representing. -pub fn sp1_committed_values_digest_bn254( - proof: &SP1ReduceProof, -) -> Bls12Fr { +pub fn sp1_committed_values_digest_bn254(proof: &SP1ReduceProof) -> SectFr { let proof = &proof.proof; let pv: &RecursionPublicValues = proof.public_values.as_slice().borrow(); let committed_values_digest_bytes: [BabyBear; 32] = @@ -125,30 +123,30 @@ pub fn words_to_bytes(words: &[Word]) -> Vec { words.iter().flat_map(|word| word.0).collect() } -/// Convert 8 BabyBear words into a Bls12Fr field element by shifting by 31 bits each time. The last +/// Convert 8 BabyBear words into a SectFr field element by shifting by 31 bits each time. The last /// word becomes the least significant bits. -pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { - let mut result = Bls12Fr::zero(); +pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { + let mut result = SectFr::zero(); for word in digest.iter() { // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be - // within the Bls12Fr field, we truncate the top 3 bits everytime. + // within the SectFr field, we truncate the top 3 bits everytime. // so total size of result in the end is 8 x 28 = 224 bits - result *= Bls12Fr::from_canonical_u64(1 << 28); // shift by 28 + result *= SectFr::from_canonical_u64(1 << 28); // shift by 28 let masked_val_u32 = word.as_canonical_u32() & 0x0FFFFFFF; // mask top 3-bits - result += Bls12Fr::from_canonical_u32(masked_val_u32); // add 28 bits + result += SectFr::from_canonical_u32(masked_val_u32); // add 28 bits } result } -/// Convert 32 BabyBear bytes into a Bls12Fr field element. The first byte's most significant 3 bits +/// Convert 32 BabyBear bytes into a SectFr field element. The first byte's most significant 3 bits /// (which would become the 3 most significant bits) are truncated. -pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bls12Fr { - let mut result = Bls12Fr::zero(); +pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { + let mut result = SectFr::zero(); for byte in bytes.iter() { - result *= Bls12Fr::from_canonical_u32(128); // shift by 7 bits + result *= SectFr::from_canonical_u32(128); // shift by 7 bits let masked = byte.as_canonical_u32() & 0x7f; debug_assert!(masked < 128); - result += Bls12Fr::from_canonical_u32(masked); // add 7-bit + result += SectFr::from_canonical_u32(masked); // add 7-bit } result } diff --git a/crates/recursion/circuit/Cargo.toml b/crates/recursion/circuit/Cargo.toml index 8d8d5c9f30..8bfd297baa 100644 --- a/crates/recursion/circuit/Cargo.toml +++ b/crates/recursion/circuit/Cargo.toml @@ -19,7 +19,7 @@ p3-util = { workspace = true } p3-symmetric = { workspace = true } p3-challenger = { workspace = true } p3-dft = { workspace = true } -p3-bls12-fr = { workspace = true } +p3-sect-fr = { workspace = true } p3-baby-bear = { workspace = true } p3-uni-stark = { workspace = true } diff --git a/crates/recursion/circuit/src/challenger.rs b/crates/recursion/circuit/src/challenger.rs index f92ee3df5c..09cde054aa 100644 --- a/crates/recursion/circuit/src/challenger.rs +++ b/crates/recursion/circuit/src/challenger.rs @@ -435,7 +435,7 @@ pub(crate) mod tests { utils::tests::run_test_recursion, }; use p3_baby_bear::BabyBear; - use p3_bls12_fr::Bls12Fr; + use p3_sect_fr::SectFr; use p3_challenger::{CanObserve, CanSample, CanSampleBits, FieldChallenger}; use p3_field::AbstractField; use p3_symmetric::{CryptographicHasher, Hash, PseudoCompressionFunction}; @@ -624,8 +624,8 @@ pub(crate) mod tests { let perm = outer_perm(); let compressor = OuterCompress::new(perm.clone()); - let a: [Bls12Fr; 1] = [Bls12Fr::two()]; - let b: [Bls12Fr; 1] = [Bls12Fr::two()]; + let a: [SectFr; 1] = [SectFr::two()]; + let b: [SectFr; 1] = [SectFr::two()]; let gt = compressor.compress([a, b]); let mut builder = Builder::::default(); diff --git a/crates/recursion/circuit/src/hash.rs b/crates/recursion/circuit/src/hash.rs index f01bb6bc1a..891457ffd3 100644 --- a/crates/recursion/circuit/src/hash.rs +++ b/crates/recursion/circuit/src/hash.rs @@ -7,7 +7,7 @@ use itertools::Itertools; use p3_baby_bear::BabyBear; use p3_field::{AbstractField, Field}; -use p3_bls12_fr::Bls12Fr; +use p3_sect_fr::SectFr; use p3_symmetric::Permutation; use sp1_recursion_compiler::{ circuit::CircuitV2Builder, @@ -159,22 +159,22 @@ impl>> FieldHasherVariable for BabyBearPoseidon2Outer { - type Digest = [Bls12Fr; BN254_DIGEST_SIZE]; + type Digest = [SectFr; BN254_DIGEST_SIZE]; fn constant_compress(input: [Self::Digest; 2]) -> Self::Digest { - let mut state = [input[0][0], input[1][0], Bls12Fr::zero()]; + let mut state = [input[0][0], input[1][0], SectFr::zero()]; outer_perm().permute_mut(&mut state); [state[0]; BN254_DIGEST_SIZE] } } -impl>> FieldHasherVariable +impl>> FieldHasherVariable for BabyBearPoseidon2Outer { - type DigestVariable = [Var; BN254_DIGEST_SIZE]; + type DigestVariable = [Var; BN254_DIGEST_SIZE]; fn hash(builder: &mut Builder, input: &[Felt<::F>]) -> Self::DigestVariable { - assert!(C::N::bits() == p3_bls12_fr::Bls12Fr::bits()); + assert!(C::N::bits() == p3_sect_fr::SectFr::bits()); assert!(C::F::bits() == p3_baby_bear::BabyBear::bits()); let num_f_elms = C::N::bits() / C::F::bits(); let mut state: [Var; OUTER_MULTI_FIELD_CHALLENGER_WIDTH] = diff --git a/crates/recursion/circuit/src/lib.rs b/crates/recursion/circuit/src/lib.rs index ba53f49a35..d390fc38ac 100644 --- a/crates/recursion/circuit/src/lib.rs +++ b/crates/recursion/circuit/src/lib.rs @@ -6,7 +6,7 @@ use challenger::{ }; use hash::{FieldHasherVariable, Posedion2BabyBearHasherVariable}; use itertools::izip; -use p3_bls12_fr::Bls12Fr; +use p3_sect_fr::SectFr; use p3_field::AbstractField; use p3_matrix::dense::RowMajorMatrix; use sp1_recursion_compiler::{ @@ -627,7 +627,7 @@ impl>> BabyBearFriConfigVari } } -impl>> BabyBearFriConfigVariable +impl>> BabyBearFriConfigVariable for BabyBearPoseidon2Outer { type FriChallengerVariable = MultiField32ChallengerVariable; diff --git a/crates/recursion/circuit/src/utils.rs b/crates/recursion/circuit/src/utils.rs index ab1afbbc8e..6a37107e71 100644 --- a/crates/recursion/circuit/src/utils.rs +++ b/crates/recursion/circuit/src/utils.rs @@ -1,37 +1,37 @@ use p3_baby_bear::BabyBear; -use p3_bls12_fr::Bls12Fr; use p3_field::{AbstractField, PrimeField32}; +use p3_sect_fr::SectFr; use sp1_recursion_compiler::ir::{Builder, Config, Felt, Var}; use sp1_recursion_core::{DIGEST_SIZE, NUM_BITS}; use sp1_stark::Word; -/// Convert 8 BabyBear words into a Bls12Fr field element by shifting by 28 bits each time. The last +/// Convert 8 BabyBear words into a SectFr field element by shifting by 28 bits each time. The last /// word becomes the least significant bits. #[allow(dead_code)] -pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> Bls12Fr { - let mut result = Bls12Fr::zero(); +pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { + let mut result = SectFr::zero(); for word in digest.iter() { // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be - // within the Bls12Fr field, we truncate the top 3 bits everytime. + // within the SectFr field, we truncate the top 3 bits everytime. // so total size of result in the end is 8 x 28 = 224 bits - result *= Bls12Fr::from_canonical_u64(1 << 28); // shift by 28 + result *= SectFr::from_canonical_u64(1 << 28); // shift by 28 let masked_val_u32 = word.as_canonical_u32() & 0x0FFFFFFF; // mask top 3-bits - result += Bls12Fr::from_canonical_u32(masked_val_u32); // add 28 bits + result += SectFr::from_canonical_u32(masked_val_u32); // add 28 bits } result } -/// Convert 32 BabyBear bytes into a Bls12Fr field element. All byte's most significant 1 bit is masked (truncated) +/// Convert 32 BabyBear bytes into a SectFr field element. All byte's most significant 1 bit is masked (truncated) #[allow(dead_code)] -pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> Bls12Fr { - let mut result = Bls12Fr::zero(); +pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { + let mut result = SectFr::zero(); for byte in bytes.iter() { - result *= Bls12Fr::from_canonical_u32(128); // shift by 7 bits + result *= SectFr::from_canonical_u32(128); // shift by 7 bits let masked = byte.as_canonical_u32() & 0x7f; debug_assert!(masked < 128); - result += Bls12Fr::from_canonical_u32(masked); // add 7-bit + result += SectFr::from_canonical_u32(masked); // add 7-bit } result } diff --git a/crates/recursion/circuit/src/witness/outer.rs b/crates/recursion/circuit/src/witness/outer.rs index 0330ddfe3e..1ea964dda3 100644 --- a/crates/recursion/circuit/src/witness/outer.rs +++ b/crates/recursion/circuit/src/witness/outer.rs @@ -1,6 +1,6 @@ use std::borrow::Borrow; -use p3_bls12_fr::Bls12Fr; +use p3_sect_fr::SectFr; use p3_field::AbstractField; use p3_fri::{CommitPhaseProofStep, QueryProof}; @@ -23,10 +23,10 @@ use super::{WitnessWriter, Witnessable}; impl WitnessWriter for OuterWitness { fn write_bit(&mut self, value: bool) { - self.vars.push(Bls12Fr::from_bool(value)); + self.vars.push(SectFr::from_bool(value)); } - fn write_var(&mut self, value: Bls12Fr) { + fn write_var(&mut self, value: SectFr) { self.vars.push(value); } @@ -39,8 +39,8 @@ impl WitnessWriter for OuterWitness { } } -impl> Witnessable for Bls12Fr { - type WitnessVariable = Var; +impl> Witnessable for SectFr { + type WitnessVariable = Var; fn read(&self, builder: &mut Builder) -> Self::WitnessVariable { builder.witness_var() diff --git a/crates/recursion/compiler/Cargo.toml b/crates/recursion/compiler/Cargo.toml index 9b934671cb..42f44cdb79 100644 --- a/crates/recursion/compiler/Cargo.toml +++ b/crates/recursion/compiler/Cargo.toml @@ -10,7 +10,7 @@ keywords = { workspace = true } categories = { workspace = true } [dependencies] -p3-bls12-fr = { workspace = true } +p3-sect-fr = { workspace = true } p3-baby-bear = { workspace = true } p3-field = { workspace = true } p3-symmetric = { workspace = true } diff --git a/crates/recursion/compiler/src/config.rs b/crates/recursion/compiler/src/config.rs index 48cc854efe..69b0616db3 100644 --- a/crates/recursion/compiler/src/config.rs +++ b/crates/recursion/compiler/src/config.rs @@ -1,6 +1,6 @@ use p3_baby_bear::BabyBear; -use p3_bls12_fr::Bls12Fr; use p3_field::extension::BinomialExtensionField; +use p3_sect_fr::SectFr; use sp1_stark::{InnerChallenge, InnerVal}; use crate::{circuit::AsmConfig, prelude::Config}; @@ -11,7 +11,7 @@ pub type InnerConfig = AsmConfig; pub struct OuterConfig; impl Config for OuterConfig { - type N = Bls12Fr; + type N = SectFr; type F = BabyBear; type EF = BinomialExtensionField; } diff --git a/crates/recursion/core/Cargo.toml b/crates/recursion/core/Cargo.toml index 3da869a5c3..47c7e9ef4c 100644 --- a/crates/recursion/core/Cargo.toml +++ b/crates/recursion/core/Cargo.toml @@ -26,7 +26,7 @@ sp1-core-machine = { workspace = true } sp1-stark = { workspace = true } hashbrown = { workspace = true, features = ["serde"] } itertools = { workspace = true } -p3-bls12-fr = { workspace = true } +p3-sect-fr = { workspace = true } p3-merkle-tree = { workspace = true } p3-commit = { workspace = true } p3-dft = { workspace = true } diff --git a/crates/recursion/core/src/stark/config.rs b/crates/recursion/core/src/stark/config.rs index c6f735d25d..d8e55a8eda 100644 --- a/crates/recursion/core/src/stark/config.rs +++ b/crates/recursion/core/src/stark/config.rs @@ -1,5 +1,4 @@ use p3_baby_bear::BabyBear; -use p3_bls12_fr::{Bls12Fr, DiffusionMatrixBLS12}; use p3_challenger::MultiField32Challenger; use p3_commit::ExtensionMmcs; use p3_dft::Radix2DitParallel; @@ -10,6 +9,7 @@ use p3_fri::{ }; use p3_merkle_tree::FieldMerkleTreeMmcs; use p3_poseidon2::{Poseidon2, Poseidon2ExternalMatrixGeneral}; +use p3_sect_fr::{DiffusionMatrixSECT, SectFr}; use p3_symmetric::{Hash, MultiField32PaddingFreeSponge, TruncatedPermutation}; use serde::{Deserialize, Serialize}; use sp1_stark::{Com, StarkGenericConfig, ZeroCommitment}; @@ -25,18 +25,17 @@ pub const OUTER_MULTI_FIELD_CHALLENGER_DIGEST_SIZE: usize = 1; /// A configuration for outer recursion. pub type OuterVal = BabyBear; pub type OuterChallenge = BinomialExtensionField; -pub type OuterPerm = Poseidon2; -pub type OuterHash = - MultiField32PaddingFreeSponge; -pub type OuterDigestHash = Hash; -pub type OuterDigest = [Bls12Fr; DIGEST_SIZE]; +pub type OuterPerm = Poseidon2; +pub type OuterHash = MultiField32PaddingFreeSponge; +pub type OuterDigestHash = Hash; +pub type OuterDigest = [SectFr; DIGEST_SIZE]; pub type OuterCompress = TruncatedPermutation; -pub type OuterValMmcs = FieldMerkleTreeMmcs; +pub type OuterValMmcs = FieldMerkleTreeMmcs; pub type OuterChallengeMmcs = ExtensionMmcs; pub type OuterDft = Radix2DitParallel; pub type OuterChallenger = MultiField32Challenger< OuterVal, - Bls12Fr, + SectFr, OuterPerm, OUTER_MULTI_FIELD_CHALLENGER_WIDTH, OUTER_MULTI_FIELD_CHALLENGER_RATE, @@ -66,7 +65,7 @@ pub fn outer_perm() -> OuterPerm { Poseidon2ExternalMatrixGeneral, ROUNDS_P, internal_round_constants, - DiffusionMatrixBLS12, + DiffusionMatrixSECT, ) } @@ -179,7 +178,7 @@ impl StarkGenericConfig for BabyBearPoseidon2Outer { impl ZeroCommitment for OuterPcs { fn zero_commitment(&self) -> Com { - OuterDigestHash::from([Bls12Fr::zero(); DIGEST_SIZE]) + OuterDigestHash::from([SectFr::zero(); DIGEST_SIZE]) } } diff --git a/crates/recursion/core/src/stark/poseidon2.rs b/crates/recursion/core/src/stark/poseidon2.rs index be531c48cf..bdcff2e9ac 100644 --- a/crates/recursion/core/src/stark/poseidon2.rs +++ b/crates/recursion/core/src/stark/poseidon2.rs @@ -1,30 +1,27 @@ use ff::PrimeField as FFPrimeField; -use p3_bls12_fr::{Bls12Fr, FFBls12Fr}; -use zkhash::{ - ark_ff::{BigInteger, PrimeField}, - fields::bls12::FpBLS12 as ark_FpBLS12, - poseidon2::poseidon2_instance_bls12::RC3, -}; - -fn bn254_from_ark_ff(input: ark_FpBLS12) -> Bls12Fr { +use p3_sect_fr::{params::RC3, FFSectFr, FpSECT as ark_FpSECT, SectFr}; + +use zkhash::ark_ff::{BigInteger, PrimeField}; + +fn bn254_from_ark_ff(input: ark_FpSECT) -> SectFr { let bytes = input.into_bigint().to_bytes_le(); - let mut res = ::Repr::default(); + let mut res = ::Repr::default(); for (i, digit) in res.0.as_mut().iter_mut().enumerate() { *digit = bytes[i]; } - let value = FFBls12Fr::from_repr(res); + let value = FFSectFr::from_repr(res); if value.is_some().into() { - Bls12Fr { value: value.unwrap() } + SectFr { value: value.unwrap() } } else { panic!("Invalid field element") } } -pub fn bn254_poseidon2_rc3() -> Vec<[Bls12Fr; 3]> { +pub fn bn254_poseidon2_rc3() -> Vec<[SectFr; 3]> { RC3.iter() .map(|vec| { vec.iter().cloned().map(bn254_from_ark_ff).collect::>().try_into().unwrap() @@ -32,10 +29,10 @@ pub fn bn254_poseidon2_rc3() -> Vec<[Bls12Fr; 3]> { .collect() } -pub fn bn254_poseidon2_rc4() -> Vec<[Bls12Fr; 4]> { +pub fn bn254_poseidon2_rc4() -> Vec<[SectFr; 4]> { RC3.iter() .map(|vec| { - let result: [Bls12Fr; 3] = + let result: [SectFr; 3] = vec.iter().cloned().map(bn254_from_ark_ff).collect::>().try_into().unwrap(); [result[0], result[1], result[2], result[2]] }) diff --git a/patch-testing/Cargo.lock b/patch-testing/Cargo.lock index 9cf7edb0a7..55dd6935e2 100644 --- a/patch-testing/Cargo.lock +++ b/patch-testing/Cargo.lock @@ -2693,6 +2693,7 @@ version = "4.2.1" dependencies = [ "ff 0.13.0", "num-bigint 0.4.6", + "num-traits", "p3-field", "p3-poseidon2", "p3-symmetric", @@ -2930,6 +2931,24 @@ dependencies = [ "serde", ] +[[package]] +name = "p3-sect-fr" +version = "4.2.1" +dependencies = [ + "ark-ff", + "ff 0.13.0", + "lazy_static", + "num-bigint 0.4.6", + "num-traits", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", + "serde_json", + "zkhash", +] + [[package]] name = "p3-symmetric" version = "0.2.2-succinct" @@ -4314,13 +4333,13 @@ dependencies = [ "lru", "num-bigint 0.4.6", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-commit", - "p3-field 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-matrix 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-symmetric 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-util 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", "rayon", "serde", "serde_json", @@ -4349,14 +4368,14 @@ dependencies = [ "num-traits", "p3-air", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-dft 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", "p3-field 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", "p3-fri", - "p3-matrix 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-symmetric 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-matrix", + "p3-symmetric", "p3-uni-stark", "p3-util 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", "rand", @@ -4380,8 +4399,9 @@ dependencies = [ "backtrace", "itertools 0.13.0", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-field", + "p3-sect-fr", "p3-symmetric", "serde", "sp1-core-machine", @@ -4408,7 +4428,7 @@ dependencies = [ "num_cpus", "p3-air", "p3-baby-bear", - "p3-bn254-fr", + "p3-bls12-fr", "p3-challenger", "p3-commit", "p3-dft 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", @@ -4417,9 +4437,9 @@ dependencies = [ "p3-matrix 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", "p3-maybe-rayon 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", "p3-merkle-tree", - "p3-poseidon2 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-symmetric 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", - "p3-util 0.2.2-succinct (git+https://github.com/succinctlabs/plonky3-private?branch=min%2Fp3-vuln-fix)", + "p3-poseidon2", + "p3-symmetric", + "p3-util", "pathdiff", "rand", "serde", From d4468c782bec658402ed61d9b282cdc14ff91671 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sun, 25 May 2025 09:43:28 +0545 Subject: [PATCH 08/27] updates to go r1cs builder --- crates/recursion/gnark-ffi/go/go.mod | 6 +- crates/recursion/gnark-ffi/go/go.sum | 8 +- crates/recursion/gnark-ffi/go/sp1/build.go | 280 +++++++------ .../gnark-ffi/go/sp1/poseidon2/constants.go | 384 +++++++++--------- 4 files changed, 351 insertions(+), 327 deletions(-) diff --git a/crates/recursion/gnark-ffi/go/go.mod b/crates/recursion/gnark-ffi/go/go.mod index a4f4b629e4..0efef8e8dc 100644 --- a/crates/recursion/gnark-ffi/go/go.mod +++ b/crates/recursion/gnark-ffi/go/go.mod @@ -1,6 +1,6 @@ module github.com/succinctlabs/sp1-recursion-gnark -go 1.22.0 +go 1.23.0 require ( github.com/consensys/gnark v0.10.1-0.20240504023521-d9bfacd7cb60 @@ -32,4 +32,6 @@ require ( rsc.io/tmplfunc v0.0.3 // indirect ) -replace github.com/consensys/gnark => github.com/jtguibas/gnark v0.0.0-20240923234830-41125bc1909c +replace github.com/consensys/gnark => github.com/alpenlabs/gnark v0.0.0-20250521043713-a9d952d1b784 + +replace github.com/consensys/gnark-crypto => github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00 diff --git a/crates/recursion/gnark-ffi/go/go.sum b/crates/recursion/gnark-ffi/go/go.sum index 3f91c58c6d..30aa24d29e 100644 --- a/crates/recursion/gnark-ffi/go/go.sum +++ b/crates/recursion/gnark-ffi/go/go.sum @@ -1,11 +1,13 @@ +github.com/alpenlabs/gnark v0.0.0-20250521043713-a9d952d1b784 h1:+xJAieBE8WsZ8DShlq9bTj8IaZeXroEqDJBgneeR0v4= +github.com/alpenlabs/gnark v0.0.0-20250521043713-a9d952d1b784/go.mod h1:0u6evWYINfJpfW9PeqiDycThrEyf5y5KumLRxFTKhWM= +github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00 h1:bOdSFf8NHlW2ZmuG56fFJQRH40ZAud/OdLfZgJJ2j+A= +github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00/go.mod h1:CU4UijNPsHawiVGNxe9co07FkzCeWHHrb1li/n1XoU0= github.com/bits-and-blooms/bitset v1.14.2 h1:YXVoyPndbdvcEVcseEovVfp0qjJp7S+i5+xgp/Nfbdc= github.com/bits-and-blooms/bitset v1.14.2/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ= github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= -github.com/consensys/gnark-crypto v0.14.0 h1:DDBdl4HaBtdQsq/wfMwJvZNE80sHidrK3Nfrefatm0E= -github.com/consensys/gnark-crypto v0.14.0/go.mod h1:CU4UijNPsHawiVGNxe9co07FkzCeWHHrb1li/n1XoU0= github.com/consensys/gnark-ignition-verifier v0.0.0-20230527014722-10693546ab33 h1:z42ewLaLxoTYeQ17arcF4WExZc/eSaN3YVlF7eEaPt4= github.com/consensys/gnark-ignition-verifier v0.0.0-20230527014722-10693546ab33/go.mod h1:JdKor28c/KR4BbznP88bz8AAvnCgovzrB3KWsiR7lwk= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= @@ -23,8 +25,6 @@ github.com/ingonyama-zk/icicle v1.1.0 h1:a2MUIaF+1i4JY2Lnb961ZMvaC8GFs9GqZgSnd9e github.com/ingonyama-zk/icicle v1.1.0/go.mod h1:kAK8/EoN7fUEmakzgZIYdWy1a2rBnpCaZLqSHwZWxEk= github.com/ingonyama-zk/iciclegnark v0.1.0 h1:88MkEghzjQBMjrYRJFxZ9oR9CTIpB8NG2zLeCJSvXKQ= github.com/ingonyama-zk/iciclegnark v0.1.0/go.mod h1:wz6+IpyHKs6UhMMoQpNqz1VY+ddfKqC/gRwR/64W6WU= -github.com/jtguibas/gnark v0.0.0-20240923234830-41125bc1909c h1:vaqr8feWdNWKvsApw7iBhgbTznreKg+YvNAsbvqvwow= -github.com/jtguibas/gnark v0.0.0-20240923234830-41125bc1909c/go.mod h1:2LbheIOxsBI1a9Ck1XxUoy6PRnH28mSI9qrvtN2HwDY= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index dbb919e4c8..4a90e11e8d 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -1,6 +1,7 @@ package sp1 import ( + "bufio" "encoding/binary" "encoding/json" "fmt" @@ -10,11 +11,11 @@ import ( "strings" "github.com/consensys/gnark-crypto/ecc" + fr "github.com/consensys/gnark-crypto/ecc/sect/fr" "github.com/consensys/gnark-crypto/kzg" - groth16 "github.com/consensys/gnark/backend/groth16" "github.com/consensys/gnark/backend/plonk" "github.com/consensys/gnark/constraint" - bcs "github.com/consensys/gnark/constraint/bls12-381" + bcs "github.com/consensys/gnark/constraint/sect" "github.com/consensys/gnark/frontend" "github.com/consensys/gnark/frontend/cs/r1cs" "github.com/consensys/gnark/frontend/cs/scs" @@ -91,7 +92,7 @@ func BuildPlonk(dataDir string) { circuit := NewCircuit(witnessInput) // Compile the circuit. - scs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), scs.NewBuilder, &circuit) + scs, err := frontend.Compile(fr.Modulus(), scs.NewBuilder, &circuit) if err != nil { panic(err) } @@ -179,7 +180,7 @@ func BuildPlonk(dataDir string) { // Generate proof. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + witness, err := frontend.NewWitness(&assignment, fr.Modulus()) if err != nil { panic(err) } @@ -248,50 +249,70 @@ func BuildPlonk(dataDir string) { // Dump writes the coefficient table and the fully‑expanded R1Cs rows into w. // Caller decides where w points to (file, buffer, network, …). +// Dump writes the coefficient table and the fully-expanded R1Cs rows into w. +// It is functionally identical to the original version but batches I/O +// through an internal bufio.Writer and uses raw little-endian encodes for +// scalars to avoid reflection overhead in binary.Write. func Dump(cs constraint.ConstraintSystem, w io.Writer) error { - // 1. coefficient table - coeffs := cs.(*bcs.R1CS).Coefficients - if err := binary.Write(w, binary.LittleEndian, uint32(len(coeffs))); err != nil { + // Wrap the destination with a large buffered writer (1 MiB; tune as needed). + bw := bufio.NewWriterSize(w, 1<<20) + defer bw.Flush() // ensure everything is pushed downstream + + r1cs, ok := cs.(*bcs.R1CS) + if !ok { + return fmt.Errorf("unsupported constraint system type %T", cs) + } + + coeffs := r1cs.Coefficients + rows := r1cs.GetR1Cs() + + // A 4-byte scratch reused for every uint32 we encode. + var scratch [4]byte + + putU32 := func(v uint32) error { + binary.LittleEndian.PutUint32(scratch[:], v) + _, err := bw.Write(scratch[:]) + return err + } + + // 1. Coefficient table --------------------------------------------------- + if err := putU32(uint32(len(coeffs))); err != nil { return err } for _, c := range coeffs { - data := c.Marshal() // returns 32‑byte slice, no error - if _, err := w.Write(data); err != nil { + if _, err := bw.Write(c.Marshal()); err != nil { // 32 bytes each return err } } - // 2. full rows - rows := cs.(*bcs.R1CS).GetR1Cs() // materialises all constraints - if err := binary.Write(w, binary.LittleEndian, uint32(len(rows))); err != nil { + // 2. Full R1CS rows ------------------------------------------------------ + if err := putU32(uint32(len(rows))); err != nil { return err } - // helper closure - writeLE := func(n uint32) error { return binary.Write(w, binary.LittleEndian, n) } + dumpLE := func(expr constraint.LinearExpression) error { + for _, t := range expr { + if err := putU32(uint32(t.WireID())); err != nil { + return err + } + if err := putU32(uint32(t.CoeffID())); err != nil { + return err + } + } + return nil + } for _, r := range rows { - if err := writeLE(uint32(len(r.L))); err != nil { + if err := putU32(uint32(len(r.L))); err != nil { return err } - if err := writeLE(uint32(len(r.R))); err != nil { + if err := putU32(uint32(len(r.R))); err != nil { return err } - if err := writeLE(uint32(len(r.O))); err != nil { + if err := putU32(uint32(len(r.O))); err != nil { return err } - dumpLE := func(expr constraint.LinearExpression) error { - for _, t := range expr { - if err := writeLE(uint32(t.WireID())); err != nil { - return err - } - if err := writeLE(uint32(t.CoeffID())); err != nil { - return err - } - } - return nil - } if err := dumpLE(r.L); err != nil { return err } @@ -302,7 +323,8 @@ func Dump(cs constraint.ConstraintSystem, w io.Writer) error { return err } } - return nil + + return bw.Flush() // explicit flush + propagate any error } func BuildGroth16(dataDir string) { @@ -331,7 +353,7 @@ func BuildGroth16(dataDir string) { circuit := NewCircuit(witnessInput) // Compile the circuit. - r1cs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), r1cs.NewBuilder, &circuit) + r1cs, err := frontend.Compile(fr.Modulus(), r1cs.NewBuilder, &circuit) if err != nil { panic(err) } @@ -359,113 +381,113 @@ func BuildGroth16(dataDir string) { fmt.Printf("Naive cost num_vars=(%d) num_constraints=(%d) (≈ %d bytes)\n", num_vars, r1cs.GetNbConstraints(), naive) // a Term is 2×uint32 = 8 B } - // { - // r1cs_fn := "/r1cs_temp" - // file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer - // if err != nil { - // log.Fatalf("Failed to create file: %v", err) - // } - // defer file.Close() // Ensure the file is closed when main exits - - // Dump(r1cs, file) - - // assignment := NewCircuit(witnessInput) - // witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) - // if err != nil { - // panic(err) - // } - // _solution, err := r1cs.Solve(witness) - // if err != nil { - // panic("err is not nil for solve") - // } - // solution := _solution.(*bcs.R1CSSolution) - - // witness_fn := "/witness_temp" - // wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer - // if err != nil { - // log.Fatalf("Failed to create file: %v", err) - // } - // defer wfile.Close() // Ensure the file is closed when main exits - - // bytesWritten, err := solution.W.WriteTo(wfile) - // if err != nil { - // log.Fatalf("Failed to write to file: %v", err) - // } - - // fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) - // } + { + r1cs_fn := "/r1cs_temp" + file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer file.Close() // Ensure the file is closed when main exits - // Generate the proving and verifying key. - pk, vk, err := groth16.Setup(r1cs) - if err != nil { - panic(err) - } + Dump(r1cs, file) - // Generate proof. - assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) - if err != nil { - panic(err) - } - proof, err := groth16.Prove(r1cs, pk, witness) - if err != nil { - panic(err) - } + assignment := NewCircuit(witnessInput) + witness, err := frontend.NewWitness(&assignment, fr.Modulus()) + if err != nil { + panic(err) + } + _solution, err := r1cs.Solve(witness) + if err != nil { + panic("err is not nil for solve") + } + solution := _solution.(*bcs.R1CSSolution) - // Verify proof. - publicWitness, err := witness.Public() - if err != nil { - panic(err) - } - err = groth16.Verify(proof, vk, publicWitness) - if err != nil { - panic(err) - } + witness_fn := "/witness_temp" + wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer wfile.Close() // Ensure the file is closed when main exits - // Create the build directory. - os.MkdirAll(dataDir, 0755) + bytesWritten, err := solution.W.WriteTo(wfile) + if err != nil { + log.Fatalf("Failed to write to file: %v", err) + } - // Write the solidity verifier. - solidityVerifierFile, err := os.Create(dataDir + "/" + groth16VerifierContractPath) - if err != nil { - panic(err) + fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) } - vk.ExportSolidity(solidityVerifierFile) - // Modify the solidity verifier. - modifyGroth16Verifier(solidityVerifierFile) - defer solidityVerifierFile.Close() + // // Generate the proving and verifying key. + // pk, vk, err := groth16.Setup(r1cs) + // if err != nil { + // panic(err) + // } - // Write the R1CS. - r1csFile, err := os.Create(dataDir + "/" + groth16CircuitPath) - if err != nil { - panic(err) - } - defer r1csFile.Close() - _, err = r1cs.WriteTo(r1csFile) - if err != nil { - panic(err) - } + // // Generate proof. + // assignment := NewCircuit(witnessInput) + // witness, err := frontend.NewWitness(&assignment, fr.Modulus()) + // if err != nil { + // panic(err) + // } + // proof, err := groth16.Prove(r1cs, pk, witness) + // if err != nil { + // panic(err) + // } - // Write the verifier key. - vkFile, err := os.Create(dataDir + "/" + groth16VkPath) - if err != nil { - panic(err) - } - defer vkFile.Close() - _, err = vk.WriteTo(vkFile) - if err != nil { - panic(err) - } + // // Verify proof. + // publicWitness, err := witness.Public() + // if err != nil { + // panic(err) + // } + // err = groth16.Verify(proof, vk, publicWitness) + // if err != nil { + // panic(err) + // } - // Write the proving key. - pkFile, err := os.Create(dataDir + "/" + groth16PkPath) - if err != nil { - panic(err) - } - defer pkFile.Close() - err = pk.WriteDump(pkFile) - if err != nil { - panic(err) - } + // // Create the build directory. + // os.MkdirAll(dataDir, 0755) + + // // Write the solidity verifier. + // solidityVerifierFile, err := os.Create(dataDir + "/" + groth16VerifierContractPath) + // if err != nil { + // panic(err) + // } + // vk.ExportSolidity(solidityVerifierFile) + + // // Modify the solidity verifier. + // modifyGroth16Verifier(solidityVerifierFile) + // defer solidityVerifierFile.Close() + + // // Write the R1CS. + // r1csFile, err := os.Create(dataDir + "/" + groth16CircuitPath) + // if err != nil { + // panic(err) + // } + // defer r1csFile.Close() + // _, err = r1cs.WriteTo(r1csFile) + // if err != nil { + // panic(err) + // } + + // // Write the verifier key. + // vkFile, err := os.Create(dataDir + "/" + groth16VkPath) + // if err != nil { + // panic(err) + // } + // defer vkFile.Close() + // _, err = vk.WriteTo(vkFile) + // if err != nil { + // panic(err) + // } + + // // Write the proving key. + // pkFile, err := os.Create(dataDir + "/" + groth16PkPath) + // if err != nil { + // panic(err) + // } + // defer pkFile.Close() + // err = pk.WriteDump(pkFile) + // if err != nil { + // panic(err) + // } } diff --git a/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go b/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go index a486a2ca7b..e6973c6a4f 100644 --- a/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go +++ b/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go @@ -20,324 +20,324 @@ func init() { // Poseidon2 round constants for a state consisting of three BN254 field elements. var rc3 [numExternalRounds + numInternalRounds][width]frontend.Variable = [64][3]frontend.Variable{ { - frontend.Variable("0x6f007a551156b3a449e44936b7c093644a0ed33f33eaccc628e942e836c1a875"), - frontend.Variable("0x360d7470611e473d353f628f76d110f34e71162f31003b7057538c2596426303"), - frontend.Variable("0x4b5fec3aa073df44019091f007a44ca996484965f7036dce3e9d0977edcdc0f6"), + frontend.Variable("0x1d066a255517b7fd8bddd3a93f7804ef7f8fcde48bb4c37a59a09a1a97"), + frontend.Variable("0x29daefb55f6f2dc6ac3f089cebcc6120b7c6fef31367b68eb7238547d3"), + frontend.Variable("0x1f2cb1624a78ee001ecbd88ad959d7012572d76f08ec5c4f9e8b7ad7b0"), }, { - frontend.Variable("0x67cf1868af6396c0b84cce715e539f849e06cd1c383ac5b06100c76bcc973a11"), - frontend.Variable("0x555db4d1dced819f5d3de70fde83f1c7d3e8c98968e516a23a771a5c9c8257aa"), - frontend.Variable("0x2bab94d7ae222d135dc3c6c5febfaa314908ac2f12ebe06fbdb74213bf63188b"), + frontend.Variable("0x0aad2e79f15735f2bd77c0ed3d14aa27b11f092a53bbc6e1db0672ded8"), + frontend.Variable("0x2252624f8617738cd6f661dd4094375f37028a98f1dece66091ccf1595"), + frontend.Variable("0x1a24913a928b38485a65a84a291da1ff91c20626524b2b87d49f4f2c90"), }, { - frontend.Variable("0x66f44be5296682c4fa7882799d6dd049b6d7d2c950ccf98cf2e50d6d1ebb77c2"), - frontend.Variable("0x150c93fef652fb1c2bf03e1a29aa871fef77e7d736766c5d0939d92753cc5dc8"), - frontend.Variable("0x3270661e68928b3a955d55db56dc57c103cc0a60141e894e14259dce537782b2"), + frontend.Variable("0x22fc468f1759b74d7bfc427b5f11ebb10a41515ddff497b14fd6dae150"), + frontend.Variable("0x1059ca787f1f89ed9cd026e9c9ca107ae61956ff0b4121d5efd6551561"), + frontend.Variable("0x02be9473358461d8f61f3536d877de982123011f0bf6f155a45cbbfae8"), }, { - frontend.Variable("0x073f116f04122e25a0b7afe4e2057299b407c370f2b5a1ccce9fb9ffc345afb3"), - frontend.Variable("0x409fda22558cfe4d3dd8dce24f69e76f8c2aaeb1dd0f09d65e654c71f32aa23f"), - frontend.Variable("0x2a32ec5c4ee5b1837affd09c1f53f5fd55c9cd2061ae93ca8ebad76fc71554d8"), + frontend.Variable("0x0ec96c8e32962d462778a749c82ed623aba9b669ac5b8736a1ff3a441a"), + frontend.Variable("0x292f906e073677405442d9553c45fa3f5a47a7cdb8c99f9648fb2e4d81"), + frontend.Variable("0x274982444157b86726c11b9a0f5e39a5cc611160a394ea460c63f0b2ff"), }, { - frontend.Variable("0x5848ebeb5923e92555b7124fffba5d6bd571c6f984195eb9cfd3a3e8eb55b1d4"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1a1d063e54b1e764b63e1855bff015b8cedd192f47308731499573f235"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x270326ee039df19e651e2cfc740628ca634d24fc6e2559f22d8ccbe292efeead"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x26abc66f3fdf8e68839d10956259063708235dccc1aa3793b91b002c5b"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x27c6642ac633bc66dc100fe7fcfa54918af895bce012f182a068fc37c182e274"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0c7c64a9d887385381a578cfed5aed370754427aabca92a70b3c2b12ff"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x1bdfd8b01401c70ad27f57396989129d710e1fb6ab976a459ca18682e26d7ff9"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1cf5998769e9fab79e17f0b6d08b2d1eba2ebac30dc386b0edd3838313"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x491b9ba6983bcf9f05fe4794adb44a30879bf8289662e1f57d90f672414e8a4a"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0f5e3a8566be31b7564ca60461e9e08b19828764a9669bc17aba0b97e6"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x162a14c62f9a89b814b9d6a9c84dd678f4f6fb3f9054d373c832d824261a35ea"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x18df6a9d19ea90d895e60e4db0794a01f359a53a180b7d4b42bf3d7a53"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2d193e0f76de586b2af6f79e3127feeaac0a1fc71e2cf0c0f79824667b5b6bec"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x04f7bf2c5c0538ac6e4b782c3c6e601ad0ea1d3a3b9d25ef4e324055fa"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x46efd8a9a262d6d8fdc9ca5c04b0982f24ddcc6e9863885a6a732a3906a07b95"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x29c76ce22255206e3c40058523748531e770c0584aa2328ce55d54628b"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x509717e0c200e3c92d8dca2973b3db45f0788294351ad07ae75cbb780693a798"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x198d425a45b78e85c053659ab4347f5d65b1b8e9c6108dbe00e0e945db"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x7299b28464a8c94fb9d4df61380f39c0dca9c2c014118789e227252820f01bfc"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x25ee27ab6296cd5e6af3cc79c598a1daa7ff7f6878b3c49d49d3a9a90c"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x044ca3cc4a85d73b81696ef1104e674f4feff82984990ff85d0bf58dc8a4aa94"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x138ea8e0af41a1e024561001c0b6eb1505845d7d0c55b1b2c0f88687a9"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x1cbaf2b371dac6a81d0453416d3e235cb8d9e2d4f314f46f6198785f0cd6b9af"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x306197fb3fab671ef6e7c2cba2eefd0e42851b5b9811f2ca4013370a01"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x1d5b2777692c205b0e6c49d061b6b5f4293c4ab038fdbbdc343e07610f3fede5"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1a0c7d52dc32a4432b66f0b4894d4f1a21db7565e5b4250486419eaf00"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x56ae7c7a5293bdc23e85e1698c81c77f8ad88c4b33a5780437ad047c6edb59ba"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x2b46b418de80915f3ff86a8e5c8bdfccebfbe5f55163cd6caa52997da2"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2e9bdbba3dd34bffaa30535bdd749a7e06a9adb0c1e6f962f60e971b8d73b04f"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x12d3e0dc0085873701f8b777b9673af9613a1af5db48e05bfb46e312b5"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2de11886b18011ca8bd5bae36969299fde40fbe26d047b05035a13661f22418b"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x263390cf74dc3a8870f5002ed21d089ffb2bf768230f648dba338a5cb1"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2e07de1780b8a70d0d5b4a3f1841dcd82ab9395c449be947bc998884ba96a721"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0a14f33a5fe668a60ac884b4ca607ad0f8abb5af40f96f1d7d543db52b"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x0f69f1854d20ca0cbbdb63dbd52dad16250440a99d6b8af3825e4c2bb74925ca"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x28ead9c586513eab1a5e86509d68b2da27be3a4f01171a1dd847df829b"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x5dc987318e6e59c1afb87b655dd58cc1d22e513a05838cd4585d04b135b957ca"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1c6ab1c328c3c6430972031f1bdb2ac9888f0ea1abe71cffea16cda6e1"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x48b725758571c9df6c01dc639a85f07297696b1bb678633a29dc91de95ef53f6"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1fc7e71bc0b819792b2500239f7f8de04f6decd608cb98a932346015c5"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x5e565e08c0821099256b56490eaee1d573afd10bb6d17d13ca4e5c611b2a3718"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x03e107eb3a42b2ece380e0d860298f17c0c1e197c952650ee6dd85b93a"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2eb1b25417fe17670d135dc639fb09a46ce5113507f96de9816c059422dc705e"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x2d354a251f381a4669c0d52bf88b772c46452ca57c08697f454505f694"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x115cd0a0643cfb988c24cb44c3fab48aff36c661d26cc42db8b1bdf4953bd82c"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x094af88ab05d94baf687ef14bc566d1c522551d61606eda3d14b460682"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x26ca293f7b2c462d066d7378b999868bbb57ddf14e0f958ade801612311d04cd"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x19705b783bf3d2dc19bcaeabf02f8ca5e1ab5b6f2e3195a9d52b2d249d"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x4147400d8e1aaccf311a6b5b762011ab3e45326e4d4b9de26992816b99c528ac"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x09bf4acc3a8bce3f1fcc33fee54fc5b28723b16b7d740a3e60cef68522"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x6b0db7dccc4ba1b268f6bdcc4d372848d4a72976c268ea30519a2f73e6db4d55"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1803f8200db6013c50f83c0c8fab62843413732f301f7058543a073f3f"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x17bf1b93c4c7e01a2a830aa162412cd90f160bf9f71e967ff5209d14b24820ca"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0f80afb5046244de30595b160b8d1f38bf6fb02d4454c0add41f7fef2f"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x4b431cd9efedbc94cf1eca6f9e9c1839d0e66a8bffa8c8464cac81a39d3cf8f1"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x126ee1f8504f15c3d77f0088c1cfc964abcfcf643f4a6fea7dc3f98219"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x35b41a7ac4f3c571a24f8456369c85dfe03c0354bd8cfd3805c86f2e7dc293c5"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x23c203d10cfcc60f69bfb3d919552ca10ffb4ee63175ddf8ef86f991d7"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x3b1480080523c439435927994849bea964e14d3beb2dddde72ac156af435d09e"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x2a2ae15d8b143709ec0d09705fa3a6303dec1ee4eec2cf747c5a339f77"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2cc6810031dc1b0d4950856dc907d57508e286442a2d3eb2271618d874b14c6d"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x07b60dee586ed6ef47e5c381ab6343ecc3d3b3006cb461bbb6b5d89081"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x6f4141c8401c5a395ba6790efd71c70c04afea06c3c92826bcabdd5cb5477d51"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x27316b559be3edfd885d95c494c1ae3d8a98a320baa7d152132cfe583c"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x25bdbbeda1bde8c1059618e2afd2ef999e517aa93b78341d91f318c09f0cb566"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1d5c49ba157c32b8d8937cb2d3f84311ef834cc2a743ed662f5f9af0c0"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x392a4a8758e06ee8b95f33c25dde8ac02a5ed0a27b61926cc6313487073f7f7b"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x2f8b124e78163b2f332774e0b850b5ec09c01bf6979938f67c24bd5940"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x272a55878a08442b9aa6111f4de009485e6a6fd15db89365e7bbcef02eb5866c"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1e6843a5457416b6dc5b7aa09a9ce21b1d4cba6554e51d84665f752601"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x631ec1d6d28dd9e824ee89a30730aef7ab463acfc9d184b355aa05fd6938eab5"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x11cdf00a35f650c55fca25c9929c8ad9a68daf9ac6a189ab1f5bc79f21"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x4eb6fda10fd0fbde02c7449bfbddc35bcd8225e7e5c3833a0818a100409dc6f2"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x21632de3d3bbc5e42ef36e588158d6d4608b2815c77355b7e82b5b9b7e"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2d5b308b0cf02cdfefa13c4e60e26239a6ebba011694dd129b925b3c5b21e0e2"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0de625758452efbd97b27025fbd245e0255ae48ef2a329e449d7b5c51c"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x16549fc6af2f3b72dd5d293d72e2e5f244dff42f18b46c56ef38c57c311673ac"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x2ad253c053e75213e2febfd4d976cc01dd9e1e1c6f0fb6b09b09546ba0"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x42332677ff359c5e8db836d9f5fb54822e39bd5e22340bb9ba975ba1a92be382"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1d6b169ed63872dc6ec7681ec39b3be93dd49cdd13c813b7d35702e38d"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x49d7d2c0b449e5179bc5ccc3b44c6075d9849b5610465f09ea725ddc97723a94"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1660b740a143664bb9127c4941b67fed0be3ea70a24d5568c3a54e706c"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x64c20fb90d7a003831757cc4c6226f6e4985fc9ecb416b9f684ca0351d967904"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0065a92d1de81f34114f4ca2deef76e0ceacdddb12cf879096a29f1037"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x59cff40de83b52b41bc443d7979510d771c940b9758ca820fe73b5c8d5580934"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1f11f065202535987367f823da7d672c353ebe2ccbc4869bcf30d50a58"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x53db2731730c39b04edd875fe3b7c882808285cdbc621d7af4f80dd53ebb71b0"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x26596f5c5dd5a5d1b437ce7b14a2c3dd3bd1d1a39b6759ba110852d17d"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x1b10bb7a82afce39fa69c3a2ad52f76d76398265344203119b7126d9b46860df"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x16f49bc727e45a2f7bf3056efcf8b6d38539c4163a5f1e706743db15af"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x561b6012d666bfe179c4dd7f84cdd1531596d3aac7c5700ceb319f91046a63c9"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1abe1deb45b3e3119954175efb331bf4568feaf7ea8b3dc5e1a4e7438d"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x0f1e7505ebd91d2fc79c2df7dc98a3bed1b36968ba0405c090d27f6a00b7dfc8"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0e426ccab66984d1d8993a74ca548b779f5db92aaec5f102020d34aea1"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x2f313faf0d3f6187537a7497a3b43f46797fd6e3f18eb1caff457756b819bb20"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0e7c30c2e2e8957f4933bd1942053f1f0071684b902d534fa841924303"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x3a5cbb6de450b481fa3ca61c0ed15bc55cad11ebf0f7ceb8f0bc3e732ecb26f6"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0812a017ca92cf0a1622708fc7edff1d6166ded6e3528ead4c76e1f31d"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x681d93411bf8ce63f6716aefbd0e24506454c0348ee38fabeb264702714ccf94"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x21a5ade3df2bc1b5bba949d1db96040068afe5026edd7a9c2e276b47cf"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x5178e940f50004312646b436727f0e80a7b8f2e9ee1fdc677c4831a7672777fb"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x01f3035463816c84ad711bf1a058c6c6bd101945f50e5afe72b1a5233f"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x3dab54bc9bef688dd92086e253b439d651baa6e20f892b62865527cbca915982"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0b115572f038c0e2028c2aafc2d06a5e8bf2f9398dbd0fdf4dcaa82b0f"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x4b3ce75311218f9ae905f84eaa5b2b3818448bbf3972e1aad69de321009015d0"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1c38ec0b99b62fd4f0ef255543f50d2e27fc24db42bc910a3460613b6e"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x06dbfb42b979884de280d31670123f744c24b33b410fefd4368045acf2b71ae3"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x1c89c6d9666272e8425c3ff1f4ac737b2f5d314606a297d4b1d0b254d8"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x068d6b4608aae810c6f039ea1973a63eb8d2de72e3d2c9eca7fc32d22f18b9d3"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x03326e643580356bf6d44008ae4c042a21ad4880097a5eb38b71e2311b"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x4c5c254589a92a36084a57d3b1d964278acc7e4fe8f69f2955954f27a79cebef"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), - frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x268076b0054fb73f67cee9ea0e51e3ad50f27a6434b5dceb5bdde22999"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), + frontend.Variable("0x0000000000000000000000000000000000000000000000000000000000"), }, { - frontend.Variable("0x6cbac5e1700984ebc32da15b4bb9683faabab55f67ccc4f71d9560b3475a77eb"), - frontend.Variable("0x4603c403bbfa9a17738a5c6278eaab1c37ec30b0737aa2409fc4898069eb983c"), - frontend.Variable("0x6894e7e22b2c1d5c70a712a6345ae6b192a9c833a9234c31c56aacd16bc2f100"), + frontend.Variable("0x1acd63c67fbc9ab1626ed93491bda32e5da18ea9d8e4f10178d04aa6f8"), + frontend.Variable("0x19f8a5d670e8ab66c4e3144be58ef6901bf93375e2323ec3ca8c86cd2a"), + frontend.Variable("0x1c0dc443519ad7a86efa40d2df10a011068193ea51f6c92ae1cfbb5f7b"), }, { - frontend.Variable("0x5be2cbbc44053ad08afa4d1eabc7f3d231eea799b93f226e905b7d4d65c58ebb"), - frontend.Variable("0x58e55f287b453a9808624a8c2a353d528da0f7e713a5c6d0d7711e47063fa611"), - frontend.Variable("0x366ebfafa3ad381c0ee258c9b8fdfccdb868a7d7e1f1f69a2b5dfcc5572555df"), + frontend.Variable("0x14b39e7aa4068dbe50fe7190e421dc19fbeab33cb4f6a2c4180e4c3224"), + frontend.Variable("0x1d449b71bd826ec58f28c63ea6c561b7b820fc519f01f021afb1e35e28"), + frontend.Variable("0x1ea2c9a89baaddbb60fa97fe60fe9d8e89de141689d1252276524dc0a9"), }, { - frontend.Variable("0x45766ab728968c642f90d97ccf5504ddc10518a819ebbcc4d09c3f5d784d67ce"), - frontend.Variable("0x39678f65512f1ee404db3024f41d3f567ef66d89d044d022e6bc229e95bc76b1"), - frontend.Variable("0x463aed1d2f1f955e3078be5bf7bfc46fc0eb8c51551906a8868f18ffae30cf4f"), + frontend.Variable("0x0478d66d43535a8cb57e9c1c3d6a2bd7591f9a46a0e9c058134d5cefdb"), + frontend.Variable("0x19272db71eece6a6f608f3b2717f9cd2662e26ad86c400b21cde5e4a7b"), + frontend.Variable("0x14226537335cab33c749c746f09208abb2dd1bd66a87ef75039be846af"), }, { - frontend.Variable("0x21668f016a8063c0d58b7750a3bc2fe1cf82c25f99dc01a4e534c88fe53d85fe"), - frontend.Variable("0x39d00994a8a5046a1bc749363e98a768e34dea56439fe1954bef429bc5331608"), - frontend.Variable("0x4d7f5dcd78ece9a933984de32c0b48fac2bba91f261996b8e9d1021773bd07cc"), + frontend.Variable("0x01fd6af15956294f9dfe38c0d976a088b21c21e4a1c2e823f912f44961"), + frontend.Variable("0x18e5abedd626ec307bca190b8b2cab1aaee2e62ed229ba5a5ad8518d4e"), + frontend.Variable("0x0fc1bbceba0590f5abbdffa6d3b35e3297c021a3a409926d0e2d54dc1c"), }, } From 9b288756b1a13641058b70a48fc37a22f1fd7c1b Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sun, 25 May 2025 11:47:45 +0545 Subject: [PATCH 09/27] bump: gnark version --- crates/prover/src/lib.rs | 108 +++++++++++++-------------- crates/recursion/gnark-ffi/go/go.mod | 2 +- crates/recursion/gnark-ffi/go/go.sum | 4 +- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 69492b7fc1..83cd112837 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1518,62 +1518,62 @@ pub mod tests { let core_proof = prover.prove_core(&pk_d, program, &stdin, opts, context)?; let public_values = core_proof.public_values.clone(); - // if env::var("COLLECT_SHAPES").is_ok() { - // let mut shapes = BTreeSet::new(); - // for proof in core_proof.proof.0.iter() { - // let shape = SP1ProofShape::Recursion(proof.shape()); - // shapes.insert(shape); - // } - - // let mut file = File::create("../shapes.bin").unwrap(); - // bincode::serialize_into(&mut file, &shapes).unwrap(); - // } + if env::var("COLLECT_SHAPES").is_ok() { + let mut shapes = BTreeSet::new(); + for proof in core_proof.proof.0.iter() { + let shape = SP1ProofShape::Recursion(proof.shape()); + shapes.insert(shape); + } - // if verify { - // tracing::info!("verify core"); - // prover.verify(&core_proof.proof, &vk)?; - // } + let mut file = File::create("../shapes.bin").unwrap(); + bincode::serialize_into(&mut file, &shapes).unwrap(); + } - // if test_kind == Test::Core { - // return Ok(()); - // } + if verify { + tracing::info!("verify core"); + prover.verify(&core_proof.proof, &vk)?; + } - // tracing::info!("compress"); - // let compress_span = tracing::debug_span!("compress").entered(); - // let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; - // compress_span.exit(); + if test_kind == Test::Core { + return Ok(()); + } - // if verify { - // tracing::info!("verify compressed"); - // prover.verify_compressed(&compressed_proof, &vk)?; - // } + tracing::info!("compress"); + let compress_span = tracing::debug_span!("compress").entered(); + let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; + compress_span.exit(); - // if test_kind == Test::Compress { - // return Ok(()); - // } + if verify { + tracing::info!("verify compressed"); + prover.verify_compressed(&compressed_proof, &vk)?; + } - // tracing::info!("shrink"); - // let shrink_proof = prover.shrink(compressed_proof, opts)?; + if test_kind == Test::Compress { + return Ok(()); + } - // if verify { - // tracing::info!("verify shrink"); - // prover.verify_shrink(&shrink_proof, &vk)?; - // } + tracing::info!("shrink"); + let shrink_proof = prover.shrink(compressed_proof, opts)?; - // if test_kind == Test::Shrink { - // return Ok(()); - // } + if verify { + tracing::info!("verify shrink"); + prover.verify_shrink(&shrink_proof, &vk)?; + } - // tracing::info!("wrap bn254"); - // let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; - // let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); + if test_kind == Test::Shrink { + return Ok(()); + } + + tracing::info!("wrap bn254"); + let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; + let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); - // // Save the proof. - // let mut file = File::create("proof-with-pis-wrap.bin").unwrap(); - // file.write_all(bytes.as_slice()).unwrap(); + // Save the proof. + let mut file = File::create("proof-with-pis-sect-wrap.bin").unwrap(); + file.write_all(bytes.as_slice()).unwrap(); // Load the proof. - let mut file = File::open("proof-with-pis-wrap.bin").unwrap(); + let mut file = File::open("proof-with-pis-sect-wrap.bin").unwrap(); let mut bytes = Vec::new(); file.read_to_end(&mut bytes).unwrap(); @@ -1625,17 +1625,17 @@ pub mod tests { &wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof, ); - let groth16_bn254_proof = prover.wrap_groth16_bn254(wrapped_bn254_proof, &artifacts_dir); - println!("{:?}", groth16_bn254_proof); + // let groth16_bn254_proof = prover.wrap_groth16_bn254(wrapped_bn254_proof, &artifacts_dir); + // println!("{:?}", groth16_bn254_proof); - if verify { - prover.verify_groth16_bn254( - &groth16_bn254_proof, - &vk, - &public_values, - &artifacts_dir, - )?; - } + // if verify { + // prover.verify_groth16_bn254( + // &groth16_bn254_proof, + // &vk, + // &public_values, + // &artifacts_dir, + // )?; + // } Ok(()) } diff --git a/crates/recursion/gnark-ffi/go/go.mod b/crates/recursion/gnark-ffi/go/go.mod index 0efef8e8dc..70fba412cf 100644 --- a/crates/recursion/gnark-ffi/go/go.mod +++ b/crates/recursion/gnark-ffi/go/go.mod @@ -32,6 +32,6 @@ require ( rsc.io/tmplfunc v0.0.3 // indirect ) -replace github.com/consensys/gnark => github.com/alpenlabs/gnark v0.0.0-20250521043713-a9d952d1b784 +replace github.com/consensys/gnark => github.com/alpenlabs/gnark v0.0.0-20250525053417-53957e5f3230 replace github.com/consensys/gnark-crypto => github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00 diff --git a/crates/recursion/gnark-ffi/go/go.sum b/crates/recursion/gnark-ffi/go/go.sum index 30aa24d29e..dd16fbf206 100644 --- a/crates/recursion/gnark-ffi/go/go.sum +++ b/crates/recursion/gnark-ffi/go/go.sum @@ -1,5 +1,5 @@ -github.com/alpenlabs/gnark v0.0.0-20250521043713-a9d952d1b784 h1:+xJAieBE8WsZ8DShlq9bTj8IaZeXroEqDJBgneeR0v4= -github.com/alpenlabs/gnark v0.0.0-20250521043713-a9d952d1b784/go.mod h1:0u6evWYINfJpfW9PeqiDycThrEyf5y5KumLRxFTKhWM= +github.com/alpenlabs/gnark v0.0.0-20250525053417-53957e5f3230 h1:l3YFoT29VJHj1Y24RoXdAIqEdrmDC15pRZtWSQFmjkU= +github.com/alpenlabs/gnark v0.0.0-20250525053417-53957e5f3230/go.mod h1:0u6evWYINfJpfW9PeqiDycThrEyf5y5KumLRxFTKhWM= github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00 h1:bOdSFf8NHlW2ZmuG56fFJQRH40ZAud/OdLfZgJJ2j+A= github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00/go.mod h1:CU4UijNPsHawiVGNxe9co07FkzCeWHHrb1li/n1XoU0= github.com/bits-and-blooms/bitset v1.14.2 h1:YXVoyPndbdvcEVcseEovVfp0qjJp7S+i5+xgp/Nfbdc= From 2592eb8876f8ce84846fa56a195716a9d6a788ab Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 7 Jul 2025 18:55:48 +0545 Subject: [PATCH 10/27] fix: gnark load from r1cs --- crates/prover/src/lib.rs | 98 ++++++++++---------- crates/recursion/gnark-ffi/go/go.mod | 2 +- crates/recursion/gnark-ffi/go/go.sum | 4 +- crates/recursion/gnark-ffi/go/main.go | 4 +- crates/recursion/gnark-ffi/go/sp1/build.go | 59 +++++++----- crates/recursion/gnark-ffi/go/sp1/prove.go | 71 ++++++++++++++ crates/recursion/gnark-ffi/src/ffi/docker.rs | 32 ++++++- crates/sdk/src/lib.rs | 2 +- 8 files changed, 192 insertions(+), 80 deletions(-) diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 83cd112837..db8afe46ae 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1515,62 +1515,62 @@ pub mod tests { let (_, pk_d, program, vk) = prover.setup(elf); tracing::info!("prove core"); - let core_proof = prover.prove_core(&pk_d, program, &stdin, opts, context)?; - let public_values = core_proof.public_values.clone(); - - if env::var("COLLECT_SHAPES").is_ok() { - let mut shapes = BTreeSet::new(); - for proof in core_proof.proof.0.iter() { - let shape = SP1ProofShape::Recursion(proof.shape()); - shapes.insert(shape); - } - - let mut file = File::create("../shapes.bin").unwrap(); - bincode::serialize_into(&mut file, &shapes).unwrap(); - } + // let core_proof = prover.prove_core(&pk_d, program, &stdin, opts, context)?; + // let public_values = core_proof.public_values.clone(); + + // if env::var("COLLECT_SHAPES").is_ok() { + // let mut shapes = BTreeSet::new(); + // for proof in core_proof.proof.0.iter() { + // let shape = SP1ProofShape::Recursion(proof.shape()); + // shapes.insert(shape); + // } + + // let mut file = File::create("../shapes.bin").unwrap(); + // bincode::serialize_into(&mut file, &shapes).unwrap(); + // } - if verify { - tracing::info!("verify core"); - prover.verify(&core_proof.proof, &vk)?; - } + // if verify { + // tracing::info!("verify core"); + // prover.verify(&core_proof.proof, &vk)?; + // } - if test_kind == Test::Core { - return Ok(()); - } + // if test_kind == Test::Core { + // return Ok(()); + // } - tracing::info!("compress"); - let compress_span = tracing::debug_span!("compress").entered(); - let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; - compress_span.exit(); + // tracing::info!("compress"); + // let compress_span = tracing::debug_span!("compress").entered(); + // let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; + // compress_span.exit(); - if verify { - tracing::info!("verify compressed"); - prover.verify_compressed(&compressed_proof, &vk)?; - } + // if verify { + // tracing::info!("verify compressed"); + // prover.verify_compressed(&compressed_proof, &vk)?; + // } - if test_kind == Test::Compress { - return Ok(()); - } + // if test_kind == Test::Compress { + // return Ok(()); + // } - tracing::info!("shrink"); - let shrink_proof = prover.shrink(compressed_proof, opts)?; + // tracing::info!("shrink"); + // let shrink_proof = prover.shrink(compressed_proof, opts)?; - if verify { - tracing::info!("verify shrink"); - prover.verify_shrink(&shrink_proof, &vk)?; - } + // // if verify { + // // tracing::info!("verify shrink"); + // // prover.verify_shrink(&shrink_proof, &vk)?; + // // } - if test_kind == Test::Shrink { - return Ok(()); - } + // if test_kind == Test::Shrink { + // return Ok(()); + // } - tracing::info!("wrap bn254"); - let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; - let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); + // tracing::info!("wrap bn254"); + // let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; + // let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); - // Save the proof. - let mut file = File::create("proof-with-pis-sect-wrap.bin").unwrap(); - file.write_all(bytes.as_slice()).unwrap(); + // // Save the proof. + // let mut file = File::create("proof-with-pis-sect-wrap.bin").unwrap(); + // file.write_all(bytes.as_slice()).unwrap(); // Load the proof. let mut file = File::open("proof-with-pis-sect-wrap.bin").unwrap(); @@ -1625,8 +1625,8 @@ pub mod tests { &wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof, ); - // let groth16_bn254_proof = prover.wrap_groth16_bn254(wrapped_bn254_proof, &artifacts_dir); - // println!("{:?}", groth16_bn254_proof); + let groth16_bn254_proof = prover.wrap_groth16_bn254(wrapped_bn254_proof, &artifacts_dir); + println!("{:?}", groth16_bn254_proof); // if verify { // prover.verify_groth16_bn254( @@ -1752,7 +1752,7 @@ pub mod tests { #[test] #[serial] fn test_e2e() -> Result<()> { - let elf = test_artifacts::FIBONACCI_ELF; + let elf = test_artifacts::HELLO_WORLD_ELF; setup_logger(); let opts = SP1ProverOpts::auto(); // TODO(mattstam): We should Test::Plonk here, but this uses the existing diff --git a/crates/recursion/gnark-ffi/go/go.mod b/crates/recursion/gnark-ffi/go/go.mod index 70fba412cf..b4cda7cd36 100644 --- a/crates/recursion/gnark-ffi/go/go.mod +++ b/crates/recursion/gnark-ffi/go/go.mod @@ -32,6 +32,6 @@ require ( rsc.io/tmplfunc v0.0.3 // indirect ) -replace github.com/consensys/gnark => github.com/alpenlabs/gnark v0.0.0-20250525053417-53957e5f3230 +replace github.com/consensys/gnark => github.com/alpenlabs/gnark v0.0.0-20250707125522-2d480d810efb replace github.com/consensys/gnark-crypto => github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00 diff --git a/crates/recursion/gnark-ffi/go/go.sum b/crates/recursion/gnark-ffi/go/go.sum index dd16fbf206..689cb2b022 100644 --- a/crates/recursion/gnark-ffi/go/go.sum +++ b/crates/recursion/gnark-ffi/go/go.sum @@ -1,5 +1,5 @@ -github.com/alpenlabs/gnark v0.0.0-20250525053417-53957e5f3230 h1:l3YFoT29VJHj1Y24RoXdAIqEdrmDC15pRZtWSQFmjkU= -github.com/alpenlabs/gnark v0.0.0-20250525053417-53957e5f3230/go.mod h1:0u6evWYINfJpfW9PeqiDycThrEyf5y5KumLRxFTKhWM= +github.com/alpenlabs/gnark v0.0.0-20250707125522-2d480d810efb h1:X+yy+67rPRtbpY3GIj6+rzCoveYF1Th01j75WaiJeWQ= +github.com/alpenlabs/gnark v0.0.0-20250707125522-2d480d810efb/go.mod h1:0u6evWYINfJpfW9PeqiDycThrEyf5y5KumLRxFTKhWM= github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00 h1:bOdSFf8NHlW2ZmuG56fFJQRH40ZAud/OdLfZgJJ2j+A= github.com/alpenlabs/gnark-crypto v0.0.0-20250521035818-134953372b00/go.mod h1:CU4UijNPsHawiVGNxe9co07FkzCeWHHrb1li/n1XoU0= github.com/bits-and-blooms/bitset v1.14.2 h1:YXVoyPndbdvcEVcseEovVfp0qjJp7S+i5+xgp/Nfbdc= diff --git a/crates/recursion/gnark-ffi/go/main.go b/crates/recursion/gnark-ffi/go/main.go index 8ee6153d7f..5c74f18d4e 100644 --- a/crates/recursion/gnark-ffi/go/main.go +++ b/crates/recursion/gnark-ffi/go/main.go @@ -291,7 +291,7 @@ func TestMain() error { } { - r1cs_fn := "/r1cs_temp" + r1cs_fn := "/r1cs_to_dvsnark" file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer if err != nil { log.Fatalf("Failed to create file: %v", err) @@ -311,7 +311,7 @@ func TestMain() error { } solution := _solution.(*bcs.R1CSSolution) - witness_fn := "/witness_temp" + witness_fn := "/witness_to_dvsnark" wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer if err != nil { log.Fatalf("Failed to create file: %v", err) diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index 4a90e11e8d..279acb9d1d 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -382,41 +382,58 @@ func BuildGroth16(dataDir string) { } { - r1cs_fn := "/r1cs_temp" - file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer + r1cs_fn := "/r1cs_cached" + file, err := os.Create(r1cs_fn) if err != nil { log.Fatalf("Failed to create file: %v", err) } - defer file.Close() // Ensure the file is closed when main exits + defer file.Close() - Dump(r1cs, file) - - assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, fr.Modulus()) - if err != nil { - panic(err) - } - _solution, err := r1cs.Solve(witness) + bytesWritten, err := r1cs.WriteTo(file) if err != nil { panic("err is not nil for solve") } - solution := _solution.(*bcs.R1CSSolution) + fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, r1cs_fn) + } - witness_fn := "/witness_temp" - wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer + { + r1cs_fn := "/r1cs_to_dvsnark" + file, err := os.Create(r1cs_fn) if err != nil { log.Fatalf("Failed to create file: %v", err) } - defer wfile.Close() // Ensure the file is closed when main exits + defer file.Close() - bytesWritten, err := solution.W.WriteTo(wfile) - if err != nil { - log.Fatalf("Failed to write to file: %v", err) - } - - fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) + Dump(r1cs, file) } + // { + // assignment := NewCircuit(witnessInput) + // witness, err := frontend.NewWitness(&assignment, fr.Modulus()) + // if err != nil { + // panic(err) + // } + // _solution, err := r1cs.Solve(witness) + // if err != nil { + // panic("err is not nil for solve") + // } + // solution := _solution.(*bcs.R1CSSolution) + + // witness_fn := "/witness_to_dvsnark" + // wfile, err := os.Create(witness_fn) + // if err != nil { + // log.Fatalf("Failed to create file: %v", err) + // } + // defer wfile.Close() + + // bytesWritten, err := solution.W.WriteTo(wfile) + // if err != nil { + // log.Fatalf("Failed to write to file: %v", err) + // } + + // fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) + // } + // // Generate the proving and verifying key. // pk, vk, err := groth16.Setup(r1cs) // if err != nil { diff --git a/crates/recursion/gnark-ffi/go/sp1/prove.go b/crates/recursion/gnark-ffi/go/sp1/prove.go index ca90f795a4..f9e53daa4a 100644 --- a/crates/recursion/gnark-ffi/go/sp1/prove.go +++ b/crates/recursion/gnark-ffi/go/sp1/prove.go @@ -4,14 +4,17 @@ import ( "bufio" "encoding/json" "fmt" + "log" "os" "sync" "time" "github.com/consensys/gnark-crypto/ecc" + fr "github.com/consensys/gnark-crypto/ecc/sect/fr" "github.com/consensys/gnark/backend/groth16" "github.com/consensys/gnark/backend/plonk" "github.com/consensys/gnark/constraint" + bcs "github.com/consensys/gnark/constraint/sect" "github.com/consensys/gnark/frontend" ) @@ -95,12 +98,80 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { return NewSP1PlonkBn254Proof(&proof, witnessInput) } +func SaveWitnessToFile(dataDir string, witnessPath string) { + + r1cs_fn := "/r1cs_cached" + file, err := os.Open(r1cs_fn) + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + var r1cs bcs.R1CS + bytesRead, err := r1cs.ReadFrom(file) + if err != nil { + panic(err) + } + fmt.Printf("Successfully read %d bytes from %s\n", bytesRead, r1cs_fn) + + start := time.Now() + // Read the file. + witnessInputPath := dataDir + "/" + groth16WitnessPath + data, err := os.ReadFile(witnessInputPath) + if err != nil { + panic(err) + } + + start = time.Now() + // Deserialize the JSON data into a slice of Instruction structs + var witnessInput WitnessInput + err = json.Unmarshal(data, &witnessInput) + if err != nil { + panic(err) + } + fmt.Printf("Deserializing JSON data took %s\n", time.Since(start)) + + start = time.Now() + // Generate the witness. + assignment := NewCircuit(witnessInput) + witness, err := frontend.NewWitness(&assignment, fr.Modulus()) + if err != nil { + panic(err) + } + fmt.Printf("Generating witness took %s\n", time.Since(start)) + + _solution, err := r1cs.Solve(witness) + if err != nil { + panic(err) + } + solution := _solution.(*bcs.R1CSSolution) + + witness_fn := "/witness_to_dvsnark" + wfile, err := os.Create(witness_fn) + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer wfile.Close() + + bytesWritten, err := solution.W.WriteTo(wfile) + if err != nil { + log.Fatalf("Failed to write to file: %v", err) + } + + fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) + +} + func ProveGroth16(dataDir string, witnessPath string) Proof { // Sanity check the required arguments have been provided. if dataDir == "" { panic("dataDirStr is required") } + fmt.Println("start SaveWitnessToFile") + + SaveWitnessToFile(dataDir, witnessPath) + + fmt.Println("finished SaveWitnessToFile") + start := time.Now() os.Setenv("CONSTRAINTS_JSON", dataDir+"/"+constraintsJsonFile) os.Setenv("GROTH16", "1") diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index 59ac00b6b1..ed24a3982d 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -1,6 +1,6 @@ use crate::{Groth16Bn254Proof, PlonkBn254Proof, ProofBn254, SP1_CIRCUIT_VERSION}; use anyhow::{anyhow, Result}; -use std::{io::Write, process::Command}; +use std::{fs::File, io::Write, path::Path, process::Command}; /// Represents the proof system being used enum ProofSystem { @@ -47,9 +47,33 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { for (src, dest) in mounts { cmd.arg("-v").arg(format!("{}:{}", src, dest)); } - cmd.arg("-v").arg(format!("{}:{}", "/Users/manishbista/.sp1/circuits/r1cs_temp", "/r1cs_temp")); - cmd.arg("-v") - .arg(format!("{}:{}", "/Users/manishbista/.sp1/circuits/witness_temp", "/witness_temp")); + + let home = std::env::home_dir().expect("Failed to find the home directory."); + let circuits_dir = home.join(".sp1/circuits"); + let r1cs_to_dvsnark_path = circuits_dir.join("r1cs_to_dvsnark"); + let r1cs_cached_path = circuits_dir.join("r1cs_cached"); + let witness_to_dvsnark_path = circuits_dir.join("witness_to_dvsnark"); + + let paths_to_create = [&r1cs_to_dvsnark_path, &r1cs_cached_path, &witness_to_dvsnark_path]; + + // Iterate over the paths and create a file if it doesn't exist. + for path in &paths_to_create { + if !path.exists() { + // File::create will create the file or truncate it if it exists. + // Since we check for existence first, it will only create it. + File::create(path)?; + println!("Created file: {:?}", path); + } + } + + cmd.arg("-v").arg(format!("{}:{}", r1cs_to_dvsnark_path.to_string_lossy(), "/r1cs_to_dvsnark")); + cmd.arg("-v").arg(format!("{}:{}", r1cs_cached_path.to_string_lossy(), "/r1cs_cached")); + cmd.arg("-v").arg(format!( + "{}:{}", + witness_to_dvsnark_path.to_string_lossy(), + "/witness_to_dvsnark" + )); + cmd.arg("sp1-gnark:latest"); // replace with modified image sp1-gnark:latest cmd.args(args); println!("Command {:?}", cmd); diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index fadca07035..cff1f95615 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -167,7 +167,7 @@ mod tests { stdin.write(&10usize); // Generate proof & verify. - let mut proof = client.prove(&pk, &stdin).plonk().run().unwrap(); + let mut proof = client.prove(&pk, &stdin).groth16().run().unwrap(); client.verify(&proof, &vk).unwrap(); // Test invalid public values. From 2bb40d9f5df6fd1e1523888a99b00bf6bcf5a74d Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Tue, 8 Jul 2025 11:52:26 +0545 Subject: [PATCH 11/27] feat: add sect witness gen --- crates/prover/src/build.rs | 33 ++++++++++++++++- crates/prover/src/lib.rs | 34 +++++++++++++++++- crates/recursion/gnark-ffi/go/sp1/prove.go | 15 +++++++- crates/recursion/gnark-ffi/src/ffi/docker.rs | 4 +++ crates/recursion/gnark-ffi/src/ffi/native.rs | 4 +++ crates/recursion/gnark-ffi/src/lib.rs | 2 ++ crates/recursion/gnark-ffi/src/proof.rs | 3 ++ .../recursion/gnark-ffi/src/sect_wit_gen.rs | 21 +++++++++++ crates/sdk/src/cpu/mod.rs | 35 +++++++++++++------ crates/sdk/src/lib.rs | 16 ++++----- 10 files changed, 145 insertions(+), 22 deletions(-) create mode 100644 crates/recursion/gnark-ffi/src/sect_wit_gen.rs diff --git a/crates/prover/src/build.rs b/crates/prover/src/build.rs index 5e6c2d32d4..8cdbf5a452 100644 --- a/crates/prover/src/build.rs +++ b/crates/prover/src/build.rs @@ -1,6 +1,6 @@ #![allow(clippy::print_stdout)] // okay to print to stdout: this is a build script -use std::{borrow::Borrow, path::PathBuf}; +use std::{borrow::Borrow, fs::metadata, path::PathBuf}; use p3_baby_bear::BabyBear; use sp1_core_executor::SP1Context; @@ -43,6 +43,37 @@ pub fn try_build_groth16_bn254_artifacts_dev( template_proof: &ShardProof, ) -> PathBuf { let build_dir = groth16_bn254_artifacts_dev_dir(); + + let home = std::env::home_dir().expect("Failed to find the home directory."); + let circuits_dir = home.join(".sp1/circuits"); + let r1cs_to_dvsnark_path = circuits_dir.join("r1cs_to_dvsnark"); + let r1cs_cached_path = circuits_dir.join("r1cs_cached"); + + let mut r1cs_to_dvsnark_content_exist = false; + if r1cs_to_dvsnark_path.exists() { + let md = metadata(r1cs_to_dvsnark_path).unwrap(); + let filesize = md.len(); + if filesize > 1024 { + // > 1 KB + r1cs_to_dvsnark_content_exist = true + } + } + + let mut r1cs_cached_content_exist = false; + if r1cs_cached_path.exists() { + let md = metadata(r1cs_cached_path).unwrap(); + let filesize = md.len(); + if filesize > 1024 { + // > 1 KB + r1cs_cached_content_exist = true + } + } + + if r1cs_cached_content_exist && r1cs_to_dvsnark_content_exist { + println!("[sp1] build dir contains cached r1cs"); + return build_dir; // early return if content already exist + } + println!("[sp1] building groth16 bn254 artifacts in development mode"); build_groth16_bn254_artifacts(template_vk, template_proof, &build_dir); build_dir diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index db8afe46ae..98503d618b 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -80,7 +80,10 @@ use sp1_recursion_core::{ RecursionProgram, Runtime as RecursionRuntime, }; pub use sp1_recursion_gnark_ffi::proof::{Groth16Bn254Proof, PlonkBn254Proof}; -use sp1_recursion_gnark_ffi::{groth16_bn254::Groth16Bn254Prover, plonk_bn254::PlonkBn254Prover}; +use sp1_recursion_gnark_ffi::{ + groth16_bn254::Groth16Bn254Prover, plonk_bn254::PlonkBn254Prover, SectWitness, + SectWitnessGenerator, +}; use sp1_stark::{ baby_bear_poseidon2::BabyBearPoseidon2, shape::{OrderedShape, Shape}, @@ -1043,6 +1046,35 @@ impl SP1Prover { proof } + /// Wrap the STARK proven over sect + #[instrument(name = "wrap_sect", level = "info", skip_all)] + pub fn wrap_sect(&self, proof: SP1ReduceProof, build_dir: &Path) -> SectWitness { + let input = SP1CompressWitnessValues { + vks_and_proofs: vec![(proof.vk.clone(), proof.proof.clone())], + is_complete: true, + }; + let vkey_hash = sp1_vkey_digest_bn254(&proof); + let committed_values_digest = sp1_committed_values_digest_bn254(&proof); + + let mut witness = Witness::default(); + input.write(&mut witness); + witness.write_committed_values_digest(committed_values_digest); + witness.write_vkey_hash(vkey_hash); + + let prover = SectWitnessGenerator {}; + let proof = prover.prove(witness, build_dir.to_path_buf()); + + // Verify the proof. + // prover.verify( + // &proof, + // &vkey_hash.as_canonical_biguint(), + // &committed_values_digest.as_canonical_biguint(), + // build_dir, + // ); + + proof + } + pub fn recursion_program( &self, input: &SP1RecursionWitnessValues, diff --git a/crates/recursion/gnark-ffi/go/sp1/prove.go b/crates/recursion/gnark-ffi/go/sp1/prove.go index f9e53daa4a..42bc723588 100644 --- a/crates/recursion/gnark-ffi/go/sp1/prove.go +++ b/crates/recursion/gnark-ffi/go/sp1/prove.go @@ -161,7 +161,7 @@ func SaveWitnessToFile(dataDir string, witnessPath string) { } func ProveGroth16(dataDir string, witnessPath string) Proof { - // Sanity check the required arguments have been provided. + if dataDir == "" { panic("dataDirStr is required") } @@ -172,6 +172,19 @@ func ProveGroth16(dataDir string, witnessPath string) Proof { fmt.Println("finished SaveWitnessToFile") + return Proof{ + PublicInputs: [2]string{"", ""}, + EncodedProof: "", + RawProof: "", + } +} + +func ProveGroth16Old(dataDir string, witnessPath string) Proof { + // Sanity check the required arguments have been provided. + if dataDir == "" { + panic("dataDirStr is required") + } + start := time.Now() os.Setenv("CONSTRAINTS_JSON", dataDir+"/"+constraintsJsonFile) os.Setenv("GROTH16", "1") diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index ed24a3982d..68dd31901c 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -131,6 +131,10 @@ pub fn prove_groth16_bn254(data_dir: &str, witness_path: &str) -> Groth16Bn254Pr } } +pub fn prove_witness_sect(data_dir: &str, witness_path: &str) { + let _ = prove(ProofSystem::Groth16, data_dir, witness_path); +} + fn build(system: ProofSystem, data_dir: &str) -> Result<()> { let circuit_dir = if data_dir.ends_with("dev") { "/circuit_dev" } else { "/circuit" }; let mounts = [(data_dir, circuit_dir)]; diff --git a/crates/recursion/gnark-ffi/src/ffi/native.rs b/crates/recursion/gnark-ffi/src/ffi/native.rs index dbc0650238..2961ebce13 100644 --- a/crates/recursion/gnark-ffi/src/ffi/native.rs +++ b/crates/recursion/gnark-ffi/src/ffi/native.rs @@ -176,6 +176,10 @@ pub fn prove_groth16_bn254(data_dir: &str, witness_path: &str) -> Groth16Bn254Pr } } +pub fn prove_witness_sect(data_dir: &str, witness_path: &str) { + prove(ProofSystem::Groth16, data_dir, witness_path); +} + pub fn verify_groth16_bn254( data_dir: &str, proof: &str, diff --git a/crates/recursion/gnark-ffi/src/lib.rs b/crates/recursion/gnark-ffi/src/lib.rs index 0aa5c40e60..403bae2eea 100644 --- a/crates/recursion/gnark-ffi/src/lib.rs +++ b/crates/recursion/gnark-ffi/src/lib.rs @@ -4,11 +4,13 @@ pub mod ffi; pub mod groth16_bn254; pub mod plonk_bn254; pub mod proof; +pub mod sect_wit_gen; pub mod witness; pub use groth16_bn254::*; pub use plonk_bn254::*; pub use proof::*; +pub use sect_wit_gen::*; pub use witness::*; /// The global version for all components of SP1. diff --git a/crates/recursion/gnark-ffi/src/proof.rs b/crates/recursion/gnark-ffi/src/proof.rs index fa71022f42..ed90e239cb 100644 --- a/crates/recursion/gnark-ffi/src/proof.rs +++ b/crates/recursion/gnark-ffi/src/proof.rs @@ -21,3 +21,6 @@ pub struct Groth16Bn254Proof { pub raw_proof: String, pub groth16_vkey_hash: [u8; 32], } + +#[derive(Debug, Clone, Serialize, Deserialize, Default)] +pub struct SectWitness {} diff --git a/crates/recursion/gnark-ffi/src/sect_wit_gen.rs b/crates/recursion/gnark-ffi/src/sect_wit_gen.rs new file mode 100644 index 0000000000..81e4e5c884 --- /dev/null +++ b/crates/recursion/gnark-ffi/src/sect_wit_gen.rs @@ -0,0 +1,21 @@ +use std::{io::Write, path::PathBuf}; + +use sp1_recursion_compiler::ir::{Config, Witness}; + +use crate::{ffi::prove_witness_sect, GnarkWitness, SectWitness}; + +#[derive(Debug, Clone, Default)] +pub struct SectWitnessGenerator; + +impl SectWitnessGenerator { + pub fn prove(&self, witness: Witness, build_dir: PathBuf) -> SectWitness { + // Write witness. + let mut witness_file = tempfile::NamedTempFile::new().unwrap(); + let gnark_witness = GnarkWitness::new(witness); + let serialized = serde_json::to_string(&gnark_witness).unwrap(); + witness_file.write_all(serialized.as_bytes()).unwrap(); + + prove_witness_sect(build_dir.to_str().unwrap(), witness_file.path().to_str().unwrap()); + SectWitness {} + } +} diff --git a/crates/sdk/src/cpu/mod.rs b/crates/sdk/src/cpu/mod.rs index 9de4479030..a6c1328a83 100644 --- a/crates/sdk/src/cpu/mod.rs +++ b/crates/sdk/src/cpu/mod.rs @@ -6,15 +6,18 @@ pub mod builder; pub mod execute; pub mod prove; +use std::io::Read; + use anyhow::Result; use execute::CpuExecuteBuilder; use prove::CpuProveBuilder; -use sp1_core_executor::{SP1Context, SP1ContextBuilder}; +use sp1_core_executor::{SP1Context, SP1ContextBuilder, SP1ReduceProof}; use sp1_core_machine::io::SP1Stdin; use sp1_prover::{ components::CpuProverComponents, verify::{verify_groth16_bn254_public_inputs, verify_plonk_bn254_public_inputs}, - Groth16Bn254Proof, PlonkBn254Proof, SP1CoreProofData, SP1ProofWithMetadata, SP1Prover, + Groth16Bn254Proof, OuterSC, PlonkBn254Proof, SP1CoreProofData, SP1ProofWithMetadata, SP1Prover, + SP1PublicValues, }; use sp1_stark::{SP1CoreOpts, SP1ProverOpts}; @@ -141,22 +144,32 @@ impl CpuProver { // Generate the wrap proof. let outer_proof = self.prover.wrap_bn254(compress_proof, opts)?; + // let bytes = bincode::serialize(&outer_proof).unwrap(); + + // // Save the proof. + // let mut file = File::create("proof-with-pis-sect-wrap.bin").unwrap(); + // file.write_all(bytes.as_slice()).unwrap(); + + // let mut file = std::fs::File::open("proof-with-pis-sect-wrap.bin").unwrap(); + // let mut bytes = Vec::new(); + // file.read_to_end(&mut bytes).unwrap(); + + // let outer_proof: SP1ReduceProof = bincode::deserialize(&bytes).unwrap(); + // let _ = self.prover.wrap_vk.set(outer_proof.clone().vk); + // Generate the gnark proof. match mode { SP1ProofMode::Groth16 => { - let groth16_bn254_artifacts = if sp1_prover::build::sp1_dev_mode() { + let groth16_bn254_artifacts = sp1_prover::build::try_build_groth16_bn254_artifacts_dev( &outer_proof.vk, &outer_proof.proof, - ) - } else { - try_install_circuit_artifacts("groth16") - }; + ); - let proof = self.prover.wrap_groth16_bn254(outer_proof, &groth16_bn254_artifacts); + let _sect_witness = self.prover.wrap_sect(outer_proof, &groth16_bn254_artifacts); Ok(SP1ProofWithPublicValues::new( - SP1Proof::Groth16(proof), - public_values, + SP1Proof::Core(vec![]), + SP1PublicValues::default(), self.version().to_string(), )) } @@ -172,7 +185,7 @@ impl CpuProver { let proof = self.prover.wrap_plonk_bn254(outer_proof, &plonk_bn254_artifacts); Ok(SP1ProofWithPublicValues::new( SP1Proof::Plonk(proof), - public_values, + SP1PublicValues::default(), self.version().to_string(), )) } diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index cff1f95615..5edfd18e04 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -161,20 +161,20 @@ mod tests { fn test_e2e_prove_plonk() { utils::setup_logger(); let client = ProverClient::builder().cpu().build(); - let elf = test_artifacts::FIBONACCI_ELF; + let elf = test_artifacts::HELLO_WORLD_ELF; let (pk, vk) = client.setup(elf); - let mut stdin = SP1Stdin::new(); - stdin.write(&10usize); + let stdin = SP1Stdin::default(); + //stdin.write(&10usize); // Generate proof & verify. let mut proof = client.prove(&pk, &stdin).groth16().run().unwrap(); - client.verify(&proof, &vk).unwrap(); + //client.verify(&proof, &vk).unwrap(); // Test invalid public values. - proof.public_values = SP1PublicValues::from(&[255, 4, 84]); - if client.verify(&proof, &vk).is_ok() { - panic!("verified proof with invalid public values") - } + // proof.public_values = SP1PublicValues::from(&[255, 4, 84]); + // if client.verify(&proof, &vk).is_ok() { + // panic!("verified proof with invalid public values") + // } } #[test] From 401ca9f00c1cfe1bea8cebae6e20130946357198 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Tue, 8 Jul 2025 12:23:28 +0545 Subject: [PATCH 12/27] init: prover for cuda --- crates/sdk/src/cuda/mod.rs | 37 +++++++++++++++++++++++++------------ crates/sdk/src/lib.rs | 2 +- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/crates/sdk/src/cuda/mod.rs b/crates/sdk/src/cuda/mod.rs index 4e6e399ab0..ed7c670259 100644 --- a/crates/sdk/src/cuda/mod.rs +++ b/crates/sdk/src/cuda/mod.rs @@ -10,7 +10,7 @@ use prove::CudaProveBuilder; use sp1_core_executor::SP1ContextBuilder; use sp1_core_machine::io::SP1Stdin; use sp1_cuda::{MoongateServer, SP1CudaProver}; -use sp1_prover::{components::CpuProverComponents, SP1Prover}; +use sp1_prover::{components::CpuProverComponents, SP1Prover, SP1PublicValues}; use crate::{ cpu::execute::CpuExecuteBuilder, install::try_install_circuit_artifacts, Prover, SP1Proof, @@ -137,19 +137,32 @@ impl CudaProver { ); return Ok((proof_with_pv, cycles)); } else if kind == SP1ProofMode::Groth16 { - let groth16_bn254_artifacts = if sp1_prover::build::sp1_dev_mode() { - sp1_prover::build::try_build_groth16_bn254_artifacts_dev( - &outer_proof.vk, - &outer_proof.proof, - ) - } else { - try_install_circuit_artifacts("groth16") - }; + // let groth16_bn254_artifacts = if sp1_prover::build::sp1_dev_mode() { + // sp1_prover::build::try_build_groth16_bn254_artifacts_dev( + // &outer_proof.vk, + // &outer_proof.proof, + // ) + // } else { + // try_install_circuit_artifacts("groth16") + // }; + + // let proof = self.cpu_prover.wrap_groth16_bn254(outer_proof, &groth16_bn254_artifacts); + // let proof_with_pv = SP1ProofWithPublicValues::new( + // SP1Proof::Groth16(proof), + // public_values, + // self.version().to_string(), + // ); + // return Ok((proof_with_pv, cycles)); + + let groth16_bn254_artifacts = sp1_prover::build::try_build_groth16_bn254_artifacts_dev( + &outer_proof.vk, + &outer_proof.proof, + ); - let proof = self.cpu_prover.wrap_groth16_bn254(outer_proof, &groth16_bn254_artifacts); + let _sect_witness = self.cpu_prover.wrap_sect(outer_proof, &groth16_bn254_artifacts); let proof_with_pv = SP1ProofWithPublicValues::new( - SP1Proof::Groth16(proof), - public_values, + SP1Proof::Core(vec![]), + SP1PublicValues::default(), self.version().to_string(), ); return Ok((proof_with_pv, cycles)); diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index 5edfd18e04..7bbb492226 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -160,7 +160,7 @@ mod tests { #[test] fn test_e2e_prove_plonk() { utils::setup_logger(); - let client = ProverClient::builder().cpu().build(); + let client = ProverClient::builder().cuda().build(); let elf = test_artifacts::HELLO_WORLD_ELF; let (pk, vk) = client.setup(elf); let stdin = SP1Stdin::default(); From d010c59936ed99c5043475402af54b7d36c240d8 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Thu, 10 Jul 2025 12:59:56 +0545 Subject: [PATCH 13/27] test_e2e_prove_plonk uses cuda --- crates/sdk/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index 7bbb492226..5edfd18e04 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -160,7 +160,7 @@ mod tests { #[test] fn test_e2e_prove_plonk() { utils::setup_logger(); - let client = ProverClient::builder().cuda().build(); + let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::HELLO_WORLD_ELF; let (pk, vk) = client.setup(elf); let stdin = SP1Stdin::default(); From abe4ed724f3a89bff860bf7aa62649224a98814b Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Sun, 20 Jul 2025 16:08:35 +0545 Subject: [PATCH 14/27] wip: undocumented mask top 32 bits --- crates/prover/src/utils.rs | 17 ++++++----- crates/recursion/circuit/src/utils.rs | 43 ++++++++++++++------------- crates/sdk/src/cpu/mod.rs | 2 ++ crates/sdk/src/lib.rs | 3 +- 4 files changed, 37 insertions(+), 28 deletions(-) diff --git a/crates/prover/src/utils.rs b/crates/prover/src/utils.rs index cd882897e4..d19ecda790 100644 --- a/crates/prover/src/utils.rs +++ b/crates/prover/src/utils.rs @@ -127,12 +127,16 @@ pub fn words_to_bytes(words: &[Word]) -> Vec { /// word becomes the least significant bits. pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { let mut result = SectFr::zero(); - for word in digest.iter() { + for (idx, word) in digest.iter().enumerate() { // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be // within the SectFr field, we truncate the top 3 bits everytime. // so total size of result in the end is 8 x 28 = 224 bits - result *= SectFr::from_canonical_u64(1 << 28); // shift by 28 - let masked_val_u32 = word.as_canonical_u32() & 0x0FFFFFFF; // mask top 3-bits + result *= SectFr::from_canonical_u64(1 << 32); // shift by 28 + let masked_val_u32 = if idx == 0 { + 0 // mask top 3-bits + } else { + word.as_canonical_u32() + }; result += SectFr::from_canonical_u32(masked_val_u32); // add 28 bits } result @@ -142,10 +146,9 @@ pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { /// (which would become the 3 most significant bits) are truncated. pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { let mut result = SectFr::zero(); - for byte in bytes.iter() { - result *= SectFr::from_canonical_u32(128); // shift by 7 bits - let masked = byte.as_canonical_u32() & 0x7f; - debug_assert!(masked < 128); + for (idx, byte) in bytes.iter().enumerate() { + result *= SectFr::from_canonical_u32(256); // shift by 7 bits + let masked = if idx < 4 { 0 } else { byte.as_canonical_u32() }; result += SectFr::from_canonical_u32(masked); // add 7-bit } result diff --git a/crates/recursion/circuit/src/utils.rs b/crates/recursion/circuit/src/utils.rs index 6a37107e71..8b19840d4c 100644 --- a/crates/recursion/circuit/src/utils.rs +++ b/crates/recursion/circuit/src/utils.rs @@ -12,12 +12,16 @@ use sp1_stark::Word; #[allow(dead_code)] pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { let mut result = SectFr::zero(); - for word in digest.iter() { + for (idx, word) in digest.iter().enumerate() { // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be // within the SectFr field, we truncate the top 3 bits everytime. // so total size of result in the end is 8 x 28 = 224 bits - result *= SectFr::from_canonical_u64(1 << 28); // shift by 28 - let masked_val_u32 = word.as_canonical_u32() & 0x0FFFFFFF; // mask top 3-bits + result *= SectFr::from_canonical_u64(1 << 32); // shift by 28 + let masked_val_u32 = if idx == 0 { + 0 // mask top 3-bits + } else { + word.as_canonical_u32() + }; result += SectFr::from_canonical_u32(masked_val_u32); // add 28 bits } result @@ -27,10 +31,9 @@ pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { #[allow(dead_code)] pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { let mut result = SectFr::zero(); - for byte in bytes.iter() { - result *= SectFr::from_canonical_u32(128); // shift by 7 bits - let masked = byte.as_canonical_u32() & 0x7f; - debug_assert!(masked < 128); + for (idx, byte) in bytes.iter().enumerate() { + result *= SectFr::from_canonical_u32(256); // shift by 7 bits + let masked = if idx < 4 { 0 } else { byte.as_canonical_u32() }; result += SectFr::from_canonical_u32(masked); // add 7-bit } result @@ -41,21 +44,21 @@ pub fn felts_to_bn254_var( builder: &mut Builder, digest: &[Felt; DIGEST_SIZE], ) -> Var { - let var_2_28: Var<_> = builder.constant(C::N::from_canonical_u32(1 << 28)); + let var_2_32: Var<_> = builder.constant(C::N::from_canonical_u64(1 << 32)); let result = builder.constant(C::N::zero()); let zero_var: Var<_> = builder.constant(C::N::zero()); for (i, word) in digest.iter().enumerate() { let all_bits: Vec> = builder.num2bits_f_circuit(*word); - for j in 0..3 { - // mask 30, 29, 28'th positions leaving 0-27 untouched; thus masking all but 28 bits - builder.assign(all_bits[NUM_BITS - j - 1], zero_var); - } - let word_var = builder.bits2num_v_circuit(&all_bits); + // for j in 0..3 { + // // mask 30, 29, 28'th positions leaving 0-27 untouched; thus masking all but 28 bits + // builder.assign(all_bits[NUM_BITS - j - 1], zero_var); + // } + let word_var = if i == 0 { zero_var } else { builder.bits2num_v_circuit(&all_bits) }; if i == 0 { builder.assign(result, word_var); } else { - builder.assign(result, result * var_2_28 + word_var); + builder.assign(result, result * var_2_32 + word_var); } } result @@ -66,20 +69,20 @@ pub fn felt_bytes_to_bn254_var( builder: &mut Builder, bytes: &[Felt; 32], ) -> Var { - let var_128: Var<_> = builder.constant(C::N::from_canonical_u32(128)); + let var_256: Var<_> = builder.constant(C::N::from_canonical_u32(256)); let zero_var: Var<_> = builder.constant(C::N::zero()); let result = builder.constant(C::N::zero()); for (i, byte) in bytes.iter().enumerate() { let byte_bits = builder.num2bits_f_circuit(*byte); // mask top 1-bit - for j in 0..1 { - builder.assign(byte_bits[8 - j - 1], zero_var); - } - let byte_var = builder.bits2num_v_circuit(&byte_bits); + // for j in 0..1 { + // builder.assign(byte_bits[8 - j - 1], zero_var); + // } + let byte_var = if i < 4 { zero_var } else { builder.bits2num_v_circuit(&byte_bits) }; if i == 0 { builder.assign(result, byte_var); } else { - builder.assign(result, result * var_128 + byte_var); + builder.assign(result, result * var_256 + byte_var); } } result diff --git a/crates/sdk/src/cpu/mod.rs b/crates/sdk/src/cpu/mod.rs index a6c1328a83..74279a35ff 100644 --- a/crates/sdk/src/cpu/mod.rs +++ b/crates/sdk/src/cpu/mod.rs @@ -99,6 +99,7 @@ impl CpuProver { } } + #[allow(clippy::print_stdout)] pub(crate) fn prove_impl<'a>( &'a self, pk: &SP1ProvingKey, @@ -117,6 +118,7 @@ impl CpuProver { // Generate the core proof. let proof: SP1ProofWithMetadata = self.prover.prove_core(&pk.pk, program, stdin, opts, context)?; + println!("public values {:?}", proof.public_values); if mode == SP1ProofMode::Core { return Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(proof.proof.0), diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index 5edfd18e04..ef99938ea0 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -158,10 +158,11 @@ mod tests { } #[test] + #[allow(clippy::print_stdout)] fn test_e2e_prove_plonk() { utils::setup_logger(); let client = ProverClient::builder().cpu().build(); - let elf = test_artifacts::HELLO_WORLD_ELF; + let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; let (pk, vk) = client.setup(elf); let stdin = SP1Stdin::default(); //stdin.write(&10usize); From ab45f578ba1f2fd46b7ef4b781cde294ddc911d6 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 18 Aug 2025 11:18:05 +0545 Subject: [PATCH 15/27] feat: directly dump r1cs if gnark file exists --- crates/recursion/gnark-ffi/go/sp1/build.go | 55 +++++++++++++++++++--- 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index 279acb9d1d..8d149813a9 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -253,16 +253,11 @@ func BuildPlonk(dataDir string) { // It is functionally identical to the original version but batches I/O // through an internal bufio.Writer and uses raw little-endian encodes for // scalars to avoid reflection overhead in binary.Write. -func Dump(cs constraint.ConstraintSystem, w io.Writer) error { +func Dump(r1cs *bcs.R1CS, w io.Writer) error { // Wrap the destination with a large buffered writer (1 MiB; tune as needed). bw := bufio.NewWriterSize(w, 1<<20) defer bw.Flush() // ensure everything is pushed downstream - r1cs, ok := cs.(*bcs.R1CS) - if !ok { - return fmt.Errorf("unsupported constraint system type %T", cs) - } - coeffs := r1cs.Coefficients rows := r1cs.GetR1Cs() @@ -327,7 +322,52 @@ func Dump(cs constraint.ConstraintSystem, w io.Writer) error { return bw.Flush() // explicit flush + propagate any error } +func DumpR1CSIfItExists() bool { + // Check input exists + if stat, err := os.Stat("/r1cs_cached"); err != nil { + // doesn't exist or not accessible + return false + } else if stat.Size() < 1024 { + return false + } + + // Open input + r1cs_fn := "/r1cs_cached" + file, err := os.Open(r1cs_fn) + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + var r1cs bcs.R1CS + bytesRead, err := r1cs.ReadFrom(file) + if err != nil { + panic(err) + } + fmt.Printf("Successfully read %d bytes from %s\n", bytesRead, r1cs_fn) + + // Create output + new_r1cs_fn := "/r1cs_to_dvsnark" + new_file, err := os.Create(new_r1cs_fn) + if err != nil { + log.Fatalf("Failed to create file: %v", err) + } + defer new_file.Close() + + log.Printf("DumpR1CSIfItExists; Dump to file %s", new_r1cs_fn) + err = Dump(&r1cs, new_file) + if err != nil { + log.Fatalf("Failed to dump to file: %v", err) + } + + return true +} + func BuildGroth16(dataDir string) { + r1cs_dumped := DumpR1CSIfItExists() + if r1cs_dumped { + fmt.Println("r1cs_cache already exists, converted to format r1cs_to_dvsnark") + return + } + // Set the environment variable for the constraints file. // // TODO: There might be some non-determinism if a single process is running this command @@ -404,7 +444,8 @@ func BuildGroth16(dataDir string) { } defer file.Close() - Dump(r1cs, file) + r1cs_contr := r1cs.(*bcs.R1CS) + Dump(r1cs_contr, file) } // { From 283a9ceeaaeba64493cd92a5beeb6b73ba5e541b Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Wed, 20 Aug 2025 10:32:03 +0545 Subject: [PATCH 16/27] fix: point to correct witness path --- crates/prover/src/build.rs | 1 + crates/prover/src/lib.rs | 3 +++ crates/recursion/gnark-ffi/go/sp1/prove.go | 11 +++-------- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/crates/prover/src/build.rs b/crates/prover/src/build.rs index 8cdbf5a452..1fa63b4330 100644 --- a/crates/prover/src/build.rs +++ b/crates/prover/src/build.rs @@ -168,6 +168,7 @@ pub fn build_constraints_and_witness( words_to_bytes(&pv.committed_value_digest).try_into().unwrap(); let committed_values_digest = babybear_bytes_to_bn254(&committed_values_digest_bytes); + println!("SP1 VERIIFCATION KEY: {:?}", vkey_hash); tracing::warn!("committed values digest {:?}", committed_values_digest); tracing::info!("building template witness"); let mut witness = OuterWitness::default(); diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 98503d618b..16d9fb5d9c 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1046,6 +1046,7 @@ impl SP1Prover { proof } + #[allow(clippy::print_stdout)] /// Wrap the STARK proven over sect #[instrument(name = "wrap_sect", level = "info", skip_all)] pub fn wrap_sect(&self, proof: SP1ReduceProof, build_dir: &Path) -> SectWitness { @@ -1061,6 +1062,8 @@ impl SP1Prover { witness.write_committed_values_digest(committed_values_digest); witness.write_vkey_hash(vkey_hash); + println!("vkey_hash {:?}", vkey_hash); + println!("committed_values_digest {:?}", committed_values_digest); let prover = SectWitnessGenerator {}; let proof = prover.prove(witness, build_dir.to_path_buf()); diff --git a/crates/recursion/gnark-ffi/go/sp1/prove.go b/crates/recursion/gnark-ffi/go/sp1/prove.go index 42bc723588..9ad5af4584 100644 --- a/crates/recursion/gnark-ffi/go/sp1/prove.go +++ b/crates/recursion/gnark-ffi/go/sp1/prove.go @@ -98,7 +98,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { return NewSP1PlonkBn254Proof(&proof, witnessInput) } -func SaveWitnessToFile(dataDir string, witnessPath string) { +func SaveWitnessToFile(witnessPath string) { r1cs_fn := "/r1cs_cached" file, err := os.Open(r1cs_fn) @@ -114,8 +114,7 @@ func SaveWitnessToFile(dataDir string, witnessPath string) { start := time.Now() // Read the file. - witnessInputPath := dataDir + "/" + groth16WitnessPath - data, err := os.ReadFile(witnessInputPath) + data, err := os.ReadFile(witnessPath) if err != nil { panic(err) } @@ -162,13 +161,9 @@ func SaveWitnessToFile(dataDir string, witnessPath string) { func ProveGroth16(dataDir string, witnessPath string) Proof { - if dataDir == "" { - panic("dataDirStr is required") - } - fmt.Println("start SaveWitnessToFile") - SaveWitnessToFile(dataDir, witnessPath) + SaveWitnessToFile(witnessPath) fmt.Println("finished SaveWitnessToFile") From afb0bb01d6991c88b490541149bb5ef5b5f70cb8 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Wed, 20 Aug 2025 10:55:02 +0545 Subject: [PATCH 17/27] fix: avoid build_contracts in build fn --- crates/recursion/gnark-ffi/src/groth16_bn254.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/recursion/gnark-ffi/src/groth16_bn254.rs b/crates/recursion/gnark-ffi/src/groth16_bn254.rs index 20f7ad37e3..501d1d372f 100644 --- a/crates/recursion/gnark-ffi/src/groth16_bn254.rs +++ b/crates/recursion/gnark-ffi/src/groth16_bn254.rs @@ -86,7 +86,7 @@ impl Groth16Bn254Prover { build_groth16_bn254(build_dir.to_str().unwrap()); // Build the contracts. - Self::build_contracts(build_dir); + // Self::build_contracts(build_dir); } /// Generates a Groth16 proof given a witness. From effa1cb79576d23ebd000867cefe6bdaee01d69e Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Thu, 21 Aug 2025 08:18:06 +0545 Subject: [PATCH 18/27] sectfr expose to_biguint --- crates/p3-sect-fr/src/lib.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/p3-sect-fr/src/lib.rs b/crates/p3-sect-fr/src/lib.rs index 4b8b86bc97..ba613f4314 100644 --- a/crates/p3-sect-fr/src/lib.rs +++ b/crates/p3-sect-fr/src/lib.rs @@ -34,6 +34,12 @@ impl SectFr { pub(crate) const fn new(value: FFSectFr) -> Self { Self { value } } + + pub fn to_biguint(value: FFSectFr) -> BigUint { + let repr = value.to_repr(); + let le_bytes = repr.as_ref(); + BigUint::from_bytes_le(le_bytes) + } } impl Serialize for SectFr { From 4fc22d55828142a8eb604ddad3a04482b2130e2c Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Thu, 21 Aug 2025 09:47:25 +0545 Subject: [PATCH 19/27] include public value in returned proof type --- crates/sdk/src/cpu/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/sdk/src/cpu/mod.rs b/crates/sdk/src/cpu/mod.rs index 74279a35ff..eb5a4e3609 100644 --- a/crates/sdk/src/cpu/mod.rs +++ b/crates/sdk/src/cpu/mod.rs @@ -118,7 +118,6 @@ impl CpuProver { // Generate the core proof. let proof: SP1ProofWithMetadata = self.prover.prove_core(&pk.pk, program, stdin, opts, context)?; - println!("public values {:?}", proof.public_values); if mode == SP1ProofMode::Core { return Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(proof.proof.0), @@ -130,6 +129,7 @@ impl CpuProver { // Generate the compressed proof. let deferred_proofs = stdin.proofs.iter().map(|(reduce_proof, _)| reduce_proof.clone()).collect(); + println!("public values {:?}", proof.public_values); let public_values = proof.public_values.clone(); let reduce_proof = self.prover.compress(&pk.vk, proof, deferred_proofs, opts)?; if mode == SP1ProofMode::Compressed { @@ -171,7 +171,7 @@ impl CpuProver { let _sect_witness = self.prover.wrap_sect(outer_proof, &groth16_bn254_artifacts); Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(vec![]), - SP1PublicValues::default(), + public_values, self.version().to_string(), )) } From a8ed39060acf75deb355391afac20144a82cb562 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Wed, 27 Aug 2025 13:56:41 +0545 Subject: [PATCH 20/27] compilation fixes --- Cargo.lock | 19 +++++++-- crates/p3-sect-fr/Cargo.toml | 3 +- .../verifier/guest-verify-programs/Cargo.lock | 41 ++++++++++--------- .../program/bin/mul_mod_special.rs | 4 +- 4 files changed, 41 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3747a0121e..19b39b361e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3556,6 +3556,18 @@ dependencies = [ "memchr", ] +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "oorandom" version = "11.1.5" @@ -3718,9 +3730,9 @@ dependencies = [ [[package]] name = "p3-field-testing" -version = "0.2.2-succinct" +version = "0.2.3-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9051d6c0d8b41bad3daadcb7d7d601b31e4a76ed0123b12a85d3351a4933aa0c" +checksum = "4bb80c3a5f65481a39aa7ce9190e02f03ce49236d2dc9e630159edd2c54bf9f6" dependencies = [ "criterion", "p3-field", @@ -3843,7 +3855,7 @@ dependencies = [ [[package]] name = "p3-sect-fr" -version = "4.2.1" +version = "5.0.0" dependencies = [ "ark-ff 0.4.2", "ff 0.13.1", @@ -5558,7 +5570,6 @@ version = "5.0.0" dependencies = [ "bincode", "ctrlc", - "once_cell", "prost", "prost-build", "serde", diff --git a/crates/p3-sect-fr/Cargo.toml b/crates/p3-sect-fr/Cargo.toml index e640f6c7b8..c587e5ee00 100644 --- a/crates/p3-sect-fr/Cargo.toml +++ b/crates/p3-sect-fr/Cargo.toml @@ -3,7 +3,6 @@ name = "p3-sect-fr" version.workspace = true edition.workspace = true license.workspace = true -rust-version.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true @@ -28,7 +27,7 @@ num-traits = "0.2" zkhash = "0.2" [dev-dependencies] -p3-field-testing = "=0.2.2-succinct" +p3-field-testing = "=0.2.3-succinct" [lints] diff --git a/crates/verifier/guest-verify-programs/Cargo.lock b/crates/verifier/guest-verify-programs/Cargo.lock index 11247142a8..1f0e1d46bd 100644 --- a/crates/verifier/guest-verify-programs/Cargo.lock +++ b/crates/verifier/guest-verify-programs/Cargo.lock @@ -2032,21 +2032,6 @@ dependencies = [ "serde", ] -[[package]] -name = "p3-bn254-fr" -version = "0.2.3-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0dd4d095d254783098bd09fc5fdf33fd781a1be54608ab93cb3ed4bd723da54" -dependencies = [ - "ff 0.13.1", - "num-bigint 0.4.6", - "p3-field", - "p3-poseidon2", - "p3-symmetric", - "rand 0.8.5", - "serde", -] - [[package]] name = "p3-challenger" version = "0.2.3-succinct" @@ -2216,6 +2201,24 @@ dependencies = [ "serde", ] +[[package]] +name = "p3-sect-fr" +version = "5.0.0" +dependencies = [ + "ark-ff", + "ff 0.13.1", + "lazy_static", + "num-bigint 0.4.6", + "num-traits", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "rand 0.8.5", + "serde", + "serde_json", + "zkhash", +] + [[package]] name = "p3-symmetric" version = "0.2.3-succinct" @@ -3312,11 +3315,11 @@ dependencies = [ "lru", "num-bigint 0.4.6", "p3-baby-bear", - "p3-bn254-fr", "p3-challenger", "p3-commit", "p3-field", "p3-matrix", + "p3-sect-fr", "p3-symmetric", "p3-util", "rayon", @@ -3347,13 +3350,13 @@ dependencies = [ "num-traits", "p3-air", "p3-baby-bear", - "p3-bn254-fr", "p3-challenger", "p3-commit", "p3-dft", "p3-field", "p3-fri", "p3-matrix", + "p3-sect-fr", "p3-symmetric", "p3-uni-stark", "p3-util", @@ -3378,8 +3381,8 @@ dependencies = [ "backtrace", "itertools 0.13.0", "p3-baby-bear", - "p3-bn254-fr", "p3-field", + "p3-sect-fr", "p3-symmetric", "serde", "sp1-core-machine", @@ -3406,7 +3409,6 @@ dependencies = [ "num_cpus", "p3-air", "p3-baby-bear", - "p3-bn254-fr", "p3-challenger", "p3-commit", "p3-dft", @@ -3416,6 +3418,7 @@ dependencies = [ "p3-maybe-rayon", "p3-merkle-tree", "p3-poseidon2", + "p3-sect-fr", "p3-symmetric", "p3-util", "pathdiff", diff --git a/patch-testing/rustcrypto-bigint/program/bin/mul_mod_special.rs b/patch-testing/rustcrypto-bigint/program/bin/mul_mod_special.rs index 5f73dfec7e..46ffb1e20c 100644 --- a/patch-testing/rustcrypto-bigint/program/bin/mul_mod_special.rs +++ b/patch-testing/rustcrypto-bigint/program/bin/mul_mod_special.rs @@ -9,11 +9,13 @@ pub fn main() { for _ in 0..times { let a: [u32; 8] = sp1_lib::io::read::>().try_into().unwrap(); let b: [u32; 8] = sp1_lib::io::read::>().try_into().unwrap(); + let a: [u64; 8] = a.map(|x| x as u64); + let b: [u64; 8] = b.map(|x| x as u64); let a = Uint::<8>::from_words(a); let b = Uint::<8>::from_words(b); let c: u32 = 356u32; - let c = Limb(c); + let c = Limb(c.into()); let result = a.mul_mod_special(&b, c); sp1_lib::io::commit(&result.to_be_bytes().to_vec()); From 60dbdd5842cb2be49eb41a17ad2812b334597910 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Wed, 27 Aug 2025 14:58:31 +0545 Subject: [PATCH 21/27] feat: expose receiving compressed proof as input --- crates/recursion/gnark-ffi/src/ffi/docker.rs | 8 +- crates/sdk/src/cpu/mod.rs | 78 +++++++++++--------- crates/sdk/src/cpu/prove.rs | 24 +++++- crates/sdk/src/lib.rs | 16 +++- crates/sdk/src/proof.rs | 1 + 5 files changed, 83 insertions(+), 44 deletions(-) diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index 68dd31901c..0219186c45 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -1,6 +1,6 @@ use crate::{Groth16Bn254Proof, PlonkBn254Proof, ProofBn254, SP1_CIRCUIT_VERSION}; use anyhow::{anyhow, Result}; -use std::{fs::File, io::Write, path::Path, process::Command}; +use std::{fs::File, io::Write, process::Command}; /// Represents the proof system being used enum ProofSystem { @@ -40,7 +40,7 @@ fn get_docker_image() -> String { /// Note: files created here by `call_docker` are read-only for after the process exits. /// To fix this, manually set the docker user to the current user by supplying a `-u` flag. fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { - println!("Calling docer {:?}", args); + tracing::info!("Calling docer {:?}", args); tracing::info!("Running {} in docker", args[0]); let mut cmd = Command::new("docker"); cmd.args(["run"]); @@ -62,7 +62,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { // File::create will create the file or truncate it if it exists. // Since we check for existence first, it will only create it. File::create(path)?; - println!("Created file: {:?}", path); + tracing::info!("Created file: {:?}", path); } } @@ -76,7 +76,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { cmd.arg("sp1-gnark:latest"); // replace with modified image sp1-gnark:latest cmd.args(args); - println!("Command {:?}", cmd); + tracing::info!("Command {:?}", cmd); let result = cmd.output()?; if !result.status.success() { let stderr = String::from_utf8_lossy(&result.stderr); diff --git a/crates/sdk/src/cpu/mod.rs b/crates/sdk/src/cpu/mod.rs index eb5a4e3609..c678e84610 100644 --- a/crates/sdk/src/cpu/mod.rs +++ b/crates/sdk/src/cpu/mod.rs @@ -6,8 +6,6 @@ pub mod builder; pub mod execute; pub mod prove; -use std::io::Read; - use anyhow::Result; use execute::CpuExecuteBuilder; use prove::CpuProveBuilder; @@ -16,10 +14,10 @@ use sp1_core_machine::io::SP1Stdin; use sp1_prover::{ components::CpuProverComponents, verify::{verify_groth16_bn254_public_inputs, verify_plonk_bn254_public_inputs}, - Groth16Bn254Proof, OuterSC, PlonkBn254Proof, SP1CoreProofData, SP1ProofWithMetadata, SP1Prover, + Groth16Bn254Proof, PlonkBn254Proof, SP1CoreProofData, SP1ProofWithMetadata, SP1Prover, SP1PublicValues, }; -use sp1_stark::{SP1CoreOpts, SP1ProverOpts}; +use sp1_stark::{baby_bear_poseidon2::BabyBearPoseidon2, SP1CoreOpts, SP1ProverOpts}; use crate::{ install::try_install_circuit_artifacts, prover::verify_proof, Prover, SP1Proof, SP1ProofMode, @@ -96,6 +94,7 @@ impl CpuProver { core_opts: SP1CoreOpts::default(), recursion_opts: SP1CoreOpts::recursion(), mock: self.mock, + init_with_compressed: false, } } @@ -107,38 +106,49 @@ impl CpuProver { opts: SP1ProverOpts, context: SP1Context<'a>, mode: SP1ProofMode, + input_is_compressed_proof: bool, ) -> Result { - let program = self.prover.get_program(&pk.elf).unwrap(); + println!("input_is_compressed_proof {input_is_compressed_proof}"); + let reduce_proof = if input_is_compressed_proof { + let compressed_proof_bytes = &stdin.buffer; + assert_eq!(compressed_proof_bytes.len(), 1); + let reduce_proof: SP1ReduceProof = + serde_json::from_slice(&compressed_proof_bytes[0])?; + reduce_proof + } else { + let program = self.prover.get_program(&pk.elf).unwrap(); - // If we're in mock mode, return a mock proof. - if self.mock { - return self.mock_prove_impl(pk, stdin, context, mode); - } + // If we're in mock mode, return a mock proof. + if self.mock { + return self.mock_prove_impl(pk, stdin, context, mode); + } - // Generate the core proof. - let proof: SP1ProofWithMetadata = - self.prover.prove_core(&pk.pk, program, stdin, opts, context)?; - if mode == SP1ProofMode::Core { - return Ok(SP1ProofWithPublicValues::new( - SP1Proof::Core(proof.proof.0), - proof.public_values, - self.version().to_string(), - )); - } + // Generate the core proof. + let proof: SP1ProofWithMetadata = + self.prover.prove_core(&pk.pk, program, stdin, opts, context)?; + println!("public values {:?}", proof.public_values); + if mode == SP1ProofMode::Core { + return Ok(SP1ProofWithPublicValues::new( + SP1Proof::Core(proof.proof.0), + proof.public_values, + self.version().to_string(), + )); + } - // Generate the compressed proof. - let deferred_proofs = - stdin.proofs.iter().map(|(reduce_proof, _)| reduce_proof.clone()).collect(); - println!("public values {:?}", proof.public_values); - let public_values = proof.public_values.clone(); - let reduce_proof = self.prover.compress(&pk.vk, proof, deferred_proofs, opts)?; - if mode == SP1ProofMode::Compressed { - return Ok(SP1ProofWithPublicValues::new( - SP1Proof::Compressed(Box::new(reduce_proof)), - public_values, - self.version().to_string(), - )); - } + // Generate the compressed proof. + let deferred_proofs = + stdin.proofs.iter().map(|(reduce_proof, _)| reduce_proof.clone()).collect(); + let public_values = proof.public_values.clone(); + let reduce_proof = self.prover.compress(&pk.vk, proof, deferred_proofs, opts)?; + if mode == SP1ProofMode::Compressed { + return Ok(SP1ProofWithPublicValues::new( + SP1Proof::Compressed(Box::new(reduce_proof)), + public_values, + self.version().to_string(), + )); + }; + reduce_proof + }; // Generate the shrink proof. let compress_proof = self.prover.shrink(reduce_proof, opts)?; @@ -171,7 +181,7 @@ impl CpuProver { let _sect_witness = self.prover.wrap_sect(outer_proof, &groth16_bn254_artifacts); Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(vec![]), - public_values, + SP1PublicValues::default(), self.version().to_string(), )) } @@ -240,7 +250,7 @@ impl Prover for CpuProver { stdin: &SP1Stdin, mode: SP1ProofMode, ) -> Result { - self.prove_impl(pk, stdin, SP1ProverOpts::default(), SP1Context::default(), mode) + self.prove_impl(pk, stdin, SP1ProverOpts::default(), SP1Context::default(), mode, false) } fn verify( diff --git a/crates/sdk/src/cpu/prove.rs b/crates/sdk/src/cpu/prove.rs index 99014e8327..6544ff8a6f 100644 --- a/crates/sdk/src/cpu/prove.rs +++ b/crates/sdk/src/cpu/prove.rs @@ -24,6 +24,7 @@ pub struct CpuProveBuilder<'a> { pub(crate) core_opts: SP1CoreOpts, pub(crate) recursion_opts: SP1CoreOpts, pub(crate) mock: bool, + pub(crate) init_with_compressed: bool, } impl<'a> CpuProveBuilder<'a> { @@ -122,6 +123,14 @@ impl<'a> CpuProveBuilder<'a> { self } + /// groth16 given compressed proof as input + #[must_use] + pub fn groth16_with_compressed(mut self) -> Self { + self.mode = SP1ProofMode::Groth16; + self.init_with_compressed = true; + self + } + /// Set the proof mode to the given [`SP1ProofKind`]. /// /// # Details @@ -303,8 +312,17 @@ impl<'a> CpuProveBuilder<'a> { /// ``` pub fn run(self) -> Result { // Get the arguments. - let Self { prover, mode, pk, stdin, mut context_builder, core_opts, recursion_opts, mock } = - self; + let Self { + prover, + mode, + pk, + stdin, + mut context_builder, + core_opts, + recursion_opts, + mock, + init_with_compressed, + } = self; let opts = SP1ProverOpts { core_opts, recursion_opts }; let context = context_builder.build(); @@ -315,7 +333,7 @@ impl<'a> CpuProveBuilder<'a> { if mock { prover.mock_prove_impl(pk, &stdin, context, mode) } else { - prover.prove_impl(pk, &stdin, opts, context, mode) + prover.prove_impl(pk, &stdin, opts, context, mode, init_with_compressed) } } } diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index ef99938ea0..ddd37a1270 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -69,6 +69,7 @@ mod tests { use sp1_primitives::io::SP1PublicValues; use crate::{utils, Prover, ProverClient, SP1Stdin}; + use sp1_prover::HashableKey; #[test] fn test_execute() { @@ -164,11 +165,20 @@ mod tests { let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; let (pk, vk) = client.setup(elf); + println!("verification key {:?}", vk.hash_bn254()); let stdin = SP1Stdin::default(); - //stdin.write(&10usize); + let proof = client.prove(&pk, &stdin).compressed().run().unwrap(); + + let compressed_proof_bytes = proof.bytes(); + + println!("len outside {:?}", compressed_proof_bytes.len()); + let mut st = SP1Stdin::default(); + st.write_slice(&compressed_proof_bytes); + let client = ProverClient::builder().cpu().build(); + let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; + let (pk, vk) = client.setup(elf); + let proof = client.prove(&pk, &st).groth16_with_compressed().run().unwrap(); - // Generate proof & verify. - let mut proof = client.prove(&pk, &stdin).groth16().run().unwrap(); //client.verify(&proof, &vk).unwrap(); // Test invalid public values. diff --git a/crates/sdk/src/proof.rs b/crates/sdk/src/proof.rs index 9d84921b9c..11af570039 100644 --- a/crates/sdk/src/proof.rs +++ b/crates/sdk/src/proof.rs @@ -172,6 +172,7 @@ impl SP1ProofWithPublicValues { [groth16_proof.groth16_vkey_hash[..4].to_vec(), proof_bytes].concat() } + SP1Proof::Compressed(compressed_proof) => serde_json::to_vec(compressed_proof).unwrap(), proof => panic!( "Proof type {proof} is not supported for onchain verification. \ Only Plonk and Groth16 proofs are verifiable onchain" From e7075bc1833331328e19f5d82595e17b73d9ec30 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 1 Sep 2025 12:52:49 +0545 Subject: [PATCH 22/27] chore: untrack proof dump --- crates/prover/proof-with-pis_bls.bin | Bin 394546 -> 0 bytes crates/prover/proof-with-pis_bls_wrap.bin | Bin 394546 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 crates/prover/proof-with-pis_bls.bin delete mode 100644 crates/prover/proof-with-pis_bls_wrap.bin diff --git a/crates/prover/proof-with-pis_bls.bin b/crates/prover/proof-with-pis_bls.bin deleted file mode 100644 index 530f6aefe2a858a419bd6ddb6ce285f562aeb94e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394546 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%0AP^G4W^ zo#Sk&5p$91>0#n;Bxl<92)R{QaZkUA!zi{PT znLy4ioytoJ&M;VBkqQ&+PXp;;H?>`MrwrqA)3k;^Kj(JHnM=X(?qPnVF=DcB13v@K zeRp!}?nr};GvYM8`@)Rk#x0t9j^}Skuq#Nc$aN?gfN>XwI%M*f%KVE2WfD-;9#g~S z$7Z945f(wfaTJM94#x)4Ysa>6@yMTg=)K1~_=Bn8MiiBpJC?5G`TDeR_%mgbB?zZ1 zJXVd+h851-rPCP$<{$C}OPRkvs}Zw5fhodr(@RGvFDETjeQAuQ`OP@(sM3k9A-uL-^0c zn>zGyg+w6xZB;=Jx+vOqSiM*5Vzb+(B70LK2k)n9_BQTX2~N$`6@=3c#m~bE+Ibm> z+q-{L&<01jmlk%lEGqJs1;vP7F%a*(B$2jot6+4HPPN^k zD|B6s^>i`?;m|cfp^@SmX1W3P`?vT_ic`Uy1>aq4bjlRveo(m(Vu1Z=AUpid#8}yC zfV^72oSe7+I>v=#4^>C9ly{fWC50xn$P27v`Y0=nSkisMnBNXf z1*~-Y!wcb_-Y(0c-V@@4VJuR&3CaQWykIQD&{qQ;T%N~p5~H_>TsIXJ4HS6GyadzI zL@uFYz`o1tHDwJoakY#yF@F}V2^U)tPc<>jrcPJ!3yJ$79}B3{@pmSIxeY#T@WR^) z6tc>#ar)>GNb>7Unmjga!42-ygX}_FShf@-kUiy>5;^u3xwm1#k5-Mkf~v0I6O&~@ z_!}VpzSk0u8$s?~Wl4j@JmTmKjuT4Z`uS3_Tj_+ik5W_)>~l6G4i|~LVCjnNPU7+J z%cBr5^uEaq^yIcP->WAGNXvlq9^{@HZ%iC;&^-0R$3aspy)9w=lKY6D!LZZ=ex8T~ z#B+qu$fuBpKccxbeR+Is*S^HWsPcy=rNvI~v<=jQ?*Msjj$4Y15^BD9BF}y1?za&p zCq~p>dQ*iVCL?yt0Qy)}kY3XRLPyKpCx3MDcP*}Ugs_C{MYG7E8qK9tumdoY7Q!H0 z1j4t?R~lYOS31mN{x?K<5Gu+$DQXjj^p*qGL|wQ*T}=P|L+ub#sQs}P=?s?Z24g=8 zh8)RyD91WRy83XWJ|OSk;y3Lg8?*eN^`_n-ECigleo|ootHu8v} zorS>{A0~a?>5^lAe>*Z5d}dYwoI5sIpw=ins{t_OZS5msQrl>t|C(QOPthl$gMYZRltcp|rKc@c#nNH2`vYoh#*-;Wv7*2)$i zh9-z9M`oC_Q$J7*+I^3zF8^EJ*;F&%jYk8s>n18!XmGStrU*tr2yT$gF`MGHkPr~h zB?|I<)2u+{^(|Pbzf6;jy%-0d*5oQ>O|wA}_6zy^2BeoH@}Vs~D}E~hS21Xy%=_H- z^Ng>p!sp?l6u5h0PG)luP949@Ipi7&_UOC~HOB`(W+-`9oRdY&c@H*4VDu9^FrI0# zNS~J2k6*W=NRC|;$?%obdK=14y`h9R7K?D+JpuDPvhhU*DK!CHn3l+(XoxG$Ohs;i zZ+W&E(Qx_I;GHxANUzM9@9KNuVu_Q>1@}|C)5FcfZ~JHS+|TiOSPpG&xxo5&CW8mN zaJWu{$f0c?{>-UUv~9Lym}Ap%Gocib@VgMGX9{}vjjCDKw>gs=Ws`sO7epNz)AGz= znyQ>xyO`zq`+Z>WU#VEvZb!f5>l@3V1Of_T=@CC#L6U{`#w1HxL*)T}LhYfaWJX9i zE>}hhe!NDjpdE+4IY-ym&q!`1XX|$WkoWyt{3iHnGmmoZCvt|`7cae!F{o%@e;UYM z5$ePQRr6nFa58&kwqT@|wfU>D*Zo*Iz)Hp3_&NFjJJ^R43_U3yp#%krCdRKaBEJkT z>31$M4n#?Yx5N_o19AM6rU1$jCnv6q2%RNaI`wQ`=O%fC+}2JHAFHCx_i|u8Jn&xJ znTBg&MDW3)omR`3CM=b<<60XJQHo{^G7YRig8FCi{QTR6$8Ql$D^h(<$a2T2ee)MP zR%nTrCu3y+EuQ}y(dKk_Ir8^hl`)E z^-edZT&-V+b}%DUiA;1l#&Soaid`YfdNe?KLrOZS6D^4Nsqf*#5pj5%D`;!$%x$*l z=E(ImTrMzFK)A?^vF^o&90fbKLOd3&RQ2_!Br&!?4Us6MX|Y{$N+l5P2lbF@GGk2% zc>TIm8A4P3FPy#02G43q(i(nP+x%Bx+`R|h@Q&twljU}iMat$CK>FeWn>3XqP~TU2 z9@m7&3hd*fZ@viPjgRnC4-M3(6z7yfRnwb(gJC?Zljclb-bFA4>Fqy_dK!~8>$M8d z+~+c`(kJ_sck;|8Q7gxQpyS@61jHk`1#J7I5FxU@ZcW|z9A4!|c7MNAm1mRz;>%a?Tn$Uu zw>%L;b(3m)?iHAE`m3go0vhKCv#Qh*S%CleX-&CY5TAgKlKic^OvpBxmlSgIqM=0Q zjWF3VzNjTHsDIx5pYF{DGe2pb4DEHfl2y=sDmXwKY!&f3_!!@6p-z_z9E5XM4oNyC$~Aoy ztsLH`XPna={5&V??9EzE(IAT}UVb}>eFKyl4?;-sbw7%3%hydiZNbE0r%ir3qEVwBO z3cvD}u1(|A9NQ1kz>*4~qCOb`|GWLVz=$@RB+szEMQa1w?~OGRZgWTFzFf6~M{3I6 zo^t}}{kQl{bYG6NC83~ABN-~FENgceQNaE*kRHlUx$(cF3Vt4<@ifatR4pn~62?Xl zZjlU&Mh%Rkpx}dW85dL>tQ1H`aKe)YXj>Wv;!x%>@!}3s36_=JzkjCz^|))beFMe5 zOBA#X>)VClbDp=Sb`++yZ&`mkAqTq7LIVD%+TC?bi(*Ow%lWgP>60Q3mA!4ls8b3l z401wX4Pp>*?)}X>{3t0yk5~C!K*!E+RlP6aZQD)P};8KB{}Bg2VVn0kk@KTjB5v+yPh_7Fb<|tcGs4s zI^X!EMn2jqt&umQF)cWd-V*Xr0P%=ZckkCu-KgA#S^7fnOqymSR;V6lAAGnq!q{*= zuVEm5i?I--O8)B}fz|0(&GHsaBOj7d{!+cNnF7b}dPy*xK%I>VF2@axZ?z4kNB$*Y z%7iND<3e!hI$awdDMkch(k+m8|6BYfaZ+k|p3Ar5%C}M1D zB4}eeq)JwgGtJo|z5LgnIlRV1*zlnIK^v$i(f=L@Z}72k|3#0*z*j?+Uf-XI2^n9I zl}?N@i5+z`Qz(K zdhE9$RKO34urX)VaV=}sud1oT>a?XgzAKZ-ZMI^Ab@ zAkO%=_)R}$4#*5oAP`C9mPvVvD~!^W`Dv2%}veOd=8hzpN_5d}6nI8OVdUJ4G6f z=9?070JT7$HS*ro0PDx6WT0+B)4k`&oVT~h)T_eXdtbfCi+M5-+jJ2bYqSXrmyP%DB^Y=QkMn+@!6xVQiJ*~tK0v)6qp zv|_5|hU)Z#9Z!uSRx1YJw=D5eJHLJ)sW@NI9ud*Un&1nC4eyI4X|iuyRU}$=fCuUQ zxA;wXU9}9#^K}N1TuQEvxJjyrV1F7&&up=(m%{#N81MNrve9VSFJwYI<=irg^NfaY zk6^a1Kt2TK7};kY9#}5INP?*K;{7GJ^FZ;3iJm(?9C^INZ9KpS@Gatl6kSwx>d9G7 zD971e`JF3m7CGl?bnfEp{`!WI4y5;cPpytaFqY=e1iKRr3spTSgfkYivfu)bWonPG z&t|}U+Y<>U75Er++}S?Ywa9Zi(RR;<&v${*N6Z}qpGFo*36jToZT}@cwPAAxVimav zUr5Hl(s*ON#lt*lCZ5u3NFRt}L*V%YZv-4B48l#9iX%ipjL`O}5umno?{V}caH|L7gyTk&k@WN&u#`qSK2jl1U5#VaJ}Nrh|2~0 zuVse2Kpb!|D{aJv+CJFwIzt7`Psu6&{9ZAM zju+U6ZdSIm9_oiLh*MiNU;a{)!rFl>t$ccdZ_x*>~5J3e50&?k{&Y6%Tb|*9V8IP`Gc{<`{JZV57 z2?+OZ@tY!A_4S20UG4IQ5>+Q;Q$69q{xp!DY^iW6g6d_9OUz40O6fqMsM@j$;;RKR zS3PxB`1BVf5YE7~5gw_Q)>2lSmCj{61x&dT{AhZ0W$&k(siY zSU5e-j0eK;%~)Bdw6l*g`hVRepM&kY@jWyhi0UGG=Z`!%r{CiY!dYFD71iRz(UhHh zx-H{M#Q0hHvgxDpscK3!fZ7RD16aonHcNqTe^glq-7{i_eB)N?2$Z$V8ppB8oju{q z#;XGSc=O@1c{GRbrQCIa7 zO28n!`4z~MRx6TI>cF#5cG$f$t%`h4yaUuRk;7adOQ|Ivr7N2H5|ow)t2e9p1m@H9 z|GEd`TN4rlkUv62lW)Jjw~T#1t0XWPn9y+~Wo61ofO~N@GVGYWpbo?vLbIum?~sQX*Cf%^Av@td;!>ors`^378TU*ynHzBs$t^sfn1Ack-2fdGYsvgZlF!rdm<`E3{}tAU$}ja>Lv8 z@}TzG8^-FHAadDsM{P$C?#j-nQ``p6R?&=2pj<}YB zw52MR2ixkY_lOHXeEVL%&JtsNW%QXUg%G0`tRfjTR*k;boR4U8yM}HcPnI0iVsSS?+mSuzlXuGFl>o z>{T#q_iL6+Nq<|&14D>(jpy8Z#P=c)1)&jO| zGZOyBdd&8t<&9Oq1$W_FwIj+9GEl#{+%~ELOU#(no}eYzXL^38>4%x)4>HO9Jdr*y z{zj_+!Uex@?9VMAyS)rY`qzJ0yL{1TVBu|EV~WaNNb6Edu?FG(Eq+ttH4|&nxTNRD za5DS6wi$XTus;o?=QFG8%&9;^Jf5e__NMh$r&5It+&HbN(md}iPGY{l-}RZ(pb2^W zT-?~k=JM4dMa6sxeFPtJzs8)E&(Y>-oMRn5_;XVXa2U$;b(TIL0o8Vhy9QK zUwlnpSama*`<{HoCe`syW8&G3C#&80oe`P5l|srMFkgc5U381T>6>vcP08n|p{ykJ z{!sa=wwJgQQJFRd`S-h63ELUXr+#)%a7+vNMoRDARo}=NR2XuhKq2x?iopv4amBn+ z#>o5I^@f>m0ugt=zpy#)BgDpuwdYF|IFj|ES^)W!Psy#j-0|m8=(;^?ESE=jn!-=* zKRpnGTi+{)33 zNZ5B+UY{PSa5i~P21ZR9i`)1ynvxGVU8Y5V{lO|TFjvg}7!kfm`A!?WVP%q_lq7k( zg5kYcn?DJ?GT?s?H?lCQV;M9j-!Yy->FxxvfXOB{@K)R)b>o~6`{Dw5Q@%p|L+TYS zox$m3uzBTH(;B#nO+=MyE2U&}d4KY@326M?O;#691>G0j{M+ew@c5jOkki?Yv6!tt zNdJbP^FZMT;lMM0wM_B7I%;2iO_pJ&e6gu3?&!QyMYb;ryLy|x57duJQQv>6rqTYH z@EW|AIRD#W^^*R87wL(YSh*>Ub+!fg4ip{>J@UewK%%f%FuKLs`$#0S?hW(J><|8r zIv>AG0ru<7da~Mt71sSaDuaW4fL#UkoE*|d6!Il?G)XH^@&pyszyAuqDdpD(I@9O_ zO{7wICWB@I^?&l4+VE*ynt$@*M4;Rst>#AI2eWA_YFU4^1|PF651gj~&co2%!|$vt z7T9A1s6NHZNsRwuLXS-J70Z72P+D_3N^J$QE5G?uzFL%KTkpr5QpwljqmsTjF9`UJ zpMmBw0_x;y!2GC6gnToUI6P&b)~-5PsPXB|J+}sQU6AxcIAp>)x*IDd8rci-h3mymTl5Qoyp zFteTbfOu7{Ys2kBV3@|(0S_kYwOs>ti1|hoL?hfNlM+OrWeX!n-dTc5fD)!dM~_WpPdbBaIqStG-`Yc{<@Ts$Z2+tiI1k_&+pJvl`?i$xmhg#^ z2Ek+06I;SwKi(yud4=E%iUp{H{a5%+=S0YQ{m?|{JQjm6gaeay|KvB_Zn2`N(u}{c zXq+ltaUiht)Dl|^%v{xCEtIO4~=K85x->Pm&M0cNwMiRz;`H z?E>jN5#ZmnjrvF+TKeR+9Wq;A;rV_`2*s|dzIZKPz&2R>zr+FOrI72?zVVRfq4TO% z(5Ssdg8aVkh8|WTVz*5^a3x^vfVzoEx#$vES$rO}d=pPJl368TbjeUgTju?JJJdsa z9uF|?!Vs6nnP4QS%lCyImJj-byU6x;*NyJ^OIyRI1bTn}=YC0NlB2_06)R#E>m(t% zU!wJOteAr*!`UC|xNNLR7m()-NBYrT{!`AJem);16hYc#nc$3N4wqX)+P+r*`7RJA z5fh`FQ6^eh5PazV!7~sP_w3qm7nfGn7}`@M%grqX>drKzi9hoIdcu;zi)U~ zz6DROgZ8XGV8w0P^8x%$Eo`D<5!k)i?x#wM&ZO++r=28U;n;G;=jUgDt0!c`wIV!nL(xww^8$g6a(x}1I_b~_86~=-H-&GR&?a! zH{J^yjAX5_9^ZYt)!=%;U}k~*vU8T7Qr!Lk7Pg@lejlR3y{pMEKn*(T#~GD(P9Fp` zkO$2emqlPU!UBQ+=>zq3>l&~Gd21wTzl^1iXCo7GXf?nA0N zo(}MFfh74icLu=zuo$&iMifCK7M`QK2Ah}HiGaWr{-Zb3u3d5>w~nnBSg+W3s<<)h zVlyW~k&f~XGUYtV(Sp#K>!>^t>S3xElE8WAe}&%^NVlb>N?YWjj<`S(6Sjbg{%4v4 zbq080hG3_Jr7iJLh&f+lc;&_S>C_)PpM#UEh^yTh6@d5wk`Bu4AZ*q0$Ng=oHP;RI z5c91%^Apu{O5u_#AIT%&XCT$3Gc-yJ()-`NExMH7nlQ}&ah9N5=&m`3L!)>Xs6?~(2Bpj z*00jjya-87&yCwk4(tzIcE`U=;9R;!Sebv|S#|&TZM^HvPA#aX_a;j|G65Snx214* zy=+O`Zt1N5MQ8kAaTKJ-pZh?3%Bf~7_G5>uQVG;Qidl{XtP>?WvL-(`biNVPh__6g zh&afqoS{%~{CRP}dc{Tjy2N&l|H2A4$0#`N^I!<0Kw-9wwxljjGx~jf-W(+Fgj!XG zYebL3{AkcicAtGAyUU*Ir^}6KZ<|^s{O|lXAl%a-!e9a}`xdeUT~bcmz?e8jY-2JP zQm%ZeBQ7=DC^-oCU*R{UmCK15zg;1tHt{i#?eaxK1N+lJcF5Ev+zG*J4R%Bj_)LV$ z*FHLWzAU`?`6dhQ-7g*%d>~)#%bTUD*uL_8a1xZ!ncP_w7Sm3Qyh9kG(phdRE%^Ig z%{v1K8ImL2Q00R!nLjqS5!sE-UI@6;a51%hzU7ko1;oi|YIVw|m&E%v%`j!32|CER zu3(4M(6Ap;NPDs5?O_N&{i|lA^4Qph6ims$NcXbZRa@{q4L+t)V2jJYgLu7QaRcG( z4j_@$=o-N2=uOsxB2@B1dWB#3hJ&h@jg;(IN=Je9%Hd4O@vs)_vbMvJT#le^w0NJo zTR*UhCQwkT!}uEyI4_=Pu;#|Wy1}Y(za0K>@gpG!A&o$}8BGUQI7gve=MjiANEz7RcYm&#wa2x7JG|^`e#}Km~^E1dRxlRRzNSvM^LtSzBrvKmw2ACg- zjgL;T3b6X5PZCHkvM0(YZ2XY-1&JvmJLe@kAzdn<{+YC3j4l55s;&63ko_9!T^75d z&Qd+s2QiMhsTrh4j}5}1adMoIFb_1UbS@)J`k7qw&a|37o@(SQ@fEdXVaEV=85Ovi z-wsZayGvopm8G-0rhI`xdSv6774O5_k>%n8;*9?azo|Xhl7sy4t!Iq7h&oN*1QZI` zp9Zq)MM`ti_9!&ncIB8%J0A4298H$5TwkV8qA})284O%Z5RNv^)@wt)z_PQ_qI{kG zutVG9F}V0Bjj-uRnA1Q5(+-3iB;pEvFd?^wSlyO0@GP8&Z`2FxTXfhyRYZq&m4^n- z7xBNawchcROGt*kJBXrf3gGt4ODEDt#Lnu;2tNE47WxS;-> zcrxWPgY)yr3e~oj*Xe*)HlASZ;k2DzhuwL+-|EBhU?Qtu*|J&p z(ef#}S#jU>stFLn0Cm9s3co4lm4M2P|C3nCM;LD;oFY49us;oCulZs!V_Q{d&b(lu zJc?>f(pqBPt@8?mk3FK`$Ct}FKwi<5r!f0WUt5W~!q13ZNs=1hUwWph18HU7P~#s{ zOa<@+5YIVcC`)8hM;965O8Puj^ONkNudF@3$MD7I66mGZXT(A^f{YfOEv&57^_D8f`Ff$H9mX^c0hn zk6on^rFibtV4mz8>RP~g`+tSsG_Ta^LK1*U5!~bnQDgf~59uHC<79iJ05>5cx~9LG zB;aW57E)?K{`=)S3EjmUXU!>oz<;Plnwkz2Ai_q%y_Hq)!lHp(R6pZ2Nu~g--0*f~0U)=TXMn%bi`ZljfAv;2b&;>%IiPEYR zT@g9z$51%&Sv^~4oDKKxZ8*^Um3S0p&LZrqz=>}%7ka;8prd&|?(y)N7BT z1Hu(!8e#lu#7s5z7)wmg8p3@LxSDf1o__1NDW(sS_g~>R8H+gRSYv+VX7sS;eYpz|ga`Z6Kz4BQ z=q&ad>k+OaOtoRpI~z$6PW76>|FKW$Yizl^F{KQ`B_$+Q@hor}bPetvP1Q+AL=JVP z`1fXaNn6J0GBA0ogK+u9bKCAtbz5S77U`2lt(cKy*Kz7dIufo{xw*`J6aenO!fy)s zJj)aLLPFDN?ZM+wKpwt?nR9S4n0usos z4}{j})A49Xj2R1L6KF{H8fC7Ut(P3H*S+?oYH5 zWn+g0`_n*nNWwCpiI5=OEd|%Aqh#EOBF&uQ+!!{Yz9ijGK8#od{Pll@-=uAbWF;z? ztEjVBi)~E4gY7`to>!x?96M&iP82 zdeQbqSQUX3w&|Q#L(qtLN8g$l@Ppmx;8Nq!O4EsoiUg-8qeKYCVZWcM8BUhaeL@Pf z;DEe5V{vD-4e6M+zF0m<>|8E5`pHf)Z^D-9X&#IUzWxRH4iH$(`Tj1O**S4&?xQt{NN6I5_c`wf^^tZfW3Zb)yn5^W{>=ivw zuUCt7wLovmS|=8-DMLJDc+{6DDU+57`lP3+{5hyG13145$R)&`4nSglNS-5SeDfZ% z>~oGpp=@Ts$`Vn&_cv-F-+)8KGL=01*6!((@&Z|VI%)OT&$aq;n&xQF+M4cq0K`#T z{A#Xl<{u||HMV(q#tnn_zMGV35{%MSgNeZo9vlMvF!;zUVdhAJVDG4Gd{SolMJn6pDM{m~GNb|06q280W3^fTmyu0CoTHE1v^Eq|ktr|!1JF1t%~`aOo3x*k~9pRHeq@PEh4L9UuK z`pb3_-u`=O=uzdL{H6&Lc0aV^ zS6i)ah8FQW4XFJ!7)FiNx%+^B7qVb7w78%?CBN{X&-{r$&+RB!W4BI zvOZYSNjC#H92u+cg=EE6a0u%sWJ7Ux4rObfsp)AB>?%i&O2Kg)LF0rbBo5uc4juz< z(o56u{SG#4G|m*VE*!}p{m}Y53ZXR!HypkIQ;_bC`*Sfph$-`%{<7V_XG6T^Kk>UYfRQuA%+!b~3F6 zpT&TC*jDV}m=oqVpP#W(IwTb-(LgwyvnCAB)bc1N>DNk#^t1}s*vX)hvJ_jT4bwVo zMFblV&I*jCP~{bl;_UpIv+eO(GjSdPl`}yGBARbG+idzvfmHI-YzC)Ex#N=CV{D0_ZH|avq^7Y-I0Ukv;|d{}ns|AB}i+0oCh*oa45Q6R8MXUpV zUpFQ0gOQdD4r8fQ-2A~5)IZ_pwFVELfTWHwr^*b4y7}8LHy9j9%f>^vaQ35p1qvYC z|N8w+&lnz%sT=O5*iLTXbSa8X7+`-I==;dg{g#glvthDw3uatNZR$u?2NvnUM#MZQ&pYkUh+mqdA zvkqS%?t|sbFf4UCpIRwpa6)>9m%!B=-Bmjz7eVgtL5RMW1qaE?Zgf_VB zoji^`FH0I%PFkKxQ)oL523Bnf!mUc8Fd=>T48K%ccz;BbEoicInV=<$b~`xB98PPj z1blD*w|!@5Qe*0ksPhKKq8xm+n?yMxh00X&Le#*~Q&WJKy^VSF+ zMTZl>--hipoLRtJV=j<`1>@aVe5p}p;~Pn3FHJEyr~H(^YY38eSNx&S06R+##sdQS z$Gw{~A?6}KYGRV;OyF@~4lEfkKMZHM&3c}SI64+nBqfVHgOx0p@zWuZyzG>lq%Mcv zX@lgopBEushvT2#6hUON2IZ1QcY;w+lIxD}zfJh5&lw8r52&giZO9K4esz42vfq@o zUrGV7HaIeK=~Uhwyt+jknOMm_^Hki93Bf!dZ&`y~#u8hGeu+nMA(MBD{3r)k z!tvUL)T`TT$UaIh2As>?^$MO_m=+89RyuOvEYJ=qI_&7xTnvn<<4+q?T`d7|6++zc z%GjcDt3@& z2DtFz1_?Z9(axl_6H54sQ|f@`k=%YR-ne5>IAn{~b}O?j&&67X(U!$$1`3yC1|38x zfM=A)G^5-$T_C73y`Lod%Ky_r>6L_?3*0i!U%Gp}Lm3z+&2eO0FDp?^Bb$6frb!D8 zd8d@!EA9+S%1K)2nf){^klw&@ZM*C$^rsz?+Q*3HZcI5UNz+OUVV&^8>QVcG93Wou zj{UT~Ii7}J`iz3LrBu20zV2W@`5WsGk~8iR3gzu(C-kQ2)q= z!3(#4mMd(#A(tebMk@9~25|8ybFRkECp?o!B_V=vqrcvvA_%1!hY=8G#PW??G>TJ4 zl9)?8N>W{C#b&Vs@!V5y5a&|_AAI7*39bWE)9m!4+@WA}$&noDg&B2pAQ0dDuixJ! zr*4N-cK zT_x$lQ_F}UG?Mw3i>M3x5h_d})nH3E@RvIomsb3J$w0W1;DZ53umXIrZgO?q9@FHp z=Cw~443T%xu?n;uo9FumIapG<#jR~%@Az*)ohfzEj3sYv+h*++pc_&xV zi5&OExRLy4SlBm%Nl_x8&UP9dh<)}6`p_v`)jz-$QxpwzUV8n4R)|LA%F9+P6S(i- z(Z`joliEI_v8PZi z#b?jCV<*Ee7o%|VL<g9kqDzTgkDdg#wlxC($>W8IN zNei6Su)IU=?w|L#2%8@F0Iw}V4d&=_aKn`6lU<6$`-G2dKQs46bX}E(uLx2HEd_ z{r;xDEGar$z8}0T5zGYZDT7S^?ROgt z)I-=^yjwSCJ1)d-EM?s(1>Cctzs{jDqVf=j8lJ3&6aewj+zHg>%msld_hA>g0({_m zp@;Y)4F>BPCVzqJ^>Gv+?m2{hH1k#e>zQ3qr|Oe!ttZN^d;X~!wz^9)?y$q>BB1{J zzkYwya3ZrsS3SE-u~89oiTFAl;vcsF#Mximlc~8$&d?HlPMj!<8%DlLD=IWAYITRU(ZcTJQ8iZSxQMm>0A#yy15>;XB<53y>lUoS5IYGJ8>4 zKAWQgI3^ulb!S^GR;Db?NbKGJ$KE@C=NWWups~>yjg6*p8k>!6TMZlAHX7SD8XJwB zG-lJ-&Ux4B_uSuF@A(7H`qn!8=WDK+J@?F>jd|wz)&`ZE8Ne@yxDmGNAi0lx>jbZWo%z51e$$r6i0G!3CkZDq8G7_6 zrP_brZ>o?b5S}zvwqWjJ12a-YoSK+KqTv<|$FUbJ_E0~|vH{Ki9U-^TlFp|^hCQ4R ze35My#P^s%0b}!@Dw>Z>;%bsqARPG#oM`Lp!)yku5B6>)JT%?3QQyHmn;6}I(mq;s z4iKk@W2YuGba&`|IwjZzi)(-^+ifrE%Px=iq;0G5OR-;1_+%D zCV?ZIElC-I_#*g?ls^^fON6~K9}#^p=55|7CoNEgM<*lUhO))|2;3`qcPYq^^uK$@ zN#1(hzuEG6PHbuPq4kRlj)J4IbwLOG#Q*E>H<3gmn(;K8bE-zj(>NiyIR5wjrg3OO zPPlhvy#8WDz1nTb_Fw+GIA4&M(L|r)a%irz89?)@=}aVqv;9X)BmqrB!|ZG5xs3UN z+kyHxu|8`+&SASM2&YQ!oJp|1b~ixzC$AK>KK$2`2(Fj$2&{;yloep6fqOfL~rQEhIEbIF*Qj`2MfI-$X*^LPtpj;l!yt zgx_6_B?|Lj^Hn344E>fPjxZ37b668;Ir3ICV`m@Uq$K~ttK<=kD5~m8&%gQ8TwQhE1a2y+0a4&HWb&XXiaWM3a32?^F%fSj z;VXr%^_1zkWj$;1?%!k{C8ZUUlH#jw0(l`2-{|=i0xC(lV7*x+3(d#KDgWQiU-W-$ zm$3#427S)J1oD%<67%bCVSin^`z?b73vPs+$B|f#dWq>%H;f$LI)Y(Ad^zqgTdXWX zss4QiOuWCOQYXT)-2x3i;mn>vO*7ll0rxqqEPee&t@jB{y#s2QHKG=g6!q*+yMOxn z1?-pdc`%ZK_}qDRVcqu8GP$Ze>K+ww;E>CM>~bdhd-h`m1MH`b0srVG8kN>1@@X`T zFWuE(2!d;#qnTTQ{jaK*Xk)E(-3>Ln6uGcOH#2PC$LgNK5FKAen*N?c9M~~*+xSI2k}LI5a{nM6r91n#ZkcN zZ}x3B{QlfzE10}d4jy=f-vOKh7p>+bNip~|p0OiPY`>=?rwf?LqaOpt5@_||<0sjb zKzz=zZiaF@>}t$mvn$zugojMpv&VjED)DI02E>dBl&`aF2c9k*ZxU)2!SsOcCn!Tt%T zeR^Zc6uK()P%7eTv{&C)G2z0EAp^s^SgOg&&0rj=F$mX(;Mz416S=H=Z3$^RRSD_( zsR-})v4!RZR}P5*Mi>xRyYPB`N)2Wxb$(W1bhgu}jTg2tvr1U6cY1G(8AHnj>P@yS z^K|yOqUnoM3c{D65>6FVj~k60f<4!*r0&SO?0_FM#5j&pS*KmFNMs_RS!Do66;ga9 zkcJj_s^Z`ms1Xg+rRt}Q%zeoNAVd0=m5Q5Lezz68yx$8Zd!HoE1XCz7V}tZS87Ds* zBNUR*vi;g~!hlLe<9g}JR4qb(4lWWM(WC+V{%o)W@9yMO0Y!j<8ZH_!_!b+oP`9cp zx3~d;L78Z76%)kQu}-rhV%7 zL@7E+Si>~LLTYI5E~j4>Xo|1H1oCP#Bw{WieO{+$d~6)EGzyOz`MC$04Q1!$s$@#a zJ&?eDt>%ck<@_Ue1+(_bJE8-xV{!lU%v+SvQ==H3+^;$Vh#zRoD6HFiO6FiM#3hlN z>=Jx}5AFIpjjeX3V|>;tY?y#x~ly?py3XuLb&mxT*cUj88MHS)R&Raz5@Hu zMwaQC=*sjP;xkRpmvO6ce8~?XMwf*v=FbQ*zlo}WyhLs)9FLS3lT%T~2&@;fcJ=@d zCBjeUBVt^L7;Iv2Ya~#=>5Ucp)WL-l;WTF0M&Wy9dX{+gUgAW>%*+Fro8H*K?}+Fy z;Fd+)#c!P<4g!Pd%-?gk3DJI|4HLVgaNU)|(gXP#6S?V%b-$rJPecYd<$m+Ul)VF* z!?N=?o{urLhMbwecURS-@eNM6Q7KiyT!HfBjW0Ium@!Ecj!0DPk%6pSScz z-qhZ+$(|KxHjutTSFJ2J)o2wbmn)LajWhBHvS18`gc=($_9z9dyQx5ZQk1e^w&WPn zff6C9vvtqhVxxwSrrb!+pt$~S&EcIH8N?SI&v&l$Nw0~Vrla}?F}hLb^^oG<)@Eh- zCBqc_4hDJOy z*W)nPQDRhuO33J_+F0A#8P-y=Zw2HVONV@q8x}=Q&yY!zze>#HV1ywqM83Tz{^Vi7 ztsb7#1o7cBj|MKJYJNwkgM*(z=+_80HX6D|{G{uD^81KgUQ?=;9o_>Hi|Aw~8_ zm@^kT*gpZazX_pTY{ea@y)_6a#;nITj}x%MFyZiC&sV~+ftF7M@;YIeA1VdVPMVTc z-{KvPKk%KX8)+nnl<5*x3t}Dbv;g~o+k#b-WABe1;>2RrfF`5Rfr=YTp8CR0F&tR- z9)=X)rxi&2-I|f0^qgZ>GFHpIi8E1{$emlCiuY#GCs)Y51HOCia`A21+I^0%niuq~ zLH}5n1{h&3ci8u@SelOg_=PqgJy>iLd^FI|Y2?u1-zDo`k!*vI1!7w{4m>Hodt%%0 zNrG@c*}2v`AL<8Rza^|qSqCt)2&s~PX8!o5Jp)q$nY{qiso0R^UGJ#0=2oXSR(rAT z<7+MmMfIN3R63&f9QiJZNkM!K^?D|^ECXxFDM@f~Vd$~m!pzY&V)lPm7@Lk1p%($Z zYd1Od?+>?17TD>uxAc@eg46ilFp9WW(fs{Qkr;@9eIuD-Te#>MRvs_m@t(y39hdml z!5Pbi+4!S3(Q*{t1gKXmP5kgfM>(%Xgifl|FijLxg8}!un(6maHzVqghx7*rjqe+7 z-q`!a__5(SZ_4<*iCcT>#Z22wJgIg*QFF&2M%UuDAHM0BHFkT5 zLC+vmY+BpQ7%c++g!nw$ye8d&}4_@ zfg@dAuqH8ZZ>-uC`d01YiXt$gpnfiV2IAteADZ2BYf9DpqcOToE%1Ab22zC|R+VdR z2I%43Ui1V?@e~zo*R4XaCm!6JqMuYyL3)_fwf@!BK|8m46od%IFA2lO1=rXiuq`bL zqVtzskbnl^dWdITa*y(l>vx3>M%X(N{CfL_BQGAJ?TwAsGvBO%eTccEc2|H=GSx@Q z<|wbw>jZa!ZY9LOi^4WI>H|q=EDYjfOeuJcH)H70X?4XIqH}?%lj-`jHXqH%==*$i z-X;L-L%{|zt&OfRMJB@cvRQ_ekrB|;d*7{-sbr5fBAptqFyVWWNb@Eo1wI~LLd)sh8NuG z25_6bctZ$H6*2qNCjn}-UOroQ=rZTnb1H1428Nc9IKX!kh?*&^guZvwl{FJ3o8L!N z?x0_bvTK7;mPJt{{^S6RugB%aM9lXV=15}qQ}^pID_r$NZU0D4>fdfC_j!Z=y}$On zbTw7tyEs1pW57NI7$cFc;h^&JD2BAJ$22?xgOVa1x`xv`S|f(D<&rBkihSGG~K9AW=2}=SXDetW1?+ zo?;$Xp>_cc+c~*DfBF(mr^N(;sA)FqE07l;;HO{h)A@CdMpOqofc|Ihv^8pMN2kiP zTRc}|^u8GIleIb3S3kM6ES95gcU>d~oK#v#SZ41ml$;4?D*R{HJjk{ z+recIHXeE9FjF8NGK3#Wfz`s)r$oR`=Wj1O`5P9KZoH4^PC9A{es~1`j4A^C1%JoM z@M_~7Sm&p3tCa)(lowByz0^9p+aDSUj=ptSK!QPO%nxu-%)^7eheX<6n2$9j1iM=M zY9`^l1o-Ky@>rRZPp(_?yb7(+z<#AKD4x)n>=#u}NsM`f5ET0I;X`Rn$W*P9)z26F z@l+TPUx=>X_I(2E^ybQg?}(oXR8nOpEJE-c?{};gIBOj?z)t&G+}n*Pm?Lw&XYyI} z-Ue#rQCG&fl-|Xd6}iPzlZk@(#tMX*UW?&&7vZz9^%O;^C%j`D>pHu9b#MgryyMl- zc{Q=bvkfr}x*A2exuUALP{IBQsC@}F6}k>gS^?FMgRZKpAok4ej_yj{u=__^W{<;c4re*vfl4c z;M;OHRRXoXXkX3_B`F)f_F{neQZ+f#i)jQBL|yenmMv~hq^XJP8QdB+X9+`vS~9r- z{VaylL(sJALuB>0`ei7{IBKQkBg?B2ISU=sYn6f;0J~~Hq7lGni2m%_dbUvI)oo=$IMhLFxM)dIx8j6CG#P#js@lWh`Hj^+O~h6t_GE&b2Y? zPCaxAJ4q73e9HC#k55{ z<^htVFiUW#d}ttCZ(I7%Gs+u7Sj{VE9Dbr2M0SaObzp{q>bMXyjYbp@Pm2$a?lqqu zXLh*RoiU*hj~zjw^<#)zpJI8qG#1pY!GidX$|06c=N*HJB(p<>6s_FY((J8MYEDM$ zJQlT1B!oUEP7$IHywKS<9~wz%>`>dFfc+Ct`y2)a3fm?KA$USosn9(=aIs=_a4A*2 z-3Mv!$A#||fSs|0S#Tdj=yf0?E@INYpQ~VUp>gcRr_XWDEHJpVGX(Mlqd#P75r3rT zw_PActA2mHM&~nbe}Y{WU0Szacp#bv>iYbH`U|Ig&qf=F+stTjZo-Mob#<%ObNnBh z=r6-;9e{h!2XVtRar1`+4j4M%=G_pL6jSKdXr{^-Q6Im>+}uR~@kfsfBm-lBkEzUZ z8cZfEVnh@v*!x;fF6t*|P2_YTKQWNLM)(5cHi*8gcM_wXlI~3KE zseC5eI;o|1^&@$RF~;b^qG}R$0^u~Q(s#=5uFx$Vt#oG<^oO%Pixv-pt7Zm7GE(do zB?ECv%RREyH)z_}$GX1jgTGQ3H^TkCW{u>(28RzAUn6aS`10dd_FeQl@EzRVN%I}{IBFA(-hnbbmq^Z`sA+| zc4W`{5{Uay=-vTKH?t)Fd6f&qmss3ayoE2}j{4A?>Vs^Z`yC?&TqVyu@}r`=`le|E z;1_Q-xF;*FyO)<|qZFI?^gaD_Q01?>{7US4(&79}{zeAk6QZTVESXk$D?Uto_w~Y( zVrMNDPk7;AwD_fs?*AB%+5q@^+L)n#dpNE!I1`p=6l61bbD`OWPV<)qT=U5noi$|99-IO?HD&|AZF8 z8r|bwsr`(dn&6Ewb!mC)kRw5Q+B_piKheCNkaf&M7<#{v3z zJFt0%Oe}z3Ar;8`S=P#$a?);D6(f&O_3$k_3cGRL69b7j|Le`13W%@u!m`~6Gk#_Q zzMz(oO-=0Z%BBXGEG9$=Se*CP8xgX&>iyDMmm^mrx^Ex!j*A zqE~zZ$eUbQVVgM>#f0)V+1zsdXeA>Ewvx z%dDuvOeln{@GhZciVQHw#lKYr_Cxk!)S_vONITrv+ZKGcw|!xaz{IvE?e3?J%S>*> zW8i$Yrk6+H6}iUo8vJBsz&34)gQiH7%}=O-RcMA=6nFu};W#UPreCFuL~~3!ku5}o z2=-4vYqv+-8>(8P~(={wksEf!hwm^A_`SV}Bm;Sy9t7rF#buB6RtXn^z^ovR7Jhf}MjL z3_*PK$T~zxomH%khR7)+nDJ>ZIGrgFNpoMFPL;?6Lp>a-=LgTFmd2tYWf z8>X+QI>*Z;QeRrTR6_K61By*Wat^!X73|wgjG~c1xU;k>H5|J}qyh7|vdz#?QwP>H zw*71$!oMwtc(au%(hZ^S5-vi*cE+8n?8%a(qzGXD1k~OGM`>Kr$j#X5uz)niA6eqd zj&iR4%S@pkpvsoi^>emqQy6!ew2I3NW(IZh44M@JBUi4*_f&-+*YotK5&Rw4mp zRIP!tx(IOrgy!-n3=nRfFOai;`Yum8J5>8_K|N9K#$Qt6v2f}jf^sscKHC9=`>iRK zh=VEpg|iE4j4WkO|L()hQovRgl04l{xB$X?Ab$}6UnTJ>wS?;}LiX0rv9hw+@8Ap3 z!(sf35i<9)>@#3L2wi>SsD<*KlPqE7#ip-#nBynGkbbWbozT(+ z?W)5mX8^szNT3cpM$;>eq30$7#-9Rxc(8v0((h9&n*yUxxNvJx1*8+b5+Bo<_e9`F zyCN!>FYKgKQ$T%UAiCTW#V1llPtt8uq5t^}6BF7qjcZnKltR7sCQcRbhlH{uy`A;# z2&Vf(OW9|qy9N5_O+{X0Y73|Qy?`p7K{I73mwfzpQ=msv z@PjqNlO^Ea7K_GFI7)m$8m`HHkzFnw--lLfV)_z%@4)PgRX!#11*Aup(7L4a#c>PA z^3GAFg79E6Hxmi&q&X0@XMo`kRIVKG_1&ojP(aK{?sL~|%+Kb34qz`K^7z)e&1f7Q4#(wu=Q zdBbZH1Ag!*Q4PoL&|iZQ(c(Q^&d|TAv?kzTdE66=#aH13C&n5ez8_@)I<3%Fq2b_u z1ub@@D6y<69T#sjq66UI1lF*GxFDRFH6vRjd7rybXw1~#gd=6J(h9I}_gPt%!u7XE zUSBW}u5W~Jg#k{J$yR*tfVP(@a-Q-1hd~zhDXuVHIs%s^;IC;$wc%^<(i&S&Sq08m z4{-NLx8%6HSmQ|JuZHWz1pvQyyt_PdfdY$Bmq0@99@YYjCWWubcp$fL>N~vt|9Zd4qTVp(`}aG#kg*X@KGnXHr4!m^V^T9(|2_oB~t0QQ-=9s=*~b$U?U7lVE*`(K-+ z%efkz0WuDx^=@V&@0UiPc{qTj{hrZ9-nh4Pa{una0{wJ5N+x$Tk`YlV_Zb3=hZKaf zmeH|iMUnchgrP!@Zf5PioHh~SF-gJ&@vSf~#AOJmH)&ZpOLXj_oUxM~sKu+|F2s6s zsl2@?DP zA6M7abvZGom(ftlT07u~JLS9E0o| zj7(Kc1h+fE8l7e&DX1TLd@ZV-h&y&=9fAk-M0ovT3i^fu7`Q*y@r=Ozdb1F? zX=IjOGm2NCM2)Jw?$_t3**tc=SV^6VCw~1-z`x!W*SDvQmXR!EYo}oecY;OYWEw7N z`1U-v@I7Z4S_2Z)Z|#Ri$<)VnjJYC8sQ!SzWvMw|ZJk(Gpx_ha6`h3XxxF}kd{k8{ zAbFVA`p`sc4+r&M`fd0aNYot*ZMD0Y2{z~|73?%iLnHI;7a>&2N(NX%0r`%e~mwd773%qn+tJ+VAr?Qmf6sRIThz&ByG?&AYM|t7hDL`-=a!z zs@2T)o1ZPxdmK>|>Yt(6YjZWN3Mo$Mx(lQcAYY`zXBhEiEL0+-oQGE-O^ZY4dyfTf zrAY*RUcv6}&sM-6N~O~}eVklznu~jXV?jarqJ^(B&lBl{;FkKr?(r2J*oXMGnXwDM zbbpPT&|tu%%xP3#|L}F7g_G~OTzi#Ko(Jka&`ZMK3vLie$Faa^YiSvWb!s*inWxpc zu@Q!rceCNtL3+$|Z+h|En8_S&g`2XPS}-ZL;E7!3s7(fo%cv_r(YW45!Bl>5cjE ziPdl5;Lw}L2?AUX={NKA%e!(Vknd?h5A5gAO`s!bW^QWR%SoU~AKegSY5L)`=7h3DxBG4m&S1X2Wd*+z!FwZjBKizh+9 zfe}uGXZHH#8jK7b1cHP3K4CvZr0w8%I{Ss{mApfWH~-8j>1YpbTMU-@y);j64Z?-7 zNt#USj?-m%naWy=z?hcEgm1x!5iYgNFUe17DAR&)#!qX-8;+vt=fn=`%i}EJ;#Hfs zN33shzu|JvI07w!_-~e!1k$fxQHG~Z=%-)THRbDD>YwcZi55iJC5GlXP1)neRnbwO zSfA;3-}`rPiKf2 z>_i&Osyxrmz09Nh!8Z28xmT&mv8ecU^sLOFal;?cZpTU@CcW|9WU|0$q+I-wc`*)` z+)%Tr;~tSWCIR6Rs3z$RYNjJUgWj}x^Aj4>^hlkV&eD5oRf-;bgifV`1$}K-QuiLqNJ#ZM_ zb#&%6N1A{721&AWXw_&0`9X zSj*&0>F8+<6$YYwfjfZnb*CUvC@t7nQ_1fAu{G;hE_Q4kNmQ$tZ1;GNFF9cg;^X|` zPz@9E5QTbqj!w5IOypj&)MKWo<DDMiK1lU&*7hYS^EKirAjjO=t1C||b^*!_1`XQ9`C#L;(O5jTNve~M9Y6Q5cV z)8)mF_!`?8{`dEQ`&Ee^(M3$~>jrmL1}YM>ioq_B+Lw+TabhGMqm#FQ{nfrwGQdZ0 zPj^r`=tx$apUtL3&N+W7?#L=;V%8lK2jYTkD*Sz8?oIGA`4p%E+dMAiLHw0`|NQ%s zFE;DyyF_vzea}`C8hCotLoFBIZ`-?y8vbs6as-hKJE^Gw;`^?~wQNSE7wUA`UAE~N zqvLKHxO@7%FyqeoH*M(H0`QMrR%l@C+X>@{U_KQ8{&9vS-#hht-ArgA3iUi`3Z@x| zlhgh{Kpw|=Lhwdae-7E0V=C@e*Uev+dqn%sy^SJKDIm}9KFk-${5Pr2wc1)Yro&K` zftJ|u1)8?nji>5wE4D0bWYX0vqFE18q`4^BN5S1Yv=uF55rY#wWw|`ueXVr zAqUTCL1w_6r;g95DFgD~K>8_>j@v1z6Bb8Wf3a5LAy$I%T-eoe5_)&p1)J@$s|Cix zm}+DK|DUH?FoUU}s)zarchC-XH}F`9ZTW8){uZ)*0P%(8+MFZEv|H4pi6^B5uGudU zl`S$^lYCdoxaKRbhzINzWYAkx+3cq@`L__7@?w5k`mmV}jD4RlPsr_w~T71)0Nsn#^PcjnD1$3gXG0_nQZY>5!1Bn^wp?=ADx#{pFvQHWN-WKOztg2WIZ2 zZAD1@FmzJ^feA;S$MF0dSxHCbK%*dQU;!M^ql3JKfXXZoFJOIZqV&llz_~a?m(48e z=-5MHQ=)hUsKXyEh8oBa%tx+-w9#Ak`$?~dLIg4*_z%_+p+l-KnF4&Ags`f4-+pq-lr|uoGr$3P8H(-{Mo6-aw}&y}&!_}lJ#8&_;_2H+GF1^)^96)p zKz`{!%l3nppo$cHTUN>GA5>~@{4}F7SoQl06SLV#c`$O&JlC6MRp3&Ng!k9`-3?~k zu;UPrP&x3vy%en)WEj=91O5_XMq5>)cd}U4LF{z^|Hq2Hjfk4)tFoz{sSd6NbuYBM z)&*|KX9B(pwr3)VsbL&6uzv#T=VP-ep6fi$Va9Z!hfWfF95R`$H_|ZQxD4A>H=mX; zHVC&$+A>QXgzny%tN6Ua!mg4-R8@EDnFe>l_Lr3&GtdZx^U~k56M~cew%T->Z|+y- z$O``wSgL96-0r$glu|O?Jt-51n>6p--Z5W+a|x>BH~2T*irD??;-e)8)rBg3 z?H@7UH5#-07B<>Fje)pu4%)1-&Cb|Z*YGGR*txe1;dS$Vzuy12`hhHHsTvmWZ*sJ= z*}C?kml8KCH?pE6kBtM+Efm3&!w+P+zRdIJ0QQn$RPpGct6#U4r?gbqb^1G&IOJ^t z-$C06LJKm~2@W_&5AXr%TCx}M%=U#M-sA@;P9zSuNX@5n_m2MrS?gP@!1&Om6d$it zAZXG)T%}Ja$+bc$rVA_P#Os_x>Nlv(YC!P{zSM&~DRvQyXM)(`TG;^l(ANo~ z%7x4A9ms!O^eiJpTias=3O=5Vy{=4pXjArN*0uSt`&+PDAVCB1+&kUs=((2fYgpiv zEp>c$yJy7rp6f2GCInBF;lBu_5Ct(db(67Vu3Iqe$&CjJ%`u=FYmj5MK$)! z-Mg4uxRAKS{k1+BrMrZl4CMPFEz5N>ZOquNRMLGb-m9#o54r`%xr`vtW2}SL!s>JrxLRE4;*fgbfd(gZvlcxN7te%g{`FcHxp2(H| zk+Hg~_(wrKJ8x4Zx056W2q&{-_WCh}cB$jr2JH<@MK6P5{HN>uj`;~w3Pev)7r+i? zN*3WO;=L_?C|$-kwfmJ&zOvpt&^1(2#(!xrb*>5QFXylGS^_@%a~ypw6_OThH?-z+ z?CHs^7d{j(YR9a?G@yRbxZx5*h*zC3ou#+_uvRqb@n9Leh&}T$Z3g!l;tsHZaCk^M zel=dhS(=|!39QlGF0*K~W<&UQ+Ou2X6u}8wf&2jzOdc5Y!Er)rZyerdA;hc+r=>qD zV@8xFoS%DV`Z{TOg1W$L&gmgzw&-!uDjDff!Tt%TAN~PWqrU}TgD7%-&K9Cw!tY5& znE!Q~o>C8uF``An0qj;X8+F}Jhh49l7wUP3HUxjBpQh`9+lZBpT z0AB=tdvW-;Jl(5w+Ak>W7-A2He2il}z9!8Ph-Z-U*DHU>A00|?B;o6R&mn+&+0ktX zhMI8oZ~Q54ZHWdN-#p8#0ToLY`^=OIxd&d|F%~#Hm=|*n)voS_+-zV6F$gE{L&9e& zR`5;z1dfXG=0*3JARt>=sy#alGl)8lDICb#8y)6CHzxJm*Jvkc*QgJQt*l&eB_2x~ z(O|D%lT#@Jeg>(`?TOTIpt$yy`rrzy_}+W-oHWh%^M2Rz5sL?l1Pf5VK@uCn!$OG6 zr)8~Xo^z}3Q;h|N<=y>~g~++S{dIqVbqV846HQevKFb;qa8ai;a)sP)fRFW`C)DVo zP-J&-w=_X~#<_A6)*h9_-+#=!DQLxp6gW?p{0uwO*z(4Q^&cCrSaaKqC$(%oh0tK?BL|{)UU=9i#Q3eL2*A(A)d42#G;qq>wtaZoBJTO@QF#GsImqOyMpE?M475Xqi8)>**8WU zlhHgNFJ?f%u%QJe@`RsBX!k{S=Fw{Xj|l8!_LXE+|H43Uhb*XH^83$ZB5$53dI<-x z^F+*fMF_+GE!_BGr;@BEK_tG$Ae_POJo8eDA|)Gct5Te6TPc|;! zS9B1rxDh+dwVsC!d@=Y;E?WJ7&pIWWD{7;-qc`Mph{1*_2&W0}=R(IOfm;i{m~#8wundRygERr! zLKS}S&Xeyis+v`VLKahCUAn9|kv9zQU*7cYGK-#tGx4MER_hO3*@JB}gtlZ?gMs*_ zdvgV2cu5#E2Kysn`RJ0B5v9pL8MT*ze_)`vBs>B3b+lOoXG#y<%m}xrUncj@_o>nW zDT`nE0Y3G`-zzTsm_U5thxeh37tcSIAsz1Igug&~1V1``)5Q2~%(k=Le+Frz*ZW0v zybjUc$H86>uZme08SI~c+7sON*IGL>-8spDhX|kLL?ZCI))5@^Ne6QB*u}CT1Mx?x zRM$>Ydw!=Wj_uV$&SQx{xmE3uJnoio)=NjQf(|=~FAr*bVrHobnM~{VFvPGMVMh_+ zOBRbf^F}3*)y(QZ$#?#d z%5BEUT%WYJXmc;hSz`dZG=yOQZojA*lz41cWI3^|9g%o5EkU*2|hY`VibKH3NJu#C%T6pfVr@Ul%4E9KNgDo{sNbTv*YDxZH{ zSKUaS0`}a`J-N+C_Dmpg7#fBnwO#%OzRL0YmW}_Z;E$0$%rwX${#*p99R(-%bYykp zF9NtoVE+U(?!HIt=0SFxZ!?eZ^y^l^R*Cb1$uNe<5J|#*e*~n6fcP7Wt%PHWy#kVj zLyO9aUyE{xwgO%D#BQ(2C@HqNj`1^y&omO+J*d!$kK|eg6}rYOdquJ;N|m$rCvPNS z!Cc1zJP1bvL-}!g3i0*Lu{25HTU(kof>bV8d|nhR10EARm^aXGBiSrZk#U_E1(7tL z7;J-+@Hf1+NyN6hjcfN1T4py}5TBD+DRB)ON{}*xsZYu&TJsUtLl4=At=A0mO|9oq z3t$ID0|h5%>F*^zZyTX@Dn^}m4qN3c8t=(`$Eg)|M$Q7p*C6)Nz~nG%87n_WWCEMY z?qz;V>tVqSBVt{>o z=!3OkOJu&5oJ3X8Z!)sUlF~#&TU&p94R@2hic|zaYXW+JW@l|7&e2Z z^D+ZbV-o88LLI*=iWLLLxkF|U-(Q;CCf7^JBB;Q>MLEv-eO7j-FPj6sB|G4 z$KXk_O)I5$a#R5EO?gCn&lZ24;{T|6T>GCg{q`nTv#r*bLT;OSg1EUIwXWUE^miIIb@Ba66$a#C9LhSHzjWIaUMkQ%Yc(h|k8s-7xLD6v zRCwdbrj&jI{Me~58KGZp2z3Ne9(-JmnmzRSy3e1javhlhf0Geu?*abvR7JPf=X$pv zI2*GNU%iL_^oa6fXBto2a5_|WT7Gz-9Gmw1aN|PxL5k~2hr?i15&`U=fb_dPd?9*T z_4_Lw*>!IL*L4}EI z&`FkHwkg>T5I@Q_PLbuq-}7SMD-=42_x$mVQ8=l5aBs0oD@voqNe1$PTu#i-S!Rbi z42STKA-HhH(h@9i+ZNGJzHx^n*%zZgJ;1R7r+kOkLNq(C_u{NxO@u9BrV^WqoP#i# z6Qc1R0ysY@UmP?k@;QW?HciX>CrRwUF{yKT5Qn*6^>(`bqdI}_36E3U`LOVX%eTu& z=}h+YjIL!Y^{YUJH>XxKHFu;F5Vvw(2RRjHz4EjC)g4{^&f+Cv1uHdw7a22l^($%v z78{7KF4rMkx%6hPJ2ohrwSsWwxipNQVnj;?FCg~|ydB*EJL6AOiJ2k%HVDhwmTA|^ zk_4?1n|A2A@W-1aiEg&CjnEo1>%b@l<1(q~XU=Cs(K^qFzJNfeRqH(X5Qq&ZP zA6IG&?pqT`IIeM(h~@Xm5vyYbAY}(xX$PPJEkDIQTTmdxR%va z0{i}7)pql-PlbdI{}WG-%G%y0@hgb0 zuvFMx9j}?PTWr4%8@?h(mrP`IJMQkxiXTsgyNeBoOZaOAsNduh6){Of3=@Ar7OBHqLjkB$q>69H^Wy!S z#dwxXNf$zVHyX`&QR#T5(V< zwfW14e^L&xKYgsB7D#{0G|ufCi3S@z(5;N7Qhs6ij3!yk_`a}STY&f+{w91_jeAY1 z_taO4s!Nah>+nFZ1>3GmmfgL|W9y6o!j(Hs@#har=@O{O`a;$|m}C-s_U- zwLmFBAJv5R-Mv=D37aNplR`TPsONmeNL8rwm*B?IpKhumlnS=u9Po7h^aq29`Ox^u z=>l$Lq?UB6Ar6dP!Jp&tIJY|=A;cGJ69Eq+6aH(y& zXJDW4@8$LujABgRn)RjFyfMXcPP~V6ec1A#d#uoc?jQl?HOt*h7Hi9Iwd6R$i*AL# zu(Mj9Zwsm?>f~e43>_S-w%TL6Y~HY`tMf-DlVjKx%>TaMP~4*D5<> zo-irKt^}6UFzJTqf8TF9(qrGqK*cmwymV_ZRO!2QL7VXj7rEp55d70|0mBv;k9!S~HS(Oq;&dR#U+G6KosqjO5Sne}pIecp?F$On4~_e08JFee@gX*Q^gY?S_o0q%}c;SiH0$!#iM65fecN ziA{uzM^YFDIR9=R9Atc}{_r|&j&$v)=La6yY|Iq1R!Vl_s8iNe9RYD>ZjoxF9?EX5 zk+4$W&%kvzhciKVz2X2my1nC5R+3Y|Pv@NUY~?0(=5LP}rdZ`>5U3St+U(AZ1<3WQ2EZ{%L6irUhjBG?*u%4IeA?9YZoU+pN!lej%?*h~{*O;*-PD1;%u$3@^d1lPw+>Vw9|ZL3Zyo`ed;%;t67 zs@BL&uOXlng$r45nlMP3#o`LgvlQGIoq~3wsI+}Xq)pL&L#a4nwHv%c6>>4L3>iE< z;O};enec|K{y*fsRaBix(*}yWdw}4Opush`ySux)JHdh`xVyW%ySs%Tf#B{M?95to z_WQ3j=VH#q+ zkVZsi+i^wzW(p-nWc9@u+zDd=y>A9$n%Bxr5QJ+JDWId)$0rK1u*>|~&p&->Zau?PuW1NCGFsBoT-nn0PUI2MY8<(Ch-UO<#X# zp2?x|l&GKT%VhA`@Mn1-&a^&&NAo=UMvT}B)}Ss9{!;0~ihuDKkpiJb(981i8Hndc z`NTARm9L$$L&{#5Q_haUFwA9h9_MgZ;pw3LO6Kf9d~cEmmSpDy!8hRbJe`Kh&SlvB zh>2>fmk*2H%&WWS=s`GhU#_4BL!LC#`N7m30^Q_+xqG(F7fRe|a|_yyL|EY6$5ch9 zE6z-|MvPWgba&wa%8Dh?UfWcC-;(F!9j=iQHHcnXG9Q}r*L%cug}tq~;JMbI31;VV z;YHKYmSI>!R8qhX+JSAb4jY+MsqB+^F?8K}Uiu~pE0pf#z$0_sY@s9q#1#!~_)L!u zWQIa61-<4Tb+0wXMxtD7Z@oS$Xk=r_h=AT<-|d{5i{73_=tiMPeH7L)|+;Ci>(i)8YOqW#pWI~S3$)*SdxxXCdpIEZgH zjVLd@A|QGW^l6wYVN70}{g?Z+{WTDZ@3yeYEHqooV1)d>xFG>~D-^h?n)$SQZC=H> zrX6wv;;6833YbKd^(9d%5;e;cpsuk%#6WlDv!-x321Xk*CyHgLtx{3b(4pf(1;HwAOAR)rc60r< zcHrpN@1lTt!{gP&t8#TSZzD5_a}3;O7JKuVpT}Ard}oBfl{VW1^!XlQ8Y#mD=W{3O zdU$N?7nN_l3k2^1uo~+IsA%RQA%Q&3mgfYCvC+tt`w)L<$%0z$=-zf;|2|f&Xdx{; zU6_FwNdCPX*?1p1J+c`-=8V7#4HYE+^$Q6t*a(JgLCXj1H5?${uzeN3EGL`Mx#aQG zV{eTW-?Sanm-;>P#A94A=|JKd$n!By?=Rf~Aon^x`>(?_ZRfyg;v5`+bH)e^Pcp^0YRspv6gh$2U2*RaAOpls~lv_fg7TG|; z98^du-8k&5hUyU_VmY90Qz(IO$%L}0%>(vM)DJ(NJJ##q6qSSAzaP%CBJ;Yg)bnIUwLjchu zYhs-8R9~CNuMhQkpYWcvxPZ~4gq4_E&t57wCp=sYgq!i~grUF|4F0o&P!HdGs;*kz ztWP!0%4F)8TI0X30^Gv|r930LA}RZ*D~yM!xd~3L2TOj~HXX5UV!@AN>eYaq8=l7% zTp-a+gwn*^7*z6Fw!=3ODGAMY<3Xrljz?qy{Kx;Qf75GNyv@KcEn7CqD%*}l4K>Jr z1FbJ2_3A?(#H!;dUmJ=-qCxuHMOUt3n|HvThpsL1Hx$5s5WL6cb!8iC*bKGtZB;@U zCqx#mWwoLtR}4SeD&=GV;-KLPZQ};ow1-W2D5M-+>e{wI3Sw(mumL`Ug7~M>a=>5e zZ}k&NClx=P^Er9OVhUnxCMk4Ej!!={<~&Tg4|8YO-n` zUGLB_j67+ph_)=)|9cl`d6705roF47DnmH#L;?-oj`XZD%aUH9dewX4AQlR|OX-gr zikQo!LO7A%E93E%@vf+JtM+_&L*VnwQd(n61pH;LFo&5tJ+X(g!y17-sViSCUc5y71MP& z9q4o?^jKatT=dMx<1+*Ug0E-aK9CNOcESVkG^ry0dp~R^{GHjh3Kk#EX6i!nDkiq* zhE%kB%_PNUz|Q^JQ*GA>89lcg+$(7ASS}H18q)2@sR*OLvm+UWo&fxox(cL6PSLw^ zd&#f*%D?W+P-Sm?f}Qn%?9`schy#%sikDf|xH*B@Cys;lx9@MBtd zx%oF`O!P!pByN6VA<#a7`@1fJfW7&z`ZpnTwmN717RE3ZnGlIwn*E3l_V)nE-y!)Y zGkr_Cp-gLVf^X3AY1DUb4CQpNdKmw+XyHd5WDxGM9W5er)F(kZTDl9?UE{Dmi_&(^ z!^^Q4mkDid5eLXKBurC2f(>!fM~@s7IgYV>iShWQEDavVVwD3GKK>pXh_7ASIPai| z_jtmV4?>oR_q-$*ha#9;z(PV13ZAY_=)pmJc}nD6T^m-77Hkkc%ttEMoc_|B|GK{8 zK;QMPS|*d#0fc+x+jJ}Q?+nhK0v{o2F9{hp92qbwMv1kn;YD3z?*#Heis5ek{PhUk z&r{S3C|~!i&z9wSDsqBa_cwTqVBh}$;(B3KKLd$3%6%*>b22T_c~k2VdEu@0b9Mp6 zd+nFNJ77P_X2U!GRFp9z?H&5EFVoD)1eWDpFk$ zS157Vn3OQMl)^I_`apMVkfbFDN4A+1<2U5DKzG3(dUc|!ICWX2&cyW4VM#)w%B#%; z_;VHc*a%J6D_}QpsfT872R@RMsjz6jE=6M!-*8%ca{zztzv|y~50@=uRl)-CP4`jp zh0@az4eaj$nm6Bj2&$%HTC>x9>SBfd*yUGe1mogA*3J4X4P)SWgMi=i8Q!JggNMZl z&O2(wGEcb}bY4fJsZ(BZj;2OW9LH$jJ(AAqp^w2&4vfu@#QVeVnjy>_5WUlB2W&EFtG>uFWYLG!ajZk^9Wv}n#6QGa&P{@BXJth)$jAW3V zzxqhMPVr;aJpi)7w9m#j<$wXu`wvcL6-3`_JCJ2VGa1j3M3|&M@@&YQ+V3VL9`kDz z0rjIyOT#YYd=`i48(8XhWeA~-_5C3o62}Xf_a$R=>r~*N^$tUpWzQQ{$lxoutrH#B zykc-D%Lk=B$*Xbrrf-9j19I827Y)-Jr>_X#yKR4`#ejzbjn<6#4HvO$C2n$FmIgTI zQd|b+$M=T(Cx@$=#T6!fdvbD)tMZsHq0?E9r5Y2!`3;q{9a$h?>AIt+L3G*8xQ$Pl zy%Mk9i~J*1=F&(`rt@#O3$L3SRtwbRpqmBebjC3OsxK z`9Oi-Pixp<_r?j-dgZU*6dMl9S~#7AK-0^O-Mmj&mo?(%FyrA&ox5jhkNx zfp;V#=nA6{q4z({bOT5bXdAu`tU{C6Fl)7_ZfDX8+&UYA`0|HD4aM!1=2V(mLG?lJ z|GKPqL=0N+k2O5f4xy#VLj>WvGAdz>b-Kk(OP7aph!2GAPs44yR@>O5(CL_@rk_nf zxFmyq)5*g6;t~bj&0R(<9o}vvLPWNOEIj1(!fFVPGyJbW$IAQYC2)J#v(}0#mc2IoCc}LxalZcu!zZk_m-ut zyFr_uKh=3_?H$>?xw~c>6D(t|*%yAe_{=k4z60p{KoM0efnfKyGk=b8C*?{Uq{>cmk;sMQW8^qNTN>klzQj3L zBE)y#!0+@HHKow#u>_}+wv^SN=@74p1$Ppi;{)*};6&G7eVjQhuU=LRHrwMM zYYA<(D8g|wp+R!ct>Cw=*QfP1%*4|7kimVV4<;JLI#DASX_wl*qO_#~;czL_ zP^)2nh(lLN+B9Xd2_y3jP1EZ~s_h0PPuFlz0{RG{(vnM^`>JyadGSq`az(55Q2i4{ zaQ209-0+OK{T^V~m_&}3H&PrJ@s-~nE2nulafK*l-!2gv(C-A_(36J%_VmnFV3Wsx zs{yYRenr|Na^Xt%M>Nv{232Z!*z)gl9l-txNMsW)VzCNUP;ad5w1y8Cf<*?{@q+hb zoRHVn#fk8O){)`vwpl~M_ceEbbdP?Bg4{$!D?DuUgBfv6CBefh6;OwIhW;JVa-rHS z(X{_yJ=|YOA+qVwio~5QE^cnF1<_&!q8D}fn#K+-n%dW#XU|30Jg1K|d_ILg=H8=P zp(FiRAqv9%SN)s9jeqg*@FpRC*4i@m>wNx<1orm;@nL*h{ZJvwB(@xGZ!Y*_VxeeI zB~kd32EOT;;$R#9AfO*zg@<;kc*#t2P;!4S3`&i<-{6x@)vZWQ1$W=9rs-YeBa2J*RaLCQPD zZ7ZFJGR+6j76N?95woUG2yhN$inLqmpEa4$$@!uVz$90k91Z(}6(7a}&-IdtMV1E;Z=0KJ|3L%EP&h*g3T zNZqn-oU6=*%cUtj(d&yHQtjPKw?Mr?ucB4!&d$-pPI^;smTb+-rI;boIam;bXUOfg z#o-fBNBFP$H!%flDv5`uNo69_<6H*NBP0G}-|x_PJ`DUy(tgc3P)AR5u+b4SnhPnh zqd->Yi1t)=2K+j`pGLz7mQdG+Sy-MGzR+)7I)-LesMuS$a1Kc_98y5u@9Tj1%n6N+ z8NJ~Tip-y32rA?s4?oICSkAbvly)Qp!h_D+fyZ+(!<@N}^|kAE?hfY1n+W6n2TSf& zDlFaR%1U)0Z}r_xbbOQ5_|Ra1mhUm&KuMbm0ark~7~HonrajLv7|^4`QFFCTK{(Rn zYQ_1H`yXur$d*bii!?t#7f!(QqV)jpEsr}tJxqg}{CVfeKF-R!64pA~|E!Q@K@OpO%vITt+)}iZ^z@ zpOL*q7HQ&Iy1a-dVBJLhV6*v22-I=@tNu;bqa4)CVO)wIwB>Xot1WF1{;{9IiZ#KX z;NSQ%BV6*~*p*6XX0Wv^g9B)AZV z_K$@~TZaWDK>n0wwmx^_1vlpy6vM{w^cI?>C*2|Rc;^C1^Mqvh4?rHWRRW4@2-Bbc z*B8e)k5N;Btq(Cwt)xGb!VG_TYgHUeg5;VQ(yX4tT(345o6mulx<#`~d{lw;J5}C3 zy;J{pu9F}LhnONK%?++>M1!iIna1+huQjja|6H@-1lkNggjF6x0($v+l%`^zf$Stg z!yJ>R_*JTKYVoZ%tSMqex@-}i+lmcDZyCRSK54V?i@+EK#xc@f#h04pUaq+wiM{+A zEt$I{SrG2O>feOM$}1V%F-{r2zo&<6h;IiE_V)nsnO!wbvw^(OAI2g@?Lzi?7@B20 zlxB@00y|Nk>!36S1K}_Z2VR$LN907_FSwMGUAtf>@37o4mo^i`1w8qs)XRWy4@AaB z21*{}7B*_+2i0c0T4D02>-+81>2}_kLb%6hARL9*&+mDLht(2uz9|@I{7B_%;>IzV zyb0DPS#QCGGao>>obb#tHV4uV1;Zl7^53Wn7~=OaIqMqkV(Wd9xwBsYzlratk^Qs% z1yStMRUKv>v|*1cB#w`W3Bz>OQIfr44B(#%V3CU0Q_6apluo$uF>cThHPRI{sO^QO z^{1Mf+Uo;(lK-lI6W<5}jWD!}zI2uhp_8Nw6CBvz1GGMaxt}b{QYcOz2Uhx6UJ8AS zW`mg2?=gK`_#`w{9u)yUr)1RXxxPW+Z~~!J?EHM3ZSUcfG8Y=2tBd_$_zMddund{h{r)8f^Q zCv`g~J_%DZKeY`&Ulb_p=OXX*>iyn4o`de|jTlwdD1vsQe<+Rp4yO>D0OUK(1!nHP zTN_o%l5lk0-K#eDd=-1d&vIA67mI0l2RQ-A^}p)hlz)Ya>=^XJ3=#a%OhYW4680Z* zrC4ZTbSoM`b^ZQ{vUz~AE>u|qG-sL`)7W;T6I_<1)4 zC5N8wG#zigtNVWJ_tQJjK3!v$(W2;~8UJWx4s5AR`aMPVfYpo1(SzwU*Ch-YMgzjp z@rXPSM^vS^XHTNFPzW_3=?@)TVNGoa?w#09z*^&ia4aa$4d%&2I-g9Tjt2JGfiKLTS;WPqEJCPt-DhjbHIl-N)U_lR zR`ZG`E)Nn0H1F9ZGhJgg_`(x*&)w5Qhfn$M1|~1@@DRoWiFDA5*?@cdU-fUY!k{BO z5|VL2S%G1356q^XWmCiCfOe4Q|~?0;apY0hyqQujCU*JP##&AXXo z(CAy3xiSruSGuka<&B4INUMkWpfAf8*}z`)R^a~p*ZrF&n{})ajwo5JiuA?CJk^k~ z|1p19a+Z^EqKxdfi+W<26maOz^u1rU1Yt%fWJ}gJ1YOxd^S`&e3to;mE@(l~Xsaht zQ>qC2q@qI=Aw)jIA9ceo2k0ZK$3`5H9WMu5Pr<%S4>0z{lRQ4!Km?q#VvCXl9_0-5T`L+!sF8$Z?Nd%pbau4lGBljx#^f<^5WRA! z(GlA?^Z;L{38o;{XFtnf<4cAIDcE;}f%C7MRIngiiFt>ksif?R1r6|fIKS06fy z&d^`w&Rws67KE#_xJ+h>bZ684mX&u>H{mh{@!dO}?OlY4^8coCWB)lidRk2xhZEs} zRE>%26J*&FG&Bf@L5foR@R1hN*mVD)i=__{k6vx2@2Anq=QttVQNJ}z5YEO2@xx4J zNC@1Shelk3Ai1R;iNfg$NjU67EYj`p6$1!Izx>DB!PQDjkHj~m&WVYzdXVe}%`k;G z4*v6&nV}-!H|mCq?N7zb_<{Rz7wocqG9Kw&V>>2U5oS&b3-{2H0M7ecd**Y!=Z&l~ zCFU1aR>CF0+mS} zIcYD|7Bs&jC2PlAJHIa3JIhs7K0&*9)oyo7xn)TK>$Y^nt~_uM&X$icPPHNj$(`F= z{8yNeo?VbO9sA4iy&0~stUaueFbKEOol59=`_Nj?NN8`?b8aHGwF7DOV+4WeQ~!V! z{Vovy&HYRNro<*$MbnyTiD}a(yW&`+*4EHpp+Sr}tH2FdFP*s?ZJ$?;QnY>JzdJlXj-oHYxilF@r zhnm4KA``d*`1c28{AU}gnKtT|QNw!%cBy8m^ym8l_91c@F-)}fSU^7Ihl5i89(RvQ z2{l`NF0YxwZ0`=z!2rW4!;%?Rzh?(<4|&SuP3*nALeXIk<-6Hfi_a~QIDU&!_HYSm zXIp+;Qv%J8AoS<3s?@TV7WT9b;`!NbChZ9}&D!&CKV&DE9ZnY=5KaWiepnap>z`^k zrCayV5Vf=^xjnGyJ?Ez)-h(gOa3UaFNL|1#srPkibpCTMuk@8khGqom#y6?Ho%|O) zH$iA1p5zOV*5Bsc$yRkFQp26J7N7O6tJD#2iFzYj0#5)l0P_4r^2TEZOFi18sOtO) zx9)QRVn-UTi>g>*dQbZGQ+9y;-ebtJ=928GJz_0OxFmPGQRK^Po+LFic;RL4onEg1 z_V=$w)*iV;+(-rm(miJlYg2}Q2y*%(!>YATCF6a6Hv{h_eyFR2l6NUOY?|RUP1=9kv~T4+5)xVh;v;EyhVYKGDxxs(EKStL!j+8-dBi3nA!_qf@;sPr3_wpj z&HA0>gDbhU|1_1XgKF_}YRqwCJ<|lsWKStm^+g8cmnFc{UO#q8%lWRH0=*m^^&+Z{ zAS}lfHR%B_eeq}m@U!sZ>vwwP>PNYQjdjD8tx(Nfln92Q6j4rkO*z@-wZf=BmZ;M(3C$JOuM7vG2$eeE%x zkLyRpFHz{X2>!A)3&d|5%c=DX2XZgWJ~FsPIV>Yu-+s*DR~t!ZW4|yJ;B5eU2mUpd zlcRCJz+!=HIzSj#FVjGLqN@0GBL8+IXD;-O3B=cLZrYtehGDgFrvM(2-tObT_tfrF zFE#9mON__G5CSL=u1;dF=WEmp)9=J(myd%tw|b6l?zy(LQ!y>tcJmv~&wsh8qaBjcIV(RFHnTaIsJiw!)wwXuhhfFDNn{zaaF z#$)+&D*J(Y-@~LPW^fq$eDFC`60?Ds%`b8gz5L)3#F2Of`%;29S){WZUM(W$@Lv7w z=>{QhYu3mb;6D6Y|E6U~6_ev8kXI1U*9@A^S}K5q@h?%(&JpcWKxa9=qb zrI2{&C%lh5UG%uHbuZ}x^aq4)>D4yvHsD>r zwnGe9(b6H!qSTkRvrNn~BXf&Gg)xU;2R9@wQS6*RUZJIz24kFz@FGzAz?sf!I-xQO z$*V-~b#JhxjM{&z4|qq?LsV_lP_wH~ZKEM7{1u7wUC-@h40MQ>^x9;F_XiGI&^k;^ z6|v!VRr{o$T2(OzaI~B$clY+rIVl|jXV^1DbO8VGDT6UQK0FEn1u1f0{?TsLO-V%} z$PO0zcd%hlY#{{@53py=XFyHHgoR-0VU!RqUceG$n#^&Z?VWLK9POXnN`d$yAHvtI zz!6qxaL~sstNs~H=+qX@g9 z5RDOT(w$Al0q2qq)|$r$E9P6;N=j&{sD0RxnB)5ovLy= zQ??s7U)nTgGS&JU?~K-m>Sn*f$hcesb&Z$602GFY>Lf4Ho{2CnbQY(*Tc+r%EBZWL zzXQCjOgzy1z7r0r6bpxkJ3h@8bm$MEnbnC8-+Q$x_7hq^5S(M1fN)%=&Lb1;f>6(5 ziklA$iSHQr`3;<}Ck9rGpgDP<3V=MPAD4R(^y1Qm@of-ACcE%GI%*J0Qk|PIdBFWa zc%47MSK8P+Uu;~)L0WTE?pPY*zNTUvQYgxivzu&d5|d^JIDh}vzX|{%dte) zGP=?smC!68zO*|dHd{)Kq2F6{MBdCb zj&Uw4u9&A;Y{T=U+$g8XZy%S|OA7)0F?wE847p^IDcR@B90sl=WVl(~+*2v;j5d$c z7HU8S=v7Erwt4U~J!N+!iN$wXB^l!LFENj``=j|~x80lEN0K1EQ0qjsgITby01(?*xgxut7FZX2BHARHcc_3Zkxt^EX2kMrI{&Z)qJgc4Tj zY~)dY6crGrb_P`KgTqs#ssO*rEj|y5eT?POnH`=w+U+TgOoVj6@29=}jrAn{rYFUF z5WUUTNuSFk`FaNQVxO;_=_lHzGuYYJ7+6}xqMo);ssJwSZZh%L&kmI5yCUpXX$s!b z9$o@^tBdkkX+~0TF-8FpJsM_(ZQ|o&7!Mby!9n6md=zK64`ke4sFM5#Zgc(kzDK~pMG?g(0S*wcrAqO1+WT$J#_{jU_xIdvx&u*&>KRW3`-YNYN(1{aI&OBgtv$+ z0pg>%#M3Zm?`mIfXW zL#ry2K0B_DZsqFLo4^o+Lre%v`Rqg}MpGj;qKGX)A0K+<>-v#&*$$TFH?GP@ND%IW z)N;0Qv(2HKYoO&U?Wt-$-A7uE*g#Bsh%+$VM-?E>qk9vRf+b^Dn|q*3xi(EHd8Dy^ zjv-e)xvSd1|EY-v_qvnvsW zfk#o0ntk_-L>06SIYnNo%3oNqZS^QNjKmAU>>jV+rzxUG9p!b0Rr&in{ndz*Km*(Q zJn~D$8Xisa{)~ru3~-L9!bb``>2*Y|h{aPe{FN+eIt>+tOxCt>N?gCeQjG%nr2#*P zcEU*qDf6Q4lP$-i-!A3fZ{iZf$ttq$x?)=`>_O|0J$Py|h)DSv4|8X-rG-Unt@F7L zJ<1VVlvy9A+4VEv-ykM@LU;9i{lUAcgNdxvgkGzdQXn2~N*pw(X5hwiWCNntE4Ev% zNKT!qqpWKb(+;(jjcGqQ+=dnID2auQo9BT7!tv(W5^j0Px}z-V6i~o$;9O@pKR6%h z7i-tUmvi_20`3_hQr5{Kpewwe}tmooUSrEPCUN39a zfmHgs-}7JO1IpO;BH_y;8wjZ!Ed}P+QGEfvRdG6wOQRtS`s>X4JKGu9m;)_YQ>NH* zZUd>{;D%Q~{$Yj$S2K0DJb5gBAB}n~6=EiT^qV+XSmLkSbP4))LLeR-{9wbJA0`J; zTz`borRY+dy75d3hUzYbJ{z2$&_*L-XUVawNHl~;6NPJwHXP+gK=fXoH(rR z$z)fQDk6({uVm6YHp?B!uhPK^qW5q8o8lJFjo=RMT~xNF+$?XmT#&*39-!~pZiu{5 z&D1_;F4pKi>g#MpQqS~YI457qpxj4Dl&`TnUExR>jdNlB?F1dX(i#P zyXOfJ)lxQyD^PpiBtMHKAMu`u?r9qEx6o+A3KBlk?5kTYT*kw|KcE~G3h0K=HRyhq z{hgC54cz0rYbL&(;6}7(NsLvAWa=lUk%B|CGmi#r{G@X}S7V@l-zrxg&7H6@s*FGQ z1?#fD(<8;hD}>s+v%J-;Qgc9+8zh%juC~V`&!b4_9wE~&(OKFm!#oOZ0^_$#b`r>b zJ&=H1OCuTV$+A7JNPVDo$;?wZ57`3*PkoDlcb>2%?9*?CKy=#&VaFs8vn# z{&u%oDn|2Nej3#X_yPeny_FgWCzyG3XMjUoLPl0>J(tJltD_;QyxBb#%|tQRapkQD z_`j6Zby~l@2x$m}B$CvO7`RkYPSUczyL4ZoG?_IBL!yJ|{agR0=hbQaSo>S#_ILis zBWNt9NML^t(D!BvBGQhT)3tQXByQ9TBDuoR46)`$W%4Tzfq0ASI{=^L5IoT!A4>sa zHVgO%FO70y`I5**E_{S}VcSG;H!>;^J;q}dlY>|WFF6WC@{bA90wKH|bm`I|Q)k7Q-I~Pgg)5(ZD2* z1hxTxizUSz)rkR_5cf)>y+CMZlV*&{6hkD|Cd<&yCDVolc<0H9_f9BCZBv($W0Gae zi^bCF6}h5Sn?)h$ET)(~Ge``?_n7d8_jt266TiW4ueu{nvbzcn)e@mxdt?~V>n+#&+(k6-t~dNvK;i{}9X1QaZrBgMTSWHEh@{&y@(Sx7-cuz3uBe9L)t=jBL-b zJL=U2?)!QTs)I0JCAIEL6TiCj*vR4{I*fDxe1xRgxl zRMlJu35j_QEbmr*NcfZAu^|ZDW0tdP@DK_~L*b)+)qPi`9s7JDxtoFC^1szTn|_Ro z2JTarm29^E*M`}{ge`o8%0`YvmczzMe+&NH-x+JB-ZCbj^-?Hr&gBZ9()}*w=0~ES z-<=N1;pN~D)LwE!gnZl12lUY@QUf0eIQfe-#B^ui&8*sCiuRDS-bIuxf-)v~`FkK= zqc;kxZMxXU!#M3XMYsPIpDzmg#js%%sXk{qJ+aOk$mhdL$shQ?cE$RF*lJ9@40J$z zu-#l@Di-?7Jd+?#q%yjoiPZF@34N}`SXbH}VxfK-*mp1%wWfAzMR{(5mf3lf5MYKYIRJjiI$P2$!cb zDvYrFeEG%*-SaE_ki-t1i!f62tE$+K3Rn^5I@ayYT@lRrSVYomOwIoL6Nkc z-8{@)Gv3JMx|f}ZRu1|A!r>QRFNI1SR5+x6;RVMXap;RLmPmw%J}gN&^M${;1M++| z(uv!$dVLM=oMa$2HLjuJRO7bK5%MazH|%PuaAkBs^lWu4c}GN%CejLD@)e6(wnoGc zEfQ((?tOB$mcqIbI6%06>)-U|h5<%JOlfzAndmI&O-us^_V)mN557R{lHVBr{+hpt zygJC;OY+_hPN<3@iUh1JJch~vuqOhdR@I23tJ6vc#oV;(*q?a`%{i`FtL3D z$g`CBe`=dayc{fu(aSnXpE;Hf@50K%pY5%lrC~Q~<+laVd+lyMheOZWPs417abygl zus~5}TFxGzbUY189trN!JPceO*OzR(-`(|u>yK7e%=}n0%n5N zn^@ebdip@l+fcpMsaiK$k?Y9`S?vG%#$z;am_K#hUJ`;w4LUKvJE-n*{bqHY(iFoS z@%g~D0N7tPBBS~%>r#)aTv4uWHwCR!wAFEAD=r3?Wa-4``!7KKbwnelXEUBrun$XT z=Vw}>fb{QNpHT)~ohPzURizYqpq|sYxf2GfgE&v<#qLVhkPT+VFNkEmr_B)3RDI9s z6vhdX*C9bNiuyW?DsGlzf|UaiZoS)>Ydr~!dGE})YuGjkphy3$f0NxiC)huIhICqX zTS9ATi4HLTkk<@uRE9d4FuIEixTOh}c|=FHK+;0H_~4B`PPMy62QZ(km0Y#E7EuQ6 zf(QNp+-;g`B)1z#(>8~?5yB3QeQQe4ynDP;%-X2Z$oyCq{SH5;nsl{(Kj1Hw;@(^5 z|54&KEe^ub^9Kwd9d6~U78#3Bd=fs)FgLtJ>&opSuZ;|3l=TJfHzHkaU^v6%dhHc8 zw8)N?2vngLHa;nW(goXB%J|3+^dNfw*1rkU`V#>`e+}C)JQ^nWpprTCKjiQwMt*o% zw(b#1&HTpaTt}NydT)p<;C(k_wYO^OA0(h|Cpg-JZ@EemzvD+_cKeK;FIx<|*WD^E zLn0JMU^=D=4w{cy9u?eQVdKRwp9Xa3P(MU>@~f#2(#%@fV$Vq8<}B18T)NOZ9(e|- z$VokiVI?CvH5mU!*w{WZFHeNBuen;pK)nBN{hM^r;xJ@z-+f$&lAuxmyGMum$NEGh z?$sESzWbnNtq5CtMoX-&UMNFa3XEaD-iqr4q+Eay@rQ%MZ&#_wtKQiMNa+yc(@2_$zcl0>*bU!qGhlX5~639Gff zp3K|b0A+9cq8F-V2$+cy@zPtI4f=3zTCYDnW2sco6P5 zT_s(b&_Wnd2h2*KtN11=^iPo4{je)pYU+fvS7TU?xh z7iIyE*9DDkUUbF*(9?td0tMG%zD-<8#JzBQo6xf)9*sM(YWR|KU7AUv{D8lZoiO$7 zI*^_4$@PlRcF%U;>vVr*rHi9Yul>H6e%}Hah;Q|J>SkI!ra=D4r+nK+2JOqVgcP~X z#{J`U7wj+o@Zcbv<+nwoBf1MdtPMt)br=s>hF-0&LuUa2>}w%#m+z|qzs$R!&-B90 zG1vl?CSbds$)|^KbS{4YQD6JhMV66i5D=%2iM1);MX;DUI*691YvR~lPyYVFaTRoR z^PEPGIu{4j2?prShd0g>3Jll?;EBWCCz>wKZE=OnBaJ*^^@3&$0ewurQ~i@e&!S4s zxf(WS*KIHCeN7zSsguKSl0vnl>Ngs{EB%|8F=n+*lY{I`_|sAA%B3oh8a}OpfE5QFBL4pCZ&}e4|MTA#jPw?G=v-Y#zUEUw}sns$pD@Y@T>dj9%1 z1C-&u&e7Z!)D3@5gj$cnxgeak?;Hw@^aCG3^MlA44cXjJLN~hf~C2+yi%&z?R~Lv#fYT4}eF&eS5fyB!K7*Ye$6hHpO3 zW$6+<20?1@3`&fm?R^@0q4Guw|n@0eK;o_xPsK>ddwh zLX*$=%z5J))l=tLh+#~wJA^uZ?m0kw%IlS?8*@t7U%&-Hl=}2n7n0@1J$^4Eq{*c~ z+=I?dAbum}F*C`&!6?!&8i1RNFC-3ytAiYGe>z5=F;Shy(c=QG_Z%faV(2aZy`kZz18SoSSSNb<8NAFn%zitV`8COtw z9NG$Cfc-r{``&ySWyd?MuT&lPLP2oxgyC7G;WA{2zqE25bZoQ-D-Xg=At2X}wR^qk zu1H~gQY;Mgj+LLl)ZHZFT@Sfp}v zFQK1gNFaKp*oz?)yFPs3uu_NTw93J--4!tfWjtUL9FM00tebKmoOK6Q-|R*sGnB&4 zC(5rg@h5h>G-|weN8cqukXhFD>EBSda=H7RgH-ZmUl2}z_tn6%~R+`_|Ik$xfC!IFTn%U({a^(mQ*h60Q*CzpH;~Zl`Pcq*T ziT*P3Z#CP{Nq*i-I6r>QQsMx7jh|M^j48=_XVTPLe-i2+$9!Q-bLGyPwE zmnHS{JDCh|Xn54V*J%i{@w{>7+X0BZ-X3ROPS!FoSr9!Q+dpX=A8F%{`%=~UBLk~{ zq(d)`^)D0~BUmtPAKw7>%Xyofy@2zy%7z49`7RpqJ*A&zpVaKf;AS<%D852OU_bs> z`Zsx$cNn}D*1*7CMH>*^Cg7uk{XIZ(4Z7g&CN8jk`icz~kTOx9N2RrV99cRcVW?4t z2#4^0|5HR+zT_O%Xrc1Op8f7C%bGoDlt5LJWWTr#9`$mY`$!7@ZZA=v+vihVQJ}rx+qy+_RlT(?07-X`g@TM zjmYu8`nHfybW1A=H@FT}ciV#2YaY0-w{cF*-=*L5OX=h_#A(`iwQj*mt*k3@RUS1Q zcz3Xx>Ua9R`dspF!tX%y z^V=(#(BvK%*eBRv+H}Ov%*(j=5l{W`)|{P!sgmY9kk|TO>E9H}QljjbMQ>3d!l!G` zW~_zw_wfbtWC%unI-SGu^%=Le_{yR`F;U)UF%iAnQ5w%rWPQ3O0_qi}1Q|(cn2wqG ztzjGz3xAc>4IfPFjS1gsA*{kHCWnE#`K)sQJ2#!MT2JQg=_6(Ndf->=rshM)FRTg& zgQEe`zGh&7MV7J z7rz32vd)fkl)dNnDH+8}*3fJGciE9GsC^}g8PN}WbbU9S+8}xnE-z}Nr{#n;I_ZD1 zT!?r3wSM3)Bol52l7>)A#_~dga6Y5&@&-aX^qks-+-nX;yz&-H)xt;lxptSmoi9lR z06&9PpU^K)-CIx{e6r##%yY|Cp@9{#g=TcKz1lQcz7g=}{#W`pjn^3w33Rmx_Yyuh zmHq6cNBzgSBsyOnWf_wAbse~nGkIpG>3+&{CSnQ8)maOdsZC-5_^Z(RxJq78sx-rt z6iy?%w^m0he=?C9Vb){?7%VRbtbqFNdT2EZ;-I`M%E||}jvVuaGSB&X3m4yG*oodh zNi2$hKSE9V23to|G6J2fFB!LnwDU*q5+PFarAZl^QVq`PRT8xC9Ga*58Xuyp;jE&C z3O{bUwox+XDIM+LP9DP~^<!@tdNkN?C*96gAPp5o;}0&16F**&p5NZayu=h%Xow zHyR*%S^}_Rs>_IGf4+5cyD!@P((rro?bx2{a*O^w>hFO7+#BTZ?l716DsVm0zCp8$ zM0mliNjmg59jji~oqJ`LD4<>=g*-YCifU=UpY>P6$4M)H92>NEwFO&}6jL_GSz8Ez zfBwJHzp0o^l=au2Br<#Z5yHqeHbazuoHqd*3WtQT#vYZXu@i8Nb$FCXUdxj;NlcoG z37cA~Vc@>+81+IJr`*3ok}0Am7KN{E7eY?sz;J=1=Wiv>O7{YAZxdYFJGjSr0u~); zmKQaFRHd$K=&usv(d5vd5Zds7`c{>JKVPZa{>Q8b@gMjKV5qh~<{Q(PRSuJF8qYdO zq=0&TXAQ(^Y@dy#y!FSWU@g>pXE=*T-BLAc`~JWFSdTwb0(6cD1s`;Sb~pBswv4PP zr%dYx+l!o|33CvweL%G8ej;LR1|e)>dvrNTNWOSA%?Pv<`o z2l#o*wuZ-0G|HbnLW99b>36`Pi6B|gL?9CuToEO7Nd$m8 zEX&ym(27-!CS zXWH31itPdQnuSJ&bY64oRrEQKXTvn!xm?x1XwVT8<SSSa1ylcMER8Ex0>D z6Fd+gSa8>qs?>V_s(rK1#jZLR-Xq1P_9fPY>=J&s0<%FGYrSD4=!v;qq*PJf72~4^g;8&9JgA)%7c+8522RilPFC z3LGBDmpgTQtdKVK)16CS;ly?bjnSRh7JM6F4Gy&(q(h=QqyggR#pNnvYpeiwsbcy~ zRTp_LkAQvsB7G}*&a+(yITZT8>Rc7vFUw#9j;Ed{2V|$=zE;=Eu*f@o=N3GM?xxazyiFWf}VgIS|#n zAy^aGX$qqIU-^EMLR^=3F>wYJr4$O}jXxGA0@&XHvcm$skc_FxomzKL;-^u>)`Mgu zp)u@ll3u;RpOKjQ)qy)(Kz!Yvb!zOgL+Dc8Ex> zZivrVf3L23%Zg( z12X|UKg4Ba?dCy-tLSH9o$v%!IYEWtr&gql#F6gPzj z<{$g;|Nnl|UxWPr-*5VBhySm>-;~b6YwQrG=?#DFsVfy5VfN4WO@vZp(6^gYkRHD( zMvzG=C%HmyzMdXBZO6e8S8~I10yvSt{5Ppd?fxwR1uN-u_($Z9EW~oGy84|@=pUbl z$Q}T^#-*`X!NQr+#4*aszlt4&uGPdVl6oE?Ct9c64cXiZyklj~?VYsfUd@LdOJj7G<;~P;U%F{b@tt6#{3MMvWDF0j_pC#McUavwWJ{|J&HN{=K zasN(v)v=R7E@VJ?uhd_gfd#~m_2zRzst}Kb(23m0JxYPrsC@$Dhm#g3;(OO$_em*0 z9BeJ;WpXqk;xrZ`2N#LVzw`9GCd^+;P{TmWJq|O40pu&DS7WMOt z^EQ%|D{6d3;C|tG#mochaIqf!yEZ=Go?o3cd8MEe$OZ-r=y4k#nKwd5WZ$>3hR`q+;$27wT}Ac*&WIR@*DCNN!h7&fPzQ{&%o+0hCVv=t zf0z39o~)_C^->(W0RzOZiq??-)8G!p`je(wsS0W0gbzyE=h_S}~XA76@14~Y8{as+EP zgRh)Q8#30s7>{72m~tt_2m~#mKls5J9^e3S*rHPeb+``+3+%w!!sjZWNr5U}X6 zaVTu<`6AlK1=8=o>Q6Tw5RP1wA4_pDNG*oXR_%cW_IH5foLyJj39HG(y~))-y(puA zd8A=&vM9Hc4ALIWaa6wm_Ah%$#P2o%d&IkC$82IG`UxwnbR60|;=sq-A9Z+cg}^%v z#jgn3hNtH#iJJ__;PL@kdT}{a9@69Kzmz#oI!niZd|=t<)3HSo_ije7fC#8<1LbH` z6x{YcD#FM%ZMuSpe z1Njz5Xg_f&R~@8o!oIxHm>VmRPV=nkP5=`SG- z3$SN0L*(@7LF=Il+0|dqF9vNiBG)`|ke0v+4zqEhi^hO&e*li;VXO$E^IBbYys{3; z=eJX2Xu($;GuYIC&f&IpyT&k0E$^a32hl;#2;Wq3F!ubK=={M#CUgzHPsW82yO}!? zR~1W_?+)y@L`=#s%VY9Px>Vc+^vs!_VyZ2O@4v*urDzTg>-$V7LHrom+s0^RFLbtJ z?Xw?~+}_JE-21c!e%9|n;0|Nqfnf&GB}-)S9X15-h)`Cd$;~{h{_=_{Z6U5IIF`^s zQh`hY>IOC=m=XkDT5|VFsbcxxT$nU}%&X^3-D+4Z3F_9{I2O)3uCzlhFJ`4hB^GS00r37OG{#WgEo^Ds2d`lYr!r-SC7uKfjFC9)2PIGW0xDpgE|CmSdmk`G z9>aQWiP%!xB)7026ql6Ie4O?~#D=ZRLHf}zcwG_J>>AkI3lH*C)?1dWDrgY+ygyBX zwe~zs_2CE6b#25wc0us^l+OCVb0$UE>@XykA{a_94m-G@f5w{x@~$1!w(xWFBGfx> zVF`Ux(qK93V#qp6)ehvUTij?}$J8Kx1JI95aqXW+H$uIyh`a`@LyuIVa&fIo-yqSq zH#W12gXmnvI}3V{1m0zOwvItUcZHqY6 zj#ddRfdqV};=4I|zThprZ~#xBQjQa{*w?a@Cg7n6$k}qYE=WOt>mhRP=|283CzUM& z;+I-RVm3}bXp1~8V8DZFo$>)C^h6;4gCi^TgtEw0HtpI_AW?q9z%;KiiRM*xO)mpY|j|h_c zU-hRmO_HPweILy?nx-MAt5~g!0rq!*mDB$yN6Zb3G#smuHNg|+U!2?V_E`j&Z0yv0N8b|IzGQ+#8jbm3n z_*#3qfcntwoqSE|!H>#Z^BH)MenLwxb{!751mwE-2``_XnU}qj)0_EIGQi}7lAj1{ zfO_X70^Ij8lGe{C5kXQ{jnN#1-LHCf2#y{vm0=PJ3gW=Kss;(=mc<4!G_e-OH(#l1 zni8GpWu2P$u@i3$%0pybfchk2)`{@_4O04GFpbai>xs&kZ@QASN3R?**+{n}ETRBN zKc+zs>z;jxZ@SWc3v|bi$u1=ExB`+`?d)o9@KFi-z`f39zpbogZ!>`lht+w850c#EC52#uyVxA3ks7+^bI2sV$f7PEZ zKl4Ro5O-WLeIFhVigm^HpYNLrnK3CHc(n&y4pwrtjGH;SQSiC#@(D^P&< zp!VKA-|;DMp-@ZJmUB{^N2fPz7Mv984T9EJeR8xadFb>DVFX0NG(n z$WE-qDE&}=JW3r_M_}XR(v@roJ430qeFK-#EC-OwOURxxS6eLeagrB_AYo78G?a@$ zE95tc{WFk1gJAp~{_op9K zc%oKvY+A|JD+xXPloWR%1vhH^r{-zJ?>|L4XGuB>k9Srzi$nkoOpFc7CD(!5bVj%eiQ zyfT*`w|s~+d!)~%j#=>-C%*e?h980klH2QbWhoVO4YM!vldOOhZBt`<%NU7D1pi>mV8xfr04qs8h!-;75yWogF!-4gFh<@C0wM z#1%*W{4Y~N8tVW0BVig`siO^%QRxI9rKw7<_+LhCPj1NJ1zU}_%Rrwp#IXG8Yu%?cNB`D}&p*Ge=yh2J?~p};*tZUd#_SEv!l zY_WzgL(*hc>mwNU^9Uj4i<6$pCd#lDXuguZr|R8#RBGgPV@D|YEUb0!)SCqMG}hvCVZIdv)-UGx1N2B^uf9i z&ngXgXBc4=ymgxd`*m~qE@(8^5-O#-3l<@KUeFV}70$ts(*h*-zv@rNe_bmJH_L1M zwj+-YHRARSD%jrvlG98_D7GFg`sRLPwJZ!mY&@&wyh)t(zzxqOOebZ(5x@^;)SiJM zZ;{;3M|gkoiW(q)rC05+>WXmVB`9$+DyIhg!q#qMRVoFsye`+a>_d2q@pO?SiG@R* zu=sphvH(;c@D2(S;p>RktcJz91^%~C+%_CzF3pbqBOBI-K&+tSGdOUNegZw`tc~8h z`YAf^kRD84T}e^+`3Qyhp2(LASglPN{m^9l&7-A@WB*3?36Y9Ch`);5n~>E!GCrDI5!azLIyugeD+RP za0zH-)?^c^y(G3LW(@JQ%vR@vW`TOy_HRC{D#S#IAN`ar&+k33T(l^14rlszNHy%f zU>)lL_T%;(F!U}&!zlP>pJ({N=_RxF?(AamiyP|^d1r&k1}12}uQd}pMQsxfwkis5 z9}I9+T^ls*v^Vl=Bu97OC8r1hxRx3wGe~vks}A(kkhK{(%~GIe+30F0WuFAXfYV$1 zx3D07eeGGpk0>upQJ$cw_3ES41Q@-e z&4S6|sPZUae+Nh(iu&AVulS8KGi##T+e=wPem(5WtMHr)?eb>IRIp0`kB3?qjd++Z z)OIm)Dy2&s`O4LBb$MdRnB3KlPeJr81NSKnq#2QWY&V+F3QBP~QqZ=M~A-l_Zp@_?XVPIRV7?>4^ZfHKUj=F@RXi%knyE*Eeu0oW+(w91>g)$c` z`H8+VARafS$d#C*L1ohQ+Vo~WN@X0a=UjoxwxyHwNuzqql?UeGJ&?NnsfS>mFO>0$ zDXblrXK(T@&*@gxDFJ#4`lBAOp5i`^;%v-pxtNxh7d>Vz;49sGmnsY**qW~d@FjSc-7~`Y5^BdKfl)U zv)t+w(d)ah19g4kcL;GCJ+p-`p@@G^vsT?Zj%Q)qHwbl_WMrjHhE~dvu@``Y@ynC zDoCWjzEeNDfM_Abb99x~=jl3Ap6{lp z1}Gx~%kri}v=2uf4tRWkU-(GAqs+l;rSRE39%++BQ9<$CuEBOVnRXRNP}4Z*4#1(R zk!}=IGenh|d(OeP5Ixm_YiI6)DJ9Vlis>%ZHD?Q{q zMzJb9gi#4e(0qPdgL15^F^EK8jD-n~MK@ z--G~(Axs->*a}A?Rl4NZ8liqgoyf)cljz4%@erbc27o(9I)A>C^^gfmx7>b@Y&(MH zRQDAuq794bMBJNQ|Dhhhu}g78ECXL$rp)8O9e#3I;;KxmK2-mSWW6Cbu4`B0fOz3C z-SZti132W*{b!PzMcg*rgI@0lGjd4u8Yg^kR&F4U{hmvAv+|*{&47c>N}I#Ff{nq^ z4S~y=XL0Ine?I9Ia1Y^ zQd{Cg9kyyoD5%;r_kT#pA}c8a=edi8CCRzttVr1~rXzlBLco8djK z@zlkgD3nuGgOyYaTNO}7#~K@AT0n5EMFG<9zv@rNNLTb`1jf`$J)e;w1z5$x{( z$q6gnw<}dF7+TB2J37Usv{?IH&L*|)Zao`iFdL8s2Gp4p<=+=6GA$84%y?f7#w*fvrwRpX|zS$DTgZFurpV&Umqe_W)>ecviAq=9c z%Hhk=&tx*wtW!)oVyrl%>0N-5FWfo_-am5DkCX=Je2@BhL=)2I&>fyzjInC8`1GbiKk0@z*yzy+a`a$^EbT(>1JI z67s#0fphKrq<#&oRQu=qrcGA#%QL!-fIw9l&*{2gaAs*&*r$3)R>WQ+Kk@T>;9fNB z*roJozp3?__gS;f?Z+C?SdDD?JzrHlp0GJ|WB~ZlFJGULIW+i*>R({X?xtNwwwkPX+7&bXG)zywVIk7$Y!_}v zsl_FAHfuX}fqYMtj?Pb=S$^i1y-K02pF(hY^V>(Fx#QGNG#s7&oh%q2`xAQyCDMo$ zd8F9Esz`mk5McW_4TiL~+LAeXmrm2K3gkontNwIbI2~fVui6}j(lnTA4?{BWV1EZl zpK@WO(}yfEoBjzd1PtTyiSWSKVWgkJB}faSL#=Pflt6SB-B#z%-hSoNfetAP;3A$< z_4W9NG!hYdw)mbhjATH5Oh<|dyRuvC>A16@$7yh^sCm zg%&qVjGw}IX>zaegvMJsnzYoSdpo%j3QUOkT%Un^!hecy)|cs9%gX{!0aH+8AmuZS zfyW7#96t+z&kh@8*Z-TRXBDhXy2vFgRZO*!x=O6qC} zobRakhQZO4fj0=*X@1g7}gHH-!rEo{HDqHAe@Q|BfN%zc>BNVPbVA0^Okd|Ug-N{pvlO6 zkP^&4?De&QJ(+n1>>ACl7yF`xH^PZxP}a&$=M9YB!Z0@13xF#Hj(cqi{YE1ejq+<} zMisn)*HTA9TRO;YtO7m$R(eKgvbkA=eQ;V>N4aAh*y#Tm!3u-!DaGv)L zxzv!o^?TB_+%HtB?v$*;LBs`qSJ!G;(EO|;;JzZW_gPatizVyU?DRZ8&de2Z87IgZ zRy_!tbOHGKzv@pXaz=raI{Mb#$#&5GT;W*}>L2r?cB}CvVOc_yv+O5@QbZFzb4%N6 zcphOQOP#ia&!z@&LbvgHZqzkRuI<*xjjm5&u|(GeZ{Ek;n)92yP4Vf>1kTTY-Jk9a zyDsIGF9k;->n#7e^Wz)rf9QWksC>uIu-!~m&&*@JDkG^`#GVs8Iur^sd$RbTQwjLh z>}1qjb7VP>;MYbfd0}45k31v;L!W|bMa=2q5p>OAKDyjoXIoNN^B>jg~nFLVR9##u<+|w#=)P>71HFt&9{6^mO#GkAcF-#FN(e)8vLiHchqPpW)eH) zfpzvoJLI=SMU7S+kbcW|=I9<9!q&#=Jol4-GB44Sje5`?9#hVOJ(pB>3P8L}+{Y?U zxQl#TV${`uF4+0}OSJEsXfgig!otPPmR&p~h@VueMn9+HE!8YU;n(OxtsIoz7QWz9 zWPFnVy*0WjL?B=Pbn9tsBI24@qYwpiqMhfhrcVP!@`{5i`vZD_Bz9FF#1BlrR`&p$ zwD9SJE?UUles`LNfW;-^9iuFJ(@Le9E8zDRL)l`Y>oqcDgfIr?Y%h2u8EZ9Mq;2X; z?H`-5(Y=vD{8nnc?aatDyB>@AH>e`3Mr$O0NfQSSt&dnpV)hbt1NRMM<5Ie<^!;$! zbKpB?94el!r*fUssLvx`VKPQ~Mm>T1@DoI?Su;#@ob#y7(CfDduhrk0@ALFD?bW0o ze}4@44d52AO;`r#OWQn{{?M4%^sma22P}0DzYgwdt5e*aDd*Tg`i*e?{3xSq(b`RV z^gy7`lieuaaKs7Tw>=|46H#)l3EZ125}EHrojNX0MK*4DD*`ldvgrHztk%Cs5tuop z`8xn|+kdrIf-xR)L@p@#hoKEc-Iyl{5)YVJMY!KG)zpdr_}=1SwRFQxQscWwIuMPW*kE^KW-6Oow>PV zc+t^qTvMDt{CJ*%dXnRH5Rs95o3WPMQV~d3AzXK2?|u^ESC3r(-~Uo~WzSUkW(cru zu=*7wFsW{PskSp<7<~`LUC)>1(@fMs{E7>`rm~kc?`myPQSKrF&7tMECy#5wCDwX~ z5z^NP0lQ`l5U=Xu7Jcje-LB#-YR|aHFL+}pNOhBZ6vs&?K|@bc4#|zEGs-mp&ykysJ7j|6g;3-*w#be@ zzTG@zhYYWYq=fQ(4@tOR4b+vYX9;9Xjr}@$lVB~J)5I~A>im0NtE-UttuevG;a7qD z9l95TJuOk=q*|=R7uZLV(Ui+{8A?eSOv?9izuRG8 zy(VFP+XczKIs6O4>KsP_M2E|xo*qzQP;1w0I(h7hVeT*PMvSu?RWmnvH^}|g3piiC z^n!z}dTiHnJMDDkiKtd5cH&CkYpp84oKok~p8v0(oboM9m+Ld*l*vh!lwc;pG&&JV z$i=!&_<=>J-MOYS5En!VQqXU^QgD7osxoC6QH9QzxKtRnts9HDOS&<2j3fc+m+0yd z2EEChN4iYMS~s_?m9l3*L|!sszx7zhhi*Fsyu;zmaIJ-jxQjzQKgFP55-0I3`_^l% zrtjL)DER!O2MG@1_iz2_Om}`_7-y7X>TamfmDc~z!UX#}K)eh%$tqm6B^}*QAN8jPK{X% zAg^f_bxDCmfFs^uZglLl!488CxAuOKGHyv1Pj&H_mIw2L2_O2-;7>w-c4ClI0y0^t9=QUl6;>?k?w4u89w{rQWM~Z zXuKt)|3>nfkYAg2pc4}-eA!`Ow{r5R6Nj9)PJIx#Z(7p=C~=#Ok)#GV@i<%&jFTLv zgz&JMs(Gg&0 zMyPZImGlid-m@1acAXvLmXXj+Rw8>Z2F*K70{4=(yB(C}m!D@0Ro_N&qXTOA#kFU? zA^2TJzeoyPIFSNzBX46!s|6=&kWW?&zo%c=Y0o+PJFtUZ6Bt+B{hly5z>i^e6dN;^ z*4=$rCD40+yRKHsx^6+pu5M{C_x(BG!AZ0{#=HFT!T!_~sXs+(!IPkO*R%EGM)Aq9|3@ zmxT|(;f}5#xlRw!N>)(@92DMEB$p>YJ@M>NO!?FJoK2l^NGTGL09@xgA{5GYlv3|q z>tOVu(@cwrj@0c5ny%JIpysFzM+v~K|JI+5U@Ou)!S9XiDwr&D`KvfI2H4*L(kE$D z=5mf-L(Hxv{*;8App~YN zhw{8MXO-7Pl}$)M9Fzm&jfaq^A2ar7^As1`aw0#eabMkeBVbD^TEKfp2Iw7l`p!Q0 z<&DfosrAUE6e*^=300CO#)xIa4tj(XM+P8|9)zXLr)ecPb_FBJg0oPoN)c~#I_Yd} zJ>7oxbY;&^57I9l<|d?Zul;jrNl?e43dbEbVwY&f@W(>%nYYF=*ew(wI;aSg-tYb% zm|QAT?$_wdiuXy4Wxqe&cH6SMUyaG70sgWacPAqRg{6>C%nuqe*Sw?kGrM8;wfYh? z_yXp0&OJ~Ex>icb&yqGm>N>WIEd(7W>UNdMzK?k@Ko3o|h;qyTWpkJ))A(@CU3;9K22tF3l zm*BvB)CzD0DEW@2LfTR>I^cd~p>u%si#O+F5{d6;&0da6Rn~FYA=FfBY=_W6;x9*G_Ie_epVFvF3JyakMQwp{pmd``- zDsnZ`qpV6e?CL>j87c4bud^41N#f3{m_QqB4<*8)FG~2wc1HeoF z)}Ly$sUBtL$$620v0)7B7MT)nq)Q!B z1*b>_`~rE(*u}cu57ws#cH-_Cn3V04R_pLB^0Rk;`V@h|nX!ZTjg!N5F7M3Kp_m?+ z5bh!Jt~X@GI@-q!%TK1o?;kp;gXlz{h0T8rI-Yv6F^iisd`A6)f*y&H%v7!e5JNu06H8gAVR@+u5 zmFLx=!icVvfc7&EAyy6X9!6ARFKob`T3h<9+o4i&vW8Gl}$_A{XF&8cq>A+Fs`#eK232HaO70{tnRZrPn5TD{w}W>S7#cIL2z4@q1GzvqjHx-rqIm9tQaV zasE4JX)`L{0(^d#n*6;oOZdvUsQg5;WYo|188Q3cD}X!=LVfzG z@hl}#>xQI%!00)n<&4!BT(R{ryl+fJYP_1lrmkEA@@`eIhRqUKa&3lL4+iGPE&`!r z%QC9>F|C;X@m~o%tpNO0Yo?JPo%!5}?n6xcSJ^K4+InaF9e7lPZ z)BM|buTFYB+ZoHx>mq>o!B}O9MDx!l2~S&;Cggq$#O=g2^hgim z35IIUKfNnbhX?V4GZmoFnG(D`Y%3RZ$hoQAQqihQ)@f~pe(i!rv9cBg(G_GwJSur+ z_3(}A#Bnqz&CfBbI$e#rkehWl+xyCU1AZDG$uRh{|46PLvlfv9hR=B}t^Qnu@ODRD z8=M+AaT^dn{9AuI+@^a_pYOX1L}*UvOfdEAmns2P(^JCznq2+&QQqK z6+C}ggJs{bxeoyH!Bt8b5w&{D5M2;Y(YP`WPGHE^2ZL6>6Y*TN#~oT5?LqUv|H`{` z$o+QdbKrs5)l%@4>eR>?=49h;l~ow2^HeW@^UCgO4f2!8D7|OL?^}f_BIHlsxUPjS zme2^|aC8j919*u}9C^3`yfDuyGlxP_sZIo$i(5vj{1=m+&0t}!NE(1IeTA4YHrH*& zy;{CI<6Q~!gx13hEZfNhXCW@;Ojp?f{v1M5ju@hm4_z#8#ng{ZU||yK{hiu)PS1f_ z&UAd(EpYF4W9K%q-(aV6y1D;8T#7E&_$bFRdeki7oAYTTH=P*Br)3d^j5MkRPj}_& zv_G^FI8W}smbZPXjjH}4R^zJ!2Kd!17|XC(^)9FO*oNqEfy`lQO)0E!bG39!EGVYL zusER3KTis_kk0?c>Ph(6H>2iQ`@EI90 zax;4@jVp7y)7vZ%xwU)<99#90I??6=2EQoohu*rX0_*vSWC{5cd62w=6j#C-^;Oql#VzN|I6!FvJK2em z*ATdes(m*w9Tc*_J-tn%^Tm1eQnfxCuVcnR!{uQz`@C@k-e38}qC7K!0yK zety*Pk{4VdgY3-d{%&14QP&o<&(n0?DBy)>E5AjsnfF9DPTjb-{C2_lcBL;Zpn*3N z4~PeSOqe?^6Z6C++C94y|Kk40m_>h@uG_7t4;@2!YSvt@R=`U*%Y9Hku z$E}>m=bep-e#D&0Tz}My2;eu(O~sO~V73p!un}T*b4*}lQKh$meL|IOnV%aI44xA_TD9p0JVEX82ZBeiF z@QWk;pjd8^L2I=Y8jVbj%VQu9&?+)>B#V>8tZuFB9NYjtoc_L?=!xc}EH8G7CLHF+ z|HVh5yLJJH7Jeg~_`XO!=WI7dH|Q|uNrAG;LP9AdK0sZQufRcOV$OQjcW93b&pWNS|XRy!)k-wS=}Fl~2PZe6zo;+}yz+TDwcZ=0w4b50NxeT-M0 zP}La}lX&JWhV>N3A%I_9{~R4oZ*u_yBVC5x=$9qGXUN<@fB|chOww*`)y0lLoJkXe_iMSxI$WQM$aSrLP%wka4tJ33@14jM~2$^o0NQDrAw1KBQJ>GQ-1O8 zQLlTgr+1)y=}zVQR=qJ`jvkHamnbt zj%4$ch3DexPZkN(Vlv0J%VPHu;SbsV)StE*SSi~%Z%ejMvIDFjLX1RjyWt+U&_MdJ;FMBv zYKD8FJPmVIe+OXQC9vCVdd< ziQ@c(_}uh*8H$V^ne7YQSVPw+NDOv>eCWURr(1oKrfDb*0h_v%U^WzU0E+zj$G%0|ey*gay zz9}__{K)#BR>tUTvz1cll;A}!_(~UQe7NmEym9D^S>1yEwh$phJ%OUckhTHKO6FEV zMCIF0`@uLXCQ8seEEBx8f6uYcrx3F^hQyN@=Wd8Cy?loQKM`Tp(7b8{;s`2S?ZqxT zsEb%%u_PoYe7r=0ZuTZFxB?YlW%)%EGY$~HqcR;R@2$E{aei^8g(m&X=J z?Q{7o{C(rVx}UE@c=H+0UUqI!x9ErAF7WAEJbaKW7d?aA{S@Hl3;4l*>rV#4sM!xgpmq^kL(-k{Z zF0+QCB5`=?pBMnnQTedUl<tgn*w9mycMfw9~MnCZX$$#rl*V2KFqJOlYeYHiVdK}1X3q@%lP!%1hK7^UD_ZGd9sRgw+n*khNIceac%9|mnYqp6RI}6T%dKWfL z;_QtCuO9YdCt7JDP7uHJ)8K)t$@}kX7DEh2KK}9JgiNpjA8s_G$rndeGOg4=bng__ zF3LDl#DWHsgaW!67P9Nc2;Jk?8`F_H#tp2bj6ih%)}QYD`J5Nxdl;GMc8vLcd=>;O z*xv#AeN~=y%O}mR63lU5)A-(Vr}}ZGko)(IX+?GKIQPdevV!P7TkzBP-%7V@eL#q6 z4V(M&WrbzMEMq@DFVEqu_HwV+g-{QOC`Np4zjQT-PLD@2Oo`ttHi2CI8O(+t( z19;o-Gly5=O0>-o!#GLADusYhQh>^G7tx;o59m9JXY^3?Mqm+m(vF`C@qgbJpii>PaT3mUOSab(-!tv|*c624Mg` z__zLaU-j(m%8>+kDRSPy&`-Hg!+`xAAUQ7S&+LCb4iAr2;9Wa;IGl&TuW)t5z}w<( zX$ZDkiDm+#tEeBqUDqSxc)jx_WP96gP>g)-dIk=GX^SeQ6|7%V_t3!>Jx|U;(&PU@v(FfI-Kfjd98G%*xsZV%eP9SlW-?X9uc-N zi=H23Ai2Uj1%02!Fuz_~_oq3&uqNR|C#~thmkSr^RLdg#h7$XQzJYE>Ao%wR>b%^^b{i$zoKWXfV_&qb9K5d zh6Ktbtr!O#lpRMfhDgdiq~~vnCR!|T&otnk!D3-piNu2KUF)bRD(4koy_oO};>0Kx z!YJWg!8&{g><89{Yp%TOo`_>lQNJWrdnC8EJR_(H*Bne?^j7lRK46{ytv{Uy@smwF zc$Je$DIcG!fujc0KjvqyoZNtbRvZcr#^?IK(TM%q9P}r4ErDY7f}$pM4SoZ6(XR`7w#DY|$53Z6H5p{M#o}APmipHBkoL0LfexZ8RqULJB5(v^c*n6buo-iN=hI zkw~`il1|E^XC>ZX1#=k~OIMhuUkbu;P`<1r19>@w0($4R;2e8SD*;I>+!-nUTT1Fz zDTEn@L$xxTn_0k5L`LQFzE4ePYjtof^^A=blW8_!(AEf=PgKb~^uR-A2d!7=G1!81 z!Ok$uK2{jHKdgBV&poyTMO(OV5>eVJ$uh9N`)RqQGE?g&r<;X`BZsWQ(!6Eb_@l1q z1}&Yx74Jm=@wef(CF29|mD`c_#zTVu4lKJ59Cl*kbLQw(2`=Cr4R|2Ap8dF^I$;e) zEb~TD12ze%hl6Ni_)hkuO5nm2IF>j-9QJJXgv{3La#SxX+Jh?_E1ZpVh<|sM){D*k z>7>iX)(phYNQ}!8ZFfgldf(bvH6<~+OI&Q3+}bJ8=hEq%eVbAML`VF{{kwy)G1x1? z%Jnmuvh1&PZ8H-b-(tE<9QYM!}^iHqZ26tk0-;ja_O`zh`@U2xtqVo08l7r+LqpdvXZ?$G*Fb=6o_9gvsBBf0hsi@$00Y#vdpOfQ)YI->ga< z|5U?r>Ger!1L}L)hBi+Fg*)D_PU1?ABEo`-GX-f+V-zf~zXSAp^(tIL_IWu%MQVJyldzqUXtb zG)VrKP$7co&0b!72POH71lVuY#F(-e`J-xr`==HT-#Yeg7I78=JwuJVE$V(Y`kT zogz{H3wIoPE?Oa^CNDtO(mbMPw0}dkw}J1%PdIX1<&x!5TO)m4E1G-%#pjL=G~Wr| zeibnj5&@{pXC9b@1DhK>tHK%lM6EB$+oM0qlz{rqLcHNClDVT0vTH-lhSdkzrAb(E zsvqTGjIC={JS7IV9<$ZxiY_QSgmfH{@_W`>>K*D z>G22=#btpS4d5^5?M)b{ig@<Lzv@2QFzB0{4V#J?6WM;$P-W{+geI_dFtPxhTt#Ys~v5 zp@NV)=8#Q6{7Q5oale}U0CSwZ6Z$BnCqQ4!5+*Vi<5KS*{Dl+oLJ33{&6K_@UNhBc z6=~*Yk~$gQ)p;n@)?7+k$L4zZqIwSaJNVl#E2t2Usl4Rx`yTmMVoq}{o9nt65nBTq zzr~da0RGr-r>UK8zULa};Q5nD&P!91|JSFMMpr+$9(GyIVSVM?MJHh$c?sD|VQ-z% zGCXliu)hPO4})xK!==+IZVe+@L9}-NK+TIPf!#^HB-R@?%r1;`pl-&$1P=K^_Sh_` zCZchZ;|$IGqb|v9Z?Dnm_#>Q>D25q`UmYY;=6P?ocTmIQ0b>49;|srB=amS>y0ThU zF1E1_;1@8HHk=3F7SpPl9$JfbyLTqf+=SS`BGSu6s&Z=^F9A4y%>bMREte84XeT#)kB9n8d^>kZ)nB2w}wT+?2mwbjw(>O-;^cWmg;+oe zo9OzoTyqo?{Yz9vl`YO0*uOkxx&RO~qNXoekGOx9}6Zk4Cllyf1UGXiuw&X!} zAvybof6jngP$J{f&~`wq)O4@*x${$Bxc)R5m2_kd0f;U{G!*XW2Vr?z;6~4(m zMO9U;fg=fx22N#2X%$dEL5ZtnS)K`Ee=`&a4s9B6&%}5tgLVHTonNK#dJ-Rl2;!GM zx_Qz19&E?E)h4x1TLnCN>!Qe0DMBVNemReha0kefdR`M@EDH~Sd2KlLI@+5}aAAX_F2xmeIDh@8d#JCKi_q;K6W zSbTp9t1afqP?m7{1sC79ujt-Jn(!4IqE82??=;M(oo_k{cPyj)l4_2E4cf$BGY7c=5yU&b- zCD*$7H=PXu-Cd3sCj(ed zPhHRP_kR>R6Xh`O5-jrhV9ukg{qf<&V$O(xfv7oMs`IH>|hPQ?9 zc)YeXRr+PCB$zH_Yk@p}N>`*ZFQ$8Ok?nN16Qg`pE~t2c!5^mjNI1UgaR-!)wz2T zmR<-wXJx1sCz$Sm`W$5yX~c9qPw5!;lZEn8k3E$z#hol2eaSdV2Ep|hF;E}qnAbFs zvBU{6#K1k@{*;R0---O;bf*J}?mk*kYcx!?7Vb_T-cd>V=%?KkNA57(E;~WA z97$?6s#bD&z=7r=a=dcI>}Z8YC}|p3bkMrOsUtP}5l^Jvs~RnjZe9f7H+~D#fAs5s z&5R(b`(3&}J8}u49rBm(ffqrGioF1200;j{l364D;854xR^WuRdZxQ+ew;Q!kn}V8 zg~lxh$q&Gx{A&{18ABjQFgqWyZ?swKzNw@S5&Uf9v#LCe7JOSkPOm(Q1&u^%)Uv5X zk;?vE5gqLB0O^e|f?ySJhztpCdiQN~GM$zsnEMnLZURyl-;nQ`RT=|Ccc}HtjIJ9W zueruY^4*UR=dxMfz^`N5~kCm`lmnRqelj9O+?IKWT6g?ZCMN%!7G;R;FIo2R-Bgf7!dxdaSVlj@+ z--L3@fcQOJlh>0|Bq8iLB{Kz8XYxA~FQRv<{!H`jiy>+`phXAKDdoBwG9cJQ^T*KW zydD17YVwY8&~h-#5cygzFHdj{unRwr<=2LQ8A_|cOR&C<@x`a9dy&QWVr#H9P>0!tQG)n2gfANMid}naZBT#8+ci5U z`jqs^<-vV@lEH+J(VHGPhf1dpr?G|FJMP4a*KN3!>dkc*F`vVyf%w`G zNESt<%q1hrSZPL+1*Wpy1J3P*gt-Y{RmImL8MNsXuT6H zKhyapkXGp$KRYgDw{ydr{Ok7$eg1$N{1JudpB693O zp;mYCV)jD|J49G5V@s%QyO^xR9i{WHBt8J1*3^wyhLdZ`$Zt=p#}7dt#=)ECZ9+}r zh1J)a$%op)4zjCKQp+8eT3lK~lIXi+^p6A)be}DIg(N<;l73RQ#-e}%(eV|IpQIOz z6t%r69ZmV%krbQqW|E39n*Kt$&Hft=29Q4lSoWg`i`ur2yF)fNezWD1RY(6$1pb&% zhHaY%u5R!a#E+vo-1Zm7{@}*y2QK@ZkvHh^)A+JQ3G*g1L{@U`(m)&uHf&YAoj?(6 zb~3bHG0vO4x;#Bo(bOMY!X0e-)6j$u;x}=B8ShOa>Ok!&5P2(avR(&6I*6BEzLKT= zvId*93G9zv0WyKfQO2#i9IJpAH&1r|%zp#*KWHn+x!Vg0q z=v$(U?2qa28NNhKN`>q;zd21@D&cG&mS9=TxVV~e z3_@TZ1*d+*(%rfd$7SspJ=@$dBmh5`m$@dkNKdDmmLQY?_Q9O`Ml2%EB2D<90?QtR zR8KL-*2kjlxCh&=9im~&YoKl!E)uPO{tUM@3!jT)s47A8(=VZ}y1gSnA6LZCFG&-l zcfApE?VE(c53N=8@88ATP{IBV(EJ3W*F}kg%@w~-Ald2#I5;Z%CVr5}ZJ@U1&Y|9) zc>wHs)VR*T>#4S${;9r!+s2?@D%gQgjwXM>K30{u215vl<4h@Y^L~rL2}gs>Ee+1Z z_r?n-M~Iw@FKyZjI?0;e!XUYYTkV{i-wvnDJDuVyoRJH6G+`IADn^>CcFH@nREU5& zdq*1QHU#-SgX5Y{?B^wz`h7&rO*>Uq16>RMc`ZLW;9jDIgiGv$^HRt|uUc=}n%>uh z*Xe6NXB3$&?NS9p$th8g-0wt{IO*!VEnFFf9$hkt=K;2tTC0|p=5x$M?r zSUgpGp4a>(i<7S^EgrH8Oc0nuK3cT6A~H&a{RZgB4>WD=sMz5hJsB7GsD}q|BW2tF ze7G<84c1Ywe%1!?ze}k5>fADHZhy|WmvhtnmqE+thRyb|0? zzLRaEc_ucxz`9B0QOR#>#<)3F?TZU5?UgY8zHJ{^MND7$u{l#@ldt* ztnRV2C=+YcCk6!rOj#wpd}ltxN(dCNzXPNhC4XYac^M_~1{*7M!Fw&GS8{q~I z@1dw#@7{HDf#`1J?k+y0!w`cDL}Y4(e$ZZW!q^(kIfhw(~E6xIuQgB=TgK8P}_!XflKX79DAZ`CC*?`(QAb z43{L=9|0tHe-yT*Dep2poP&N?JJ*POAOC0_6-=tKN&Q>>D`gT;Us_<5ZxV&g4eVf1 zjmhE?OLt1)oA+=k#bi9|rH;rYgMs*Y{~}9ha9O#5Mm&q)Ip}!PAvJP!y^vtV-GYAJ zTJcYxg|TxBbgC7ztQ{R;eV(KjQSZ;*Klk7(;DLYKtNAC zexLgX@jf{#hXa(!Iw9!?i1Du+kn`lzg_Ns)T$m*Mfk2+8jS^_dr>jy?JlGaxF_stc zmUO>;!4L90FPuDg?v@PLADT6t;eKq=W6-lIP%uVq!K_;q^4$c3geBbxA=ueZ08Y7t z=evydvpLc0%8D$4r?4{xO{HYA!ENudb2^%xeO>jE((ess2Q2FO`)%TlC{7_{u)hOj z*9_$Y>9A8cx|~!Af4@eSAZ@ni@e@9YYCh7$;ghatVE^M{76l^d`u;dKwU^a_>r3jT zxcT#s*+VPht`HkE5HbMnWZ`blj6%)A{YsepVYKwNv}8JHq$48=PFFbAVVNZi@LM@* z@9T>_4V7uA)n|fpNh-+8sWFsT5>1-+$yOJVR)Bsw$!G(pz)uW%tn(0VHkfERGMg~rSnWavmfmqy0sI;WFumew!}e_&KUAU4`ny#w&ooqm7j zn0N9TXctF%Wp-POCvWRhwN_XpTdM>n3X(ddKz7l*j?DfbVI74eX~lwd`mQxS13X$s zGt>f=wwK!@Z3(z%9(BRAC%G`UDRrO!8hXU&Fk8+Yd{u#MTTXm(Kgy;GtP{-Od)T?+ z*3wR|FTYPkdb4imn?j89&SxWvD?V{A4FY)FC@R_bVW@(USh>m9m+IZAu$QsoI5bHc z!|S2VC8|CENAUy;J0@j4lvY%fFz#_bAvk<~vq@Keau8j5_$$ERSqC(ad_{4@xLH1K zRwGkEJ;Th`LycGOI3qNwszKq+K^#~k#av-#2KOhM(1KY6pN#+rq`%t(IClqeUS@M@ z$+YlhHB6MQM{!>BQi0FlVjoJ_IwH^rd7(jaj1yQt2-Ll)Qmf!;XOw{j{d8Z16@QDgtNx7f&KBTsBVAeG8WR3z@ z@YJJckRbh7wJfm+_AdRS7*y_*96{J#Uw$E9r*dBib((xM?k zqFL_d<6M{fs_lMbn93((6Llay(>t~>pcoj$CsL4fENijA)SL(z`tcmjkzTePmqSGZ z_d2!=$_N7Dm$<$^-r5**j9cKMtCHjj5o==?TjG_3oI#ldweq1`%2HA*A=_c(1z;fl zYu%Ib$YDkp&JOs!xu;RnCV8a(i@t``tTRxt( zOtqVBkRiSGnMBkaQZm_n1EQ;ZxjZ9QPWzN_Z}5O^!GH~- z^AW*D$6U7>&8Rp7p#ZI?5 zaVDF$s^@#3LcTF)j{$j9aZ)1m#B%%w(hPSWFUG|fLm)=PPM>oRQjx6%BKfrgNN$|G zU*o|n#AeRPa_Dsp{a9}*uihgz183%V6Yh6)FreNIaD69P-N^XRa~anWnBa7gX6dsJ z|Jw;RbS+J<%tsYCcNEc#WXBwmreL`}mh}@O!J7p~28nG~=yM_q0jM)ofPO!Jm|eO? zi`u1p_t7nD!@Rgd^hAj?FF%fmauW*~O+^Ihcbf4{6W6g0sn060bS)yn!kK-EV<*?2 z_^5FYf3iYdKKc0NEno7p<40m5DVAzQ8U(Pv1N8gjj`t(==(Vx+9l7fM(N#_Y`uOhf z32p8ko=~Tw$&o-`*4sy&!};PU)sM^-ki6dxJWKhNexRM!dBfKl1|_4WsDb!lzeRHk zluCxdEpGZ1^F3cT5gxmBVd;Qd1D_N1n3WXp^Se~u$otSX#a?k=Fe_J_SuNhSP0+Z^ zLTa_#LmZ4dxPbV%b-GtV@10b|bCF5=yyE^AZ^r+MC1C8dQr2fRd^!vGBZaI^!%_Pf z0ZpFs%N47w7M`D+kwWfX9xxBX(SsXR&q>~C{~|*@xz6LQUQU*%v}JOH;9Aapjy9)MH7B`01n_jqeo9&A`Tjgw3{hr~sWF?VKy-QJ1V=IVMs z5MS6i-WDvpNNT}_YaPpWZPVT#V$wya#X;RI-dwh2mTQ6d&9B+7p=S+#BcTyZMG}k& zPj;}u(QZ}~)h9(r-FQz!E1AAThbK=3lRYA+D^$FW3-{Oj!2a^Mf4i5@w)JQnGcOh> zTxApMx6%?;_4!TIiH7b=;y>@RkE-{hh)=Eo^J zh4b@VVPf!M7O(?#OOA%WP#Rq#bgMjhg2u3F@bC`?qmH0*9qM7Hv~>VyIosb#Ylu47 zxl$`8k{XrPRMKy%vQ}2?AntmK+6kZF0ogTLs=I1>iGbSQIwoV;@k|n^-rHozzlBP@#gd%kE~&cyn&aDO=1c7!E0$iAg!d9?VzzaARKj_i>r-nA<&$r-YWHq~w7%(NRHplhd73wLh zE+uG8K>VV0&1Izf1~4);X+EM?&1Xt`thZ|D%Z{N^2Q2`_-_0$1!I9mV}cm5^7P zMO|V8#!8{rWh%mxK%=(B-~|0IJN$aZEXRKFQ_hZKI(cwGEJqt(?)}MJ6?876Y?&cr ziV4y?iNy!&$F;l4*ISp+9m2G@NroYNxOWHvnw!<**|JU1Lxp zVz%x7o|Pp&H!4GVcIV{v0>}rnb!HkrQ4#t6_96iz(&(xR5Op(dXPj|;KSLtXXdEn2_GL=H_w6!0$1VMUN zfZa=fh)VA16idJc-_arEz6ir4*C*v+KBK@76?7HF_`iCZ&g5&ZYyX5Rhxx|wV_`@K z`(OHN7ydYhUkVRM`7EjD%fnhY`Yx|z7sry^SJ0Y7UDy+d2dy@fa6WN;Da*pV=@QHR zbbipIi}!^!-km-|=)KcIz{d~Huy*11tyBT`XdDCWPsTQ^=@!r%J;yZ8; zcc@@aBJQBZO#j{#J4-?h-}(c+DP+Fpbu@I!-Dsba8EBpYm2Ekkl8hJ)PR(V zUT+QSJUKt&^9s#z>Ji7Y!aWC=n{Q^4h8pi$YXkXT3sR|Rm?w8ygeuR%O-_BFx6rK+ z#T=%x7IL9G6?6$NNWU)}pQnv?Dgyj*2&hVr?F_!TVhVDKDPA*;FOba_jj({|f}gPr zx=n=rPW`=6-w{H#=ewR&e9?5P)q4Lj4}M1lob!9xqZ|`hvCm@-Maj^K<)Hx%%Cz4& z1oy-$k$PW5?14O+4>2d;GC~^J_R&_sVcH+;IC8YU?DfsahK6UwNE-tn*Oq%LMVH$7 zZqg#@c)(ey^D2T}couh3_GAvxL)Hr(xVKSNX`2kY{j5l+THY$w_q3n?+fLiSMmD*B z8Lx@(-Khp>9vz03x=g87aLsF_NEmt#d!1e-+InKmAI;pT_NK=jfpf~m!L=3C0~tZe z87eXPj>sNWIG?q1)eFhV?$^khc0vHpj_=I=fnsA8!n2EV28*_$-`#0!Uz^QjPjFTQ zHXY#W1d@Bd*pXdQ)h&|be~93Tr^@YGJ)X=Es_ihMra(Ip`Scz{_h0un8LL9^>u4L` zIFvWwUiX~pV1fM|Abns1+7N7!=n=uj9Bo&!1BxBQ*L$DdG;ib@mOCb>zyo>b*q@f| z{d5g#;j2{3B}|w2?jG;<+60VdMe{NV^Ajqt1Fh%rYh#sQuJmmjbC z>dgoE9j2xh%n~5Fqg^*nC~*DckS)kv$pcAI>(;kmsYA$4WG?=p8s{JEKy>GsJZfiP z`p7D|(u{8YEmQCMx&z*O!douKxbuEv{U=^@p=kEz3qhuHE^3((x0Zjn#U>ykZmpDs zPQNl1U(5#11Es!$RVKYLzrMQ0%-E{B?D4@6oyFQ|um_ZjqY#1|5P!NYai}%?B~jO( z#CYTlR?${`+rXyM8*mveh?9PmRuY5sGk3BT+x1XuZN0G++>v~W5Xnb)PiDjBFq9b; zn5@$e@N+m@wVROtR=ngXK;s@8w!KFs+t{w}Q}@-6byzpM3cwp6k|5TY(3BPiCMJ{nqs1&2uDOA%_O2YM;X{! z`*PtI^`E8fmIJYVro8SsQUAB0~1S%rAkgRKDt5oph@1muwv z7u=)#@6{7bUI!@dZ=6k7B;`Fx^9TpIByKJ@GM;Tf^T;Y?h1;J5nQzwU2Jcwm)yqunBbv7>-=_=AH66YTE*>GK9_9kD454HfCE z&oL0pKKMM_ZEIy^8}WYWxi}3O6R5u-w8X_b;t|qRQfLS`DI0x;c@Nv9+`U(trEL7a z*Ny<^Ybz)y#R-aM(6N0GNZMUz(~aBhB5#w$Ves@OzO-QC9+ zClj^x_E^hYF4yf-H z@+;_>29KzO7X%2`Me`Sw9vSdyurukX(BPDGHDdt#y-=t<_vl9Sa=hz@;n^{5LQyWN zjg*)u`JPcI)*LVd$PMlPe(~6laf@E~^~)RkQfIgAI_7Phmes3haYgGJ8V$#9Z2V8z{1O5=$h8Q4U@15N4I${0% z$V84i5tOgAqKi3-vqRa}d9=RxjA*A0oSSgrTd7}#x&8T&d2^>zG3>pFixwlFqRLh) zP(~f>|M{-#zwU3cZ@|Q)%5BE=u))O3gBP#>c@ z*U62vBhZvXUII}Xz)33x7^~z>TWyJHdfLCA-_KfQk$>i<$3waJvNHzp8-jev6i8Yk|N8y)K38ND$MdT;Wq4hKNh!YpV#taU8iz%-yAu~Ls#Xw^JeT_rO!%m8|Eu&Hfit!I-+ z2m&;{75KCPYV>hCYpw4(B#>EjyS7KAiCDWIPq8xh^_Azc4t2+-%g@rvC({4Pi~g1 z{Ah>PP%RFkt33-;L#BL6fdOYO-el|aXhJBZPY{YP)-gGe*ZqbM)SD2Ryo;!x-rQ@8 z6QrqD)}@e-tFGtO?-*E@Ud9BJ1_QXv=0q7$Ax35`RYp^yc!XPbD$eGG8j5$)1u2{7 zXI~!+kX+l@N(hNI@F9+>n}kspR@oiTiRmF^929#BFz=;GaRm_Fy<_}jK5F>Xi`fpw8h-9C#&8p`t1f5C7}_Ce8E`ay7qFc&I83Lg&mC9NF0c(zcK97tp^sm5*S;SxqhW zwv=zSTJKK4m3Uz3fWi(w{+3u#WgZ%^|636>Qe1f(9Pdl(YP*6`sXQJ?2 zVvNkite|=9W|3Ruf6t0Nin%QquxaN_zuBwuz6)(|iw4V@ak7vC(Iw5PC|bF+IxgY9 zJFqu8kSgUoEHiCEd)lc~F80)d#{$u@yU8hVL^^X6o3b2D3uj7iXf8*bt)=2OI03s>V99#CbSjx!8kR2A$KOjqPgT2{)Br!kGS#v7gHs+VVYqUx z#XZF)YdmF=M;D0o<0%C@)j(fR)I~N@If07fPT?G<0sD}s+Zvj8u|ODYOw{FYPW4+L z9tMh~BpzO?7qek~N+o5$EvB%+Virz?r*oT^1y7Z60`mPKBA1@E?NJz;rI5o!ZOU)qzfco2m)#mLDyhbvdO+M%>Lfd0Jy zy1%K|Ue_G!j#X%zkW;w+!!a@%*xv!NYiEL5B5D@K>F>)}^pqqIaGnRyqmIWf;pEA>ceXsWoSvDqlPt*SfE;V3EC|jD05MQq4xR_T|$*%a#Q4 zkqUE^pYmyf-;=p*9VpH|Z_L&IxBz$hz93SXjV=AV63D*@I!V!8c937eIAlk78(T)n zmNUn7v@wrjso+d+TCq_nIN3=Z!bQy9OI2{TA#{Qt`q%5D>lJ zbT(a7Zi&+@WaGVZWI%HHekvJ|K;sEwSe%c0e!AF=Z*u)bxFl-zOZe`v!9oDA-+$fT z^ed{GwvyO^>Dxj%+TOrBTU4;W1EhCmk0u&vNSVE)Dtw4ZFeP6(J6(Uz+m*22U>a3d z95~V-y5h!2wQ5U4oQu3JbCLJ(CHEBw8I1kx8>0vp5w@7yKs_Feeiu>RF%hNvU}9A` z6Os9CA#D<~q$I==-=AtWz-+_N;9HyLKtx3w~w_gktX_2|RUSGL0C^HtSKKtf} z0Qik9YfW!a=4j(Jcl(@jH$H>pnfS&HO!pM;Hiv&T7C5kv;4`#`iVAR2J)D0|rzrD8 zMGA)gaz?#7TIq8|-ks;`d+oH~CL+8&2dv%KofQ5t;NzCq@DLJ3#vEhtV&RMy>R{rz~jB zoiH33uPq9Z4FMJp0aq4hHizP+s- zbg^1>!>r64Y;01rK!08}E7+y5D?xem%7Pv1cTSI}T5tv|wJ9h9La`vfmqI9ze*blU zQyH$g0FuAe8$#au6RzqCzG!k- z@hG)B$)9?L(A{A9*@-XSVZ14EQ-1?~ z5WMhbek}%KnRcBc!OY?njaBH)_+VxH@i!rAOIUwbNDx2Qto=COg{x`tK4my2;gzhy z{q#{tl2n)K)9Jf4&<{_=PFwCLFTr>|b*Xvso_xb^Ft- z$=Cb}AkQXY!bMbDVPzG2zbcAdB?tfd^txYgn;oQe2(VRRgfkGIemFqAp$M*FcY?`=45D|J{i)xKQj2$HK+{dv`+<+>TZXegBT z!{o8<$WzCUMAlh@Z(z3Dxt>5B@NFG@d~eRxT~4oMuLUgtiDsz%2*!xRTcBkH zz`KTSSsNoYobx-VNa&!cjOA!G8dMopp*N^7ALkE9Jt;wQbz~2+wqSF06F63)b7QR?Mt(NH)4J#Qp)!4k)v_ ztHX+xx6zg8AUgLeU(+<9KJWWB|8#WpAFhn_76rU@UL7u?lGP)(!a$uvEa^75P%MJB zqrWq0Bh*1Sa3Qw&ivWjrw~BZ0!Zi)Rk1oqZx&|1~NFT>f2*Eu@)AMDh8q9PNyW2=G zhuc=%fpgc`3`+&Kq^~VSQ%0|!wtqRSi=zQQEGRCA-A6dUN~=FIHy9BwB=VwK%w#b)HDC z8MKhoBSWox*n z89!6@_!{CyPRKxZnCr2)z5fzq{{;>wq{?^YiK;_rvWgRNR{EByou`fn2}IY{WfArX zA6;ecUC^le&UdXQJnr<*VxqUce6i>wr1y*) zmufs=9=a59fL;IV{-)*O>^HFi?9_!m-`}SFdEgor?C${S?f5Fq^{4SjWSciC?)Xrg z+kP|yT&16f?dH~qn#_#{$fs7!AeIfR0%o@s_I*OsH5v;D9b1$kS)ZLKGL36#KLB{l z!_No5(GVgj+M&)~JG)w>FYjSHa^z#Jn<`Ia!6lM`x&~EP8l7m}$Rxy3n4W&`*L8IM z+;+$ZdtMrQ7!ulLIKW^3*ZocEP6CLpj(GIgh1`1cyf6a6XP2AVN{CnW{;lVqnD5Pxbl4aN z0pu$x>k&~ul*9*n;j;}nKkg0{FeUVD+mY~v%*I`|Oxy~B`2E-YO=}u@+R>W1-WUG`UoG@2P1ZIj`Xj*aL0M6iUsQf``HfQ{? z&Ljvq`}bnjY=4j#FMdW{++GZvx+8!e{MY?Wh>KK;i#8$Zl_LI>lett}Q2&~ruq&&h z#mW$7v6SY0N@Fv_x<&tqrb~8AQ>`sDJ4Xe82mSx*Z@P&6hIb_zhHMw*WTnnqgN*$z z{S`#5z$qKG+Mm`7UmU+HG@KkP9GQo$&L*t9=_cAk0`OQ8?$0*s`;%msgensE0q&!r zr$LzI5~ES{W1^+wa*r6G{fD%W-Dmna>eI5?OIF$p>fQmz3oRB@=2eCXWXw6*29U2E z?YP`4#pH0ZJH?Z~A4)sP8D|(>{XI=*HRn|}$QKIKU9tTlvt@RH$Yz9jmG06)G14o0 zB=lq1o>UMY_%dx@ph0r$=aA5>h&6|f?bWld^)>eu|FGJnm3oGRZKobM^S1Xd` zp7)0_1ED<4eq#=7HysO_=Nf7{akGX<9*(oTK!1*+ZOCTp?y?Nh9H#dB2Ngf+$9jTP zRar47s8`NCrbGZ=hf^zT{rctu5 z6562+RFoXQr=3HXuvLD9t=EX2tk(%EVFc=B?{!j^{uNasly*Ly1FVl@>(*;!kI*?6 z>RR>wj@wp%exHq)xH7q9UAceylRYFJzS1lW>p-J-O;HMgB}(UP0l14@^cCxfl|^A7 z%T7d@Z^ey~j$?pYqN7CT<+_it3^xhLetXgc&Te%6C#hArDIcCZ0xr!|^~{R#tNBy& zGWO=efbWYaY#m?mNVf3NS>!sH?&FRgW^z5Y64eA%nCVVfM}+}?%mu+-$-x^C$mi3q z;r^u-Gq*lvo=l_EglwZWYuh!*Ah|_#&X+^($DT1S^EIh+Eca_*9_O&$Wy@^K_dJ5r z9spg>@99@Wvd|Rh!8wM(>L%3bY)qMa>R|)%Dua7}q%8o)xwbl2&1F~OhaUM2v9tpR zHh(mjv+{dCzAl;dsi}Dgz(dw3&m=r?&_hK;=$c&&xyT-tEGl}e(c4wjj~F!$oQ{Enku+!ecYjm;X0GMOPcNt3+fZGu8WE|we|oY%Ym%keyoy+1 zWv2jnK}UWwM@1cRd8_rPjK|J)~e4A3`ZHIbuiLj5}^itFWW7XcKU5Y9$v?Dn@cqV ze7|!8wkfkpvmS^@-ufo16Wj#NBE(3#B~Nq-VcuO}^(&CCQgMOhw~6*`7sxuEA=#9S z%r?(FS*VKda6`W5ohbR||Dp?I^_ojXCr$p##J>N}}rJyAA? z%SQodH7-IUF2RXT3>9$@T`AA~ZOq1t5zncD)wANk8w;>j*+WfA(=i7%iA0-k(jYp; zmlY!SvE~{aVuyh>^~%UOrwyFkFEicMftM3%H4D}tIw9>K8TH?+ca;Kp*+p5(^r3B< zXgOAWM_AHkDDAPgbRaqz1H;iR?Y>CEv0v(aokroors?cz+b&h8x3CwXCuu<4qyN%W z977$TiZI$Nj*;lQJ-caZ(b?L{GhZo};H~#=DQLcs&ILHA8%V;^P3}W0KW82Z#;> z#RHOP40+tLBI-E#f(kw>^7sSqw6-v!We84>oQ)lbu4u3$M#6=HbmO;_IVWopOJddV zXX1f)!%#$FR@a~NK;G?b+}dHyIA4+o)7B`pizHGMm6>!=JR?z8Z(b7f6AsA7kTcen zCPdTiqPI?#@_8D*otvdI<<#}+4x9xeXh-e?xJf{VdtKEV2CH{-VhHXf;IKqtG;S4v zT*{va43-8WXMsA~(Q|niL1`+RE>rB+x!tH3=9wi^_ol72`gAdG1L2e$XdXmg(2akN z*wd9EN8B)XN~PtEL8QfMH1mq2?GectdH{LzEOu@d?ZUoM?1J8pZ<+NN)pQF^5R+bM z*`7`OJb(TU8^q5(WGFefMODnqk8&g)Rr(`s2|Z>_*B(8CM_q^*qk=q$&e6pj=TkN2 z*-0h-&nJsfE2{de{1I;IET*yjVu4mhWf0xa&FEIXpk}?Y7tN}Orx00g42+QUQ=);@ z8^q2}e5k;D2?OycT_w`a59!U$9tl%wQ*Bhyz&&qKrp50_HW40y_&u*oq?#tpZ~_IEx#x8GZfHA8`3U>68dywD<1B@N8E75@Q@EnjZwykQbTHR` zsCmyj5SUAR4KMQGN2p>;L1YE^eeDl8teq7)AN*wz|=A zq|{PxwIGOTk#w+1cJ6(ow7mW}ZXSRq={!-fS77w3##7FqJ?A@Y2YTau#C;hr<~XQ* zC^j7j;wc%w3kS^12Zvj%WU2z={x-gV@N^-c*?x_UtIqdQ&g`Ihob_(dZaI%)u~SIq z>(}x6{#FPKSRW^wF?jLgnxKym4EZw(>6^}^|nrLV=xT>i?5FtUv!-E z(*e#k#ETKpO(OEmP*mfrb%Inz6LTvLcYoi#g53L+MkmYaDA7!2T_ux5GrwN0lrhtZD|iwa}MQKA09#DUE|YkyB7eT z(%4G7!bGBlk1ay|mC&ukRC6p0fg*as<7eDC?`E|D;N^%1W4B_faYEHs`R}Ku$LtP? zKCe#6WpOC!AD9N%H%o%%`@z!m;N(t6V68;+B?mQQ*y|m9vgcKS3ta(5?hqY6fU{-G z+gW@)8$qyp(c;A3>a5+dN-Ls)@N- z^J|l?I?Rw?s@=C279@8rH$-DexdMJz7q6h`s*IJ91nZ55|8N+zZ}8rZo2UecPH_@U zm*m`F2nK5|t)PrbZOwtI@Qq<4hSW1jhFNm~5QqQQ`%V0-eiC?fYMS5Yq}ejf%8}8* z{tl2Fl(VeH*v~Bwa#{GAiK2MBuLU(o7N37n?k?Uw_bSf=_!Ku!Sv&LsY9OtjF{MtT zoh59I)9bHXmbprQtY2+%x&R&*t$fBEvc{%SJn0<9ZQhLYlc?}ra}OTGnOEezCVn?i zH_s;~it^>{86Jies4+l^``$7Ao~7_g_bh{I`B@u-4eax?u;jC-^I{>z++?~U!aZHO zLB$Q`3IojGIBof)gh>Fmj>H+X!M5sVwz@3V>~&d9kYv{HdN3#`+5QDp<)Q)!+_PdR zJ;mt?qvvl|UVCo+o<>xXTMg{GQ*_pQjQeblHvr^c-#u7JCw?SIOZr|3)ZqJ(Z(d@x z4cJqhlRDvx7fcNT_D7J2*Gi;$zco@ig>sZtq^jr~b_iJuUtv9)GvxX%mmFm0VzPtT4jNF2uIf~ge1$> zsNPBD2*!kpMknyas|Llt%@Xf6U)SxQ{||bk)b~j z1>E9W0WomDTTz6K&~Uj3b_JJlVEMZ5EBiA87H#!hGBNcPr@1>HSl`FFi?J^Ov(tSr z#+(C_MfKdLNzS_QUn{Hk>zsy$A^|)9ulJiwbxEBqzoSdd&Wo|p^M1BR``7->nW2sy z?^eG`s#MJ2v#61J{s^6Pekx#v&2qj@Hn{-!Ra`u?4+Ync9ob=;(4rnH>QRcnnkBwy zYIr>G$FZ=z1L`+FSxRin&Xs{0w1@S3l`G$O!O8j6@lAYzkjF?ThV{Tc5|?c1zy8eU zPVPFgOVq+WI>Uy(fQ*sa;<%G9(|+6!;XKJou}#P)9?G1X)XQ{|E4oLz5e}F_Tcz$HWm-}S4x_epnYT&q%^fmOHbVH z$s4s!?e;Z|ksP8FlcKkTqx;vBxSkn^4z@AN=gB@PSJ=4*36{qE4I0m_MYYV(nu9-f zUR**JaL>0Kcu9PSV#`h zgQB51UlgO`JLC0zBj3}slpdY~`wc4$meb~pQhT&1=54P`gdo!Nfzh4W%6Kgth)yLvmh8uzv6ytkQ!mo) zwy<_nhf+Xj3oa#d=?QV&KkrU@E8I8 z7y;I|j)N*z$h@!Fg4W&FA-V-L6^R~SZ{jUWJ|xkQ1OE4az2Eeh+G{Xs!})$nTv~5g z!w?b`?C${ST@^Z#R(H~3MZkq>r;Hhxpg?dMNJkluv2>M>6dkDy0ivrmw#0f~2^bi~ zCBzZA*Hk=U4l5?Bb150;P(wK)YL@}g1tt@k=s1qffl8w5QkD zedJKXOl9QE(Ou;e)6?-${i!{hv(jSXd2*u z|NIl4yVyO!*ol#U{*SMAr~c~lNhGmIg>Uhwzi_TqS%dhY%aiTXXdaAUKFstQUgQV4Zjbw+dep+vY?O-??a*Y zVoKSbV0(Mi6;&?*dBOjBzX?wA&hwmq!k#_CkM{!M+y({g?*PqjJYPg8BphlHjT(+m z=WyaY`xzdR!y%vKh2uTaqK29*i0<*~PPVQ87Q3_?`%13b| z_=Vv@)>+(Dme^fVv3fB-ZbKWzxVH5Nl9YqkWq#EBMswF2khHEGgKd3N--gaG&lm_Bc`k)}@WqWU`t+z!#59Z9@*adxyWd_l~ zMchzEQdsz`a#5%^j&Q_19P9HzbRTb26N_iS&qz3c=vX|LN)4|{IZ~8+IAF9t-1@&> zesXz(a(wgX2c3OUKm(#{JARy(#8eyA+*dX18)2r~tH1eG&5DMho9o+2vmyrENBCRL z;_*Nm2#elRcXVwwsk^aiW)b~)R{Tw#h@kd;hQZn-I_lVR{JW*k7tA-3;w_<&eSt4v?H|vCP2X!no!|aph5@ z&|%^})^XoxaTj_or`&=y>r)`#9hYB}R<^838>sfZ2vH@fS3^(?pp3P9kn-9{CI2X; z0OD7AeUl6(qlO;H%eSed%OY7#oMTKH@~QCou}K4BLmfCLn*lo2WhD<;xw z@}24z19~DqjTY4oJ-}~m6+q9{YjEy^%^=@}dpphzc=Q=p?)(Ht-!A7T_H+j7qm*gU z0H?IDI;O(QGzf^oaY2KhMZVElp}23w+i&GB0e=Kl(~K9XC~@2?;K=l|sSIXp`3;vw ztyE^3Lvi&r;sH><#h$-pazRUG^fVSa@)9*p8X*n*{zWkC*`-mTFMnSF)H6qgH+3&J zEh+6)W0bGiWF0d@cGS^pFso;zLR--$1pwalzus?Bh;A`F7cD?q+98rr_|RmA^mlsz z`TYsz*RecjvRndv^J%<|drs3q4UDHxw)e2tHPMOU;%XrKyQyCyp4VpSzoUCR@vOkF zQV=alg4$ZOI_huWc`2d?{KAF`A!1S&_uc0OD)kt-YBFM?zKa)acRQvw_~oVL98?g$ zWYX@$vAkeyQDocB%j%>)G?xB?7nm9j@-efu!w!9*p2U!x{*fcjFn2?^H+p;#YnYs~ z9C9}(y7SQ`prcsU7szK;e`@W)z8BB?c>0B+2*0_cyb-n*#v={esXK~U@l?_nB)9Av zZsT{j*+X)cas>N&?Z;=qO_R+)QsJZj!`)j3)wOKlqPV-eySux)ySuv++}#2MhXf}C zNq`^$f`;JkP6!e#c<{IP+h@*GwO`#j@AvI0s#i7N8r@^e?qS`l=lAIIOCvuD0N4BL z9M&*cIm?&qO)bG_%+0%yg__?JBaZIOXqo^5b`gOkN;Z8l)#$kTS7xW=Ix1XA z;$r+7QS2t2Y>rl4Ry{D@po5Jnlfqow4Bbv77Z+cdXx3b+XSwR7C{#t)%607m?Mo5G z!tQFRcaI|1P6LiYjH_n}Ie%GbkCp=j!ua4IJeY6L^$LR0TJ=nT^KN%v>|osR5a%mr z_tSodgLK2Q)MvQMq-yhL+9}mbQl%ljqtBCk7S2`jBCpFb3FzO$TyZF& zoBUd;Qsi&z)`>OijjXhlF4^x^*YIe!u}T5sh5vPb)BD2+$X0$`pYc^>8m81NTO^2o z3NW6-aJ{wfrJ_7P7rC`LW#e>IbSPp})LG|nb0e>=Ejt|n9NzbP+~VVKg?z}SwB|3F^uni8lmc+CdyJcpA05)_wgNwlNE+@mV~JhvENIU6=`p{@L!<-G z%`ALHPLcc&8bXlt1)EK}lP`?)Q_{z}m3JcV$yj`x(QilIX-gMr{1mOBpwSR~+atPGyusNkdZ-olEl56#Sz@Aza@%ldW^A_|2 zltN*Cvtp0hK_UiUIvepcZ2$ZfT&|Z(Rgw@RfLDLy1khU|YMOnsRS_XELW6aLviBjP zaj92urbl6~?8->x<_(yS?j{N5fR2V}5J5%^qOd<6G5#w|31iS`)l|HWTSH0*`Tbw_ zH}$5Nn3yFtVelQZP_~ut%OOJiQ-JYcv0LMaXBjj;t?lz`GvIq%@t`Nn=P)<*e!$xD z5!?j#ZA!`DXLv;YwHcZHLRjRJlg1R-9TUsaV(LcA51$HRz__sb+mXF*$N3*L=)MpE zH=9o;`mHthWmng5QEk&MxAg;XLX&dRP+ssp?pHR;q#jZ;;-R{ zpx#TLZ*Or3Lx@K<%qnx-8KgZ~U9yIAqH<1<`Jxhv=mkE{`8vIONc5#w(1V@iSrMzZ zRXN+&>%3Vq>;!Zuw6r#0UReT%QpTNDHPEJJ%ukGClZmW_rMy{hFE+nF&)(ME9E|7T z-k@N1Z`^p7WN_IlvA%aPjXbJva(@l393EvM}wDJoo#NL7aMx4)x&>PVEkj`O5<;{P z6tGf*cHaI(LiB-oP_Gf<4c(%Z z@kJ~#HL)csoand!=I&Y{Qj-G?kb~gPAqpO$(aYokj$(8oF_zT_RX^*`>Ay4>iGukz z+(5fe6LzV^J+Hx7u0t+@ydz2@|J2Z-QbH5uLa@)~swt`o(EDHaH?hyGsjjlv`*S>c zshLdG8N>cd4saD@84_1-77pKYuCfpbta0fn`aGjm+?=a{uPA}M*TJs`S9P0wFk-hrupdb0?`M1eq*A>F@I-2EY&TL5!1j)=VAJ0-4 zXbj0SXQ;vW>;LclO+&HC7UhJ8`W{~F{_ti79{)byB)vU-3@MetB2i$ui!q_U?7U|V zce(x@?Nd2tR=J!LB`^f!!%$uZAG4dA|5x3HD+?<_@5o30=YLzs9T_FvhaE|zfA=VpIk2nY29dgQ~}yQBP1 zyAaU$mQCyZ64&Tnvel;y(7d^L8E>^gy)P-JIT851{D!a-Mo3)UI=O0eM_o`mcGi05 zQfsP67W8M@heZg!QhXkXwoX80Xk1QB%BxZv6iek4_*}Zd>BR@G7u|%8Na=X}X`b2X z>f00pTMg$OBA(`bv!zLkgza<@34jl;6;GW8Xi^TViqLyE%9p|F-^f+7^FGHZhEe#x z5LZCG%?Yax%M`(r{M(JDcsH|tPkNcUq}Mphcv?y@K0EJB7obPdED=ds7<`Q>f!JMT za$v&ux{(M+=uOC6b_FZKNeGyC(K>Ju&-s=Sy)7-Pv!bwZoS#`h=>jb%rHQpDWq_d! z>LLDYL=8+Sy%*Uy5+%Bey>-U;-GI!nXZR;eUx!O4;?w$3f8Pa0@5 z0yyjY)yfSo8T~VIPyMA)t^~Qd&Fcg1XSFqix2Jqjj-a0~LrDQ0-mj@5{892tc=sjk z({s+@cBFhOvg#u1=UGEl4et;HDOYxzdVVzRkZU(rod1ji=%>C_VBRapFMGT`ost7F zZnlSRv{1g|RUi?iFk;iiZ_v*Dc`PcP;A|@1!{TpjP3)Vu=T5Zn{e5M4?ZGh0N$t-H z(1S5LXX>gB!+^o6zcQ*apPy58DGCx!5JyMU?9ZqR^#X8=eyH~0(P>gIC62p>Io~p! z_6a4du4Q-hF`km%$smFG5Az@4+zUbYeCJmhHyG8vp9!TVh%A0pW?mM*Z1Uo%I{@?` zd*wM;4)}wnds@H(!I3!tYR^?c`DhATvX@O;UsLCl4eIEUp7oiEdqsOEr>eIW_pP@JPj ztjEG>Qm*qlT8m_Op%RJTt`9PJ|Y4*ey@cX>~IZ{+@?tGor=|ZAV zF!mJ*^rx~=e>Q;LL{B_pa;#^cijdkaJp@`Z3(Xo{6by$VdEQp(*ZXWR?hMI_X2P|l zLN2hrzy7E?cam>K)WM9sN-mK0q5O03Ik<1OXBfuJDS;Z6ZNCmr_|EY4>17m zZ&YR!lDCYDY87dz@3#;3iRomepAf+P-P||X+%bP;(22OE?XBbGCx&OHX&OdGFD-Go2jt+5&3>ScT=CD8-3XSTrja8lE z-rTJjulKUQoRi2JHM8CCZiy7eT>*Lmxt{fKv44`$&(E-!7Np1ms}_6gG>tqzH;Ftw z8bU(?xHAf<%1NXlWgTf#G6g#2c^$Kh%|Cuknp45ae}sev7;5o5bmBN3JRe-YODYs% z@nS>#Q-JUPm{oInxTHdvna(MEA&9-GDEC&&ZSs(+9l^_3dN5-FaOUJ*sG2dW`<|*+ zqW&73vxQq!GS7jDzIPcMj9;&PKtCo^I#e(Q0e5Bc<;S#Cx`x>8H{9P5Ft!Ma zDcIn1f9PmYvVJ>`qnCCm7g$>3$UDl(yATla4 zG`%-S;K7R36+CzDQe2GfI*VBVzsqssfuF@0KWVuBgoM-(}l z!$Jk225+NpLVKc-eBnBPT;At-@pL?dZ*!9f8VS%RmXS?FLU+a}7K>a$Cp+IfgL=m| z`La-u6b>q}AsUHljne=ITVYTqZpafM0Rj@8Sw=c`8^Eo^)SNoMGBYQ2qE=BpBoxbsuyo&9^6X3O)}PE+_U& zu6IXhdH2$dewRm=GO`&&vKeJ4&7aAIjqNrz%9beEi|)XmrRWRy@7E4U10F zV}dh$FD!ZFpgs?5&$x2+K}@ZBHWC@?;Eety0yFn6b@B(L^vwFeAT}L9Prg#f?nZ6f z@=5SHm^kjUAVLDvD{&rd;i;07SM#0cpkJ7G2nGEsJqSu9xt=X{W0s@xtG;RJlG+{S zU+>+jkWmEpl>>)Fqd1SUKKj=?o2GVJ>asGDdp*K3)&~gJ9kt=9f_CncJ+e=Z;f)j4 zbMl}G>Ij9jfnJ9Qu?L)BrPG4Gy}H>_t1r_B!hG@pGG11+pi&qth<^$&?#J9m`SXq0 zJ#0$sJ1+(}KfTd12!!3Uujgd7zU7|e;QA!q(q-&)g&{Mo@vg;bG=3*+>k>JSB#F(v z{@F}-4w4U`SNbIvUfaBPN5;1Nhmk5e&3>(&cp(bEOTyl%-Uk#bSpetB$=k6{lP5CP zKljebszDQqQQ8sGR4!cbZr1|!Vhjnug|45XQsX&gDb8(^$1rho>lQcN#G#(655qpTNfZye3C)r2_;AKiz>p1!LQ+2uY5wzlU?C zaG(M>2#bnP2FT<(l6{zvidUSM+^{UJSmnBB^+j`O_aFZ-0l0BUQ+qwyV&SU!KThJY z@WP?{4au;k$+|0VVEX>By>SF^2HVS!%F5d+gsI%yM0wj7xRJ%5KV0Np+Z>I=Aj>`SM6(+DdlO!!}~qkgT8TT0y%cQEXY8@@H6CzS+b5=_zs$ zV;eo5>&sCQ&1_W1Rx1g3PR=h`uQ}m^#9w!s;~nvuUZ9pV)X?XthN>=1H#Nz?+JpQW zb7hNKT^jDsUy1Yc{dO2q31P;(EXMrU-KVeDLT3uv>pde^j9>{JMa1@^s*^)>`VgW# zs~ULy+ut^JGZX3%pg;V{wy2hX_IpDAr|_G>f-7Ep5(+v`k>|&X6^jC^#tyJw;g6 zQU`ZNHK6k@yH_@{8oHjJ8Gd(d!$y}8~7p( z#ARcT->G#(*Z}f}zWMd`F`qq+aTw#uZ?d>?4r|g6>HFef(WAkeM+g9?Szuz@Jb#tGYR*MV>uC z7C=9@m0ihP5}XB{#G+~X^kI_#@_Sy#oY-srpG8Nt5s^tI1jA zF^F4$srZ}_VrRX5bb-h8R4*+PD^>L1w^S#|6XpS1cLMJ7@o#$k5(h zI~xTT)U=T1$E%B4KBHJ+2lP8_9=})99`^Z=a&P5&s_mnYSYQkhtE>IsSX$pl&pQSH z7v1hOpm~8<{faj$Z2?z!oZR73+X8k!%p0oCPcYyG)H}a>mXK1MJ#eEW?oLOZmM2~r z)Akg8Y!Bs)aNu@8fd%8a7p9frGo!Gl_^3&*t>3na2Pb%aY^bk)<~?zKug9IH7Q99D za->pZJ&To43UJp(!GQRu0OO&wTd|m~+zG&(MU-Bd-w%m(&kPMlWPjD7Q;w@i$c+r( zB*#TcO~=fr2)m}@-y9DGAbiUYbnfHEwU=avEKS@3=WoTlM*hm4tooiE8%dNR!LLrX z`ySoKQUA18tb@Z}EsX(sqXLlL@sE&Ry<--}@TRzhHghs4=&z(W7po;m;8#XLyJoc! zO8o_&($ghq%}mHSSi5eQ3<6g_A0@To;dtK6ADq7v`4%vtw-XuZ)!IbYIG+t#XCn z+yy8TpSoj892yy2#D4eV>j@;Gjad>wb9rL`xR7r2Q?@L+ENsJQ-%j3rwd0*jZvAg_ z2>N&NeLo}dK!0_OfJDoAC3oodeHN^@hE&C`)Dv+M%W&%03TJ^BWke8HrN8H2&l;Jy zo3TJFvO2ue22n#kl*bZQF4oX01cPG*^h*lMgvpiqcBJ5U0|kPwz;9S-BE0;D5;$0@ zn*+$}Z(0D3YgH8XlZ)lnZ`Mydf;?+HWtLNMg&~Oh<3Cvabb4e#`+zBgkQqz9;*H~@ zymiQ3+hQh+Yw;-iAj+{B(`QNW-}m?sqL_p?1P>J%vgwjIV+EWSF&NFnitTh1w;^ak zlC~)W{c^y)gMi)p^*X0FosdluxoF&b@o;&>iq=Met#`Vwi*b>Eg@P&Z2aHP{lz6%Y zhXFdoKLz-{pjU!kxFYq#2!)%b^E!h?#M^Us%G#Q)Q<#w{miA-;0JjzD#*}w)7>pDW`n3}_D&NzVrgHWE;&1|sMdVq4M5rp#FI&T#~d6PCxJ z$l#R#dTC5U9}XHWF>4{3nuM(HQavq+eW*mzwf9+B(@z=VRRP>F$$Amz6~(;4ZwFeL z74I)SZN9i@RVY>%8aO%bNJB=t9uiC!eDg8-hherNDj-dL!+{8;Lns9JL|7u{UYWpQQ-wEL3 ztE6T)N080kZz3Cxyz5^2(ikpj@sG~%w>Wi+*?(eL0oNfR~e>SFmHx|KP{-#3g0Q|3^ZF70%viPF7gUDESJZcfl)rI}D2`m6;z z;#m>>D_rG;wEjQmn^Z7ghCfI|+a;I24Rg@Edr;#0m2>t4y%;7M^vE9X49cMw(W?;! z26p07S5isGR>j4NIV?lwhi{;ap6zZ%pZY?pG6Q1nUnZz54e&$k2kY6{z1UzIYg zJH~yDEJ70p=P#^c+F)!uzgAQAiQHRW-ekp)hMh@ym<;-H^yV%WI5u#Co8q^ zLd3ap$rBifh%)9}Wa7D($J$?@O9TDB4cZS0w2D5%SCVR#{ldTh9GH!WWENo?A|vc( z&$_tbeZ~U$k{_CL3O1O}nCg8ikt#yLYB1QJ1TV^zt&OZq&0^J21Bt;(b543} z28=JoE>Yl357YE_A(`+(p)W6!)dPwSW2KRypDKN8e}{7bxP<-NIQHKUxl7QVH)>M+ z(63_dyxk13*Q|MVw);<^U1A$}G~s#4gkp>_wVYfJ5KtlhDZuw3yBO^6&?eKles0qI zS*vx1Dx37r4UL2*x0%44gZb}yVOmOEF*QT8g4^$F&;(N&`UZHW@+}UbWp0sj!r3p( zVE&gg&x(y!VeWfJWaI?}KVM;#|H$U{=Qn7fOgu>T20~z5XGXqu(RF#Ro>GJ;VU0{E zro}?E7asOY&$JR%&KSxD^cQkOa;hqQY!&O^4>C6?r29j9c_J)(;r9fB3m1bCvt0o` zAed||px)MPwtdQJLnBDX4`gAGzgEE35nz;=$x}`<0B{rBoMFTbkw!S(E{B|4 z%@>-E{JBz+)=azQRzW@Z>WanVfl$hq7-ws?Z`9yggLQnN$E9{qU5z22+h!J=M`LG4 z%XuLLva4+yw{?7Pf<(ghqIW*M^sm=^-9owKp#=IRENUlL-+>i5A@7To!IxoJ8p4;^ zFWLAZ4KI%(X)T5Z;2sV*1)FCUxx*DH1vO8x(aFu{*W{MAeY{$3aDN^A1kVezFXhoR z(?%ewwu~>orzg{aIjCc5@Yc~`8@sH#QaAzS93Gh69;$jOo;d^y$CuNgeuY@)<-6q) zaUzlXy$>f3x&#eDFZt!Q&j-IDrE_&;H57<{3NW65iWZvnYpOzndHz2HY4)S&1E~I( zXe&vgbn77taH`-s;YK}8V;T&JSs)#au}}9rP?+>Ga5w5``8b_=FP!=T+*iTX&S#zR zc7ItHMugVq!4HWiG&9+=>YisUeoycN?gi9aa{b;8wTB@B>wSc=Lnq=TV!stro;LV? z1V(IWe7<`N`q_g8$AqpX@qv_?KH`1!)wy3zk@pn)kQ-WKq7PiyR>1LPonjhOyzG#j zVu$?@s@DI|uukiUqF&Y!y zIs8k671Z+(;s|NxlTcgqnlvYBI5wR9k~?E!cqj4MZy%%J%51@WdEd3Fb22o4wZ4%V zkI}dHP3;z6pUolvdQT2(NVC?I1!%|j!?0YP+IY44@82B7k;x<2upKs9d$lR9CgY2e zQ}TlHt9fb~fI}i_T8$zc)G_}R+@H|Q-Q_AmjRw~$MD`>P`elj9uETMuLkL8*DL>YQ zTx-aa6s8H$?YtchD151t40I)>b6_}b#I*mIO1L%%P-r3l>$#_e;4np|YjkZpbkL@| zDQo*PJ|81Xsyc+yl&rgCPJ#AQkqP6$PYGfm@-p-*WzX7feZz`!Q_M(cLFY8Kq8uK0 zFWG@kl?@h}n=T{e_rp$Yb5z&`FU0+9p@H$a=emWk15lr_d_Z=*OAGeHkzpHZilfc4 zdom^CkcIe$h3vKT<@cy1FfVzPu|~I9=TYDL$Po;Dq*fl=8p0Jm@JWv3H)Y(q(*os> z@G2hhkb{>Nbuz`*@qF_B^@2SsZxyy+kfLh<B z{LKH=rTkoj>A|Q;nei?duT9o|4QBfkkc+=D1Emx)bl4*!hF54kR&=Vl<0c8g5LUde49BX z_o2Trp;oqPK>gEWR;i3(Qa_X#IY!c`LM>U&7FK|fAB!Dz%7xT*t-u4wD=Bk@kmM5@ z?zQji$bHQTig6B$?<2vauc7qTY7nQm34jZh`P4c8$C$m^l(03JUWk@vIsCTeE4D&4 zyetekNiw)E7rZRBn=Ehst^rdK6`IoqQ|lMKr(tC~yh`R?-`q5a5MtheRJ&AE0 znGUb`as^8}!7I+)B&CjAj3sZtj`*x89g+l^%M8X+sA}#H<&u2I!X@pP2u6)RNHgp<92hoOS9Q_qdIV85_?{@uhD6 zeL61*^lNd!*{Gpw6Eip+-El~SVUCB!xwre*g*et-kxZhLw6p+@f%%g#-ht~S)t^+P z{t9AQOM&?D>|iCHNk-W^14a}uj(bx1x;@C$_zr&DS#jj9aHk=Y{?%8ivYpvqwYkji zkwCvLJUWLe?A+O=17tt3sE)R||? zoomgc$~t?c)b>ng?rGr?@<6`so8sHIEfF8mnsP{e+kP0JMM&Bgm}U=rHsC#|f>k)9De#6Jc2 zelojyeekLqQ>RJR(NDbzi8qeFcM4F6SALi=D{ol+S06T=b-JS_=vcgmOrGh)mm=tp z^!I<*|HjydD;8}tng{xE+C31OhG}S`B?mq1T@)W$zGZAk9jIBnPv@xr#>n{-%y$r5 zhbs>a&?a%vZTk5c1Qo$z?OCYu+8o`6@g=ZP#~Y6!dXvUD8jO>auyZs% zM#u}{noqUVkt)VG2@C}JupDA@aPC{*d;dmoRDnNr7t`g}%w6HY5X5$lqj-c-+I+Th(*IY>4s-syj5)V%k5zwp##^*hbG4aN}CZ$h( zNgtI9dh1FBWug^)ap8rM!UVr-{x{D)DxUhp|%y1uV`-v8@*i$5jp z*tr7}e^i%Ovk?i}gYq1v4>`qDE!UJ-Nd^+_>zWnyt_q#iVgB`;k7U(JZ6r@!K98>N zShwyChpvoxvN0l&SFqV=hhPX=0&)yYr>UrnG`bPcoc!;0Q)r7BXQ*_hnRrx>fUnnVk< zvO1@Lm|Olf|1qESwouVAZUU}98Dj7y{g7^jBbSC3N4ucCQzJh|^YSOb2*{13OyZ|! zK-7D-NR-rue@}NL<;P!#|EI?g4%(qya!XRuKJy5QRrp60j0)iwyL!}TA&N;1iz`8K zhq{g&?%Q|drWUc7DsBC*jhUO}DPnH@k;NIpCHcRHs;)#x(r9k9``-5VS>2Clkj8(x z^wFp_(Q~;}qz7c(%+?B<H;lb4S{hG-oZ*eG(<$XeZKsO0d~ zL;`mjsMoPIQm3UArn|G@NKul*us&og;D-9N2-I@*h>CXTPc6{uq5W% zU=VR$5*n(!r$mml@Ci)M^auXet>4XpttsjW__5n=`TlH40rp-}%xb@w`Z2f-WGPXm zOth7D%GK}*i{PNiHt6nsh&1s2(+|M+C)`azX%S6KhA7`NN9Ks5Fvt`8?88Nc>Aooq zjjefbKh&HTt)kYbe)Od#3mwPx6`Ca>beR%^rCd(2#urP?Y&C$MX47QQ>_r8_;3z(u zR4l6tQ|oH)AddOnjj~yhRZFiYfLni(jDLQJM-BL7NuWiI{{gSK07p|{bFi1tXQi;* z+YZ1{xh8)+bcvymnO~loL1q2vd1NP8om=VI%*HSaef`({(h&a?8@6WC5xN0Ywr>)m zD%a%l%;b-(@8>T3&HBExV9N)A{&4~{&6G{^XF2v5VdkX->3JP3A0s*Rp8|3jdXn4i zIBWntkNO_>){10UR9s7?qDQQ7Qbj}9!vMb5k7lCWiXsDG9xpAgYDL;Lhn^AIy2z3W zwq@?|b&a#vpl3_%%Gf8)BXFJMn{Hyho@rbC8N4LPWj__Ee~EJSBUq-T{my$Q37ZVm zPp?*$zjqvFUrdY4Fhz5Ov>x;kjaC~*5Y|2R{f;Lg0R0>quYQsaHSrs}F)sKHtTuk{CvDtOChV6+#w;2?aGz(J zH^@TNY@IWE?nEof^=gp$c2Ma;fWn(&;oW9G7nuhj7eBTN)eA=%9f6_@^eD-n{=6Lv z*pApI`5xLM`cGP(;PdtDG=t#XX>2^t%&Rj|J2Jkv8dprS6Yo!S3$yO?5eD1ZN28?ebhELD(tOti;H6po* z46r+`X)aZEm6voPHW52&+z{+ zddMA~vQC0=YGov(wX#e|-Us}hWX3=7?!AUL`~HomJ{U~ZN2%?8WPmLof%vCHN978Q_wjf){Hn*y!x(^K$AXhC^p^z)z?vMU`fS)5svL2&3q%_ruvf zI{6I-pkL~OxTMt=tyC)La`g}1sZgi16*ygu@S{nWLP@Xg@`+7Ml$yJCR>OUWDzy#S zLdF2}=rXFk*fc`FQ0X^mei4IB>nOK-Cja7JnCUKGh|ZH`*#N)9;P*A#whtkb!kHjZk39RJ}tiW~;^_2Pvd6PE>dNLr;9k>#MN?rw-brb0G?^u!Flx$CuQwu~8H zE9ysdDhFELsn!q^w171mOs_ygbcJr>h5J2(;UR0N`yfS+e)k}2ND@}O*=TfW7K8_^ zJ850|YaLP?7@lVJxU5x-S*!}nA^jL}f4^$SX8S{Ex0GsOrQJDe$ali}Iiyn#QDxm? z7I~&jzP--m<7!2w@ciU99w@y`hvnWX-X*of_&?SKT#`zlwH}tRU-}4n`6|gtApgV1 z-xcur%VIq9zjf;UNs~=)a1F{j{0FPgprK7zq*WQVH;E)+X+Akmg+$ zADJm{R&Nijj7&aPycI6S+wl#<$Wi=2aIG(hM@Ri6iGlf^SQ|>=Xc?`dj}HyO0L< z(}4}lR=XxF#s5nU0%9yXns;yBo(Fv)pf={z<1>O`iJHpE%xIr+&VHy)E$B1i5IQ|k ziEt#s*bK{_k){UL=qX`fx9R?5*CIhPdqySz=ut=|co=^?mbq27WAxl;q=dp`*oU4I zi7|uW4>zB$1=qS8eLydcFZ+u?9n@)1)$*eElYr5y7v)|0G2Vc(BPGy=40cC5ef*Lo zc-2I&Gs&Ayr#ybnP!Onw`32Lc$J*!&>~}(Eu0x>-RZwxKYfx^L+4;_clrMA2y-Vz#dQl$>#&l`7T_aYP>$uQj`gBG z3f*r?!4_l1VB%IR=X^3;4~v#$8WoHcqS_ndu-WSJCS%?n>UW>SpjCBaXIG?!epY4I zOisV#1n9k8X?RUHI`!8tbdfv;wV)iUYuP3ivGbah6pTJgYSe+bC&dw^nJ*{tL!@d~ zVV3b(v;GrPYS-Qry+Uty$DLqafjUdZExEYgJZMhrvX8q;`{%%uF`m}=B~P~YF*lt5 z+eUD2dTlgRVVc*2#PzChd716*_O8|%4rOzTR7rWoz&_@e0Wdx_z3a$xwkbvJiB{cR zGtxU;bvT}h(THJDj~kz~U1Ts;j+i%DT{7#&MXFUtl=mzBjmVi;vN75Q?XvI5b}Ec6 z2GFaA{^m7bH(*NP$mOT7f$i-LA6{=ofYO6!vDeB%G=mA~R6w^e8-IjadsIg%&P<`~ zldm$eWk1s^*t&6gkNQDxoKu%;zam;fz{k_Bmdkq5~4FX=%xt6nO44pg>${V_TEoWZ5 zY77J_z&z5YC|54U5x|o5P~pe5Us;Fk=gxpu!F!8G7eTwobPM7-Rv)Qjl$=cnH_tvA ztfSHy;!mJzoeUxB2js*?9>vN5^tNvb!WYhX#j0s_>rYWD;$ZjBV0*-`-ACsoM{4Ca zL0@w&0`@7N_ZGc%F-OGubs2sZy_TFlmw%C*47mhMLN1sK{3RbxZtXRfQtx@d%y&dN z##gcq`RLPCRI_k=U5_{p?%gU)pZ`|-ljlmqm_<8os1jbil*H#D&HU}Lm0_EvTEhz% z-GsTPOGd9BY3D*Rl@?AK z2Kj9`aa%~}Bh>I|(NN;lwoTqSa)-RW8~0eWe>9l$IH&b=L>F;*Zgs+%P(W(zOl3vI zPuPK;?6=hT$@9s_8=yBv5={hKVpAP3I;NqU@yq)rTwaMIU4F9DMpzk9Ko1_kZSUOV zt@$R@z3YQ6oS-R>QRMS6+m}zON8V8$Yn1H*^=B2!MWx!!uk2(S@fT?~zQrf$<@MFg z*HgSlXFtl0NVx!d9*G+i!~A`l-f8eSD6Xu8ieDws2w2XQpw26=-o1;40C4GK!_o%l zvpl$c;|tfv&CUw9@#5dpX>dg=RAOI~sA&VZVMKFSFC9Ca=(fE+jM78jtjibJIrjxw69;4gq*NOnnjyj^6F07#?Up?LxBTZjI2H&_dI)??pfb+QS(85zL}6N#@pbaNCLQC4u(r zR1^I?f_dfHxM;p;K6E^weUUMMpjNb)GdUK{r_Z3z8)&zWyMe_IKNp8nFtDY(I)((= zxsgig-VYRUp8qH$oKr5h2ipmqbqW)VW!Nxtxsi>6J%IL?${t37Zbx=F*C@oGh$$jd-})6(o3#X9nqH<=?}K#NJnL=RA&-*^m)d}}v*$2( zLKrx|$=_BEx0qOB=3mSRB$*%V<7=Eq_864!LlSsHD}1d4{VSoXlM%_S*E5{Naf`J( zu0KMZYf%Xd)j79x)t1Qa`a%Dt23s*ajwmOc8Q(SUI5M~fNn!0z_?)k>32Em+6x9?m zFmH3#n>Nh?N9zTeA@f=sw?%xGtdvCQ_OlTe;Y9KdF@+7(0g$|@2_fFS7WMG(Oxu$p6+d69Du@Z;Mztk zw_n=eUgtruuAID$F@pO(vHsE6c2AiMj~L)LZA<3OmvDAiQG(u@rfsLva{zFQDcOp3&d7l^^Xj+I=t%nOYOU6#A{dLflRe{%A z2C9kI9?aDUbVKd2bD%VfP%~jObRr88+;4Nh;}SH@5Fh%}qAQ64{aU};mx0xG{NjiD z(x@s^YTvepC0?`8!`Ph{FI~lu4ce!y10>DzqzZS_7d#FBYM-h{PL-o6t}^X0l%nke zD-FA&mnAVmQT z4SPYBz#w}6!X{e+C=UI^!l*>(xS4x8V?F{%^EUbTW@ZVxQ_i>;7FA z@jIjbT`%|X3g>)&;vRkYs;*h%gcs>yE$e=yB)^?Djkf2gj(TuB$n8N<>M`#vN{^~b zL>pKg>&X0gENNuOO7DF8C`cD`<$m<;q8>iAPvKll@~Im0aWgERS5Xy=#5~-O*ng0FwOAN@QaAL+_xhpd$x7#m0gtKX zZkDKH9i{CuNgw97+m6kujYhA&bbmo3<7i~!D1OZJ^Su@aT`->ud7UqI{K>OPfr%9o zi3mGrlf-t@;EDnTs0NUexhtaM837*@lTS}`xbg~lS9iqcDv3f3i#uL3gJ+B3@Akj{ zfI0H^rh}Sk8I#z|LQ80>6&Lr1V1^#==@&ejHhESdEj_q}`bm*`@?rdo*lMgVcVsw% z;oo>@E13*0{qs?iq)MF53}}&Zh|q0+bboLy(=jBwDN2XWpy77d2~VLM#kC-f;H@(7 zq-($$SWTsG86J?pD_C$%z!p_&C!b-8n9=Y7Vjfy!OQo`cdbRam;i5mf3ZMt*Z`nNf zHAQQ`U83=|H!=YK5x@x$@d>If`45nJ zAMxU@Nw#;tuZ}Lcnt$Sfwj0r-pSsj6v?pOvkO}&*z4g#3?2! zssJCDp#mNOa>-w*tHfZ~oboHlsvYv6a|g82_+}!%saZ>dIF}RkvRB_IZ|`DaNegtp z=RiA?h-s-qK`HaQX!#b?0yrbqnX9IQh0X5fkt)f!IZI1*2rT~ygsj5XIp6z)ZtMWu zgso>(T9vxtNJtZ#tPCC3MV$GYU$pV(mN1@?Ve!Xa01n1e*@C9`Bj_?=LS0m;CemKfQo6=D!O477`c^Sv>$FJhGgvj_(_ zEUwERW*YJZazKwZ>_rN6L?=UV51k=)^s)MszKJ)-l}eGs9wU_$FOb#&^2K>>zgXFF zJk>g?gp}Cl6X@F=sXRF#{wYq;o5D@>~4VIbj=6jUo_N`(BF9gE&( z1mT~Et!|K0Nd^0&>Wj{&aKIP#G8yBdm98RJ~2B5Ux8b}W3k%sW;EdXUsu zw#KwCj47}#av!Ov`&6Ah%WJfQ#!HMRdg1ANB$%1ioho!awP5ZHd%CK_vNIuDCm6yOeBbghla> zI3Tnh?As%b3$P3DQ~G3}{X`oX;3WxunAGK2l$7Z0X0$$~I9 zQn_n;8yNjg{D4g1mn?EH-w`lA2+Jp6_)WMsS6pfKhNe~WJ@)EzG~JzzMH!LRThMRX zwVpocIV5NH~M5 z6Qi&?YpU)~VorU~=m9=tVuUxz&zFkI`g!VYvqEa2587z;GHYM6HcP=B#qNQAw!rnp zzSf)=L(cv6RbA#14rRyG@h`$&*CRSYC$xS!(4SmS;3t>9Le0?lldVF{$;15iw67CB zt!m`=vcR#VVX_<0FK{dw5&$kkax(Y$ zcLGCm?lsjf_I286^seX)|L)<4UY)ECt{%{Ksj-~)t|aPsNZz1@-K`?{#FG29*p||^ za!zdbiW?0m1N7QUMrNR1Idug4?50~#gj(-JyIK_)yDs*M_YNm>=z#PZoCf;8Y%KUO zx>ijwYM<5DAawtvt)oP?`>pf&*PStFLzKhYOD2fjIBHkN#*GY8lTB6kLKo@-UcVc}M15Yk=d6A6OV_GElXB_^1mIfY~ZfU$25dU0HN!hd__c9n? zrHTA3iF;()^P7=LjCv#tuxC~B40LJ6Iq4l{U+PhkCV3*VgN$9i)CIuY(;up3B5*3F2D%SOptVbVcOeY-$0~WDo4$im=HjQY;pu z@IErRGg!uDZ`g6Qd{u#VKAb4aL2v)ygYc;%TK?&2u#{UN8l;Mj9NBKq=F_{62jHXz zX1Sg{Bt5;`*cnCxeU@t8y6f?V}m{R9xs^+gw=-bxDN1rz?Cd=Mb&&2m>U}v|GZ7p% z{5Y1WqDq`V5)?F805@fDNy6aS-B@XELX8#>^;XACM-*wd@#80^7oUX`v%ozh_vS)I zx0k;Kx_iS;o8Gx`6Y~DLrYS;uF(Y`vf;-j%KG!o(v^*5bPvJdjQ;L+~(O3$aq*Wif z@=>~NEGq?&KT84SqQJbZTEc7gq{N4*#_9TKjqZ9s#6zpca+V*jiomf1`p;mWvhkGb zH1e-&0qbOa(F>iN5JaBs`pXME@`<=?RN(kS7DU+Yj!{7AHi)$X36gCyKiIKM;!*c(IOturw7%^i&It!lBgmBPI(6ya@!BJq6L6lG^5z=+hY!>akTE@T*oaSRfk9ql;N0^6HojO2HcWao7Qr^R zpG+TR?-&K(A0c0Qd2h@&Gf#AKpsBv<)Ccqn&h~gQ>+$jx5PGCUW!YSSK1JuXiZ9x{ zz6{?fR=~U^$O{vvHz`ob_VXRz@9T((f58Rt$0uEgD4*%D-eGmZ_%@os0eah#pHB3Y zakNEBM532G;voNGRoSZWlRt|3%LBBt=;;yzfOn!xGkB~mBr{3;C42l)iV)Dh&TEu{ zIbXGg3sjf)ldCWQ^cu;C>gvf@qJOe~hty&4mjpe%MMwiqdXy*yh$5C&-Gy% zHU-t%Gj5%j^AZu#3D9Rlog@E-o>Ms%h2Vj~!V?AbL>}v?jT*QRJ90cMr|*oo0sThV&S60+^Y}97S|cwgCPM z7WJ+#QXwF3SBJN>`?YjUe)$#`KU%zeuT#z?&HEp$|OIBu5EseEtSa({Wh zp#`3U=aS5juS8r#eH$OkU$OqYXLXz`6Gx38o`7-PG~AyB=X(8dK6#%HICK;BcJ{|f zA^Cc_ioOe=eiwzZX8xh~iOe3bH*WZ{duN1&re@^rj0nkg-OS;;jt?6^6Z;h4~z8VXXi&chADiY ze#QB1#YYga-z=p`JI6*PPsNqc6YuBc_xl6c4(V9h!5nM(FdXV%*i!I=Xa;egUGJ`O z$B*11RfmJPmR|B-n1!MP_9j~v(L55fokoJpVkC?2@~z2Xn@otu3bFLNMK4KNNzu{bSzs)Hf; zB($c6FK6sqq+JtTu>pG{0wp5|P`FBlDD?h1MIW>l(0Sh8Wj+@tf2==0-L?kv8Mgd? z_v^GIWlB#l^UnRoI`CBvBkmKs=O?eP;Gg&S1#$xvw1QRzQ7?6=l%X!MhTMKa^fY|O zaHgR#oBbeRiXi3ylv{KDL(Y8)vG7e6Ow%XUJkH7SwA})KGOsOXZ_e;SPC@|JuUS)E zGva48QLFT1sCE-rhBzELJI_Tk$N8&S4M=NcUG zm?=U@zLimH+e3W9PDObeS!D$EMZ^c63DQp?BnobKpNe$gLe$& z3r~v9KrQZw;sP-!!CPyKotg@{>h3<{kCxOjyS%W-@*7+pfAxPqz&*zS{fx)J&cqP2 zwkTE8Q7_y4D#UFc^^lX!tdL}=CHC?k zxf&Qr7EqZQn)cZ)Aj(Jqe2(A`E%RMjB0JgQNqLB*Gi|YcMKwRa0v{>L&p0b{aQwh; z##$e_Ls!^{0KRxgUy?e>5eq-=lwW4GQ5)}_2C_uS_yt6N+6@^dzr77vlYt9Q_Xyg* z$AorY4x>4j?)h$*4zyLh*;y$yxk3@)PX=OsOnm2mc0vRF0~vq_OVxM385k@{u=PX? z@42sE0$W(W=lzR6X(|I#G_LJWbx0#>TH*L*Y6d%3l0ehdSYoci${aT>xogHvFtImGi zAvm8r?VmzYm8cJ0r-Qz}F-%f82`z6J^XRn*!f~y8O?Ku;UQrj~iC@QP?1l{Jg9M!g zPM3BloI24YF6tn-X(ox5{=5KNRRT`_d}(OwyF5^CxOiYndnHYKQK+~bdix3W*!~&I zZ;kBlmCbnd@@|p*0B%6uubpPdAeKBolJc|ftc9*IEDdb*su5vMdj zL3sD$5pVL>_~|aIeDb1i8|@MkC0Xit#BxXA*cRxfosa^}SJUc^`jwI_FGZ6fSdiCT zUS}IkuJ{Af!iI6X+?2BktCqrG@-@UPycx3bXa|WU=P_9w~+x%$9 zlHi^9hm(l6%pwdItg9tz?iA^5eZ+!EkRYFpuH7%W_QpDvJ>P6KXA1J+BL5?g5c=SI z1D?Y?E7Dd3z#dhxeeha`cEh1cTz{S(ESsgetr~-)8#H`c`uTG76j;9i{YBF^jUqg- zf*j$6_K)fsXCaj4QoFMXS;g;t-|K;S{Y`7Rzhhqzp>CXyPpv^2tLW8ZpbTJy!k+k# zm~@~mgKMxUWoJFOZB2V$n2Dj-lfAc6!gUstSCi%#r&erM_uml!^)svCN0cz?sR=P3 zOMb+3Dkg!+F@oIXNLCs}I5xW}wFYoK0Uk*kp~*6@&9udLM@jGcLb2W3B7$}Wbu5+7 zx4S{k%pw~>g&4L-YBCnr`CP_c#;k}JYY}8;T-A8;>`v%#wkld z07r_^pG{XWT8k8ypW|)ntn3VcwL@U;{sn>@YEEID4)xE5G$si}&C4KiKA%sG8s39! zPW!Jgy~ifFAP1=g#O)I1AyQp?Eknj%^7E#m3^Ks?i!tC|t`HB6-sT0cBl`H-D2S@5 zG75D`t{76g*K?MM%pG=`w83%(WrTZKY~t||#Y{wE6>9Zzk9u17c7*Xl5Y7!PxZ-jOVgj7{E5--Z!N?bJo0ukx zkLrb*UW(96&3?5gr|!=hh$_qS26*OTSr#k9<_ghzeXLPNtw_#1>Jp`|Aq{(dXJinM zggK=Is1#h|dX2Kram5rM`$;3rpUwFVW(_N1MYu8Z5Ygf*d2F$EwJiA)6Wlgbe5kjO zqS5ua)1}AQALLLR$Bn&KBM=%U7bqaTPRId{_-|`~?-ha7w*U62g?{wCLRG;(>D`5H zb=rT%rma8o6q}Jet9VNXbXiegQvA~$5QxDf3G1ILBWUp?zT`%5){3xgJEVR{jFcJc zZ8N}?lmu|+B7u`#F|UJq3u;^3?U^zfo?yc-3Yyk_fO%!4GvMWRG2XAV1#x%oZ=Crb|79OsKE^VX0%^{4RR0C8d#Z{m|gN#{=|P z^nwj4-7*fY11vX&(GVqRiBUzEyjes7C+Y982+_kp+|>#59@b}JZ7M4HJ&s?J{l!B^ zT&3cXXh(&zGF_hvE3>80y3vOd9l%YP2bxl-SrZabkpnZZGwn^^?;q8b+F z21f3Af5O(#Y7HF!rP_Jg^^S;C$rBOM6+?zrQ=q-Hm;S%u`^9o!?RRrXx(0rpJIiNN ziKoAnj>W)@-WF2>aEQ-Muk>Q{$dMdSze{Yj#v}&_Iv&685aS_E(3#s>1?LNi0xyg# zti)txD=|72D=&la#-`mODvqM20pD`&2u*j|d){Mqg4? z(W(%9-52$b!TKfAA4cQPCw6joMD1TtVvS9PCwBrEkSAcNopS$}a zJuM9LdS4v#hSTacQD^N_8&3Q}wx?x2m_N>V$sJ)@xP-Wj6){Ru`K*5aDT3B(k)3}> z>e7ym8<__1seo_OlbRE5uWOUjd$TUD_N#>{QfI`F{Y=>H*F(91hZ43lDGfep-n%tA z+d3pTtr`wTz!x8;mpKtc|2fIstlo&vYLrG+8;eJI z;8t!f*U-OY@SMvNgJwWGZSEaJ&NwJdFvnM1-suk@5;O#`uV9jpF(iA5L0en9 ziPJ~W+oF^a@(gmyxF+j4zGGOIoKGJ2a~R&FoEdNAYcA*aR7P_lJ(a0+=t+)}b$Ip` zdwc~a?RGF?{9G7_bGwm?y|r8bA+YHw@6tX7?oC&}q9+=3G$-*Q6_y}OVYVE5#UPtm zU_=Oy#sqmv$!-ethvT0YPcc7Ts=1VZfi9G_)2?YJM!CNfgz{bv)*x8K6aKfK&4$~J z=*uj&9ob6J{Cyna?u-(!b-Pq>HkX1KfR6T+4!GZbKt(aoTd}sjW8J$?91q%2T*B(v zv9GZ8o>*x#JtzWW3@yh}a?J_YDJCS9@e?n`KdFaac=ik%ZMFulmaRH?2a+on z550%|z@w@`t}%U_!d@nfuWAz&U{A}IX4`(ta5Zuk!-ZY?eHyMPc0U?Sl^iZv9X>C2 ziY$QhW4>7UinX(jj%uL%84psPW}Wp5mrVr2gn_&4wakB=X-TJUvHD~~SM;=FJA%t3 zi+k|uk}otZk}T{8W!r_GCpg}|TVJVZvCG2UFhZn*8KSUB+mXra@4zYCB%by+X>$Z) z+%N53#3EJ8FLZF#HP&U+YPHmRTN-K!2WKdu&wH+fz&T8KuD{m4auAQ(!PvFR=DoM1 zv#bxhLQeps!-F|JKP%`z-&H1_RMVx9h@KfkHG2^pZxrS3rTQ=#w?o7cwc14J1MO9E zcl~kz>CZdm^ma)(h~bk(mQmdJwR07|nFt-6WIi}vczpDmQu;m_?$O`7bpMT`&%%*1 z#2KaIa=Hl1;)o^7^56Nz5NWe`PSbam*-Xq# z{x9ARDy7K14;s@dgt)6^CnaEKZFgD{RiMF?()7ErN*WOopx=qF6E+_j}ta38DPh`-d&|nYemKIEsub;jSbi?nb14??oBu0G-w`E z0@?~N-??yX0CG4dTqlgo5Q&hvf)B7mGk#?t5khB_;kc$Gy@Vt5-|7GDUmcPdd}yW8 z8cFa5Bs$U7cH`~VN>imh^7Q`9>YWks!MQEsclM;5Qq3dU&Kse=(*BD4F2tq8FY7jv)ZTdNs#wU~ zeNqMNEmY;8BA@=$JH&L|j%-95FCoGE_2Uec0p1(1 zN5|3Ma7t|HW2D-uo7%rIu4DFWh3qAs-$x^8Ve}CNY_E9uM0*wUh(2Tg{Io@^O0MOv zKFXM{;t#OPu=&w}rFein++)+1O0K?-6!|Th_L!a+afJcNBqM4yr#@TasSU-cMF=SG5vDj8LSV;5fRz?B5It-k#e^cz#!vn5Z`17(M!o6+T(^lM&DwbfE*EA_3LSD z%6C?KH*a<5DA@)@xeL&?x19Xm)=^K=-RU?2b#U;@wE+sM7 zWvuR7v04R3YI3{bZ~~@+SwZc;63)ifW%h%aV!{BadXH(alVCV2`(Jq^EQ{4Zq5=*Kb+00kod|~Ls5$@qHtqbBE9lxX3)z6 zSbTuKpez`m)|pmDLt((MCK8>3W@4ZeLSM`#JNy2Y5LWmL~`S206>*eY3C_C+Sy@&*`x%tk? zWgw(kR>|Y%0KQCkvdSOq02Kr@l|53o4dzoA)gIKTQFi?5l1z`>vd07 zfqc%O*K6WAyC0g`PCE`Y3gd*;Ee}47*(o;I=w+PFjC3ZzZ=XkTWyG)U{gD21ZwX(o zC?vWgi#Lfn>NtHLu)@*~#}(O>hx2?LtnedPfE^l=Nz9+Y3-#Y)!a~dES~HUv@;qGg z%$+wL<~1i>bfs+?jf5ojyes=OpwHOaccMq?J}MN);W+J76#R+TFr*bv=GnxH)JgT` zSOQ$b-!z)5u$}y}jUc0q;+uGP=A6fhx04fMBwb6k)Y`ZBpPK@2ZC zO*VW)=f=gExz`l(O!Kn2Ix-Z1gZCHW7sI_ZHUD+QKfCW?mAb9$W0msv+_PCx4WGP1Gv{?=0oMnw6cK_Vz{K*a$>_wX2N%p2AaRxt;TJ|IzS(u zcKwTzrMZnzd4Jn&JK&0Kjz0S(=>c7Oo9X6N;lds`cUYntdKvOK2VIBiy!S5H^5=X; zMy9db)1VzG<%-}MCn``bF7v0XSS#rY?B+!z1IjJU+%oP!xiN>HpTf6E9uskn@K$u=tyax{MM32C*9YQuI(FH4f^(J+`Yl3L zt(Z>vw=D%0&gwfCWW)N8Hj}|vjWXk6+%p0oU|ryY~_0 zhsKh=zKM!SgY>)9kQjlO^202ggahuJ3VXdc05ATns;49SzcOI)9H_eZM5)@SDC+ zLoEzf|C}=e)u(=<@)P?US9Y>c*x3rlsHZMP{9{2e?T=bZNKy?n>%7cLlaAMKbj4J8 zF*sf6DTeyh2~PPTh#_V!pph-H%}^lzx$L|LiDq#x@z3y?AtK3>5h^nIk+-xNP10Cg zJn#3s9r+O!yv7Azk!Ojy@GQ%>fP1H9^t4p4m9DuFubGVyz5U_WYPr2gG`sW*o)_8b z=FQ~*zIZwzip2ld9OKueRc8&XQ~zJRgQOh)DI0AK%YcIZE#C8QXj~83IVRss2y1J{ z7B&m6dW0OzMxBWRVLYn&uhPUbs|ZiEh2{m>>Qc|eoy;$KaFtc1e)5ZqE}N!*ZL{5M z(+~_AFTrjp=GA1))?ls8ICl&SCBZn|Q0M-V#vyZ`)bDKFp=4kf8YbCBy^d@_@dk@v zEKotaxmvz2N5Lp7Lf=sJs!p4aA;HV3@UNcH?m&g3FVv5L^W?bQ;S z6;A{lqVRl@Kf7u01>6|{j`(kLfbXLS8&?1JsUh#QK3-3}zrCgtDTTdm^Tk54#O;#9 z`dUksmSOiNO@iV-{eeobL~k>mJsg{9JN#!_tDb)2T?5EBq;R7Wll0R)nYSA~x5pK_6{4cB<}TBV~rBoqk2_@(kN17i}oy{;RD- zn|A;fvB(OrhiWtr4Y_JqTeGH*IzP`uf$#ZS^MEdbd;x|qoEM82eAXpJnjm0DiY+hl z@vALxX3qFhm#)1TM@xQ>_j8vcvN;3xOpIhM%;7TEHD3KzqxKX2w0&K|QCm@|d6@93 zHcHyk2*3q$#tbdIelPD!OlrAM^9v^ev9<3uGzdCi^VoWwJQbWbSF-AIioHcJHkBXg z&w#!qzkxnx^N%k=;^S_#SX@~*1MHDrcM2RUM2px@4a05nP(xF0X7irB6diqPRmqb% zhKB@j5A#J#LE(wCMAw5Csd4CorDIXAC(46Jk@1`@C;pO4xAMN=>|pl zndfF@?Bcd<#?;LxUCkY*cV2)!gUE;;$OF97P!9?RrU@GPKuP z0=PH!tsf6mzo7R&H}3vK=IB<(!o*Tcvy>?yE}>VVZlwfpe9MBtFN$y`Xh#YVA%BtL zXg9==Vt%B+>1&8Di5rmx?}Mqc!4D-3L$&5XSEB;EDH>sF#RO}It132|M>kGijxYgx z|J!_Vy4fdfp}&p}bz349T4lzO>FH`K{Z}@N^hw zw|ftTu~yGQ)8nvjq*PBzkP=QsPY7j&{G=1_=v3$8I5r63Qg4?5E2lIrc^6D;($SSE zom4t zk1IlSo%~ovRWIRTrZ-GkQV%@&oNHt!il&iZ0Ezb$=_H-=mCLDsc7W3N83EH%oq2_XMTF$ z4FlU6LZInetx4M@gOt`uO1~2NLI!B3wQ(ya3pbPnMqDLwlw%8OT0$-?@_`?M>o5_! z1oNN5#9bhVzMK&ubCzn$-&;!%-Z(hC9LNQe}N6$Yps9#*%P{lUti+GUd{DQ z2Y*@UT*!K%e(}QPJ{s-d>%^qjrVemle$w%@R??A=BWX(W`Y6lGa2Z_|Cc1vph7{g_ zuZ-#p58z6rqElDDrhmAJ9Y1`QC7RnAGK#hr{G!L_O&cCcLM;p648QbDP3h5Pz?7CR zBk@0km$jg4la?E|^s*ueqZiwPu}D^F7Os32yot*0+l06qpUU##&2^fM!a@JFSZ&J@ zYGT0NI_1ysw@e;^|mqeYG?yW^ik}5e8b!b z_c+Hp_vl-W=2ws;2@kCLP7r{-*5aScAF*#Wj-*j0uhlctf>?{#RTgvK6JGp$aCPD4 z2XLLq56w!Y-Mka0z73DP9asr+;f|7!^~UwDkbb~^@{$2?bD0g2$v@0EXUbU;!d$GA z<@=%xVi~P7cM{+}%`3bH{a9ot^AH8p#N38B<^;}4EM+};F{u_+O$G|jqMPqLf*oKl zY3T6L^h9+cwQ6Im4ZF4>JGJ1}JBYDhq<3{{6#ttlfK!xA(`2%~?ZFdU#P@2^HC$53voCBesCj`6@}y7- zB$}6R`0@HW)$JM={Xu^7W1OxX1BV}5Xlj|TDdKw&Z}2)_$@VUW0=M%Q_i*+i$ip69 zLnwY(aYf~f`33)F$`Q<;wNXBFdsJ%>DAX!ohk+pn`Cr#PeD0_QH)k)HN~VOLej-3U z4QZV{euNK*Jgirod(L7);0 zfqB7i%xG2Kk9aaeA57rWew@Vt>PdaJWrS%z<7cGT{3m|_-Ve~{*e!F0k(=qW1Cxu~P9_fvxW6yNb*C}WinKSg*V*DkluO?ulElY9iS?7F zj;xQv;(&Z2;?SJl3^V4dUh_!b;O9)eY8O#2^N~s}wXf@t4nLVe{uy^TjPN`6XKGTj zZ^S-IN-5z=n09jP!j5mGf^N7lTERK1Q3Kl)Y1zpy*&Q|4G8s0=O6Fy*-!oeMt(i6c z`Y5xaK>etx!#`AL{47r=26$?r1&|t*{^Q4VZcF*`^wA9V5)~Z|1+Ku#Uo+vz#6CN$x zp@w7P5|R?C_Ro0o^my0x)Ig3(Y+O}1cp%m%@cFXYJnp+6?)r>7F*!8tK>R-8Ic zz#gA;k5}-wk8yJ_bBB>h8!t>~3?Ekxhf$A7l9?fG~e7}GF{ z5J=UtbOpJVXZMKvPA<-abM%BaiJq;xXDavKREtzYL;_|E^6QORisCU}UmJWSaIyu; z?H?Do9i6qs`LH|rYjfYsp>Dj5<;Ruh(v)Ia!%!d@C4e)bUEyw?OOB!4cF%aI$J%|L zFS1a1K$6^&d9|-Y8V&xx(Kx(&WaTT!RjaLn5Rc@|BVUis&-kgj7=`G<4aX;00eglQ z19wBqrGAM7om`(f8Z)|*zBP#jr z{N}|tFKeF1+ElFxVDJAgd@);Vz8pi)xuoMea&cBX5iCFJb=PXy2e$QmO`JCT5Io&o zL^oL$4L8JskFry_zu7;9>O%dMa*Z|I3DlcN4l!|_H{k+0Na->Re`Q?(r2b#2Ue$~G zS6;RRibmlVzDAXTvQU~b3MVzJntdfjPS;Yb%zjp$29Z|Xez-Tk zNr1k+P3(j^5i>@1t+6$&xzF<(;M}(^&iqJd3w4J-UgU51t1v-P&mGx>@TN=NQ#Fyw zZ=B44DdL5TIU^eF5_UWenKdsB?$H+;bFW}RjWA`KBn5sSM@}bQ*3Zg%{;=mP#a+j= z%48)N@m25OgT~H{(GOO13MFoxmB0GhC!XShzPO@oK)P3cg(R`i#4q}jIheDcEU9lS z)x_dT$Uv=P?HI(4w}I*xyT63}SO50|w1bA!(^HL-0pmEA7arNxjH1c^od-Od2I@sK zxn6U^3IkyeB(IOZug&4*p@wqV0PD<&hoM3C1Fv|#GCxUD7Mj3L1|o=Sb^fBQy5@1y5^fC*6V?T7VRXB3KfEy)1x)}x z$EXI;+UVlYO`io-Y#c(|D7FckKq;ii)?ynPOSMbFANcJk0LIKno(&)1i_4qMb({-8h@(YNfQv7>N=r5{T#KyO3&Qrp#Coi$H z!^68yaqp<@{~?_{)U`_uuB8_n>))Nc>v8&0um@kc2)zyQx{vZ}NMC~7jbAfK`=cPx zkKg)u4nlfmweKR*oh{tu`K{Mi4=Y+HC4ZZg&R3p!NddUs_OK`lp5w}mpfm_Fh(n5Y zms!0)%r7$7{!&$PZl-VmuG~|~&7r$dkcO(IPTnZnk7SRS~)*xK< zONxiPW0FNvl6nstC4h_Rn5(aHu2E9t;K6uUTrr4avifH8YP%b*dz%?g$CwJh8BSJe zbCMTcve`5h|A1p5#~a4ne%Al6=KrwgQ%k1;@~5NP-)JoAOt?+(c|#SBygbw0)=BF- z74`JUQoia#T7$m%8%gFsHP^s%qD8**!pwI#5lt(Caswlu0RQ(v_Xm$4PD_&f1~Gv@ z`Wa%>Qu8*M^;h?GQHnEnHamwQC$E7M$fHL;(ub(>2yEUl881dtb50^n@NV-1;!?`$@|H-+Mw{}v!M|8=lKEZL6Xdr+%@{RHL>XA@J?ehY)d_F$v1 zesLm~3~waqmx1`%INHqcV!O=}9y2 zvXKVLt()SIb`-20%N^=Y;scECQyt3=NPza=h<8W$T6O-a!F;c zG7LUfSpBTx{z-Vela|)TU<9sR{!jCZ4^U^#v!heD|v5N9gWx^&#H|fJ$ABTomz6?`3PBuzp0wy!TBCnB#jKhwZ*9){^+0(1G{r%eCVWhq|qQhL%vOGOG) zDf(SstQz=cJQTH?yO(bdojU7Q2rpUXe>SjW(Hgd_cP z4C+N}uyi`QI#zV*ds3TDA=@DW97x4KFZwNk3^fYVXfexRuz`e)Js8^f#J6Y*sK9Zo2)Hx6&))!15|JGSMO3`hs4n`0*F5@oxcZ~1fWtJBFRMD* zpX0?qU%4S5T8eHoT#R!6a3kEPKvB| z&k-#)eD=V01Z);crqJ|xpZu@}P;STZ@{JgRKo%9nNrg_$c^%J~y{?BH@sd9xZPVV{ z6>wg$x@|sz^|Cb;?NhE4mVM1hAiA<<%2jZ%1*fIDAnq2p=7>q?yko(CT-dM`^)l#8 zh83ZF?0Zw~>~@KkUhMNs4LJX3OAp}{a6!#Z4y#nY#%=1@2EdGZ$KBg|-o4>P5a(MM+$ASC*gl!aE~TIJka;{Ws4- zzmILVVo7@1PaTEw`f^9uXmF{NYsTQMyadZOKRAZaKkz)&C8Li);eUc$#5(yTU}wO* zg+tg}Dx>(*H=7#VEAm*)=90x+80I;~KIgPQ&ojMXsOKYOl^Ba? zT#D+j(5av{Mg!yV^4}~3%ErDh^Y2HkKXp#C(dWg+_Yy#oS^CY))AGfD`Psjymzo)- z2yFZo&XqWIBW!yf$TLg&jF2SEB#RhfQ$U{Yf0|!hZhmi3jo^V=&T0VpTO`(I1h)-g zS~nevTh&96Vx!Kr&6h_%+Y?$9K5{|$A-q`y;87VOe_LuZIB?G?!(z|ngkW-DZMe|e zt5I3N$;zyM>62=>Uor}_M#i^1B*gdeY%7+~E@N=6&NsMQ8PL&&1-l$LVY|Mwk5Hz#Du-46i{0t~L74 z$~iL*KS(whDJg4AzoLC#f+URV-v>DwdWurTu}K5;huk=&X!>lLk^;sOZ%2%bi-(yH z+YhKlvks9>bvVeZ|Kscp3S%V=R`+QX}edE2@j8G|v}+ILMP z7B2Ppa%wm$!nd|94>|ReboXvK#AM0n`<2IF45_%8zcBdFKOcA6qOuWoxB_boFT|<; zO*nuO4apzsgB(!5x1=F)goB}h`r9na>H-wXtgyArFm5+JKWX(`(_7ZS_g0L&#F1HGDV-O!`>=UrBW>avH4{^uRInNmz{RdQ630l#_H7O3X^eSjx&`k3V+Z#5Gd*rO3OiYymA@{_2)xAe%0VisKd z4(K7^dxYOgGg=vyxEajsal3q)@CDz`U|aKx3eH8Jc{8;N`k`P69|q!|>y7lXjKSAx zF##M%Drl4|V?b}D0?C9V)`s(GAet^A2tyapqg!k_m`!fzXfWuyM)nC}1NsM&Z@v<- zpT*OcxO~F&Y4HF(cQdww#%iX9;7E<2#6B$rpg+)XGMAnXwRRyq_2Q@0LICu-#ri`Z5^=5`gZeEM@6y_yFJ``?p>-YnMQvtY^yByPk6>I(tF=j89ae!lE_3^VFoz6f zSxSF=Mx^N zZ$zg-FvqPTRq>`>y}(b-IKjR%Qrt+b!JY0Pl+OWiYb zZ^LKBy=qyB+CL-&ts3$P$}Rl4vHaK4@vilzx1;r_g|9!obDV2f<*@|DB@jMsFIAUK|M zv}Uh|8b*#9308Kt+k3F77CZX0wo%2;zAypyI`kx8clr`_akDDlG*8dk#9S`OjmX9y zhb8}z`6$zf58w=XBLw{9;o&;GD*Odf@LS_-CH5itg~UFOzNGHJyHQ zG@3TA&^7fu-1NH<#-VpC337H+W(8=$8_(60I1OWe5FwhOipX+X4A; zIQJMjQZ(Y1aUGbwM|d2VWnjIJn`Kpdk$Y`z@FcwRTgBT0WBqN z<&n)vZwLJd6ME6^U6YMhi3P=J7l`|Rn_sMNV8*nN1x+rKYKio)zKss+IHzEJ$`8kF zr0yV7sEE#+yswUa+^DPKhTun^>I!7V3aseXdK`HGAy_H`JF+d~Ik z)9^Wc0I3(uvym&hniBy*X2TRAi%*ap{~Ht6Jw+^;7m=d`-TWc!s3hUYSm=+2q3qKP zI=SOwkQSBpBgu@|o|Le@@n~w=Fo?niQy%k}Pl%2XWQ@+_fKP-lH9!<`lOPzXv+;am znC%3_puQy9!j?O)%m%mLxbZ*VaGtf@k$uG5V*RWC`vLy@SB$N0EJ{rBVoZ-(ltlQP zcTwb0UALVYvN%sjq`4H1MNRv9kabv$Iy~6U6Bpxt@L}hEIPws7yjPsgqM8pdp9ep& z5|OQ=?&c`U$6yXay@Y&5`^jA+k7517*DljU8r5%}>F_79rU7RJ6UPf&*&yd0-*JTk z+6td=JAb$VCV z#ef9y&$X1ei+|H5sCB{t<#Y1UM6e;xnIPmoMw8uWhZk|INl4Iz)%-W!^Z&7TIzfqG zs4t3bq|18bRgetC0pu;QpVNjdXBTob%78cm7<1z_SZOZHW+eJ2GcENkPYx7W)atVd z>@g?hy>V34u>*75ToCOZ=PvRNM{BV|X2c9InH#hsJN%fQ>!G01TeqyiXA)~LoBb@) z_NT?RG4hfwykt((TwHNPoKX|Hskono4HyfO-^!*r%gp%~L?Lr=*Xcx@H^T1yKzN@; zr*<_$FNzPwT0e$mHr~F0^fq5lB~FfX$qq;<4GDYauPrMjZW5MxN(21Qn_OO=(X~rr z4{(xF1bxnjq^5c-4a@57cWu69`L0fM0Pe6)d?y2`-QLi99#+S}kT5cVA)2eVzxRhz zkKUY&JUEBX#Dm}9H*%Ah_FA$yrGlx@D`)p`LP(|zWslWc%OjGr{f zZ8YO4}3@cC>?8 z(#bg+HiIbUHelJl-W1FQ;8JL0=FQmbDZZQLIB}2gCp2Ztjf(!H=2tWepR*4OP*Se>NvVPXkZ%!@p6U@!2N%9 z-d#1y2SfkBE)r7=Uo1icESC0l3?7rwJ0pY*9x7SA9{6RP6EtG(9B%=X6P+@BLlnCm zC)s_B1LW+dCS~R^VQO?EPjp?}Et_*`X4vZ}d-;ynOIGV-@=DzPEyVMS{n}#NU)9If zIH}JyP7&P4ZD;}i(x``KA4}UK9~1x1Kb%}inA;Ue|07H#8Iz1L^?`(@4-MO-r5;TH z0nHf=IpOL!58y{BD`0K*nexop_-^6;AL`yRD34}&AI9C?-QC^Y-QC?ixCIXq+$~6g z1qtp12_z7L1PKIp4Ib=G>N&fo>Z$kt@qGAg)m=?BSM_Yqy?0N~H9fOi6vx)K^Y6K} zPWbV-^{enybFHLcA^y3l?qlfSw6MMB8z2}gEu`=ROQ(@J{_{V~h8@HF*>=L1#xdnq zD?+im`3n-5z&t=n?>Jzve<*Zf)g=cN<>?&iTvLjz-1I`<1w92VKLy@d%mf+|U**T+{iUZKTu zxb8xCU^5421x{F~PhgO$Hd)-y)Hwmy_C7_Df1bg*sQ$GNIvU9MUNDKu}$P z`?91IAe??>Wcn#;{W1(*oN>OqOdXN$W^Z7fQuE1=hXQ#AjRlXlR1SAWRhTy`9M_o| z$!O-+b6Y;NS@(R{etFWV8~@}1KmJ~F1?Tq%%W;7-I4W?S zTi$47(7w_S7tJwsQ4Q^FyFzV`^T`IS|A%q)E-s3^F2#So*O&b_B?qUED`Yof1~?_s zol_Oj9NBjgE9P-?UPXa$VBQq15(xR}W+TkR8HqB;iZFMTYq4*5AbWDKn_{^$9UhF8 zQRuMUmp=ms`Khs?OS8ZDi|VOG)7v76fmDsa$NEu&HiMqoa!6<_x)CdoX7^E(sLkF(cpcf+LiOmBnH z=Fav~6)#2M7~2yH!>4g-`-2{3FZCCQ??E9ygDe4m-vkIf_^+wuXDz1A4S6go9>pC@_fRn<}4 zga4}%XQ2VdG4o|A^j_8P2hXuO;^X-ZTEO0^md{WK?T3$_L+hDK=YqcW@CPK7{dq6% z(~Y??PXYu6fJ0V8kTR&plJV6c`Z!42Q?=Nzepv7^S+0uVo$lXUK@JK1n{Uz^vsMm zSi)w0u$;1Q9H-2r;7pCUEKZ0KXP;za!zSEH&$vl?3z}X1L$kHW)*Zaw?Dg2SYDs(V z^$r^d{9<83=VvwVnyYeW{&C3-J!6OAsDtS;*Da~84zo=Nh|alMNBd zt>0&DAf}G;mtx>DD40WwR{5OP9N4{!54O*LJlB>9by18sTV%q3_~&YEb+eJ(`$7J4 z@4K(->a=Z`hL^MONjGbk?0}`N7aqQwFG?IGdEBu&kvHNtt>|!vVeT&Mgh0? zmpp{XFKru$MXXXSk@R6FA=0plZbRf`BhV|1fIWgsV^i3G6q^;Qoq4j2vlnY4u*7F{ z)Cn1epJLewt-$pTK}0Ww!NhqNT%pt<0@fe>kB>(15*p*(@4bGjt@2@j{PUr)q8^D; zm8i921Eqoh;-Z)o&f1Fg3!${QjIk0cUU8sZr~>^?Xe;fUwV_eG&CnIdk1)Y7v#mK&cm-Mao*OI1L;0`qyO<$!a|so> zXV^{qf^pVR;=9ycnziQjG53+uxPVef93uarK=mEd`ihNAuN0VrV{{akV%pob4r2QT zV=xqR)V-Fz!|5TcA`6GYd5b#??ggA*lP2{~KRocZXu*dasTY{wA z`UI|z6|03N*?&>E71STf)tD%HKrF>?SNtZ`9SlzZLAcxj_A}&5#vG-%4_8;hQykl{ z@|Dx3H*CMI=C*iiIXu`GSrLJLiGU!~TD=Tgn9*Z8AJ&76#Nk4*QD4B!-TEY7{)O-Z z5r89NHsV&(hcwNI#c9y=CUlnVALb1lSSEAJdgYgfiUOV=@r(9Wa!O!z1j7a6S!DHn z@K4!6QOgjF4D)o>2eaZrDZt*R4o-QCHu^aU`1#qFJ@1e%maQyyXz3;C5<4+U1;ysptL1iid zt9GzXHaGXPGN;xuym<}}N7=7Le_(E2Cm(_AxyG$`i6_Cdk=Doy=&wytkknI=(dcuS zbUx&pdII{^)=Pzf8iB?0vbC5T}lZ7tJt?d_kYSf{aTqFT}vudWR1^u&z z)B8?CeGE$QJPOZ*a-Ws5S%|R$9G1o0I&lC$4G)R6o%z1xM#YZ)_^pq z5CK&XFIMbfCZ7qg120pHpJZu4h&1gZ;zO;)0_aI>oS|;112{RIB(2F_;SvFQvYkfE zV+T%d?;J~F)l;xL%y4hsXvwO0`sP!G#q8jD39*3crv4mHi{YHk&z9e z50tr|_lT&RDz!mg^yxPT?h4)zZNe)9Iix|W$f!yR0d7;d)mt0SdmCX!kjMP_ddylA z!&>E)l4+5`)oU)h&8Hy-&V!*bdF+?Vl2puqA1e|)`huTx9tQo(MGESfb$emoVP&Qa z1mz4o9qnjMg8MRJ^bqf_N}gpE+wHuM%c(Z$s$rv6|GZ2%=XZ0KSbG6DXI;!1il}wHvaTebn#;+X0qIGHfrp2I ziIs>i=>ZR5KMVCn4@=;^vN9^uotjK%?6wNfqFLDNNaTJX+pl$(1@rs+9KsPownqe_ zs7uoxk~i%Oh8Tj^2Pv-}U6VT*&7nbi<1)`_CEn|qzFgIX8H$Hu_QU8O`Fj;s)tPVz z$p#?6^-Ry_QCv~MQmx>$&$}){JU@zW)G7#bd{VVNMc6N_KY`ybszn7wr)4@rSa8g6 zZ{t^!jZ_w;olk3SU553Pc}J`YfWKzPRWB2piMk6@%!(AIO$FWC9o}T8S0hqGcoca_ z@q&5h3NG}}BXm)(5)6N(_hXIK zUrE@DPy1K)henw@r0y!)iJwwV6q3-QLKvI;mCgMlWPjz%@S14MZiHUcH)*%HT|7Ar zqtOk-Vkiqwvj{wvI$4hS5A1ozyBK(o-B9e9${6*0EWkY%UFR^C*o|+6(+|pR&?9;r z5Fq}!3>@bu>ZYYwt;r=RyW;Sq)<}l6Eg9F0|LXsK06#R6acv2O_buqAzqmWjDIpyt znXsLS`zi^+M-YCaqC>cB5qC)A#m0GCFzdf`ng&h$iP^E=(SU9|CKmDS&ooCN+F0b^ z6mxq$%6K`pm!D0gvxS7qhtbVkMq@}t7hyyKswzD++OmWV&i$dtt?pF4)J5%9E!T)J zvtndJxU4t;KF4)_UUx5^g*xo(xx*`6dWcXO2MEhsQZx)M0{c-oDhuF$vdFg(mT^H& z0AIXo<>3>aoFp#;A59+U-49=VvZA_2`UM6u&%gnH2h)f4sUBMZ{;ll4#{|sGHb3%o zI5-&;;g43UE%v$f9k=hKUnu1d{@InmrY8#Y&!@HfO+VsFS(3m${HK_CvKitd2B9(L zSHTiZze@$wz}zT@&7g|%ky}oEon{2VHZ&(9?et>o;m8oji1k)$;HV zT_U1=F5}>wJB)OanLMOwbp81q6bBl%4%9ktnH!vSSAt+vK=;?{pHcedidl_40{qi zUzLy2!2OBi6}M{ZxaQg>eJgAp)Kr(%xzq?JF(3aX3Zt#bkqPq8L;76XsrKy6E1zH! zqr5oFw$4r*#ANxgD8)@}%;J;4=g|3vnJ|=r%_x7!AzEoHN~BxSQGI@k0~s!zeI`?xOFt(sJpI*SZ)G#i+;^J8g5#INq{Y4P^o zr_g6#3WRiVC61m~jsqTCP?*wLzWH@CvlD^2 zfsM|o)TjRZ_X?@fqEZ^4#_5Q|!Pe2|c3%f)s zilm6!d`m&Q(6@l?r{oJThcIYvl-ZBe{5>728Sd+eL!e$sn3K_tJ#2#(`pH$-4djcr zJ0%k*W0Oh)w5KbP^@sR1ZZ{+cp}Oy{W2#Y>$p=A>W^)%BTX65KOc-NZfn!G9pPDH3 z7tQwUae^U44rd&V;Mmqx>}KPg#*Y~BJM<@v>^7D3%*rifLN-D}Sa*GU%>r0!^1rGt zwkI!^ovG)BbZC-*z#prVgWoI{JYu{ci19Il{e~*S&bcan8OlATy@tr3g zo0;f1A4mHr6(GLc&MgypCgq}UTk|S>%)w`~;53IX5{Hpm_4r8a!@tOWZW@8A5$Hxy zFiDB^cJHSx5J!ucexNFf z0tQQDir0#=b)XY9II*AXm=|Flo?;#B-+mV09 zcOfjMaZ);&<1RVwJRtz!cJcKaE{5CZ@FbuR8ep>N3CjAGod-F_2GvH;cxn;BSh-hK z-|>}RvbQ8)e_o9?=KQ_8eI!d^lVL_t+|}=?43N)8D3S0;a)hsKBR^4!db%NuZep&pdjqrZ#m0Zn)ittvVfDtT zbD5DTdFk0Gd-6#2Q`Mt(vTwD z?QLJd!ViFcgjCis1+)E(g&tz4%cr*oH)c3VjsV@_#PO&2fPJt7AgH89Hous<+l`{e#8+ z8G}v|@G4NIs?$0C=4(c8K9HEY)58V44DY~ z(Lw)G^={a6j(bN1S<7kekr<|7;%+5CQ4#O1T4ei^e>X+c*p1b9B<)zOf})V-TF-KKXj*J7WI#;aYKxO{Oz=l0h9;EZm*eJ? zQoquM%Q}}|y^8j-c|#-!@Wn62_6eofSGLu~}^gXPg-o1psTwnB!w@CpLxoP?%Nebo+b{8RzOHQZ0 zoxeq}YC}c1hgU9|$i=lW=A`nV)MOJgHL1KD(OZ;Go*Nf)V|a6H@Z60Ae`ijaNJn#r zj|euV_C=^6Px)?{Il@wc61`B{HGXJ7e+-(kiwnLuVSKU1f~@mqM4uwJfMI6e$$&^Q zkQoZjSnl6(7G)r+al7^UId4`?-*~F7n|=M7I%kdAz?d8O zotgwe6?o3u+Xc5nUHG0;IBnoi@!_++M|~Dp^B#D%Oc=~SzHTJq<>1ec z;|5`0nl5sEY6@aZ%i;D}vbSdT36=@g*4+c53#c zFv(n}))oojQ_VmgT{62uAdOU$pCNPWCe)^cDB~GXq<M<`bqqE)Rm6b!~OPYonL6+n-T z5anOOaU=B2*onGjGz~nDA|&J;xw4ip#mlBy)^Y(cB><1CekXNx|BYRfHpSj%m6;XL z@2YTF6^ouBrYFq|)Ebfwy}1nZq6H%Y`i$D$NV;1dMe5K*B3Jb@=Vrq%9uN7-*Inv}w5 zYJh&BN5k>T&f56ePk>d4>=A6Y{nsq2d~B=BSNpemR`=52IT(`?s*oID=4>FLn-A;jY#ARcy;LfPLM;e#UWo2S~0*O87b%DkDITg1T#TuX7|u*oG;{ zZd89JmS`KiE3A$D^2J>qxI@7poG zT$g5x45qOLo=3+vE8nmM$LIPo&%2gv?DxoFFda*u&AD?&EZ9#>`M}@vFeT#+q`xL} z_*>k=AQL!~lvLL`td6E(X&+1z69i>&E*ho12#*;MsG!#`;HO!q!Ll$U<~t?Je~aR^ zJ*uWK57wMvnCG~qZAPmx*_KOlHA)%;Mlz>JSA-&$tDfI_6C*hS_h)sP4&@fv8zJ_q z{rcRgy_At9ixCg&Zl-mVQ<~TEw=#f>ymMJ+_Szd-&%Su1wQ)f`9XdFbwH~x4g?2ms z6}Dvx;1D>KXcQ;Y*`Y%W*|o?8U!zb;j;6qmOxgPSoC&cR2?4l=p#tq925~U6^2@ZbGK)>(q;s!bo#~o$QsC@>VaCG#lyy3mg~E zlTx`6kh-fpYZx9Yk-wH&e{m_9O`eVZZt$63!jl5zfv*B-N54nvy=Hns!^uCYpXV5= z3fF{Dc2H&5WQd_ICEXwgVGm7=^@JIQu&wUA()0&M!v zCk#d1^pff-ay~c=LQ~FYy!p2h&IP}YpPlx5Re*l^xXzOt)Z)2%zJsfrn(N!kM7ji3j2+5*PUl1dRw!)wNAC0v?R{mlIRXS=-?*Z!14HhU0>Xn z8H6By`b@P)ibqILT#WhWpt|4KohRc_sS3`SPcE*0 z*`9wTp1Y6EUwIj)0_iyH?s=wwC&kHjJ_OyCbX6V5)lwhVgE$suvj z4PLIIrrfX+b2u~6BBK^4slfCh5Yo}{7Nh*B@e%WFmtcq` zZvy%XA^w0W8W8*L(NB>E9pMq4edwJES1sv*98~Db9v43chxTQ8k0YyRB~6nbzs7gp zQi;F%zaPL4E#3>_H?b7#{aR8~Jf#}(I^k(JD_#V8va+Nq1X8VbZe7ZdZCrpYFY-gll1>4T5! zWP?ZJ76dDk+;&qN=r!I~=)nK_RRtw-^_(05zBnC|kLDMNhrjO1C`NMDImfN2li>{m zmsZ#03X=$`tCp-muVfohhvvV>gp5Bm%VrU=l}XXAuZ3C$W7;a83MQO>Mo!LCvsg~2 z*aH2NYU^!UMIW$e9bHlLUQoyLYFG|+QbNqk!a*>=q5&J+OAP<$z1+9dpPDK2pmp## z7S_Yygq=5G8|h6}G?*0Q>jc=tRMK#Wc0`+cZ#krjS-8R>g40b*jYew|v7o&y4)x!6 zeFn`(>K1A7U-kL^)_wZuaviLnXY`y?#s8DE>Vf7g1LUc7V*@jXE*&pT@1jWWBD#Xi z`>Oj7YKR>^x9We^;jaSQ^~$voNOotADGZ~moMAR}J!MaoPW&{YC9oN#dvbUW#uklW z!W!&Ap4d78B8(Tg@F&Q^?IArchpV%-27|| z6a7kl)Be}Q2`Or%U=EL6=MocB=A`ABe8hOIQUKTNE(gi=EuWC7uKD*GffY1hkCY>j zT&_HNAOz{U*n+BTG;U78H}**AV_itGU#2Y|$j6f1s2yJU9j!<5_Pb-^rW-90r)rK^ z3;(EUEFRx-p;iR!<+>*EA8HOBsj4OV4!&;4dxwNfVz86*u42!6|M*)1$Vt&9zX`_i zkHma7tQHN#f3~-UqRI)*)t&OCFp5@Ev;u2&l0r)3oyLe~J2eiAA{G|V@)JZsjA?qYZT&J4ij4!>fqTb#qV`V5W?h+Qj`8@o2Ev%G9 zXGm6oSLc@5Wa?Z1d3xp{yy%udy@}=_$hZI2(&Idt*F*Wbt2MFC2RUSSMYV_I1V2=% z2xHQzrT}sq;=5vsT(z`gpOvcd-Z@K?@j6ZZ#%rWlwa2_ zccqZ z`=x4jn<&$DeKqY)Etl~Y$+Ni)eZyu3;;0}TI@uFfrQWw!ltiuBg7d8s^t6^7Y&C0J zoR2LhV*2J^oPwhkg(Vx#RRxUARL>)Zt+Mf-+%?_M5dORxNv!WoM<8#OQxrNamqmP& z2NsAgKPq%^x zadbQf60v!$xKw8(H1dQCT5LZnWJ@uVYVYsLnPdX1>lJPev`o8 zFM>&7{~c5P9($a)IuqkgnaRJL+P$lN(JP#-%6a2=g)j7&zcPVL@z0|GAz7xzj(K_E z6yqS#*0qw_tX#x&H0Z*rFa9#;Jmd-+oF6)C-1sVsbo$B;+U!PpSUXH#k$*P~DW(6l z%*o5!`qd7ww@m&dL-{z^f7py4h00j^qGYn>`}NvKvDJbf^DR7z;F?Op@T=1Cn0rxF z+nZJMmAbR%^|{ASL3pj9mF2r*8x0O)D+TI@#BM>OC>mOmeE7L-^$ANC#V1L zxX9U+k*U^0I-fj1Om#ROaymf`+N0K6GZc0iH@JFL%y;#6xf&N`tmiYh zMkrHO8G4h?DEL1A&5$=uP~A`&4*0N5YFn&UAP0;D7B%^tAeON}8il7f%Wwuve{|Bkv0laVg1S{-Zi)$_@Yzg4TGOG&ntv0-^@qaQZqGXYgvLjRJIB-iZ9BCQ~IwOHG+G(YN zwtCe-=|guN|L{?S3lSwJflxKKlTQEMFr-u}I2N8@WTw2O(LXyS$mO6;?|F?2abO`* zbJXmeTqEE!LJod!2d-6@%ow9Y%h63(%3e;=XND0gD3}u5S(^rPsa_Yf!2Q)jk9f`1 zef-0Ta``E&VtaeThu2#Xp!DNe?6k2EeZvG|DiGUTKS1Fjxg<$7F^suD!AjaL$(SoB zn*~!NmFc4DY1+D|Pt);A_9E(*(Y=vIXHMh?VsVvZ43zbUBN0SoM~7QUE39RdahY4T z1=M%s`!-x=%%qdaXV7S3Ud-i*p#r*#1OiiU7nQH3S_NWsR~YOK{D?0X8a#d>+8b#` zzt-`)-7*tyXT@tQHWoSIx{>egwV@Ec5Tj|XBsLT2jKl1uGe!q;(*TH82L&EfTw$~d zS4GnU;f5?jZQ{xxc!rQ`$!3BjRDdsr@0jIa(SN7Hp~PgbR%U>!r^h55Xc->6W|zBw+@ONuu$#>+a&IS~SWk_L46 z6UaaiJvzUocgrvKJJmO%jHGSltqVeMj`$9b2jIr<5?RKj1hCcvym-tG-lD?p2l41Y zxVZQt{=oMee}(_=I6Evmo!F6MU-S4i?tzn0uCDBO5)}LZ<19<>m&_S{ zQ;97P3Y=oq>qn(vhy~Tit9z3LN&6)`O)ytVvb=q3pYBP-Q#|Kf7t4f4^n!>3Y3+V{ zKv}0%r0fn8Xg4N8QH)Rq6TP-ZY^QQ`*-|OKn8sndcAbsyCtjm-vlM`1SSjYx?Tq?e zV1UY{04w-0YU_vL5W0~xOirg!i9r&WtIy9oMv9mR(Nw*v2#h>>cT<6Z8kZe?P2Lx& zx|@Ql3-U7L>9QX8rTa$T)H^z>lDb^wp+m5auJov{_DIHF5B*XA+O<(`3sd@>|FEIk z01+4WQ}*r$%AjUy*u0&jsPNB;V|@U(J?Lkv;4^5$>jIOfCP&j^a9t|HKI|@5q`47_ z`U(eJ|D0>xr1*51fHsYEuj!bZQ#7z2R&Fk~z{rfv?%vE$0IpNr?4`=b>LWy8;FS&) z4ne=**iJ(byyN$78Ba}+4q)I1+U?!ES!_z|h8ai9#ixwr?%WY*JU+T{R<*F!C&E}D zR0nWI`3A9Wd^FgE;pS2UJ{W7N!J@WbnKY^x5(Rv1!wj?m+~beO>1pLoo~H&{af#2U z5N2|rRnBT-uMg50Hku0V!0|hb;$An=1|jLXCpY>19ts^` zkD{(FM~^J(II&PA8gui>2s888|GosiszshJFAatmtg%>DKX9#-nP7j{Yv6Yz&L_PJ z*Er(S^y23>!^-=$h7kwA9_ibZdx~40w?aYNkZWAw_9}Z%xBJ_vLqRQ-?XTg+)c_pS z#iC!dE%Vm-fIw)VQce$j@@a>T6a^!yT;X!80fGk(#6K6ze`LM(kOToGq-DVUxfol9 zJGjR;VVle=;>VP5?RO^Pz4(1$0B@iX4u?qyA+`dgYVdTV5AwVbU8-a^-51O|PmO-e zRYF(*o|z|>#0b7wUb1R}6)|$!1kg7qiYOpSyI`ka_uvKd8iMt20sMvKp3aD|3{&~3pS5OL1_Pkaiu6aR;D>du z5?o<$tqC#&^y4%G?hjn7GN}@@7B8q;D~JP1_D#>FRQC{Z8D?E*-<%d&7$ZENTf&Oz0aB@2-_Rf#;`s z^=PuC*=_DAMkO%FrZEA#tjWb*)HP<$wEA5*t(gsg6S#@SL|!N8{W5`x_#rRTnMI$7 ztc+?5V$~L-#F1zH{#?xjIn64|S@>loXYm;ziwW0_aDj__0uMlxy!2Ayug(G@a znW%W8=f)OO^UN#p#ekjYAo|fE#H&3iw20l>O8=HQLSo1`G9}g zZ^mp-jfty2Xx*j8957plavlzMOFIz*`rGiuH-N@fJWRMI*W$4yG}6pqUbe1VaPvYtK0IOH9ZXyK&B`r7lNL);5g0B0#)uPJQo<^@$z zp_?(H;1AcGM`XvAB`k+ICxP4d-?J*;K($%N7F5@+zGW|(K4`$X;@FTG&PvY`fPHOS zeCP>|PhYc@H5gPf^4n!YV}kCK$wos?5xb=v93%%^Mz`RRL5_pSdGYI7sD)tS#mWdP zE-u#f$mkw!;iQ7&ZSSd?DkNCv8@Ltv_T(k@?<11q_-_@1;bn0-mGpTTbV4MRt7(#w zEPx-7+ZyGxTh$&jA@vjagvE*bWtlnO)(3p5c(g*_+XsW=afO3|Xdl;k91Xng$Q;uA zbEKp$|7jR~6HMMUL}1JhTfkm?bW&4oV-i|F^%aYTci4zYvM_wQ{Y-tIsPoPS>oM5R z{5?K08zNo8o+-cIrA^^zI<-g~t{KF=z2}W=cxvlQnT5Bhr%9cMm2tp%C@N0L5G$Yn)I?4ANOg!feARLX=MM2uYJB!6YYSc<=EgtJq8ey|)XvF=odan3C#K>P1t9UBuA9c3`j{G?k7LaPpybW$WGov}9)!xsyEUrfprttwSw%YYCqyw-zGCx>z; z2dN(_Nbm+{#QIN8GF-CehDnGp#Cr!e*28c=)QMi_>0;UJTcyWZ*?!eBcEHLt5RpEs zlf&ZYQTBLSL*3Wu&6};_ss7ARj|9wlC|$cHu8!+Z*i zOD|1n{yiq_^YN!V3iMS^;O3Q7A?pFSOw1~Ucy%G3m&WMA2G37Wc?s8sIIm9Gyx^MQNo55k z0o=mCa2Ew8VKaB9VSrcB)}A}`D6Q*m^`SC1Gmlcsf6tFlRytwYBEr9D-`Qgk3a@-yT=Q;7(!Kz+5#2 zRiLIQB!;fTRK1tPt+^_sY^z)D={}_%@&4O&Ko%r$e@4VtaLJe(PxHlxScSRaGBiR* zJ`cSRse`d=368YHlmN~h@A>q@(_s^Z;M7Z%Nm%vAa0_FIN88>ii5;9#9Um9~Cpz(M zD0T8Oe%Aqs88#YiUS%b>HEdkkSe{1e$>0gr7TJ*tk0&z_-K z5QO~CD=9F(q|C;8)*tKpQml(QNHWL!E1*^he=rR|x8KqcH0N`L{E{Xh`b;eA?7S0- ztc)f}0nFvOy0)3LzaH!ClKip^zny~SI}dV$nwb-|_#wr?<0aw^@Wti9ajx(OnA}i0 z!HCi8rED)vj!-!u{<-$isEAx7JQR}&1?)&FtKcaSteG3p+k{p)kyXeEIAuqWi-h20 z_n8Sggtggq-U<{ll`wvZt~Ei5FMzg;6BP{GuO?){OB5?N#X@OuAHMKmdfd~>xn3F3J%fzD|ex_ zAx)~_wm#w768rx!4+%+H(-a7q;>;04mjj;FZ({6a+nMON zREYG8{70e@pF0#j#o5AHlfTWArL#&0pXuVYAJL!C5Vztt7EMi{2?wZUe7M{=dhbs} z+mMb6aKQYfm2VMAUq-m!I@V-de!<3t%XpbIox(eB37<9Fl6?eRyP8IeJ?(mM4C2WO zSZ)4g!(%27so`UocT4oJbUE@E2J#(D{88-qQDXHcAyPfi!^-N`lO4&PXI*}<6FGcg z&s|_lZBn%5t$MnxMlxhxC|OiukDhhzwb6KRQMHLTk2I(u1^k6q{uPDG#fIxERPV{D9vcK{J?N&98cHP*)ZTrKDR<3#SWTuXk>75Xje}T5aFdpo70%Pw9 zZM2A|+2IqN!KXKwL*^r4ug3Ihc7ARrF|&CvckNg9yY)E zWSoBFSA9e)5N&4(*mL#wz^cv{!-`hEe0B&`!lbI7(z=~Ez2b?#y;f*X0H1^ZD}1qj zZ94i>#VWg_{gLX(+j(Z8(rUz3xzsB`K{IP=hPJ9cQ42?4e!XHUNl=iM?o9%H?vztq_eSMm2fz=vCtFsx-F4(6Z6Zh zr~FwJT;ak3V(RUecedeVt|+s+6NtgxYrH9Hp-xcW2KfCR1Ce>(`OsiM{Bvc|enk*T z)8`x6Dbeid)@3FCIt%4$nae?H1!+T(GK=g%KP~&+Uy57RSej(U#+fSOOot}Hv)4qL zo75sq#1$Fv({{&BY*IPh3Tlav-uWYgSLai+hrvO#W9!2Y*U5bq)VsS8p_oYv_G@{5 z_$Z84KVKg@$0LVQTNuWlOjn814(?)xR&Ojmx%o-MQIKkU-ZwFVTWSW|K)~$*A5S5%fwctRV-5mtcoa)^joN#01qHn!Pvs-_!{6^}+`cIw3cP{? zeh(|&)sLYcv>e39Vfmlx5j`rrU6N30Vn5|v{Jw7^q~HW_PuKcg@@=&2H)+E$uhkTM zH-%zD5>LI5nbHkEM;CU3znd_x-%KKhA0CWgaXgIYtT#Eu%|c-?BH|J-9LD6&E8qcp z69-xi7s-)1ZuNsNGT>f>`oqWEygXT3_SDl0MN9v0{XW*&SMzyIx+kqxME+ekfA;|X zx5@He`k#Z?kr`99oKOLK>|Cn>=p`3)F<)om_xcL1;Xf_dkY)?_&V>n#aptR80=RE5 zX?!I6wg?p0HRM_yvEnv^2^o{dig&7`_QzW6a9~}a#v!RPtLSF_E)Q?_L|CEK_{^cW z81Du8fmwI2u+J}$x9yWB#3GL%kPg?fWO;AegX;ejqy6JIZmasXn^6KC0XXh?lXOe8 zq!d4>_LvsPt5ngEeYbCC$DU^IZ$Rr&vOWT9C&un_Zb^$*f044`Td(Noc#6}{_3nPj zD!)+Csv-WQfCl)npKj@Om%HkWw;Gi8?htBG<~RM5!bAL;QgyW#f;TrlfcqTVW&^YM zBg8;Wu;YRN+5pCXeio{$f0)!~QCdn98Lan9SJf5IcurzCwYy7A3fF{NA8cp&sXn-> zjO^NT)<4M&*gGd&o6WM^ZHA7lc&k)ihm-a&(L!Z|lXQ zMK&>PML;2VM$l%bYX;acjp3&~__QuJCv3>ZsrSJF(3AC0(LK;B!I!%*!qW&F(E@tj zE*$yDbzW<;31_AH)fn*H45N!T?gRXZ{D%83zDRtW;Ct=-r0W;QTAt+LoU*M` z;Cae85lYg5akMb@{3DF*2ryCremi^Jl}Rm}k;*BZnd-Bu1)wJqvJykW+YK^AlhqE-m?*KgnCQ>!} z^DDmhycXZzLl~_t&$&fLY|87_5vIh<6oBj9$oQO9CVO5iwrw^U%Eg#Q53h?_>UJz< zFG(tImIm!W+`?uu!<~-6L-S`Ry;O=~*R+HQIssiad|@ZbEeQ8~I-uQ(P=dC`!IHK@ z6Fo1yu6;smtTxxB9}^e>0(-2|Xdggc`DIDdNB0g6ehUBTbFYtA&995G>GCReSIJMc zI!xkd5deE-d?<_O1}GHAq6eEvjCpVJ{qGA8RQs&HKwc;UsSO)A+QX%(g3jz|HF-r(XPe zW7Y`HmD`FG&jO-T60NI)_;tjfIm24G*kuGFP{buph?d`|g5#JBS#LFR4P@kf%anK z1i2dfk;dNV9-~JT*3%QB_{05MvG*Q9#Bo@Mh-~u(w=cjv_6+%%0eOZHd49j5Cx10$ z#7T;30;XpVF0|f|kWIZ0ph3M6&>*pnIO$1^6t-v2ee zSlr*9cX`wsR^@sYlK)g(qeH^M9?`5tYGOi6|0BC`(OXr5B8Lg$OTY9ddo*OMj$?lFJ+c3mNd%wr? z{p^j&5}_D5N;-?Nc>GVjGX+|=AGq2scOBJiC(xJN*aSlQz;|$vj_MuI%_emEOPBdW z-Le7>2QjC!NGf6lJwJq8s)*2F+77kX=|?CGTUc@z#aUjg(^7~8!#RoR1}_v3w0WCX zPNSYV?fP`<(->CQ?TAS4o5KuBo|E`8=Bli6Wt?4JEjp9XpTJWHd7=tmTzcF#-`r6U{-l4JG9vm0c2g2+3oCax@!q@v%*X8yV}%e8G8Y0_{f zY=$3~YhGX?M?G_|W%^F*vxtgoGOMRiBfF$ip||6ssd)9&j`2f|F$pIste$aCo7%B= z5ajZC-~UJ6R|nPcG;8DT?(XjH?(XicfndQBGz51K?iM_FAV|)O&Z| zs^3@l&s*=Ux?6RsPtAF%XJ^iCPtP+wJp}h2Zf0F5V&>{@*z5;!ue=myO7-h(MyaZ+ z;dD_T{&f|OHBjqR!Mg`JtdPuFp85)ZF7-IyCnKzg^Ts2PW_JO8+k~rKO%COSKx5uYPgtge9uD_H;JXYC=jxau8 zWAcXu*T9qzEKsAEBIw7&qd%!VoxVGTwT#fRI!A#fB_0gF=mt54UwkW2#P^N(K_gNF zR*)0|S_lGGu>>ek&~=K5lnDRc(-)g7TnM>^|Dl-YU1UGoq5a}L#L6PXm#4WLJz|HR z07~Hh^O<%*|2S@^ACwr@L3(s~wTBS5cCb9!2C1N`!)Ad5#ty7SA6eRklQ*4h$l9_> z+tM-r7$OVaUJ1Sr-U_MQrPl@Y`LRy?$}|&{(w@beK4X*#I>qBz*ZC@p??vq5_B8GX zaxVh<$tu|Vl(9|BOT$kt47Rvhw)ObP5<;&YoQq~MPK^P595hpA%HDXT*FV?Z$cm9# z9r6Y|ukOBJ;D1K;CR$(t#~6NxS!lK~mlr<2A74UFPla_OSN=Y%;yG)H+}c7MTtfu( z`5OL&zyBnJW0Vo(jIC8yO^?s^9z|=wy9=qW*YC>44#54ehxHcOf=&oCiBd9?3P9?M zFhZ%}!7`#uiQC+wNdbLiC)PJS9LZ(4qr;vY38VQg*&0xiY94{R2U5RT0DV|k zE-bNCT5hl3BAPY&1)b&I5nqpPZRdm1^~IY&e%#$5_MuNa=@;)fBvPpn%Si~EM!vFW zC7sf4^ND3*B*^*vr}Gy>uZCO5d8RQZe;;OdMu1|_)`nG4@AM^PO?!*SkdH-yg>c3d z8#&7QzD|ws6OTEDT4=PMa+aGcgk_PDE_|Ngb&aEBV3+`t!UQ@@U&eyLNVW#WgvTQ1 zDDr#EZzox>A2T~qA#2}5E6fMk5qDfl1NLQ9@=rpf(sn$$mjg~;uCEPRONB5KS-!~` zS_j%Ij|Vu_7p|JfLD9iI45L9v2OM((b9r%PT(-F#@wx@==o? z=XEprB&&msdA5|nYK=Al>#?)ukxrg8rU{nQlIad!s8%C&&}J{KDmJH{`KK~#iiix9 z0kbt8_<<6`#Go?C{n}Z2n>;tIpZ;^?IK5Ape$9hsog1?f*<3#a&@--}TiQrr1iFD*KEuys>Xu zNUJ7RyptZ=v2}jwF{R->Ndhs&5PvSZN*^@LzMX2=Es61z4>-W?aNnKFH}H2;f6Sg zwoX%_F>edA#yOAyWdIhJqbc{kLc2EaEP?|AoWIWXAv%AVF8RziY(WM2(|?45vDR2# z4EapjIBHhVycJv<^{1{rg+C**`QrQTvH6-NvIxQ@xlhF+RxQvQnk1(ioL>_Yu2)jF z5B{vFtm-}J_FSw?jv@P=bi|0%^bjG4GY8_9KH8#Jo1CspiAJ7FxbCIOOzgki^k}zJ z3K)8o2sa6~7gsT*ftsuOtt-(A1)Z2bW*hIwk)i7YZ;*lp&i}1lOoQMVQGJA3C{{kep3g~QbRHBGPb<_xYC3Nv z?}9cTrB_X>Ws6HBkIAtm_LF{ZJQwwd#7-zz(!S{QJ~?uxGfZF}~`ku2q!&5j5KM{E9VOpmUQWQ3ND7 zKl=2TX<5r#cv$rN&!Z$KTK--7*nl=~UVn)?`|Cx`9N5p$mr}J-?VZn7=XWAlz0$*j zLf^7N2}VM+xQIeZ7GXjEzI}XD)Wt(w;^!Q8zfE18=Ebhf8Jq>2WuD6?C0(CG(1-d@ z=P&l;)Ay7*|C8114L3CX7dW}4>1>{a2twZbWCJAkR8Yr-zxmqHJ$7H!3EL)*P zHW-KZV{IliWu6hxG`7=rXTBn-WgoTI5OC*!d}?LHPp)O6Rg|(+6edJT%1V$pqW7aI zkmrU8p+Nt0BKp5B%FbLR8Af|nih2g;=6gd@B4`g`ywNDii9rS#yysXB?;u%5I2#Xd zBqt|2f@d9u!6`{qVP}ORTEAD`+GK22Xw`h zNTWC0X%$2St!jhjOrN(A*|d-b_}=82D`Bp}UL(KuclFkJiw94PiMWWsK>i8!?YG|# zQq`b62`P@BQl@w#_`PoobCmp~NqpE>Yjd8ka?OW|-BtetZ$4&T8<6wIuwc8|Yw>Bi- zfIdrVBwe;km=M1h%*eR*``q>4VotB*C;XA|IS3eH<2S6;f8dqXLo+Lt$N-Y>RcL-73)D zb-PL+=w(#r_Dr;r+ZSQ5z`O0y>yx~;>BbZcDOKb)1oRnlW86Zvc`uUPx`i!ioS&U( z_o(agym}Oo+me_07={kua<_Sg&}hkw>}-yg-`S_S*XKEQA&%kNMpB@@R~B320&vq` z$VKw;5w}s6tNMNU>&t9YKVhClIWv;*htyM}?mGiGn3hfC`ON#9=J~g*YuT?tKRHw` zaXDB&R10*|S6AwS?R6N6Lzcq9d8^leLjLkk2J;#cg^%ZCu1hjhTlKObVIa?gk$m0U zX9ne$hJ);i$%eDd!fQJABthe6G?{EobIjlc)a!1aC{{AK70>>n*Z>X7V4JVz@>5fq zdyJGF(U$h`4A?K}0f(0B*Ys~<64#HYjVWK?T_3g(`o=XbbHS_bN3VcBvmX7>LYad_ zhIa7Wz-P;JycdHq+d1AOtc0H8JpS7oU|buK#q~pr(%YpXEzP^)9TW!>tq$Zx(o9gz#Ad51#Zdnr^??cf2-%}I{^ z4IOH8RHS^=As1DvIe>CszD21qzZiOJ99qu+eFl7>{K7Gm4QtbfiqpMPGt=E4%)^`Z zRa6m=8lSwi?TjDV>;ocz=fDVnJz=MmTsB34U`lob^Z$OzH6)tU)bz?fU zRaJp%HuINz{MHVEGfh9pQxD`3DhcPqNHi!Q$uJDO1$l6l6lT`z{6*+p@nN5CbQ3WD zGI@E7(f5xs5aKgk#GEl7e1QA;<{gge6Od%zL)%LGLMQ{|i&Z|+5v0)tB4a|@`Do<{ zivf6~iCm&V=C?2fSk+Y3m)*)hxoK>Pl9mMx$-qxuvi|Dd;9lySXeFIBNi(rkt3{IS z{s%D5+RHqi+(3H}@rK4oST=%62hc++wJNo^f2bZ0-liAMAl-ho&)jHW1H3OiFKCL7X*{*F{9hmsKQ!fwOpb4wnC!c$e#~XzPv62`|N5H2hCCPc>hwhAGiaBZ%s;1jHHHfx z$}{`_a^LNu+g#^HUO*=-qhlPUYEWb*HK6RTx)uvM-WQ#$ub^t54)3JH^cn51fc zseVHn1kOceXXX8a{P*2x`+DxHTpwd=eDR~*%nu=NN~m4LCSJP$`tF<12n>T@w` zI_QV}{INte;&d(y!4eK@Z|X6}QT3xTq0?>ryk(? zs29mQ1b*!`m%5ChFi4GQImR?ZXCrA#bL=gbRyW@@aGa3VRx34%yInT5URx1ilVKwl zognYPT23)IT}|MhZl?tL+2ZGWH-&XKMSlnjQ;kN{&_#9b*8b6o9)I1l1p|mEWB}JH znbf*D91@Xl6=>fEBVBFWd;fM$pWWnD>EtYXq?-YNTZMF(gs%v0RD*b<=|I=|qzM-; zrmQO=TbSM*vpoD77Qp>)$zSaAgllRXCjuvO($1P}?4aqV@!8nCuvIB_tQZ~EO_ogU z3#6(WLWc8A(j@F`l(T(%{Q%Ejd5l>=xLQGD=)$JK7uw`)Xupka`d3=!P9gu5CfW&H zf2BT>x}nUQObE?SXb30-v~ntblWc#bJbS$EU+F`;q!K-9fTciILzuhS10h~EO9Zcg zO+H6)$vD5dPRaxy&uiY?Dg4bSjT`d#y{CrfA!qYLwCIjLI-hUusNKSXuYL61ic}XV z77ft1mhPq)ItYq*ncnGcmlvIQ<^+CFy&qs5LVE6O9Pa0#q0dsxW$iv_8;~H{mB)?! zIb5`iFL@tQO#`A2ZDqe7C*;{z+Fg`G_G6`!%V5h#=H!=>_-U6a&ZQ;?{B|u21a)s1 zE$xyrdDhaeU|Px}IsL?yz1&k#D6b%NDdI2K!JI@Qia)4>mX8$6Qd~qNz7|sfKIqw^ zC=ap%9DaefyhxIIgvU=7XySA`O~b$Ce?LGwZUpn;>>Th|ZAVlUDU{`K_a1vSC*@rr zE2~~AOA+=O5nrZ2O!gr-QzovW$BySvE0E?Ah25B0FdAy&8nv@Ppu8SJxTh|cBw&EW zIfX@rq8DEBCeXUD)+$HS9Ed-IZ_zVT!OZud_7%NV@)qb9h?VxBb>MAvA$E`43lu0r1T<`jiy%a!UX1OD-_CnY;A(}6qhm>8ZoVe{~Qz8@cm@0YAAEw$x+O_ zw=-^{vSZtLDe=BPlPUu`1>V>J=pVf0-^_RY4T~BOB}g4q`vlUimWh>CHpMN;*N&<6p=^lyoow5>&cm2uY&yRJSfIdPAsXdFDXXRHdP6DQa zM<0$`?AhpFzU6(=%BFG9*#v!QJg=guCjp%3wn)iBWV#aC=e%7e?NOL-U-%h*KwuI-V()bF4xoI93COYUlnmT_|2V5mo33S^8W3%vkQv{aO?BINE$_MAt zI2;U(e!RDMp4$Y|bf4v3V010>R>)W>a=~Yl^%S~-`u-&0jGF!xqwE>E`#{_OJ!jjL zAxQUNz;?af;;6AO2;_$BqFyN*;t$_f%QjE3d}PvBz(FBKQnS9|vo|_gE?WnA>NB2V zM3by>m}yGccx&XL%Z3Vqy*{{|k9`c-wAR_7;8>KhVry->*Ca>F(mQ+7KE$Wq#fYSp z#!xja3VU&=fenrcT=nJR5WJ;uR7L{0iTUf?aiu%=x5d9#gK5VeiVl&%F}2O%ZQkl+ zzW94G{L)Sm$TH{Oai>X!u_m}{1r9 zteU^E6c5Ixx8T_Q$#ToJijG{@_nl)17r?nZ3y$*Evn*2csHm=kHiX!tu9qzX90J6c6uH(A z|5vxSfkG-yDrh2uWgD%ed~WP;A}8T*OCO#5npkiBzFl}5Js2h5zT z33wLKjLU%u=SM+Pp{+v&dgCVJmdh#B#3XNI43-{!jk`cxfG?&l7ehGA3$P4lhK0n* zZZa`pABP3_VlT2X!h{4N{T66sh&4J)`jiHFWbyt)O214Y-SKKXK!DMR9&xl@nw<47|tXbAiiZ#qVQ`Q3A_x!mhCLuRem=d zftELW<9S!EYoQqX6+eZp|7B3+GwpkJdo-IwF+I5K9dcd%O6*i*REdtlQJho4&fJ6@#ius7Na$YX|{hR{zuC%l_S zCSi4KM~F^lUUyqct)^g?M^SyoU}giJK^r9l{2I=r z$w0N#$H%goe)(GnhC}FG1&73`22d}nvS^xBoT0w=ZS}f&LkdaiOq@gOu?G zd?RmcmSs=y=YZVU59i|~XkWp1{aB9(GRg#XNdG!4t|_}zyQ983yQV==Z&>I>BU(~4 zXk+$P6NP=6SaXI3%D9LLrlWLVdu^3YPLM;TII@%tX~8wPG`h4_QH)`uOn=;0V_%Wn zQ{;uY$C5<8y&Hh2D1+!%1@3RF^Wfus8goO9KiTdG_ilJVka-$xLUcPYln|RPC1V#Gvh!tt!#F7G*#0H)5MoTt!G!9q&&?Dq(=IR?Bk=2#Nvc9|7{= zOnQN&MmM*vaNWF(vLa94iKJiyI>oaD9w8Af!T4gd{?i><_iBx*{mk%VGY8w@M58(E zOy!9XbR83<%@D91O3LAFkF#}@)UcyW2s^Vl6)nLW3a>Iqy;M_$s8`&;e!2LH-A07~ zgF_+kWStT5F{fBC3*(y~Ix#Evps+EFz`vi<9vK82juEwHBV{CaVSB_zvfjjMDIwXM z$)sbybSZG&_&=48!m!N66~_Cs)+z@HO{EF5R*U{33I7Cvt?J@-KvMlAT4#uig=mxzhMkcGni|zy55-C64Pz9{n(ryO2#pjgM^uR! zwQ*HF<{>D<)aBJ1YP2k|CcBgY-?YY17`bD=!QxpXlH=Wewqy&@iOXY`i{$JabsNL`R=T4FLCz-IjcYIR2+gRutnZ1(4P3 z)dh6c!j2LV=xRmN9M zCON(Aq&4B>GlO8G_Z^p;my0|aU33U^g;4uIkt*#%;B|0U3H2K!|c+L&&?#!SBkHWU9 zDp}%S8JQ=309PF(UDT|PF#W}ikWdmAGbd&SV%1DN0kYYpqD)gF74&genxT~yi6UN} zNn>(rtnI;}#BS6dI`S$O=Fel_(LBl*$*QhM3 zk3c$4LIOB+bTvL!@uhiJs!Ow19iL+6NlpX(@~7rHyJ45B9YRq7T<`TR1K}22x{^vM z)T(5^5@iPi?81rrm!2smt@zFakT*)8Fbxd&b3A*7-`K@(8pek4hD<+GJ^Qvgi!fQ2 z31bOBUv~{Rbw=UG;pc*juW?*BoEa7&l$N3mPQNFzw!V!?fWCE$F@ctmM;)WV>&NC; zqMsRS;R8(aTx%HL>BOu~QDeb=w*U6>*;QCxu8-SvnDt&@3uZtiis^Zu%OkO;N>b~+ z5>PKL)n< z(37jXO*!u=)In%0Lob|oL!do`a44qnM`8A&1+AdoAj7|q3LL0FUJ`}q1T_-288xzhU4r0D z9xUIC9P;EmaOWhZin24GNs$A1OaV$1N3LaJ=#*dWHeB-8LO{8CcCq^fy^})#532a< zpzk0)UziH(na(|=MGKU&Dg8<4GD#PUySI>pl4lSiT zs-nU3>+BljaoPs=q^!QrdD{Nc;sNk9eVUvmgQYJO)V@;oeDR_J%3a$-+22tN%CBsS zy1C*Ma0BJ+SByv|A+=V>ghT?<-F&V<`Q{}Z59wh6wWS!I9V31u7&lECm!M~7Rj%d! zdfkwkcUly{pDDXDLF>c7_6D86COO`LJaruIEw>lZXZ^j^8kxt%2_*oJxY(eYj6#k| zAsh@%wlAm+lpE>iJ30HTQHDD9p~ODAfcZN9S^iJ^>ba|xYutW2M)ms8BXrJ!EZysr z+%Q2|Omo^EXE<*k^e5k4-90LnUtmS$QB1m7YR9IrNi+#+H_j}7BI&X#2nXj<*-n`a z3)eAS z5VzmR;8LqVJK~oKXC!hB$D3=G!!7r^&pmVtk<6$KlH;U)$)SMQ6!e>z8b5BI6KRYD z5}>BK^w{tSYG=!T6syE{u}nEzGx7x2DL3~JH%8zwrrKhWVEDzmQ>{ZSx5tjAJ zg*_Doin^0RA|)G-@+O~EnfX9G8le9^Q=f06zA4Ho{ObK{xn$n{Tvo^;j}2NH-9?VC zLbMGM!0k?Gd=W4`g&e*`%s+svQj4B1yW!W;4#|Re_EhC$0Xd?_U$I9Ml#I^8kY^SH z8HJ-GPV|R!^RtO}-tWlbIG^20hd=1GWb)VyH9>F%iq-^{J|_@UtcF;sPeCdCgX2|=2wKI1G5a@tN%$a6}0RB)A=Z1GKaBqcb`dVZfi7O zLuN89zjI*TZR*uU9Cr3ZVS!+w;N6sN&6gANgV~0=wd1AiGQh(4D}#rLmAiTCAl$RR z81#MK(jV8VGX5(Wk>8p9m5~F^mVf2uD-|0}g&=ha9#;G4l2W_8LsX}~^1kHQ<*&>V z>X4jR)5m6Aon*%=r_(3J9%s(#R5R~gL1hV*EuakDUEm2edS$TonwS-~)DyN-cuYvX zp8|1FW!S~(C{)mGaMK>MR)MW~Y!&3}O9juVpFUgD%Lf@V=)iT+(>6O|u}0l-*xvV; zEO`vGtlJ0S9}s2e;FJ@JD(Iey`-P8lw~gSSr)HtZhR1Ew$RB+pD|2pR?XWh|+015z z>6Y@Bc+x@RazkX){J5E@4=?;n?3Fi#7e?P!8BB4P~ z7TD1W$3_wC7S})n{S_}B!5rd^D)Iaj*P*kMu~k}v!Ac?&_JurzC~|YDX(>Uv+H0aw z$BMRRTMMH=Xw`)Z2&a^08Ql3kCG8y3K?wEb7P= ztLW`+;nQYSPE@;O743XGC4#jhaTJJuU7yO`>4%*3jG`w;Uo?+FLtf{Ka`cExF|(*m z>o(cl$pgO`K`}d>{I*~Q_+sYCNS$&rMQML@Y#k$d7w^>BIey<=dyCYLa||a$D zE$_LOAT1jdU^2)|Up{qQGg*1agzp7?%gI;2wLDQrF9V|Zhkeo21~`_3-)^{6wh7fT zaM>SJN&@;&7v;`z@&plRG{RG48}UskAl+d-8mKs^p+eZ49LK;pvW#2$(b)KTD&ESK zlXs7wAJ4XOzUiCMcTsz@4+nF!%78vO>;^Kz+}nv|LeiyU)|YH72tk8`EN#qWwY&q! z>q(%mx@#iJg7!d<9~P8pISf4}gKYCX+nw+D&+g5Tz>hJUAh$v6e37U^0XH&EC-{np zWU$11qhzVv$Aaq6vWH?ZdK(F-_aL-)8c|G>PUbj1jrab?=h%%zhL<;~)MQSVex=q| zpp9Izw}jX=dV~3b$dW_+-I?+MYy1rEwyD})xET6R+g8xWlS@icFToy(OO7*$KFyzo zIX|+PUi@<&u%V@?U#?3fI#6$wTLH<+gZOwRcOEU5{O#_e39 zCexjpnpn9Div2{iVgdBczsk#Ubyn1>QmacjewO#fF{ChSjBb9B%qTzEJTHf-w+!W)q8!}yu%$~GCywHXxU+?4cTe1-v4y|;*{e?(OFd&lq6;g+h0mso^}?I z$k*~&npjG(mi$p2MvRU1YDSJjs6tBOvf5XxGH*PnnQTH6z04}hofQRjyrRYxVM1oc zFuT1+z19LkC1z7?eca9A%Earp^@d#-^Kk9489VtFk$U`N|WE-YsguM{qH z88E%5FMRcHYUP(`eFXNz=XLiP5Sd{i{&mqZ>_DJ|rDFWJaHfH?ZbA5ot<1vlU%%1N zjBpZEbtsp5p}nln;>XL$iQ{i9mq5QGQ<3Mq(Si`L+(&ZBf6EuwZ3|P|bR!Y!DTe@4 zaD%tro;AtTnRBUjfTm<2^w0js*?S@1WKcX*n zeUl0M3b4gy3Bov<<0)jF?0KMtO0h`>zna**JaDAxd7bV6aKwL`1ALcVK=J;kO}(>< z-?tyPm{nGH4evC@*5n^htPD`bMtj6PPT&oC0BzBEFA-^kYU6w6hu2O|&(2Bg=W+TD zn$Spyxt!Mtk7f20|J84-_C1bY9!$R%o!lmK7w`K&6iH}Nq%dHNy=eyHlW;?m z=bxgNaAl+v9IwP3ckPdhstD+#N|D>w{r%*-Vo;x**^{~3VOaKD zM%Qh6@G$pk0{`E6+TIFQe<#*)Jb1X@Nm`I3k^jK5Y_Ptk`ZLfWLT#Zk7UXR|VylG? zG3yXdePk3{qy14)9*wVF_hKTu_kQHoF_zyHsJDmIcSBIpkndKeT7k>_iHNO#t4W`k zOSt-TX`k?C7IFYLNMr#A%RU$J3U$GP?)K${&}Q9hdUU;Ip;g|BDuz=L04MEw`a(!< zZMTKH@#^Dfr22zC(qe4IgB2CEe=8bO;JkPm zam$78@Gam^Z?e@wqQA}b`=AQ5*H8xfMzx~Bvay%Ob0X= zWQ0#ZPyqL5d*n9gmhXp=GLg%9;h=Ld9r7^b;H?Eytq7ws{sAAHZ`~J&6b7rc*Ry6U zwGUh@vl4JGRd%G3*AXh3rA@M5f;Kvz<4$bqk`~e@W5ch^H0{)|zm`GicLj}7%}Vkp zwGFst)(A6wwPT^wV#P>K7>1c+Y6Yj+?on6cowuasj7J0I4BTJJwo+YiroY^9o8D*4 zuca4S-zD}pA(H3F+T-|9!f<5)+gE(2HoCp)!hY%04D)7lcv-Q%U&*zvY zG(Q6G0|gfGhSZf5`o#^AI@BvE!t-Cuvsm1uyM(1u4?R&rkC8*DS%)uqh+Icl*8lAA z=($4iB@37Kz}Xr0@(dqv(=Xb^N;m?+@PewLzL`tPwZzZQUg(F18L?_m%h%M6Xrm>!g>~P6q z#KRqoLD{-Fi>A!T`11!+a0Y)FaONa>? zy-#Ai7_+{3aN?xAByHNV9{k~KY%0*;7=sgA>?x*IjjEwDV7#mhA*SO zC*S+nX#7t*8#Fxp>XE&2+TsgU_+;kvESm1Al4RO?;7r4s_~BHzE%02TOYFhp#^~cY zFPaHGO^;k7SS%>MeSsogRBrxDi2D?rw{vSZSiMtoD;t80ie!-M?3>^AeX1;SE3^os zfj%2d1AW61j`iyy-_`ww-_gYhu<0tZub-3PSX-oNAl}Q52%;kb^+FG5Du$m|z3=_X z@u-CB#Wm~rU9B3GFZlDzlUQ0vY|uyhv1}5~mR_WWBH8J({tjJa5KfrpLmuoQ%ToE8 zq^KnL9y+FNq*;Cc*q>K$IcJ-I$F*hsP#6(||4I2OwWG7K76z#I5H|DcXfEB7k}tKK z^MET1D%$Nx$}w}kwO9Z7)3E_2fP14Rk8B!9Wz=3z?SbQH0n*d-RmJbYT2 z3FchG%pWrvX`IVZ`m*d}&8e;t_%lX{U8YW=ISnsf*5MrNXB_lH!|Hi1DsqgE#Z~@M za;{{)3oql&ujeRjnyatg*#Y$quwy{pd48wahd0JEI4NHvYx(?uc@i&eWpA>}j}!~? z0GtG95n?Y~zGZ9JnT+RoBl9A*K|E>WyV}2)kk$5@fdKSX5^&E#-qVDNyfKMmF(IK3N3#x8u+a`b(z$p{#B+q_9R*&cMq}`Rx5aC|a#$Oj&d-#|;P3Dvy#|_|G zisLu=D+I(*bzD3hs}TyxhZx!#eQVt7nZoJt{7e)8T*Y+*69dkQHl+qZpzTqGirFBd z!zZ>6=M=CG>95l+Yyg}_+^kjr;?qZs0|ebRjqQqM$HN52r%zEuo;>Fy#-G5sL<1B$ z9rNROq8Ooij6NN#2ISCpDhJ{zE#6H3n5|A>RzTl>I)8DsDLq=y4y2Xwi!y8Od>Am! z_bL0GvUMiC%Lfc^1q#d>Fc0tAXcKiUbwIg+%P`5>78cNvlaFQT!NyxxIJJ@SuC_8EIZy_q;nG8l+|T`&-i@Oq;(Ol33j z6iq}(Za{h2z#^7bs|mKba|o3cPXrkMn}JVCE)096;EBR$Mbs^83E(-8Yt6@oCron+ zSe4E`-GS%PeZM&3vvKWX_d@a~{$>8m58z8Onk9y%Ha!r(eG^}3{tCwP3WrN$47?VF z+=zB%bm_u&0`RlS%(|iVPi(r|(iCS=vmnoFi#FpF#wsRZl>_TFu$lzMK{JO=JCN~D z3-JcRDmd*T;Q@M3IC3b{9f=@L*}D*%3jdwoBga6&@ygRx-QHn9Yb1S04Zwd{pi&aa ze{DHYkU@)H$tq9Z|eIF0B<$6_#EiF(`w!g=7hMlfS4?K?t zSq~o~Xk%kdp$}R*&Au%}l|?vRT(<~c7PzpP95;jhmEg2qwe=bs=9XycdCcnk+l8?l zl21+j6=kex!P63E7JxoMPqcGOd+Uhf4Y8u2DQxUn(v`HFk^zdgAHdo}s8ER` zsiQMs2HnCa3PZ~w@hF;)g}9+c7E`a|`&XdljV zPWgYMJrXJ1Zr_+7OGEL-NLKOF0l3?B%=>E2l(#0SC#oGW?%sP0b4Epmp}mB4D#5is zt0)27wEc^v{o1*^02d96K?j|JPd`n<>^J}9x})o~Jn(X%1#nTA8K1feqheEN-!H~x zmhvR~j4j_ZA2{`Juzv3KA^^veZYxQ-VRUBa*L(c$WJb$$RleqFr>BRUT>juGKt7lT zn@HB{*7!(KU{oj(mxb0NMaodBA=K>jx zQlx-h%u?LVsyE+GHR~!wYCM?PjTxrglIg~u+XG(!x~rF;>yC~R@vnT#TIUc`;DM$t z6HjN9-U8D?@x}75Bzl6T{VPKk#4P^G?G}IPE#ef&zVkB23_m>_)W|A>Mn;Y`MHJL zp+E}qYix>)_2@m1*Ffo>L9q1g^rUz(%W_}h&cVEluaF+X zr^Oc?tGcr^?;3;6f5DpmRr2W~ zSu|frTO^mB5f(ZO3Za25e0~ybUu4X06T)@+EU5dOM9#c5CGh@EN~qFIF}|^!6kzV5 z5DZM3nmcB!mtSD%fP`E`#xqrrHx%*R zvG{%FiymvE<8EmjY+o`!A#2i#gr2Y4K?v*S>i9msLP}q7oiGdA9H&PMmQ#=9M$j0N z9Bw8epZ(H>Q`UBEz`?DZ6w0>0)(7BoID+iFBR=1Y5RMvH6$;q0hrflBYrduA#v(|z z{x)kw1pGFiR}9TMsR@Au@vkcu%SM}!xgPo}X$Pim2(y)*y>%N%5OS;_&%WTt%nP2KbOQRvG(-jtJ7d@;@}=XQKg9|RE=TF% z=2T>Q^+S!bMDDI7fMYwnFr0ymmqk6A=ZZ=;o3N4V$jLdM=2j98wX$&I1ji0Enm1(x z?R=YIKGlZFbg;Z;%VNZttO88BiXZEwZ(BfLD>9dm&rU;+voZaHw9HRK@^v;zO8nrC zJtA7_k#LC|&}QTgwZ@EMB{|MigalhQ*Zn!XM_1cT7x$Nb#FQ>7ni**ONKv||EF&E4 zeoMpN3}}CKm6oj$Zgi#!?W-O%qnO%f0NNq@mSIWdfIR(A!Z*Qj3MEgj~ZLexbiAp6E>bBd8;H%3B}oK!B(4pAM5?V|3(a`mok%$9-d#4U0IeD z#WFki)GXPRe{rM((-M1fLka^4j7fvX!{|TLOoN}~{ z{_nG%M~e&=uP~5DcBW6MMdD3yD(_`#aRx6ilyeT#GqU@@vFKGGGbO|MKe4qZ&*?y(YQXQe0@MislZ_vXO z(G9c>(Nryio>~zt^4kqDUi5P(oO{nBlKmTEQ+)zVa=^aadX?(4`F3Eb9_EOec>GBo zWNzSb`e}#dsKkSs$R*3UWi1Y+pR~tw@zBaC7h+2Qu%o2LW-L@*q3oJlEaV0c=x+HQ z*eWco%{;+9<9O?Sbrt|$+}l$2e<6ac$>?s59?hv10D)q( z_@feD)qIKjRdhL|8UHqh+h8@@J{5+ojl7OV4yQgr{z9&425qS-l4%)tSIv7TYKLJQ zc`Hb6Cl^d_^Y7w9GZHLliUgy=df`M$EsZ_`eV+H8I#0B)OEO;Au-Z#LyH6M73)}-!^fchC{40fZly@Px{tkhd6}XjGA}2&z%CB% zf8NzN49;DEu}1t^w7GIYKiYq|%Gfz!ni&>udJm<{sRO)A{rnL!JLtGPlt~ro=T1(I zOj8h_HzQAZ;G(+4M(VMfjQy#`h&IASk7{an6#S+Bb#+w$R~Tt5=Q5WcwXWFN)EpuWp38b1k`7 z(MoADtE&OH|EqlQW<8@D^aeBMe4RK9o`|(2yJ`};)ZzuJpND|AL)Vm{Q_rJaJo|y= zww8#J!jrlWz@whM$0lF%hlD`c!A0wQt)tV25UXgp*x_lUp^PSg;L3d*QA|mv8gAW? zUt^G^y(ufyYb#z@z%Kmp@zEGQnAU_cqLDFUil6-gVG|x<{@Lte?_QinEY`rwAB(^d zyIIragRF;XZi;(q-!30x-JS+uQ+WliBsP4EF}Y%DFpn>gSiN}UslJvW<27$vF&7CU zk^p@1`}=2ieOYWzepUv?jFEKiuF6}@ce}?ngu}?ZR|<37hrZ10;ewm8`xa8Z-V^~m z!b34Q7*w(Bwr?*K!b`_Yfp*S8<92F^+}`dRI2>mYH~Bi9771kdC5v$wc&%+ zt7&cT%|_G*amnQGXv36RHo;LWUE|ucduUnni`U4s-jN%FyF_eH8$m{{OWuA3(-~3V z=dgOG%LR2f&Y$dxeabdmwCotR^Lp}UlpoE3b{-Jy68q~O2=%HyX*TLaIvVGpNec~( zn!Y2~yx_7E>Z3~-ye?Mk$m}5N$Cu{4;zvVKjC@dF*HUYdLczl+&4@b0$@GD zcSvJte7@IT&;U3?LIxY@_N^u7l9WyTc*L8nev~P~TMx||_&pvLOneCd7t7xkfkE}l z?u+QxQrpqYP@J;$q80@^e zGr?s&Xg_`DYD+hWK59MQj;-yx2(11nvv?G42x0oxGSn1ls|Whl@DR1VumhiG@51%M z-o=C!z~qY&95k{WltYfWef``A+8v$O_%1INL!GyvMFJ~M?j@anBy>5{sBy5o@)OWT za}WaB`}r(NPQq0CZn)m(lNVdm_y&|tQo8PyC#=$AmX~#qBY?e4Ik9FLjUe+>Q~?+OBmm9Q*eN>cqI$FT9`)DeX&zdW&XnTJAt=nQ#D z2j~lflFlMb;%Ltai3(C0)EuY$^3&y`_@ESBTTMs?Z=xoEt6^X1Ae}(ziWosRbl_W8 zq#iX9h-Qa_!u*%eo^vc}eFE;K6zTQ@yn zB5L)){KW*;a_kPNG&oZ$HoBNUxj`OQz0d+m^*&xAy~yKb%-}MZM}p``#Mly>-cTWOwm{9SAK!1)ru$88@INtbyNek2YwCrC=L0?J(@_;|&gc*Juv#(3qw)pGuK<^Qy= z21LSRRU9xibUV8wjbriX!`q{0=68l9(#MLh2@Fig!22@4Bv6}K=oKYg3maZ8H=@v< z`D@(4FE;9+(dMn-OJ8^ZXVhD5VHj319H<7%+x9#>K^xQfgErFm%5ZFRA+o>{T!%4Q zyj>&`hPRf_rlhE)LmE%o&UxZyG|@Y=J9$&P89@N(yI^sx^&%Fl`oev{bgQNxSX5$U zM&-r$S*P7M6oYXD+!GtR!KX~In(%YHI%qV0ZjW#NYmrt5%j2?Hk_>bEsu&o5&`9)a zM0CSJg>!~AQG)1ADnZ|@J02^1Pc1K+x2gFr8KB-*abccl&$2IAXLn++kCjwJ)wp#m z?ja}G>W2q%MH4`KgJW&Bk#GW!^JtFK`ho^pXi=F)znEp$XibX6FDJMVtk-~-=WF>4 zjPuW;76yC_4@$fc1Fi*XZ^WRTk^9oXccMVO2O=mxr{UpE z1Y6mKMj8wig~wH>JFuXg2H&|8>3?=P~Og%DjM)HZwM}4>_jrbo#jB4f897 zIjCBptek!}=6iE2y~ub&f-g&ucWGF3^Th>*e`TqAC^7LjOUz`nUJAHP6;&});+KEr zUbV00UzvLUjrFe-SL8tAQlXVU$cQzIdEkdg-`N%VDVbpm8y7YL7S* zGKovP&9M@d82$|U99>;80$K4}+-5FJ*5=CgZXF@5H1gtDWK^-!IxWiu`sEVI0)(3G zu0+_z2wdOHJT=uBg|lk4iS34H#pWy#VGY-toV)Ez;BY)|^-$STS+B*Y)Rak=C3sNW z6@?ou;BVV%`P@C2bPzI3O&#gKsB#iYSmYQ)v#UP2Gwg@qgSm$SPK9-`m*4RPH)oji zjwv7kK4{g}jTlpdhK=X{S(s^;e)%oySux)ySuwP1VV5K5`qPH3xoi{LLfkJ zcPF?L91;i+z9)6>%&+SC>iq}qRGsQm`>fhMeP(9$?$vv`1yYrWN#ilOb$;`=6z$Xf zwg3G9_i)sVhz*nJ8Pnkkqm`O^pZn&QV1YTEB7=7WTyn@`B$Vj^N)}koaNav;ZpN}c zw8mW&a}Kk{(y-t77huC_m))H5ij}5GK2zPf7>cbu$_DoTdDX9Q=*zLd0nB(-}OV7yn;*#aYhmSOoO268QX-$T6;KSpV)5c$U$< z)(_}1Ee81_NxvNxt%r?aeg6<|{@FuGLd~@e%x8Vs*&1}$ij*Y*_f9P_N6!daLC*|} zuNdD-X6)6A;YKOoe@w)sLC~G^^nafjK@*s9aRZe{tY`bpH01p|&49*rMo_n{dq1nr zu$3P+62#19GisGWQtR_==GTfJV_R{-@4g6d4ajrlKTkg;CL`64Xr6sEWcD~wsACz| zze~;p<5!}%#)4yMLEM3>#wA<{5w|&6gbKce+4Zng2Kr`VPFf>Lo|y$f;QYQil2n=n zz08mn^ozf2x1#gcx!8_(f-s!Fc;%R%Wqj5N6;GGY5P306 zTfl~TR-=L}1NcKdcW1RGTnfWI2MJ(XdJqq8Yn3n8IOd3(O8d<$hDG-*5b{+mi?G}xO%JXr=nIfCJxGO)!g0X&HfPCZljLkbo1rD!r zkt!B=exom8Pt`fyTZyB1nN3{4`8|K~Tui&HDM(ZE6QCWF4lgG_Zw$&b$r-t(T^_9a z00ZFu*Yb;fVmo0+5R{}goC^~e~Y_M3RB8@3$vqN)RfaiR`qc9q2M+Um0>b1 z+&odOa=fzPbSxmHA~S;r_~l7-LyDdEGc8*~5SNZtEYYuye8pPqSikIo->^s4J4TzA zzg!rlK2u~DC1PpK!}9?=8p`=e$6V72@qwF(fH(=3AZFmB+Vm1N>APK2tp-6JWQ!aV!=kXL9HBipBBdg#70~5z3I$^)1t3cxuEKe3ON$XuFMX5)=ltF-%WM zg7ecb?1+Q{U5t-4_?NjDCPTfeAfB1X+H@kF3(5n7@Jo7nyNx!{WEBlvJs2Ffe)ATK zg`b`rHvDOPxba19g?_cn$a@vs1YArCC8kkwchRhjEwIZt35n3QZVvPO;}#RNllch@ zS^K9j>GOx$;t*W3ya7@EZK5ySgTn-75efWU2D^M3Iob*WjsQ#db%qkN(GGPdX~tQLU#wrwHgb0>b?u}mB>T9rWk zapkT5Ud}%M_;D(OQum`ZfD>vfaFxcwvUDtWs9)66(AH9k2Bw8M>S#6D@Tl+*Ah$41y_(lN0?Z}HX z66E8X81CgZ|KTSfmdzPNk9{eahGi&r8)YyI3*bDf`#9DUP34R%))1IBKf_~@-qH@1 zaFh+1t10fI{J-^3MW%jH5ztJx?`U636@0kV!4pK*4Db-KULq!38XHOj$8UD)>7VTk z70fmWzjzyos?RZGrk7PBmN<#UengjVI|uKV|F!($czhuQ-3=TRZ{bmGe+~!#Qdwer zV#;VZ4fQPHr*CXX3b-xE_LmggQ1T1(2WwGifQ}ldl1%Sv!_PzXW07Vzh}5fO8OxMR z{geO0H9Gx-kDFXqp@w`#;k-c*Iv%H#tE8FScr>GFa6T#Afrha(Tmx2_8nt-!Vvc_u z_gj9d>YuFH;_xyKsV~JY@SA;K-wAWq5I^fbF}`PV2^}W1t%+0wIF&VE->`Sun$ib} z#Ac9$Nox1>l^r{$wEXG=5_Q;803{~mKZnTOuvZoH7hc0_RQ!HiDDKR-Pf))#)by+| z_;qIZt@>u!$BFU)9eBQ+ z>)R?3W@&gLWhC?=FjE-te-c0OQ@OuGrgq1H_gDe-Sl{h6SmJx}s+iSmx1ZEZGZ+T_ z@=Gz_Vc3^K93HitB>;aLCt1t6Btu~&1Bw+yBSECyh@$xN%F{KYjV@g0Dl{Gd4oRiu zV94w#XNa=x>}9{KgjVk3+-q{SrIgKShma~dasZb{e%;Y{OCmEB^hE?AHKHsl@pUy~_sPKiHa|Eh2paOjzDj_!Fh%PHG3VY3K|*Gmj9>o*Z~*Qrjjufd zj-Q}M701~4=jq66cqo1`^1YE_)!*>M!vf&@3IzKO@lz9s+b6^&T-hAxkqUh>2U*?5 zr;n>racDtho`Ao|Jz^sf*DFU({kTH}gKi47n{*|m+>>Y7xAW@qCZ(X>t|~ChZP6-R zLHOadu|Hah3m1wGi--kX4H?#5#WkKE65wx5Sd`a~pS-wpx|?E)oU^=TuCD2d*NSOH zzMf3PubBYA`F^LyMdrP1)N+{Q5ka=4j^ccG4-d6i#39+;^`eUj6~xU3nsF3QG4u_E zokn%7B`M;K5Ob0jM@oSy|`$wjz-29UsnE!hSZ6f}SEKpvdr+xDG=OOtoJAZ*rF#v>acGO)gsik5NlCABIFJ;K%bGceYhm<3=h6Uv=89X~ z89%)?lym;Uwy>TH=Kp?%+oO8FU8{snq#une}Vofu!`kPk{G!dE~Iejo(QBW{jF zfl|GIRY&jj>q)y-NPyzce zv?aeIYl|B-_N69)(Xbw1hidLowp#zj+*wdgYks2#uKUb#P)bZ6V+Z?ot6Cd@{|Xzx z|J(j=e!Z5!bx<=ah?yIspNg2!mB8ltCtECHyjVkyep{|x5#$kQ4x`LM&xgCa`MQ7N zQD2A{>DwKF-h_+0lKti6FBVz>GUVlAg4xc5i-bGkY=@Zp!P-{Zpa{ zeD2=~;v=&d!d43n$tu#$YUcC|WU*gZMTOjFe!`esqHUB#DK1| zyOEHUtj*&ZqJgbY=kWVs06h1i`NG}Oe{?>yw!uN$KSFG&ZBF^8`c#oG$l}3%#F_u|{dF~d+`3IO8&Ge0 zYVBOL*N^Rk{2!w$=JPRcE zE<+B>jsMG&{`v0Yd&C-Fvn2@(*x{Z9Xj*VSAi4~x`3JnatiqO4V@B3{f69qEbgf7H z-|!g7Ul2xOp#XpXtNF$8W<;uH^7mfY4}av&mfR(AUUf4;$T#hgEY@`fB4|to-(JBy z#g0PgDbA=IED3NfdR{U7E#Hjlz|THlh~9jRCP0ub2`Ht%g8VIY^3ARPme9DPDu2s{ z1OdJ%Nd#d_s50_&criJQKupBHW!KpYr@tkW*f)P9FCT`uX$-nY30>?ZJaKp@DOY4R zsvj1a^0>(QPuy_QE-W%E6c;M3m4U9g;r(!^k6t(q{&nPr3gR$}rb@C2n_I%?=LfdH zwTi#ZR_FYVD;>Hx;6_tKA%6}p$~?U%>1O<1#?dEHNu1zI6v-jXIe)G%EnQ%50=pk6 zxlA@ZH%W^ooYb+lzqxiPLwu5qVlW@e&b+4LwTy6rJ=Fm2Td=u?1gAluhH~ENJUDcb0Wqlmp_)tD z)H<~WBE4AOg%4*3!M=flH@E&@``-`H4yqU@pD+nhXxJqy(oudzE|v2Gjw1GT-7Fzo zC?|ze7@J=u{%HaEp83%a&J1VW;xc7Nd|y>k5$Njog^`*=NN|_LHTz)R%MQRSvZ+Z1 zdcGrKGrpx1HTK1kLVh0WBJPa!whIp1r{{#b4Bbz_xtqJHk zAFgRw=}t8KJ}@;(p&ebJ1U48sr{c4avqg9CG~J(z0lz(oj{DcTxzQj){&QsJ-M~YR zbS(a_eeWb>-^h{(L*xFtPjG-FZ8^R+i<)f8BM)@^!0}+AMzEEY)Tg;gfl)4#1;&CB z+HJ?3(@arq-#1qvRo|@_vfl7PeaHPt2K!U-+e-^Dw;|6F1KJ?wx5V{4;iuEh;%UZj zESC}|5)wE04ETnLaDTFMf#=i4A->UR%1;oMQ6Qr*LKia|amA zj}_LjEtJ`U;Zr>74@LgJvD}ajGR(Ug84RPZlrKE#&ZfnS{!4eW5pZ=|9_* z4>d`IbqabVZG05*1Gy^hcARk_m-ImD_gA7llU5f!_BaSZt;;X?*eJ!jL=A8*FNi56 z1j@b8+=`cmrLy0G0#_fzz4#Ou~|&2pzmG_$)?SQylNI9pcX;5(JqI% z?eZq^m0b5o(ZhvfbI~M(CeckprgvRw+tds2hhH5lzG{2ZmcXzYzM9i(`Ss_OFRWAp z+)6Le`?aDaaLt}=7R<(3dX2RTA|YMxrXWkM?y4#N%%yQZE}`LZ;sbCDB&o(M*?Q9@ z{)6^&s!##LQXZ$-M=MG*QgiGiYu{2ZdZgKKmd-ekAF2^=X@xeYBB=+wwrHXI)HOvx4Z;{kBr>hbxyaqcWb72j*!YRrZYKw*)hXRzFt@!DY2iQ zwF2vWxiJ^c%o=exG~{>=rP6r$5#LsbusM{Vs2ZUeh-)n!Bg8a}2m~N`i`>C7YQE`v z&4rdhL-^C2*yptmj_ll>mzQ&ZtoIh19h~aRY8cw#MY`x2AsB#PYMMN`OZOFqb0jDRk!h=(Mc{2l>x|d))_Fe!YrzRI~=qzj`E*q&1<+`QP7~Y5e4| z>KQfNCI=+AgVOO4LKF1zh-4_68pB;^6V-g`Wf%fP;T931;SU5fU#5Dg$6qNK*X!^` zK7Jz)@mS^~;N|w3+t72+pk+71Z%DP${$Pym>(nIp#9iqXiJ$?SoQ#1L1^HvV*?>pn zTpcK%U!w)1noA`fOZ|vFtM!Z-vVVwB8dIPTt58hcOR)^gHZCPd6TVF(fW093cBfGF zt6{s({Z#(noLWX5;v}P$ zvX^T(Dkjeisj};iF-fU4<@!BWe?W7C4$jfMpI6Qwyq{gi5Gl`2-yCV-)|o2`(0g6H z$1rkGy5k1+O@3~-H%*N3L&6wJsxvmsLpj8-GJno@3*NY*CXzfpgPawbw@5@(=O;L= ze7&#Wb%afwRl`EM`D=+5wk@LWIgFn2zt`bs!BWAw7MsKi;k7urFF8*2$uZ(VL5Xx> z{#^{kVxwR_@KB1pq(a2N_=7LTy0<|xdHMM+%La58EEO*L_RJ)oGT@K zGaY$iwSoMXhtD0P%0fiRC7-@fRSJUR`iV-7bOk*~^=Jd_AMA(;=Q`{Pz4Z?_91edB zSR-=q!MU&_8E+>Nfr@&0jtowub1_YLbA*D@2X=|x-_{tdEA8MM;e^}%_I?0VXI$6O zQu~LhXf%yUB`B7=uZ^1iGoR}gg86ZS^XgaLzs(ysWZ6n<(0xs2rs~QdHpkbj_p={ep5I2kmjCejMr9 zMD+B%OvTzrw`5e(v0Y8~1?&A#BmS}NkL>S~w*eX*s_tfPvmaCwxJbY!hKe=^&M=>>Kdi8w*1y#5#pT zwp#Nv^C{=(fe|(7Zt3y(XHQX96IzW`Y4JSoDaNXG%G%1tgm*v z&{o8?GqLmM_GWqAN@2;=?+c)CbyG9G!xaqZXi`AnGSwL^>e(k=KJl$F>i9_~UyS zIIje7-3t9&c;>^?uc{NGg<^2wPV&q@<1Ch8gM1QET6GQ*x^e!^v)?L*Qn@h$6(1t;)aJ5fT_P{JfJRQ|SJGe^BAx3)xs9c6ROMbVg$ zrnVK(0&rDSTT@mQxwBWz>U;QGvagg0@W0N!Ir@}q$CuYFj6w|H6mswlHHrC+gL@(@ zw#Z*_Y!nS3wv{(tT<*3v@$qDVItsrZN4=!eVt=u0RfJ2>`@93y(+YwT?yD8tb{{*o z4m!Z!W4eycu5`XF^0<6Vo-6^52EQB&}U0v()w#@0p6O2BESXk|e*t ze!$^l{A($+FBOtL7iq&-^o+YmP7G%QdA171(2~K%fzW`zS0YH|cZ*yhO!#eM>Q%h3 zH+1=q%;n7Yq&arOyhKJ|KlN7QDNv;0UHP0n&S$nodFk!zFQQ2{8wjj^K zzNn_)t7Q~S)VLSPeg$_vlaopTQ|V&%YOF}P{(c(NS+9dz!^0JSa$qqPqO@UNe~g4H zZ__YVn16rutaZ^Y492)#wFt-79?@hA4$wA?g3E9i`7%^t0m+=#T`&_#FPp$v{e^Do zAKge9vHqmtS@ruwib)oHKXV^9S00{jg8t1YFeiee)-`pl;q!Oz6w`V+C#2auRj5_i zpEVmf=)Wt}B)Y(u^xZK>o?+Xw$Fg1dr}UA)iZ7>-p^Z^MsOH{&OTuKoZIl#W?69{QS+>{9D{2^j8 z-3YG3`!v-l;hywDz^m+=fsj126M)C9PUAc_%4K^Dnc&|qS_JjnR{VIOlbBpybqZWV ziTVp>0Ppbgg~0kOnjoda9h3O4M>I5^Y|W$7dH8E9bD4DTJR^{5Y%B}7#HCfc z2sT7*r2zcsi!A13Y#d{((P+URmY8IKy<_A?IsJ8wf4pmwr=6NTs0*)$IQvb}WQoZ_ z+~o2+<@^AArjwn^GmddU()bW30RlHz@4xN;=2y#97ilOVhNX7SSo!v2ma>2Mb5jRG9*8g*5 zfw9AQCk(aH(>w+YzLrF<)Y5|B@}L?Rcj^fX`P!2tWpdnTClgZ-X`4o=XT)ooOSRws zRPkYp0dwavAAZ+!Z0Savp*K35sk+Vf+RAUvEE;!R|Qb z?TPiRpILm(e;<**?%-q?)txanjR&;jg&a@4*ei3dQbt$x4%I5^%JT0k!;(P@O6r0A zMA;YFH1V$1=5`hzdT59p3gzJ3X| zZs3)}ZjhujCNJoV{XWy_gtbYB4B!;Xpk7VpJ}|o^$jvxfbP0)j_WC0Soo??YvtyJHaHbT%rF^^1?3hr zHQg`y=AJslZU3aq%sSL5)`R1obfb?Y>I2*%DmK)Ym16lqa?sNJ5$aub#4u=QX*-nQ zd;o`5{Siy%sJ4!&&8{3@w=5%HSaNr4IS=}6zL9sOJvjdOU)}GH)nCtKEVEv1_0PEq zR7kA*ucKDIG$=1}NO1+Gn~xAWU-~ia?mh}}zAU=3UZlC}?=SRxe@iOfAtdfd3X^d$ z2!`?*BC#+Yx$EDu;)jUV-x9mei2rXHmK#7a%(`KH?41Eo(jPWAQ2u20x9p{wmi}7? zruD1v7rvn!+{D%B`h(@B%ZzRZuRdUARymCJalXYd4z2(NK8wb=xL{jX2j)9`u$qX7 zG|U8vc4Qj;#QD0`ua`t##$=~r`jrRZwQnyZhFR~AzzKAHfxr~?(H;7g3q@`t3Je2J zrtInBs6QF^d$iKqHBFu&Qz2~DAGoM8_}rD5&Z3Na8ro@FTZkO7DhSW38axA}K}hYP zT6#90%nfwS6v`v6VWHPX5sJ2Z)UVK>9cxjPd_{>kHxI6z ze^^aq7=&WuSM#+-{e$2p6%ebU&!ZsHH!s5~b2xAs!ukll!CObMRD!YmYybNJo}El2 zYDz5jXfLKUY(nW00gsv+mw=3CDC4$x6_v)kaEpD4X2;Zv4NI4fEPC8jIYKbC>_QYD@EvZ zu)P?JiNi1Zx`{@GA&@W9!;tk)CJbG#Xnku{wXsoV?-s0iO`@FMMg)|L99soR=X z$a=hOX#xD^(k&w+!s4b4=*2~&myn(}x8zs?4z>t84sM=}jdHKExQGcB4B3MA8dXMf zqfH=DMtJ}36EqIYvbBT=i{TPC<(RyB3G63dpi{oTA1+Gw)M0DE0%K(TmwXCkwGe&i zp0X=+3g?fA%{V;6VvuJHEjZ%XRUR;AyhqafDvt4#dQT;C;K4h28%KR(CVLlrlKU(s zx63sK;yNPk{9luyS4)$m9FKFK8nNjMp>~?ourz$}8{1@sfU)HpzwDx->(fn1%d^RT zJ*}XnEAefq1I=#XtX^DfuS+%H`fW({8FBtQsFTRU}p3vqe zGBB2w_O`L!Vu`N*9x3m{H}>9Pg(@;dAkU8Zl=91`+p`Fa z^)&s23fA7N~*Ieihpo+?^WuX!GlYr_ zp)XWnU=Vsfcb$JU2&z405o_{&yiiH0&;ID53+mK!lcpP6*xtcVv}6i7+6j8mGrwAL zRaY-(-{L8{r9udS^D9#jqZ=7cawH$QWQUz2pZ)DxgJHiKvxkwqZpOlB2KIsG?*)(~ zjXU4JuozB!#Bweqh0QdE+Tl!89zr}ezbyuHLplRJU$2KI%I2EuNbC%e-FJoJcr=Fx z?+EEysa$MzZ~^sNW}!%PF2QfQAZ!s9!lF@6e;3~yVlv^<{#`fvS{DQSUt}FGkgqLE z)@d+LS@QxplZ-8hR-&~RDX&K2Y(H4r8zMmda{yy^Ls~S!;;Sg3ju%Tb^<(x58ySKc zSC$DZui|29HujQPn@~E*46Bo*qW81Z3J2q5ZcKMAXD-M@q^kM7?aCE}`pGsZZ37FK z9Bbp94bf6n6faB=PU|RKU4Uj2p2Bn%R}R{1N`#fTwNk1aoAg){DdVkTgZvYB7v{iPF=gJK-kQKmS?$0MLuiktr*)NwcqGZc5pCwNVANC6lW*`x?S?vq?NPQm0s^8z}fHpni1r41Icy*HSNqCaKIz*?`^4;o}osUR&SeOMr;I%4x^c=yIr zo1(D`jLO!15*XS;^GNYHN=7sq$c&-_bwZE&HgzA8-#YE$*wI*z+(}QD%O0h*{q)~R zK2HsEz60a&`mcw?xhgQ&kX52pRqn!$6x`U?%_lC#wgtP5MNDL7l>fPZ@Y` zjnw?4wtgsaFRw}HZ*~+-gptM`wNdnQK;0qZX_^{ox2zqSzIjjKIj&N>KSNe0)~Mn}@d2835c;5aYKl`S`*7K+LPV zf~@XKjl=V@xsvY$aFEWowXon^I-bi;Hr<9Trz9LDO(v#+PD&sd-dC&HlEAxb`8^|k zPzM%dy}0ChWT!Y0ql|kBEkp~nZ8vYuekb(v%i$l!=P4+lUJjy{pT8)$2)%i?O607U>-&Vy@gob2yeW!feMtLP1(bwd0+aXiOQ+T{6^?2cv$ z;MistZ4o|k)ZY-eQ8OM!5-89~q~~VGexz_|EPXPx0dvCZ)WLKf`nHAfTJ)qJa)bH{T zuL81mUZuVX!@Aj*z`EtK{*|D+HrR|Cw~*mwl`RUKAJY|2xLN)Z(lU1V5NYKfjf=r> zI`2gefo{ADGRbvHl5Tdrj zY`LJGrHoRSOvyD}2`C}n)n}q#saAxj!8fBW(Wc3$I`z`AIGXz=bHq~7g=7(sJQo;0 z`y#WJ{TgH1xq#tD&!8hTIM7h5va2%zIMoiF9Ivt+$;>608vYX@z2bK(RmE}KIml{o zob$L*8yqI&KgW~gPi36MTHL}3HIz2@Kel#<*U-o{8rY37iz;{x;c9Gnhg<~#U&L2A zSmlpCa&Z{Rz19fa#qfAI67ZUHY~%v^9860Uls`!yjDtPc8j&JJb0`4OhEu1Kw*P^6GGh?q^#=`au z#^qKEt(BZJP1NPZgv>$R1FMjI^)vJ;0pfUMqjCyIS62X2w#JOj!4#>~=b(vvkWZZ9 zjta7u-Iyhv$*mrp5@~XgNbKpcN?by!7b;l?xR`-@yYJ<{<@Gr)=Fr){?UcR!iOT3P zBLmomSAg<7xx`9z<)6 zZ9Dzz>ny!&7kx^l41;NqBtM3qDd7xDOAEd<0dUl=ah6j@D(O|LzEIVqQMUM|xWu0V z&QSeLzgfOL8Uyv4Zo^x>*m(UFs|ssIM?}d?zezeGcT6f}Q*>>WyMkaawmI@aMIqAu z06mU>oWPA?_Eiu{%QfhY>qtfhA|C?ncaSIUwfzxpr$fJY5cJ@^>im`aZjEG{CCIo; zrj+AEt5}5zIKS>T_&U4^^4HxmWuino*jh%Y0c)pJjg0A`bZ*5s2_U}*+6<$udBM{l z#29K8HQ%_fWJi;>G>eKbwn^=$y~yJL{5j+n_4>VVMxBFyxGUx%%=ryXiMtG8M2Y29 z$v|^O#szR0`UY#dh)ZqvXm|SUc>}rvQ~dgA%zHGf(IXL0#}!}7*Uz4^0yqtMbbT9?G1(sj6y1dtpFR5zUj++V0q6HJD?oc+C79R!VE9IL zjhbR$-c}cEs$8^CfjfW zz@M^*+r$A>0N^%^jA>7cFC)CT3w{z zsF6y8DjT!}&nMoSA2QlXJMw{2j{v6K92AE7Jj(N8HgpDjD~Y zO4<_(i?!+G9hmQ&-d2Nc9rW4y7P^bq$?uIX;Ae)LRBF70iTC$0iE9SiK0RP3Nivj9 zx;%7d!sH{A3?+64?C};~tP%d%BE$F*8ahlB9s=0ag?(ts7_aT$UCEQ@q)OxeU-p0V z>*ETQi#WGFmD}!M^$|xI1Gz)hteTIUwS;R7dlZsBsGsUaeuHr<>rNcOl3AiIt}%Ce zm8G6Ey>Wg5Wg>MlTng&IN3KU|ei%9No-KJb8Fh*(Rcv25B<0u;r)Bf3!kuTqcz3O+ z8zR=fixe8Lj2$n5x42F(U^IVO*fxTtAULF03%=W)@eHA8P)pRt4s{ehrDsHnclwr) z`D1_iXMd)#{FxcZOV!Qc@PRsl`)q=#TqJZ)5KHGj|?fbin_GY+^d-+c`%Z?=L!a(Sk+I&ksZB!;@G2 zqVo45OOfc{JQlyTl1|ZRrvr?xF6Qrv<`TscvRK0V?R*m~eo(Kg4_>=W6-l)$ zPjOj6yxQydBib3ogqbsI5908?y~-VL0QdUcSIRVltG9a4`4~LczE19i2xJVR*Z6%3 z4DlyW;iLfWgGN77cb(**=r@x3vg750*mcu}7>RBN8Hal^#)VIw08T&2@iqCAwydN3 z%#$Z--$9L^Vv$BFIykTg%^$#|OcU{P?_Np9Z?Ge|2OI^ey0jQWLn zq5#wjU!6OJLse_NcU!JYPsQFV#*>G>wdw3%{()wk{$AG!z-^w^m1GU@hheY2pLJ-r zMcWhBhu66$P?KHyp^(EX3hvtp#Irn*{~XEvg!+1zQEm`4N#up@R>^(86F!r)b&g}L zXtqW6dro=sRuO?VNmeWjHs1E)X5xY5Eid2i<3k0=6RV`IvCjvK z!05<9%JRxL`H6_WMg zRuW|7LOivOci?}q+~VsJzI6k?Mq%j6=w1u`53#Vjo%A}C)5T~%%`4*x6<(2lzh=|5 zUGVdd5_+R=?A=axzep#Dy4TEq_0$@WcRR!+s0V9@hT2PKOuddDH&Q7}AZ^HaETrgQ z^>M*M-?2mdEB=O^f9FS7?FwR+qeOq&!Uu5%Bw>Bu#bQ4sfcs$hm~Di;>X4t+xxArn zqU?YeH0+c`n*B!@%I7aTmi*NiEP9QLtUVJdoPX_qKfpCrGqJPpK0&~5hAUOEBQ>;M z97P}|t70bDnIJ*e7VQ*Lo$vCF2oJ~7>=N>jsqT`uvrRR(dc1?;)id?3PtG?P+|qKf zT!apoG>wAwUT$;w^Z8maNsG}%DtOw9-rwn&LE9EbkY>S z`5`nZS6+Th+svgYz(Uqz^=orTkx;z7WM9>^Lw~~v8jX~(*UP{rPVxIL z7`J6Hei^xbYIpDs^p}a(R*&p1+Q;F%rnOYjSytGA^wAi$M-gp?jg^B?6btaT%cN(b z6=KX};4527MSfC9;xuA{bWU)`{^2DM5enqj~=6+2LbhG zzL?BaC&{1v$$`EA7`rPl+G+K#R^bVTwh*7$^7yE4(Apw@wNeiZpF>+fsr9WKR6~P| ziE$NdifS-(39$X}aIqGrW0aa~niW!N6(W?Lj4%x@7h@!tT{r7^U#b>$PDK7;C|02b zYhIGy#MLZ916POASf5|C$CN`wl3Wkq7Z`#rY(1wv@{49v9=tli-h%ZsT{MgW_sms`(VRy+H`H z?mcAypci|7H&uF3f(l*!+K#{Xf(FK1Or4Jt@}DCkRaLj9AKLIMy{D#QBayPy*grB- zTo-CWoxJ(4<0c4ZegOpXf(V*o#6wluMb&)jsu`DDsTY$in%_Zl&=P|AcxAbE*6XHt zd&ru#Aj@EdNGL(Im=rZNDtc{tT>n{y5|`a%e*HV9?r|k{5 zzIrjLn0;Mp-rqug7i!Rv9{!9g!B7>7;o!3=KM_LxX3q@O+Ywu(Y} zq+ZAnpn&H`{ge4a4zy7wdsdd&54YU_b8Z+$h-e+dFSIe2nP09fK)nb#&(7${M@}?^ zRY@;IU15|lPR*zJDjYJ?#P z;Q=_Qgfb(W-d|>CGn_`*&HElCH+=+%NJXwfy;#U2r4e9XO=1nVGD>d2TInaU$QHi- z^uYODTuP-?Q9T!Wc$H)x97nBbL7`BOIu=f z$b6lTVmR!5shQpuW&MoNM$meIs78|Jj~9^ghk|OH!mw5@-P;Lnj95D((J*_t6zgW- zL5fC}TpVcUk~kK=`PVgUj=1-Z)~M#DgyGgc2xM?bDzLs5*qQ$-$??vCV2 z8GlmC1s^~}ou)?Y($qWc&FB1H^piv!X=>e`RM{^Ut`v~kDZUY*BT+y4gU4eFre5Zm%OWT)I;vRRZ8=|87{CL4}xlwF&qhds!y_dia z;F3P&qZPp&6EY`x+D;a{HhsT|XS88WL0di5O-Ny`sq=51U3#B^G-xu|tqS$$`cfEU z+`c+U-;nY*65hr-AM}X*z0Eyj5NUp zaJ`+=R(8^+v`G>Vg*Jy?@>3dvt{1Nmnz4`$@dfO8z~|79TD~u46c#sA;^D}I)j41K z25tW(&7N$fVHX~Xa=#MbuQY8xB;sdmY2UG%WpCpipNF$Zc z?l<>YY7tPl6k~M*pF`G;IX=>Phurv&Y8pOY1yn~0YKa$0lhKK43TYBA2O#b0DnIgnL@Ah z66xvp7Ca*TVq6uU>!nwF9#)B?-5r!O3ZMX-@Jg)P8yh*&hZ6#Hbr>w2ubH)xPt4{o zG!w3by)VvP0o;e850lcj3PeMRLZ6)E<7pCdNrnd`gzMVXaADuTPs0MZEs5V^<7+O0 zqFpr)L2AM`ZNVv4LE43fG_lonJ>jLG-d^bc!|3f**TLR*R)*r6N0!OYis^#!Z#SZ7 z5<12bI>`Wk2c(6sIUJ}YT6@`*4Mo4rULn}K#3iOsRF~)+AUAcY0k~#d`QypWVAp}S zB?O_f3a>=gIg7`VIr$5JZR>}ilCuLi9o9(Z#kJI&zBg>W5B_KOW~tRq20m%d3KsfI z?r-0M_mw@@XA&)q2;8)GEbMEf=&lMQI@>hAU}Q``_u9GSez5;(-^~xw2>E&{JI?md zQuRkVd0m^7;c69GRMPIWh(k*Xs2BQr*+0sTW%sg2Ff3U4T_;2G`Da~eN+vY<{MA@P zM9+Wg#qNfK%mo8D#)O`|)&(a@n!p%bE8>S)sVcX_E}aX$g^G?v5W*nrJ0qhwVtinAm`uvp_DeU2im|B3HDWyT_=8j)3 zUGhm##MBDR=Z#z$V)@hi3c;p0O=x0N8O)DHDzZh-*UaQuSDfHf7d8d+ol7%Bof=-9 z7-!Nd`Yi3xYXJVmOk1Unb;ZntLp9tocD||r_JSXXtg$k4jItlZt?#H_gL&5T^k^D5 zVMQK!l$uUYwF)8t{^4ZIH$qF1D^rsV(KBcY^s{4^&lOQWX5(k3Z;Tr@2dmtH}$9*V7^9K^Psdp5c96L6oI z(9Bv(k7q7&$CD4d3N#T?p3;Cc^A?WPZ;Tnsyd?$Wk~cU3hLrb@7sqi?L@2yJ279;R zGR66Ju&bMKbBlfBVE}(>qp#3wzkeyYfH@Jrp;_T|koTZP?rz3Q#DZC&`KD_C;81wMX*+{lmP)=9vph>D&kQ7d2A@;)`o*E_ zkBc&{Yk2Cs)$88de&S_fT%tdpS~jac5QTvAc2ATOnBzcR(eegW5eyV8qLA!^+kDG>i+*Ntgq*hMq2X%d`Inkf?{e+-bU zS2fEuoJD-u@C?)RryvjG0461*NS!yv3TW?AdII7~(~rx|0iHCk$L{Lntrx=B{~vj8 z8B|xZtqbGs?(XjH?jGFT-GW01?h*(dAh=6{I|TOt!4ndK6Erwqa`v9{RK54RKhCY% zzs{^$HCFX{YP765M~{Ab^q8cCRVlf~_F+0)GyqP*WlF01+3|==yN4u>1GQBxjH@K3 zo3O>;?eLFyGHTF%mG6YqFIa>--$7Tx`N7K=1?IuZFeK2PsnpC`yXK34?ZaDWCrG0p za6>rI(CorB=s$Y#`292Ow{TMQK>{~VbU2{iVxzlv-f=!V*l#E_c4N?}*0^oKxsBMPO!jW9bTbj3dB}QsRgYV|&DkpF&i6e)!9l&}8dZ2dMIZ#?e zsF|=Cx{!qk?!I!s;}SH_6Yu|FmX$;SeO3WKWni@(I(<=}8&qYA?b>#+#4DHj7<=Bv zNS8BYf_{6(9+GBh{ChW(XFLtR3h(jD!ImKxwXioe@i=9@^Tut)M; zRq70mrell5;kJHE&y8V=mO4$r=}_E63>|P}r@G8J|v} z(T9Ag68pVksTO9$@48JxZJyp)j2VN4z*8m2sPb33t4EPNvB;>unQ4@o_fkM1`{51q zSC-%Li~W@x825gEWgBge;Pjayy`*rsSKE&{uQ3f7-oH}I7T)czj5V6p&q*^tGzbtk z=|W&Kzieo8&d`%^6-i+P^oO~!n0i_iKGMT z<+aX2cWER)(P!bNE&|LZs88`8wx#Vg22?l|qjk7X z-wWX$I`Uh`R{R#wb_*eZxP7VU-O3`(oZm~9{UyB#-d#G1uW>fIF6Og_k!zV#!Uw;eJ}*v%35NrT4e|?+3U?ZjK-91ceEmFT045 zS02lel2?kvmrS#X390efrlRxnIn< z8`{c>8tezKJ#oAjS?`>8Qda&$j4dVl%m!%k6%$jKTg}hwNm&09G{o=sIA8NcMlvCO zu~wgi6zaCjd4xeL3#@rY!-!NpiCOXdkIa>q6CrSOD8@X9OjO0858TB?paQ|)h|Nbx zD0NXikpA7z3LHf~aqm9%L4p)Lijmj8N;GO_Nqh`A45FLdSuECucKJWtN*Cy<{y8Tw zL1tfRk{k#SLS)TLjOjm}Hb{)D1~VdlDCJXAU$X~oF4ebU!%Yn8z)vV=?_c4aV4UDS zi?pa`2mTDQE!+E|$`6bq+-eSC601AeuEJJDd$YrsytLqD(}_!NHgG(8cNwQ#n+bqhuCI%Sg7GMf?1!rGuMyMbidI)t z$Se|J#?~#JKt2)uD+bE}YB{6UOvFKUz)AURX;iJjwAiVSns_s@*Q@={F)ZH3ir1P@6@D^+s9h1MRT;OUIGX{%qPN zA2m7v_l@>V&!J9Di0X9crie}YhgaN4-{qd{WSE&cbE>9-!FpGjeN~rzN7<}gacjkX zRjT7Vl|wa9pgn8kCE_=;ynzJtbr!l>d!_OthTny3!N~rgl3v)jfsD&Ss1NO`Ypee6 zICI?fUzuD2$ge$IA-r?uX0+BVEV+QJhz*g7qgp1K%fW_Jn8EY{>?r$- zOvRq*H`2RNs)(B2vJ7sHaHI#{)Og3I?mY)LziGij{Oc0lCgkjmnW1Op*x`+>Rz|Qw zwR-{Z#o1+PimQA?ZYHGlj;Z3zW;$Woeul`b{BEAu`Y`N<5XU5$ZakX%FJP5v`QW6| zXf``dUr<#>xl_qbv$Cx$xiHMvV4PPnu>N2T#v~z#P;}yDfS$0irC zYs=^48R5?BNM+Rg^9)x2*OYb|fk;gu#Mg$BM?zqdkJQ%-^Q8*TBWqEQBzZHy4#2_6 z?4WAIJN&HB&XE_vPCLoAq4`OFv)0a`jP}gn9;6N6%DM+#)Q6lP`Xi>#3}%f{7vS&? zh+Q5-F5~REvi4zQ09+|U4zzF1VTo`rM%&2*q$a=Odljq@U#s@KE$VY;VUUkC5r7gr zIeAh2Qo|M%J3e>ZWYRfvr&q(1+xlqrNC^GE&*#zch(paK=sqXiT;ft1Eon4wkUvBq zIOG+TZ5ZwrTLbkPe<0Np{QUmF*Y*Y4Xz?Ux@bn3HA=`YvrPt#|#9>9J`iE?F3ULm?1 zC0*=EEWH{SzbKm>!D|(hD{S~ZTj_)a=-WZ`ndM;SJv+RPz>)uoMEKJ8y+LR#{3}ID z|2rRLC;|YdK{eNNFG9ID3IElua?iX7j=sw3+H{G6P)eov!b-R%9E}u!^6E^sZtN3iM-n?rcT0R-Ag~I!_kP_eD25u1)UlX&Yxq@FFF{ z1)xA)NsEBx!b!bn#P%h}Rno=NoVfhZxHAIpyl`LR{O$7Ha|EKZAPqrv@9`mVY4}9H( zaDiK*p?j8o=pP4Jb|WMh4!GNFG&^6y@c-V%g>MaKm>sF}1b9@hQ#Pm#>1PTX_hFH_ z+g;y`3iQLeKa-mLkG%d0^b+0$a5CE!=WM0h{{d z6;2R}{Zb|KCxl<;Z~?)xp)4ya7B!`lwJS6W?3^eD#J?`gWhq;uutB@fX>Ntv;~bd_ zcnwEs)0Zw{atO!_VMkTFh(1urVW2`-Wz%@2 zC6~lMhp__S#yM5ZssJ7HfD#u98WjDv`OZ{Lw|;SH+fhC=-)-*M4ZEFyBfIxPNPKGQ>lu(|DZa zDt`r77ydeZ4D@bdd=Q5*82I|UC^KY^ER?saRRy^eKwQP{-o?-UXZeV=u$Jj|cT0e+XH0Mb!?Uoq$R|wA|Os9yK`XTiaFwwFYf}kO?t>um7WsO#;UNiFXI$!U!(<~ z4@UQRhiVJAgp6^5J5_-HRTOjpB>f4D&dj2fuWEf3$n%WuHxmt8ucV<4bXi5cow7Nc zJ4_%6>k>lCIqq1LLu3T?rM5>JB|Ee#OuHegLDoFpp~_>tEAoHO!;tC{{I(q&KbdU< zQvrSZG4IW9q1F}`T4S2_m~QqbObTdk9FEXe!SU;18!PaZx+iymugSj6s2ku4i|>!r zO4;~;th1BKUO)-d>lS60rZXP|L%a}X;f%zR(9to+Th2ucCHpxrP<4(6Y+ss#a+yJA znBzV@oq2#wU-98H`&;*)HuFK+rIfrlVjwRMGcU6eud_(WYH(ZK63}NS3;X+bOjJ;0 z85eiLg~k%NhS~NV-DiD+J;VCrozkA^&-gjNa`iU#hK2oPZMQVSSa82mz@?RU8;ZQY z;`aeBZ=~b==;|#z4fWH(gkD0*^6sJ_&=1n2=?3DW)E?jc>|VL87zvu3>|UykfO5Ba zo`T5oaA^SdKaDT0GL)i*XemT_@s3k)i}zdy;2+`4^I51B6@^=RSjEH=>Y0J^qxUxG zVv|4QM-l>X)?x0TfpP(f5twa6X2~u_b7KvA5h$R%mpw&xMLF0Vf9j6SV2EA_DEBVA zBJGr=L8_I%SB!*j!UW253=h2N#@LvjF|7Gr-v;0S8Jla98LTpXw!X2EFBqVo9$mRC%dpsvdXUf%YLz+dShqxmBi7bs?t*BN0p^W=2D;nw#EuEIJ1} z<%0W)-Ic5_s((XLIOfb?h~ddRL{D2XzOL^wW8_uIrs|OedEn%iOKbJI-XrRR^jaOE zT)dN7hRY+d?}a}15KnbGV}ZPAg#>P(9SW+swMP|8%(9bnqX&zqm{5b<(IiZ1o|3c` z&^~Rc(L7UFZHNvyr}Mpf3Aw$mUWl%GUkBH|wDon!Xi5OM3Zu%M&sm~OESA9w*#Ry1 z!St1J@;ayp%y_8L57WfL08WXck9UJm&2BY1kKV!ZV|M$p2%&X@6oXtcAse;l7`X3= zA0iH!Ux)8n@&3S-F%9jj{Zp3ledqHuxAN0FjPplvKp$TKMQa4#24z_nB^(^Ru=pNs zzEeL{SsNR?$Jawv18|-gDtNjb2`<@Xukesx-q==t!bOY2m-NlW6)HG%HXoepl=6+Exvdv2Kl z8K+N6iCeyJec01RKf;7wuyfmJ?O9|_aoh=x%l~V9G5SNd!?5O-3$03?QSw2$=P47F z$n1MPf>rJgdwvOazgtTWY0>Kp1EKHP)N7S1;^8B5aDOFYO|=8-vJ!^@;xv}1(zSQa z!hphGxtjkG?yn@auMznxjk(@=vMUBaEM>%y3r5v7A-yGhu`flX7#$6nTvvi+ zRkn9!pNA||(fF>>#pam>TN^=^ zb0kvPeSdVDceIsw7tCYK*yG75_Fjz-<=tm;UfvR`8t721gpPOwh>AuO*LDas1h*;6 z6>=Fz zgHK9t?rpPm2d&Zhh0;f$iTeuZ-U4%somuW?stk;(aY7BHjduD z96yPe0o*#r?u(2Q#f|PRiflm}o1o)BYbB(!=g%Z8=$0rSVL=m%x!iv z9)qgSuKUXkVRP-nk6i*@8X6XmCuEyI$;-u5RKHbPW^_Vo)YW2Y3mP#^|w>vxt7 z=WRCqIWl_fH$~=2P?j8CH-pHG*8E#o;42 z0E#38gBQWNaN&D9+|MOL`ihOFlX`w&+yPEH-&KG`U;8~5^ z-97~EsyCAt2D8v>#SfGv=u>dcO3Yu<+G!#G9Jd44EK|R~*TJ-#e0 zr~2XrMZcnQr671r2J798@;_^3#C>B`qKiy>S?U?4y)O9^Vpme9hWO)m0(o%lRi#!I zvvq@QSTG~c&bYJd>{V=xJ-SFQN1z} z(Y0|-PdA7ZPT6JwaQ|E5i(QlTD7{}^SSw(L(AG8R(`B_qF%k6H62FRE@!hcvWtJRH zby*{B*1slClA!P%R=skH(=9SEl~~r4$HTvFu~T4*GI#MO)n<3-chZ8aP!Y(mrS-zL zLS$l5hZPJ6#Xs3V6Fe!-=km6V6MVre=7s|Cuj{8aujgiRn_xQh0YT_iw@_sCTOY2b zFnp&Qc%wKYCW3dL!yzv-i=nEE*>UIKgHZrG>bT8>3P;UHrX`YSZsirF3a|Xba^j*? zl9WG;!=vkp3gC-ha_gHt$BiK(Y?vOT7d=Yoa-~eP_m^&u&88Rv=uRSqUhFRzQ$27AcqxUrQ2g256uA+R zqIXEulZl|FrvAi_bN#S`cta%rWztL65BohwL5~$pp{g-XpUM#CWg4OzI}siv^%Dz( zy~?oa8~Aez`Kb?r=?D;l*P2B-S%o|_r#RVui7Psmt+8mV{i!pmjqaw_X%3;SwfIMdBcVJd9`+&>HwYYR~ZDNi&3qz zsjo-H{$VusD8hCf$WO-mV|MR*cvE4Bw8W^)Ves9@BHezZ&u?u1K)cA%$&CiodwWTl zB3o&~?>ip+70Ka*L(@v@^u8II-0(%X##THuDS%_jg|qjdfgwg{N4tF<)oHD(B6LN2 zy5koqsg@D#zX#XDxE^-X!Q394`AfIb=Y8Pjp%cVc+yp&Byev9XW?odtUWl}eLr zAEWiZMs*vD?Iu4qUDt0~tlx5o|ENK-l798iH2E+XG>Op!)@4Z1-$ulyQ;V8XKbzP5q>Pmo z^)mbenTNP5&5CR$Cyrc2(bgtwcAn;9C;K9kLifz1r1w@GMn>kMCFZ0QQ)~$GGS2+E zPp5P;J~;&4*E~*=2p1HxGlH5On=JSz?r~he+!1?&X;egA!Bya`j5jsL=>4Hdg{I>h z1-&dzEum@Jt^|P7Y=m~oRW(J>c0^GKfAbP2%T3et*zXG8o(@l`nod{#pLRBP?`uRv z|7L)5*iVuW4}{H}Ub^!Z9a}|~JZa=xdj%2Tx%rIsh3u#1X9_xgXye1a`5&!n)Z@RX zKRq?aiRH5i3Yr2qr|(KyNG@j*pSmL&Y~77`*)UALD=+Z&jCnz|c<{dg?PqcP3~&3A z62JD2YK1OAWbRg14iy1Yu2la<$m!a!Be;YnJ=0YTiKR`g%Bhf{S-VN@W zZw+KFt!_kBr1q*n>&GHFxYC7d0^=7|Hf+GS+AF~?6Md2{fC(E&q4FdK^+`z-Un4O| z#0y*_#}UTXItz8?!nJw$#;hQEL!i@Yzy>1 zT;mqc?HC?4PQuWc3qv;AECKhk@I!`-Tx^BU@sA)Ee{Srv?ivrF>iDtTu!w|L^O1c3 z|2IE_j&EYcszYLuW_a6<9P%z|Q91dnoVad36$)cC-hpvw2{wKX)>?f7K8tkK62-CW zZ{xJkOVRQA6e2pcy19hGdjGe^7q7iKQbe(qx1QIF)FLmd1@rSdT@tF{afXOjEs6>a zy3B+5B1)?gZ42)Z>6c@&MI#AOLH<{*YxD)SYOhMHR;0-04LmonmY1|G^xJk^bA<09 z@^E#$1anR`+#SlYia3r_U|xu<18L4!O->ktlVl&6mrW`Fp5KMdao|rJ z9b3tmW+o0j$P1&Ors6gu)WUUF7&G0jOfv#_ilB2oo%Ugvv^T`EEZd*J{LZE0#diIZ zCwd3U-*94S-q8Sfse2^|?t4oE)POw(8YKiUo_aqp*t5Q1LS_<)1VOdoJ*dYH=3K2U zrA@FygxL325hM8iz0YZj9OW(r0xQ-p(SE%D2F59uVF`0a^D;ULCi3W#JDY&{H~v}v zPy5<{#4eEX*^M6unzytgn+YzbH_51wWd5*tm*|S#M-Gfh>TIL^{*&yIe)IT3>U*Kq z=+1t#+41B61kr)&j%5*+Enpu=+(n2MQE^5eK0^FtZBo;Swo(2@myXzc$=L3<2Q}jW z;9yEhJe(flM>s>S3asgA&osDpq?Mr6E?<$+^LX*#f^oUsZw4?jjg%PESjjIhdSl@a$PR<$945cPdu#$OEuP_A8Y;@-3u~6`?4-x>!8O#-@uf<7-(h_87!sM zIvP^3$%`lb#nYcw402<>$SohaKMe$gF0u&QHj9;Cung$Vo-+BLJLM#2(CdJ_n2$>IQ$=qhZiu04u8JVhLg^0~aaAA;}d4$dz8!Wyp3p_fTtzWeqVgR_TSAmTs z^HjThw>wn|M4!04RrkLp-@5$3(imf+vAH7^b0WGFZnyF@yIyn=4$w0G~e6v zC}_z;K5V;PT&p@{oOMC6yq4#?=cS{l=SLHIQn(fPEB77;plxf=&G}@+&8nF2<@9D| zjQ&c0Lv#JV^6igbI)7z{d$?wulP&AoJ*JvlSJWDcXJmR z40k3LsnbIVDHJx`oy2jbAmuqDTHtr>hc}$y(8A@cM^Bv{W+wf>EM=Z@XE`{y-%>qxdS)+MQcXEa%VaBuk6@rZ zW26k~&$JE9G6b%4h>-#*zM#Qh?ICH6)5BuX=MnD18QAQn{WAV7_#T`yPOhbdeOTo! zV^_p*%B{3cU?Db1C5EnID<1FP^1mOTA4+u1^4GPRdT;px z;Z{68>Y^Lv^0D(~V=lLi!<~zjaEv=tI=eRO__;ac$XF>X+P|av>F4iFLgl%(L1gvH zkpDccn`6uW7gQPhJbB>LgMp9lxOT+X0D~ZFFTAot1dQUKA)B6`5vcdnbkLgRs(jE%nix(8bj3U*^LW=-&f#vY&}kAIVyfasHpm6d3#&(%0Q$~Y zoX-}6o$oZAl94FMqKm?$NFEFzhuckwi1QRqZz%yB?7a8{^GlfkPWD*>akI>HIV8jD zw*!2M%J46`Jawc&u0*`m<0=MGm$0DN%cH&9UY}Kie7!}lYMJ{tve5Yx3o@WjCR6)1 z$webnxBawtlWkiC{od9}{_adpi8Bm67LL;bz@bbgmEd;-JS4L?ikh2_3Y@4@H2Mvj zz;(bRpMNf*2iN9HdekW-R@KlG-i4Z?^asKVAy-R_M*Hd|<(_Qo#eCqN-&HQA(8NW8 zG2Tk`Y*i{MJ(uI37hFZ_zgv9ato_^P5}b=(_;qtAn5ivm8`r0pTplb>zwDf=y~%^t zRJOXFL5%^QyVz7PHeUEu=yz7Z>8+WX4DeT#X%G)L4}u9F>V0N|(;{Fjck)tlc< zB_`lHo78Ysn)e7z;eD6fL`$lMTmZS8L>igTrfhZ;M<#C^xkvb88#Co5L`*J8ly4{? z-TL;yxg%t`jY2T{{J32+39`;zTlzgoX)yf8cA7%whwV#|0dTF<+FqxM@0L>0R37v~ z*jQWkdz&+>X{fzd4KtiV0k$M~Cch|XqeQT)lpSw03o-PfVwaaZsT9>=bZ1cC<`qQp zJh)c+PvxU@* zYvd*%m5ZTT zu8@KUuIY^q0aOe&!sxIjU|)_Se+Y%W|AeDz5{#k*!JzF)x`TyCw~SZ8dS!ylz+*c5 z#vZZ^TGQ<+Z+DslKB28p#p^0kx*P|dm>gPAqp??VqRkY zV#_)b_LWpG6Syo~k#hEnb~>=t)5_Xn=g+>qh9;J8qIr!~gRP(Qjpc6gf)c6OTT1T> zG$EhSDokFC6DL~W9)fxJyuh328_{2yjVwR43Q%zU9v!a5kI3e~!x?3eI>{Fy){E;0 zy0}Yv>AT>u3Ah6s@!#$M-{~-!`Tyx>lR-ifCxl@)Xm22NW}d$83C|1BS*i0UE@SRv z*F#$X*P9Dp6p8&@-QcBY47R8uPw~o9l6CDpugozT>~3D=WrOQi&-sQIA*O@ZF6D2R zBE4|hsDw1~A`)orT2VRdNDb6DDgHga3EJ-8ra2Po@zkQCHySV~j_QuL<>T217w`&L zag^~ue&U{3sph7ZSXs9rlCbRSsAc*SlD#PPD?E)KP04hJN?<+!rV_ENPsIJ62h=~i zv$oH%Rt9ys-?vG|^seeI)pGKK&w8Oz1+?BMMQ7k6*Cfpndk}UA?a(0m?>U)nd#QLl zVnv{R==9qmMYzG9^b7t?=?ap!42Rj@Nh52#zgM-niRE{IekT@2AHV%3=EjFLa)@xe z&6^K5`0?}ajn3*w3*FXu@{s_2i%VP|ZdkT|OZFXi>)n(QxZjh^x6_o$uF8uw|B1Xt z0dTtNYs1a#C2J(wxh`EPj>cbT4)H2(3rbjfQ6_pFyFtE)t%jux6BGG9l>QelSH^xj zAvJu^da{+;Cd}EacBq*apl`Sjb;mA#{~%VOwP%W^#!>G_@M`N9*}CwmsJau^T^9iN z$}UxkKa^0XyXIc*XE>uC2W9Qu@;#5ouiwGXL|KiXElQy0s7O*|IIi$Z(|0bQYe6X6 zAL(fO9YUVQU>gu2E(_>uJ!(Rmc<>6VUajA}BbGc9NzdM%u8e(l@SCkmb1wsVDz;~F z0}bW5-+y9vS<|uh9vMDrV0IF_MJy1==;b9OBLezt25v3O+Y7t#&&zOD>Tw)0U#CFt zmES#hjMfq#FMXp0aHm?{gTb_|Lz5wO%c1Z54JFByGgQ4;OdMqa^!=yuQRta(!@I0T5v^9YFkzzxxHIfG z(zdi|6F%1@LFC4wGkG7Llj>8NdK5`-5%KaxfpND6+-6$jE6J+f+#d+M7BcPJlmU;P0&+I*}2F}>fnoz7N8S%NR zh;-DM3O-PJe==O?@THlCDK5?r(|k-md<57xv0Y-*@j34W_57UhE0 z9v)42pD?86E>fpWk7+t>vy5(56UY}ss8E|OLnrHxUQ2p@diUfmCMhM;j-kr1<5umi zhy0cw-q2K6$oVTCU3jvVeUA}$60toNenKZ^<4_oObqhZf3BcIcX{uSw&u|N3?)4ktDaWyi4%Z!fD`}68QLszXiW3h4`8XwLY z4~_seLwt`$O@@ww|07R4FFSMM-eN+!8KGrjPK)0Cq;KM}idmwkdI^i+PqrQKd9W5r zys{2mG+Tg-Hwb3Vxgz0;&wmvhnu+dKK3HRs1NxA0?#6S&QXi@NH&`((5ebE`JDM>$ zSB6GQBOe#OzbPCF-&6Yk0+h<=kLl%gkR+BoH@<>q;K`E0G+7U_9LrEP6YF z0cm@0Yeu1@|Ce9LkW26K{APP(1N7fZ+BQ%E&%=i?ua$}y*j4;L&}FlQsqd{m!oatj`lBMz@I_-y`1X z-^iI6Y69(3Sl3Gb^3o8R?wUxZ-<;@1+(aC1f6f_|o?IGT7-1CLhjb-hRrRV0mkv%G zU;H|)*BpP~+3}shP|*H+@P*iE8psD(IJqoqsNj^xA7g+ptUO+A0sE8-LE z*0*0@8*Zl!3@liD6DY?l1by}YR6dGIw-l70D&p4K6}7N@uh_x7z}T4=7N(%R-NjKSb+ZpBK!7kr0JE6qEmz>8>OQ?$acs1w-)@s^u4 z^4O|Q_Vci4>Zhf%Qh**?$740wl2pR<+%bHw**aRF+?TOLnu?Iy{gXbtcX~k*IBx$e z|EC{YiA%cDG19h_LwzAF@|mQTP0F6x^NglsLrgf)X?cwZxF2yU+!i<4rTQ7olgml* z-%M7kSx+;oZMCcBAP5U;Jir6E??&1pQRTdDM|Jd9l>;LFeW5=RQhm6K>gP%(@&^dW z0bH?otJk&z$>+M)gi~rBw_<#@#vIN=zQz9X--+0z-9S6{N&DqiV@`QnBT@FgmXk zY0|DS%E1fSplb$sdAnOVEH0=3w49i{n52=;u0i33HD$2}-_r4S-&9|cQv&)_YDB}5 zD@T7r=$Jt(&#ENuHNF(`q|>|)v-k4sXVIYnaLdQBtr7Y8GQVL7O+$X+?ho=y%iopW zzZf~~!|bI|2jd>H5K=AT7MsbBAHO9NESj~L!3ES%8(Bfl-`h`5G5$9v(d1_xiImne zCFPqPrRh&c>CgU!?b`!SOq+f`9!X4|8&EH*`Fn~Ei*$z2ps3-V##!TUDJ)96W81Es z26dD> z3f#Bg{r8{FN1g@f!XD#fDNbj%;E4Pp!f5$fw;aXg(1y?F8V{D$P1a>Bt0QX zS(;E|VMfNp74*NdfF;k9Dt1fU|M8cbg|`;7Ic?p4Nd;A>|B@U&4F4qw@_)Drgf+84 z3>UkGy0)_K9hv=?oW&viFUfbi0&BakXLGb9?rLBrW)t2?217s*iqBGCj{uWxWkBXxLV-#gj46E!)LI29F5RDg8JNN# zL4THKg@6?@L&=$f_SMwh(gkdy>Sun7w%sQ>y);*v^VezufDdYw9f(A>I&3auwSZ85 zuZF!lq$H8z#De*^{OOllz$)&DWu&1V~#?uqYLBNRB^Ej5{V^;W2y`6s6M+5Tbh`xFlyk=m30 zTX0%jd$HM#-;Ptte%#_!qGxJ!WRFU8`RAPQOAXgCH5$|TMm(G~xDQLma4~AUNGAGu zdS*fV9DNA1Y4VO-6CcJEa;m;BSg|)t3?UbY>@)$%Y(gNd1vuSMDT1+MY zBf!d0%Hu^obm!}AX`0DYK$>rRRfG)kdeU>+8S!@Bctp#`Jlgw>9NBeFfALPc*v0%uzRG644#-m$2KR-C@>MSyI=v$V_8ek_X1ju|Ndarv@nFE)iS1eAXwPQowUXEoAey8%^svQ1-yr z2HHncCo*kESlmjp{g_4^w{G&{=1mLvhY`}q`O?hcpj%=9$2mn_8Ku4H^ioKL8y}&^ zD=w82b(fan9lF&qP{{RPu$O%}=#YtRoarK{26@pl zHm+z0X=XH}!}L^$a6TAE4c_9%JgY(sZ9m4;-xdTwy~tgK(J2|VEWMI8-g9v881zqk z(Wl}!Tmpmb7%d$JK~Cy0YBnjl6GuS!^;lF9KWe;&qH>D5DPNGgz})qrOd_}zx%PQ3 zziNZC_8(2P(GO;4%nKov!rxqRM^YS!xTSvq`Wm%cjh4z*0S7Pw#x)Xi&g-TTq!7_S926sU21<;M4Vn+U$S7+iD_dJf3Pi zc}6*Yeuntd;&iyOcA4Clu3Y~45y9WfJYawSQ}4TzAU%Q-;=|D_=(}@(+Xy79Y%=gf zC+tMGalaCLK1oL1EU~2XU8gBDU|-IeCp_DT60t8b z_#hB6WIYMvaqKw>b_p_ygjhJOrXf$5V$o69|75i!=aGxWAQl4b==I^LD9ypJbutR7 z3sia@Q-Q@xqTTgby2<@G4`d!Ac7QLgg2c zVtJ(UPN+0fQxM`gQPrl*-0?iOd3pK$UHEC4gcJ!%Z8aqu(puvZXh+3H< z5-X&?f$($aGGW)#{3;EcF!ZvsN@#Vr@94 zY~}MjmnB`?^9Cbd0%ZetYh+3Ed0^56z_E_>5p#+}3ngd8?3nyedyl>K99E`igB$h( z`!$BmF1QX5$8U!~$1E&~R_>=*=vuvV&Q}m2b^NJaKrGo&s7#*~nnejj12D*$=-pJayxEp%qdl zw{Mj*5E|B(iW_UL6Z%C_&cQuB=;nU9Wb+)PMed&s9ZNZ<$EIChM}L<+TznQSTqLoT z1lpGsFdO>&#>`INB^dQG;)D8V`%~6Tzq@0F7G2X4 zZHJ6#V{yYp4f;2m<&^baxZ)iU#sVlRhpym<0o%l$4g`*ll?TN2>{P+wn?jQfslMk|l@In)Zv}X5Kgf(>$F^-p6XYi;w&*79Bq;+gk7N#sqv97oVrM)V_@R~5+MQwRS3qivEpurUC+&-i80Sd zD@}L@;tP>qh_qak6bLzIn1YeX3KUsmX>HPxq7EVwsT_rmK{5!wkTZfJt-( za5XET0>&WQiSaNcHthRGznXE#Q(Ij*!UV${Eu%DlQS(=RE{E^ zj&rcRp(WKznohDYwZ-W{-cda+T)FX4?A1%HaR~Fd;=J$8c7X-u=uQTLgE70ZZ_Nd9EH9wCQh1aK=v zbBmS98z>l2?GFg0TIn=U6CQJ~hw-NvxUd#d=%4_cMR+#avYUlPpH2*W_NTcZUXB}- z894;JuADYuWt|0(&*067KzoH^XEb{UYb*PxU=7=SQoQpTP7iWzJ<&kK7JLpz5}@>b z+NO5JiHdGVu$)M(urmi@y|XA`+1{9k)Fp#FYm@ueIv)o;8ShK>*sJjR4 zu~*@2J4=O@ps&s=+R~&r_&g=9rREC%$Zx{$6V zz;Py)Y1Vt=sqk8gi!84--ds#LD*zSK<)$`auZVy-(>8~1SRvd7Hc^<^9wcs7qS7CMAeG3>L@f2++0MGl18Ef^M z4f|Kck0yGQ7ht{!CCO%=A!jG1x5?G`) zJ5#l5?dpBiYMDK&S6{tmHK1qsMIkrW>W$u{?6h9V023NeE>Y4XLF&pT!sTqsg1%%8 z^3Li3n7c+;{O2VSKu_&$6K;!_J2K)cGRxF) zXmET+CwFA=kE8sk_zPUZPFY9*{HrY~RlO+!UCSFwv%17YQlK0XvQtCz^ za+Yx3d^;HA*QzA^zTD;^EXZc1M%?9zQo%xyw%Zx`)+RD5ed94K)Pd*EMu3P4@ss3) ztEN6O<5THGv!}KX!+tQfIkOeqGVMJdfFs|Q$}kJyRGqoAQRVSMjkntM4C@Yf_VQ8)nR)m z*=x^mW~%kVcMEr&XzUraMRR3V;2M2IxW%N+b+#?XTFfaTH9)I-p9i-g6hFbmJ?`tvt&Aj?34-3>1eM1om&2R#C5G73Z^38wiLSD+xaDS+V*jRo06nZ>g9(-a>zv-!AceFj-i6-23#b zfIc`4X9RPa@Pho$3E7jbVHuV|?hFgo^>+e;GkP`{pTT)Y53@TXI%};ZYn&EYzl<`aVOgu2Y?1W#X?H!a=W{l0#nF z&e%~b^vls>2iIIag7Xe-p+GI+S<`G}=#C-*A6lA1lsVg@;O}j-L=(c>ieM{1-}mZ` zJL(y>7>dcH-FoEDN>(^5un@m2T+O`rYIeJBC;*pNoO4LvHFshq=m*P}Ao#4XC5hjm zuR31Q&pkd6FR2RPXzjJyf+x%G>Yk-u(zht+ncy!p(cXsZC-ELSP#3gG_R=iN>D zga|xUOS>y^m)Xc_7PI5|)bNZWbZ{*h^SHM}y*4DhaVMxW$Uyiixu_=DMXDg&o9Xgb zGIV7!ez1JyxKU=|Ub>`b(>oA>@K+YBmJs}vK@UR=f29H8j=&)5r3^nGyh3ap3^%S8 zgTY^U?xx`IS9-(bYdKC1qekNHQ}EGE>BTKA%ddr{;-G!fRJKJ`M)UsjjQ=xYk%;cb zo7=B}+Q%YzP}Je(K`6ogv+$IZo8$zOr#?(aq1cu^sR1x%>r`!WESPub@cHCor4!o_ z@m+o~bZ-&SS6&N#D~1uIHY!A3vWABW!gXC92%NoGBdf{2Y44{nn7(1r$5OC4@_bxW zkIJ`_DjMVSe%l7mpaPvta~(%5T&m+QIPb@WOR{xN{mHnJXHbWQ=F?9oXrTc+G=mp0 znyjAUCW{eWQh-g=Jl!{V>GdG={?I}Ug1v|i_@KTCGY0L?dG^Ma=-5*))*StQS^1^C z^y2(m{`Uj)!w^H(=x4MrajT8FbKw0g?6d=ix)?&P4^)M)mX%Tf($3dW@x z*$<=Y(CX4b>Iu;qug{1+5voy|MO3V>@;DB>70XFWG$L< zTik23-|!z*R=La=?taMQ0>3p*sq_6qEinOnaY;)FJ^HN;f~Uqy^V;qL<9HY;CfEBl zmlpp!o>#R2TofYede3aC|F0O0E_uyxjg$hJ&+CTdc=1F#O+?B>%|#8Ca)UUQSk>WR zOu(mb>p4QGASPP89EdaAj(itCEIf8t>C(?Q?z zlagQ79ujewWKxTBjdk^I-cFjg)DbsU*I6+T0pmS9`wo=q0_kRMif1@F40?NH)>~^ffgx zLs#NcWqTv$l2j4h3lqOHL~*seqS2?L6rzfX1AT7V`VAgYNe})PxHTaG7hm_+bFRH0 z5a#za@2-ACYJBtr^g(i~kM;%~cX|ymL$o}k(E@^VdF3(!S((NNjHhghumRjFgiPz7 zq=$6RUnZg)M>qPk4v$m~n>pU-W9?=Yqfki$ILi_pPEl9fz{g?cj)GG08h^dr$_R$b zkzL&Rrs2^h@PD1sSN~kcjy+>JSbR&`C*M=xdymgn**i zS~uZOKt`TV40apUCYaq+P`P@YIrwS7IqMB?MRog`IDT7a9z|8uE=GYAvWsrW=~f`K z2v3pB6KG2jW4ShE;(l*l&=)L*rr%jvAQLaw{n6xg{u$!-ViI2k=m!mEPjapr&D$6W z=*!X|e+>-#)4ioH_4f093{qfEaMn@{bl%P&-TN>@+#+4w; z6I?s|pPqL|(lN@-Z9uBddon@tAXtFUp>s&LHljt88<9uv6WJrM7mTGuT>jo`ERD!r z8(jtJ=bn^o#pD~(8984^{nrC1y?6^^Qz-(9DeOW15=+)nS9=xSAG^@7uVrxIJq4)n zqn9=TBHq<9J(72|b<*QWvHF1r8JA2Vt$WK^WV*-5f zkCt?$`_XT>j8t1_F} zZV@Ngu_8xUe@S^j&zi_a_>DS@!l~XUQ&Vc9s~XHlt8-aLWAQMF|uJ>hlE%{RcOrfj^1=GY z-@VycEO;C|;S1~26chm0;pcc{CQ+YjeVc137O~qO%&SPcJiK>*i{{awIonS3^8ocO zbp*UnnN*{A7#b^1-?blYanxKdXdNy~h4Uf$oic<8;I>n3g^aomyWdUT!ZgNqXLCz^ zINU!^uVVu#(VzZKMntY)D&tpRt_Z_RGa@*VIl9^R=o$&hd+ZNR z`B)DZ-PX-U6W}>;uyLa*aPwqXWEvkW^KZ|jj}qtY8;VSYvT8?x7$pOz!_i&{_cr{R znJ!&MJ&VuVmXvmpgrrbMCxwL+%+ny_F3gWZbnQVDT5XAGGUx)=enbq{E6$t2%}K+} zuq}iI^`GlXUqM8%1y1ZqM$BKrxdO?umsIcvgotQteZa~>ghnKe$cyV{#mqR)RUL-2 zr;%Y^&7QX{I9LWP>&~R}E?6DlizUaAaM(!MQ7yO+kPe)>w0Bjpv4a-7r~>9VEh&Y`7_PORtt2BwU?7qTXn zjy)P7=^#%fCDMEctIcd;1Qd zab2>uJrGwk?JaisIUU+a+o|EH%QG4xk&g`q$p4u-%ei*@b0#&Dd^-FzC*f3#rKtbP zE&bVhxLN0-st(-GqCBoSUt_tl9ILOyam_oa+LZrg9f#Fa-2Skf*frfs0Xz>f*l|mO zL_#=8HmL2Wm%eNd&$7*u`or})qfuWtARkZw9F=8VP02#CNF(;;AI`COc4g-eFA2M% z=1+xqJnbRJ;BzC6ZNZhzoqDj{ldwo`&4`CXNwwCdj@29ov)es}AOYe^u0AI4u``aW zJruOH5YkcG;(a}8C0ZSXE-k~!u1y8)iCLP}ZqpB&AXUE7{wGQeblLc!(p}2)K(&W~ zL$|_PkazU_l_4DD%6R!SM@2hEF%%CkTH=I17e z8e1$*>q{Jm5nE+z5KhjD-RLP@H~`07FF@+j6!^GmbE}E)XHB4+Us=tm7)rKkRE74u zIve!q1%$^toI~uS-szW!s5;D|?lV75V|QVBSMFxPRs+ic9IB(li`I7^~jKcEkK?ihVCh-5_RhjCe!ZuWq`h+Vm?K&7| zrC7H+UwyRs_Hzot+o)y*K;KU`PQFv4%N4OtjTAJ#cfxO~N~x^%u3}kHWTX`)MF-yQ6x4~KlH?8roz0QtH9)AR0hc)zJ#<&Zjhpr}Ltc=`^W zYu8VBAQ#5N$=!xi$ZCL$4CbA{oc$ng(U3#^Qq102Jlz?LNB$PwM#$B`1?MM2K?(g? z#SmD_dr-`Ct&QQpo_ga+X!Te~0_D14Cio+V{HDZ)!*Uc3RABt?lxvios00@YzTrFG zh~-MKUbO;wxZAHEWCSxi*~KlxeE~gOgNN$*(R-YQxss+EDb^T3`4_zROgh5M_+g6Q z#IwpmK;G6xImRd5n@sI-;aRINGF1`4XYL%@^v8`tX|wY3)|ruj?>ev0Pa{1G3`&dM zdC{zfW`TTh6bGY{bB&J~uAddZrp5op9os#qxR8(Dm_5c0X!65if#VsyF@%~k;A(<# z|BK1W+!Gt9S7Po-p&fUY>`DBEV2EfXn7<;?G6j2!NI>?$6h(8^!A%*!^B5Sw%9|{B zV>$QpSX29fd655I{%`vl^7YPLkLoNN52fL}t9euH1pH2m|GJ3MtY%$;2i2=A_%g2E9 zvGM%w6TvR6t-#t>ZV`UCJGsuMj+Bxv}NKK%h4Mh_4#%J%L zS}EMuV5T)%lP_j(N(6oT8TR#0@*&%oxIn${M(JQ={q!~xsL;qK=(uUTsQqngz1A8g zyzuUm^P@pOY<+GVV<02nmGl;6hH@y(Y%Hh8EPf5~-skn8KLaHn*pGTK=sQ%xeD18z zMH_*%?>benFD*1qDC@?)7SkwtdTRsqaw_JmG1<9<6bkC#p272=(!S{zoE4RO%i^z9 z+$DeK1mOPAr0=4>y5F$3voEfHjNl5F%{$v8Ba%HBv3AA$Er$i*g#9TPB!1AJ!ag6% z67jtD!6%AG;gl=nIv`{I8dH1=<|Vnlo&51u=cnAon1I~xgP4qkPXrir(C)v#rRdYZ z=&68wF{%G4+0C`=jVNgtD-=!ZUX?iNM@4qiz^>m2uBEBkVB7Gl~7zrYg1rhp3jd=ulioY@q!B_9ER6;1l`zzrPW>j>pe<<|9 zKclF=(?bY?XOsCWdEt$r|H`!obk$S=GWGmVvL^1FCVuZdPh^MEvxzi9!;KW`F^om; z>j{G3)B>;skUi=NZETvBhhf^TMyjDx&F&ku8oEgkBET0HSi-P+*b*Y(`4_0snz&NM zezl}eiwU4Us8iHnnnKV@KR4zs%xyFJ_nh!0^n2A~S8u}9!{(<>{GZKm4Wkhq_h}_O z@m4rr|9l4d&L9c7;#xCnjp6lp$o#p|Q*hC@x@B4}7;Qc(H8XKr(3fW4gjl=5qdQYz zF+w+6J*>3LrFI+X&(%2uxuFc2n}R;=rN+7|dEoFLhC3BrOje{CZFhrQT`OD%|DX)a z!x<|N;J(oK^hTHn4Zcst`QGg-CRlHu@g@{TuD)q?txuVm1>6hu$-<3(e%p9Mdx<2jd9DN>g}=?s8bP92Gsd5Af6+$; z)XO5*qsH8m1n=q2I!}tukk=G--K)fm!W+(BACl{^5AvsyKJOXE%!2kI8!zg(Z5t3; z=3g8xvWL(zR>KWOr$2K6`V2|2n`BJ6CbWwyo(z|a5}!UO*TUE+YAD3U3HC6jNi7bS3oZcep!dfr?dxlx>}$ub)OV!97Qk2Q*Ps`r_5kl*)Tt; zQO8VqCbO-6jn@GOawZHs+>BSkCEiXONpxo$J` zdLEhZ1J?(RE^~)XKBI=0%QC;U*0`#)$QmmDH_o>|U^<@0q9qf<-H4D^hwGP;+#GXO zM6nmytxm-OwvQ6f57%eWi8r6br`@6+*6NW3*BYXIMS6yM+Lf=J%_`b)*#O-CZNAv? zCy^;42@;7uxheM01r@t0(IiRn05Z-6MJ8Q_>!u1!Bq_5tc{?|?RHGg0XfpHbym;zE z0er}Vtew0f3^M0y(`w)5Zz~cT{=9hV@NBfWZgZ}>XbhS?YA+DT5;_$4$nUg0Bg(C` z!hfjOvfP^i_9Y~8$+KA?Q3~^V%}mkgfHgMT7iX^Mh^}@nOHuo7jy7}KMCrR+HnGsQ z56&c7moF03f3C`~1n1rjO&QOGYVrCOPyM77T)2uWebP3SR0eGnZx4Vk9y%?Bc{|^Q z#EbRCwP`-fi3aNmmFs_WWKW>rVsYq`Wi)y!JGj}ZrO89F-MKo-Vw{}vr=+^_U#*K$ zEgMF#Z}I$*VhK1D(PEi^5l-jQ^xk`ff|;a}EQ!out~R}5dDLf>;3l+FN8%?5U`G<7 z4Qbv(JApr76I-J&?-d=ffIk)&$lm_0InAwR>*TfLL|lm>nIfN{`+|<&j9fEA25pqb zO;jn~?k)P7ONRcPJkuL?qF+muB^3z&7)g(9dNp1@ zVgMZR-|hh4xdXyj|7}w#otRmkc4pIk$lyx_K9ahB^L~N+C7F+jIJ*i%&v}QC>VL)q zyALXCma6#KCgN@xvn+FKx!&aA!ZGaj9od(h8(tysSz2?oSm$M??v}1th1{S|DNi&codFi6OnTH{-80GGZT8Bn|EvY?p(bz7a#>G`18^!iwVGDL7?S?$(u01v>0jvN*f zp8JMLqwwr4LMoBw-8%%mB`DRySNW%ubEGytb1Uz#(KldC52mi~tn!iP&k&edX`R0P78 zUa@%aw`hU@u6)V%hD_Vs?evg){I-TA=7ZTbHUZHWnCh|!QpW2=698xAweq_W30}#K z!NM=$h@_bq1Bc_J`wy~U{Zo;8D?G>(xJQi-f9%VA$QpL^!gim2oNA`dxqgiMI*Hm# zL#^6E0O)%O&-4ZLs}1*283i>j^u!-axCiPTRmb;$qK53On4loBNpA;oujm!Ri7$s%mnGXkM-h5ieBTp0mS%ku)MioiWPikgN2eJp5+Ppbam2p)s3QD1IYoK z`X%}$_Go2>CsiLU@v)R5d}2zZ#$alSQ?t_*^r>o`CKl9xE@EvogG!|;B7y;O=00Vw z0M57LV)2n#Y|%ta8mvJb3~4|1or>7#By2Ic9N|<(opDbFnOj;auou{?KiUO&t!uf)>lbRJ-qeD;mEQN7x%SV7h=+~Y8rLQ zg+lT{&LowWZ|TB`7dC*ikF?}7Tl--VzIK7gJfi4r6qQbC6-MN9f<1wYA4G|OH^@W7 zHU#GZNmB>&OuUC^ySl6}VBTg@QIGPQS_?`EAoZ3QF)Df9dpX4f*#P4q<^9!+7?as< zLLb>S^kLZdY`BqXOft=K*W;sA2R$;}zwPXpU$~IcGQx_5AWM3VMA7Xl%P)JU(vmTM zB(Wz9^T=s{=Z3QZP7WiTW* z{ep_Ic%;5=2o2?9x8vp|zUWtlqHZ(*^kFz{=pw&<{nCv^TrEkm<_(dcGC{|>@P#|m z#!%=`5BPjV-aVj^FrvG?eWxf!&0uhjY%0Oxx!E~sq&XYzg9!ocY@(2lN^*XN5&<%= z<-`%3#s#PTKtSgvd`(UFJE#yuaKDXGna3i6DMQ4;=l4d#LeR%9FDxo6>;p$itq_zc z*J&o8eTDmO=5zYKR*c-bC#2Ilyu#m%TPTufX{KF+0?N>`Kwoq3?J|l&`HThT+I5u} zd6WIFdzuP@Lu%6N*u$yc8C>9c9Im-rPkyNk^(uXykYa+o*G1rfhaAq_<-4i=OqwPR zxQ1E^;yoj~c1}d=Myz31l#@;iF2P<5hc~GjbUl8|La0sS8$`#d8v456ID}+yzE$$Ee=WM_r8r`6$yVL9Z0Pj1 zJc;u~64!J{7x=j2Pdxs^^ZWBkz zwMtA3R~Kq{pqrJLiC@5aT&|)P9f|+gh(2Tc4f^UeX)du2GRWV>;n2nY^lKm7gtQd> z-rauL+d-1dK^+IK5%9j|Cr!A(`kUeVG@Obn^919ra(ISKs6UG0jN^R!UtanDHeXz4 z-$mv7&}MylEzP4uOvV84k~sb^3^E#mg&oava2I|#f_WYmwxMu{V#TD?`*jJq^1oUD zcU}DY7nd1id3cC@0!A4Elph}LFnVsziEI|V*6n9>aRSPbeX8i6xf)Q^lCAOP z3%I~M$bNEAJXL$>Osc3bq(|35U>tF_&|B6`H)|1m!Wd%)L{_lNO<8a=<9&G@`#0@^Rw$TRkz zl$J2vpI-`nl@@uc=+aH86wHW;Va%eKd(#i@JMC9DP$73=H*s5h87>ME7L7~nU%%)* zJ>ZlSzYi{Rkp}8*&Hd~LIVKLedyZ-1KzLcU#vsZ$ky24Yzpj;#UF!k*b**U@^5#0hFLRD&{tRR_S@!H+SQ7^uZmBXp z<(p@oCO?CGtlXGfsK?dP*;`@@9-0#7xi^0@-O%ECf|(*&+!1{eK>HO#0z08|p83zN zxX`SxjZe?RdcCLE`Cebl{nCzIj{wMp@MmXzgK0`yDF_{6MOio5-5dO)a{4qI{beG7 zH7DT=^owh-pt*z0R2<&mMu!MZr7d)3@g7+~zR?&k)krw1Vt{_)uVBx9ymw}*D!Sc5 z#I*c#0_YLGo_Gf5ZKDEshB;=oKz~ug=UeQQdE({@xDE!5);s0!kOV4;n5FCA@}ti3 zD2W0%-yxd`qO>|ZVK`#+(=Uuj1(}Gf0@F3Bi)D&RH_E z>RuU)P`ZCv!b{g8++;Qc>Rmsvoq#u;ObA_E6@k2XZB(oQ8!ctI0)2GMzmSw~P7UDx z|H2n%P~2kWX(Q9z9YSl{+I>{xb9l0``<%s`&6_L&GtnmOCBx|^Bf-havXWx5vft^m ztJH=6S9%oV6R`5S>&l)X}Mksw`SqzFH#qGgmN2ST`hei#axXkS=hY&+(Oj7VeF44F?) zRd@2GP4fzxO;$VWoetuB9fFhOcuilX_#H}fp}DtO7*#rG3hI|6!FpAWQ_Owxl*}Q{ z!W!%nw!;p3i7I@c#n%IO%VJo_V5pnw1-GOShYfA-h22)$z-z6WN}Q!Q>q>Ems#m_o zXoS&9!sPWZCX)R<3ACZzXhL{SI=l#M6ebFn5?jK64;t$*gVW#U;Y~7~&Hq-wPVsn5 zgtX(3O6YI--w)6aKUGi1M$16XZ1Rt2yZdkwKRpEy`#G|u%vJQ*Pjs10Cygmo^205$ z&u|v$8DTjUX}s}q^WV-pBJ`m;tPEfg@HL!UPTaR(tF2s_gf3YjY%3Ko9@=CI6shH? z`=?N<7`aNhGLSO5L*iy_cVa|@8JRe-=(R#6JLbh%YUzBy^Qby(Dv4Vxtb`eeRV3l_ zhdgCTlUN#xtR-N|1dLBqc_@M3jMlvb^Unov0KPaWFiV&r?~Oad&`XR3j13Kk{de*o z_&b&5>*i296fP-W4DPE+qDhhcdrpWTc3QcVxxo8*x;%oR=RsGhwlDrC*Ys(iVT)Hr zuZ12MAFUe0h&QM>T^2xslcj;(Dw2<{cY4Q7OGGIb-#@FWYKs zj;BN>%Y&yTY*8RApbtMRtUSIg(en*vG{@sG_&}ylJ;0lqDFxBFr3bxw^%|UG`c~^! zOMX9k-$@431tN;yx7K0rSlSibWVVcMFYOAAisVIU@FEJ7&fyWNRIrttJ&j^g4p1ixHBJFnD5LK0sPoo**$p8ip)>oyz z$26~M)5qV=0PZunGzQ$(`=k#?CEwlu6kFNyOoh9I(+{RSb$-8AKY{=_ksSRxmp|s` z1Q=u8*c`Kcor;b|_M_T6y%!nLxn(&h08Y!2HW#*4Co2|zPcBl%sTm2n1YWmAa0*>; ziu$^N-vhw)3C`kr-}ilpAOGQoA$RHvVgmI&r&?SOzFaOt1RObCf7(Y|C=M2B99~jlf z1);vDX=`zYDWb%_P^T<47&rZ$@63t*a6qZy>5K!#<4yzE(e!uFRIdBI%KB4T!jgir zq7~5)Z!r&iq}VhmDGIX`Wq>dKaX(>U=%+&6$`sG}yL%Q9dkb2L3+g{tskS$9Ie8Sz z_OOK{Rx!kP+aR5Fu`h%Y*AmWmmBq;$HC`GQTZP(Qt(g?on^sFsRpS);%U%(@J;gWX zQXUeYEVNd)mt?7|i*+y*B7B6NuOc!Hs%r9eR01)`78PU3#YTOZ3g~(aUKs_+s5r1w z9xLhbBKw7zlja&Qhy1MMX7k>2_vtl;KTTA#mOH&x5YJd-Zcb8j`}I>zcj$wj1^it! zqj19{S)kbh9jj0FUHk`$~2U~s>%PeZ}u_!RqY96@wq7F zH2B<@o$5cs2Ibu>J28UyQ?nbvGClQ#@1M8%R>ruHg_~seG1gy28c+f_HxiO{7(9$L zyN>qnrDQ*%@D8xr;sE~*F|$<=GyXpy2P3a7W^hdyY~R&y9iWbnif`R zJ};!-Gi0~!iH3X8ocBaNx!JF@7y#`v^z_y(Mg0-bQvCgH8}CO6tBfPo<~Va=9qud} zp7FC3fU{*9{i()hEPl1L%VRKHI;_8KV&UQRrsy$Sy@b-6lpDbLS>wSCx^Z?mK#K=S zF=4pEM6kx9N@O+celgG67c~Oo^5(bY`^-o3YzIZ#Uo>_5#%C@oba**LK`hAF%aW*J zz&%kpd6|XNW`$m|)xqVqW94J?OO>ckwckfM@2tdN&BjfEdMB$Raq*kzyc;vD{anzc zek+ZCht|S9?Ic=#(}UnA1KP^Vyg!P9zVV%Mn9YCG!gLnfV&?kt%dcqFm5SZp{H_uN z^a)G3?+Ynpbu|Km$t4jDkTK zd2a^mm#-g~Ri#GaWnn}B-1l@u6z$f=8Pkt05hcztE}KlL2;}7~OpW^pnE0AdAU~!b zBN>1@P;QWJxAvfK>rmJZ&w0*x@}kM>tmN%{B}4+$O~6K`@PT%bn$FM7M+iX!qXQ%*iB=6W^<suO_w{f3=+Q!yE%am^&2fO$yAGucwRw) z5L$1I=5uPGpG3$~P_rI=gX$GoGz9v&M2YBRAgD#6Lsz1RrRnCOYs-jGwF?XTE%6;j7WE4? z05{q#%Bk($sZJhMY2%pVic`{Cs^3*|BkMpKMpR;w{{MP6u5iBLk|!vuXe!yxUvNjo zAj0uI?F>KhAB`Tz_B;U&aE)@AI0zx&zHWC<`aq9!jewyF%MD}k4z1@4@xohC=>srs zO!mV!8&nq9Ku>tydW!zfawa8?g1;W?is|6IRZ`};KwdBRut+_X=Swu%H=)fFs6`(t z*b&DbsW+)|MA|uc3Q(ZEyH(2$KT0TJx7^qqYf3bL&barPBJdOcQI`xu1EonX06Y)Y z${xMQJ_Zn+WgD(TDr{M(mEXSd)Y^t+wTOxH8+G6s1?h{N7oWR6e#=YG=pN4;8dcS4 z2aPZ+{=NOM4f{|3oBOQPbnU%KRf0VkR>-O)DFl%O-i5b|o?>XT(7ymHU+ zC$%TU8K7wPoF{3jUCmLlKdZfpC+qEyFz zB-PT0!prKy#<@g}>8~`Rx6SekM#1uPubWRDQ3Tre-^yP+UBQj*r6n!% z++*)Fmo5UX!CQICjfY-lxpg~CAQlA4I>SNz=i+ce7ke#RCQ3Mp$8U-Jk{l>!#GZC~ z)>k#AD?5>X@xB?17lu8FQ$}NUl8!Glvq)BSK?U$p@Lyo;UveTJZkq_`bVTq2_?PqC267&`3H13-d}IA06i!5Sp@VqjppeDMraOf?qGh2 zQBff+6M7WhYug^~(Nsw=&&H3TCOs|fNA`(kb@leKQz}5uLHsPG07k5OBFPuZ_|t!0 zBK@E7Z&d$jtgf8yfOl6eMYF&J#!dgb{NH|T-B-b`j*L5Q{#ZXkH_oZ5+rU?;B=>2H z!8H~XTeSTkAG@|g8LR>IHpa%mhG{}}G?U^unODlk@it;F4+o9E-V69Yiin6iI+AeP z%%|Al*N(X4&7WuHY-9v~HZcx+MJYgL2jHX(_jNx-&NUe^RhH*)x2&UOS#shRRLG6- z{&0(gPKO6@M(<&4O8TKh4x{X1+(aloWcTycyb~80k39-EsiNrA0&u_Od)K9?tM7cT zHsO`Oi@st$lkDsmWZpiFLr?;6x8q`uB3eX?61$4G{0$o-w?nlk&yIVRtcCRc zD~v0k{jYw)t0G8jA#U=oSup?AYey$Sq0dX!fr`1$W*jDO1?rnf|JXVpYM6J3&%(vE zgwAV{3<_b?IM0zjI&a11fg{dvC7gib@~W&(Tv8YgyPEn8T;KFD4A7u3#+Q z2hN^Uq!5p9Dy1(bWXxfurb+4&(-2OLd0<*$$M@F3b%n0~2p7%ZuvBFz}SAoQ1b{JCGqC|5O<4VmK zXaYq2om+G}jp;++K7@flhimaA?=^+K*aj3bJaJOND@H|_!T0k@Th`M{la4^WHo<$c z@H$T2{^)<+tI3u+bo|7Ttob&;-1j;jQpJ=5_T#^uzZip$3@d=9k0op=ocNihN_n4^ zR~^PtkjU;vPbgbsT&80bLqf{R0AZm!h~YGz%=O43NBXafI#|T9TWoftisRHS5zQ9q zR%-MAEA`OCY5&TzsbPh`GATpZRSR=NfL?c&2tnG*W`Mv@{I4|mzGn4TCSjpSmZ=kB z(rk~=&141>t%;zEI$79Jb))0JCiR8D50ss|>+p2)ai%HR@O~6@g<5+cEOjsB7dqlV zLc?3b5`PjzJFOEpb39jt0>-w8v%?07gp5PXAC|TcwufZ3HqM(-%oh2zIV^-V-3aX+ z4Y|l6VIs4tgQ6$MHVKQ7zlgyorl}*MKfX%G#Sd+GMqYbPQFO(9@>I~&! zV?E;lQR`<+F2D!%y>0i-F3gq=(?YR5R~$0`sZMPBVX?yQZ~5O3&<{Ml6;w(sd$`PN z4CiQ*7yR3>M35!LOcW2vmojw`TSR=jv~;t}$uwogFy1LA3*sr&6V!psCgfyH4T{Ez zr)GHcnliUin{WkYtq5vkzZhvvDxjF0v(fNPB8l|xDK$}Y{MCv-=Bc$=VtS)^Lg@G? zqD>M?>3sIvdX*tItpNa^W9v=mYP(U#TbQc{pZ>IArn_iJ@Mtwa64b%%exDxh1pKx* z#X~&yP1g|Mi_r{-eZmzg?B|V19YwE}6%##BC7Z;Zbe)fftZ{V0@sZrq5nJiAh5tP# zaHM-gPlX?6$5~Bj(Dqci?gGq{Wh{=c?*!3%c$cZ>CD-fX2T`Vr}P=sE9KHkE8Is1Y&CN?t0@sE*^M4wiCj|oef+zNZ?`H zo@b2G{d>P{@y@4lb-to69fM4RoQh;of;#tfPT7EdOgKT2xc`;HxzVsqOtZT5g` zp#N6>Vvn!gG;*Cb8o9yGEQE(cI&huRJPUhH%-Wkb+Qhi}-fV89+)G~l0nUsC8m$LM z7EUSnOu2R$uI;|llmV0lWcK3pWYd)W8mIT}nh3l%m{xL!u6##$qIK*1xbDN_&Ser6 zg!6EnLS>X&KA*fqIRX2kAx@_5!Q2^ zXYfC%#OKBlM!ICz^xJ@A)Anrtg|0H(ZYE$WuHCX4?#`^2YIshpt1c@|rTp%fGo&m| zKx%^QBO>M-bZ@O{B`m;T>2byQ`bQ^D(qBX_cHG>S>|eeO5AaLaBfHJD>0_0cO7 za1Vq=)9^-X=gQr-H0pJqsgG_oc^+96HRR}CHrl)vgADXLF&9L_hLC0?I!PMp%G#0Y zbZLY2+czqLzrL5Z92m8o@&C`ISc7X&w;l5 zx8J(2Ta5&tP6xhE9*@<{wkqt%O8sTs*PEs=$!UBBs{iR{eXw;U8|2T5bCaQl#*8YT zhUw?q0oNp^d5eB(hU+NMrha@n(ONxdzu;WOFFIdwOeWo*CWwFi0NT;1~% zX_}NNCb3qAiD&V#hTMn)r?{o`gQl`SFN>PN_ZH#PP)hhdyki`o#jeu4-Av?fBl%}H zAiKUuad^6$rx+R-7bw!UT5-y&XQsLTt}zJRW$tkhvgI=|{5KE0`Bu@MVT8zfCj~ZQ zs^WPv3RV$Pr><63o3D~=M!!GU-z6XMl0p6FimYV{FvnFlyqJsdE9i1G`Xy-sZLD&#>x&v7#{JIa$@6XlY5S)Expc)x^P*O0T0y5B%oi_&(ZoC^=sw5P1!PIkmE5gSfD&bjP?^*`-sQl;bGcC!6H|4((-0o2r%hAB!_L@A<=7NjF6(vg4!P(lDhk(LNj z0)&K~P^2nNN|4?J6$AyB2TF+;P!ItTVG*Qv9>^1EiXx!!csEb(9p~-N?(EFlncXw< z<-hsQfB*B}GiOfu&$<8Yvf><};*h8&{K5HL_sd-M7>v`TA60t4X_~Es^XllR4vnYY zr8$#ifIxT2Sj|tv(@%>EX(anwpXA*VIHtA53FAxBJ(E@JynQ7d`mWzKeWL1bT(kOJX7M}7;_`&5_^VWCYG4$>3ep0N-u9a3QIX3Z1v!- zGH>^G`9HkJ;o5R{+5%Q|vOlJ*cJm9iE_=1vFA!KKuQ zLDWHKft-+OO07`3Tvhy%QzA!}+8c9FPD*O8yl!{{*(TxnXD&X;H*dz5K8@*+F>hk8 zp?f}1AwNYEaIo7Y3NsKojM!NxhsGG6t8dpC3^CK}urTLY9f0OQ$>l7&l+=b)oG%(H^}MZBl&Z!Trg~zHmjF z0yOs;#Hh~bSy6g=$DObXoP@04jH0g62qtNoih+gPO9#j=8iDXka9;NgdpvTA8zp6m z?N>XI5;MtI6-wuv#xfX|Ei$lBK#Csrq2vBBm7zbG&18iRO+xs>Ty>t9lj$$;Lw z&81En#T*pcj_Bp^g2(R!&bV&BC*4f*;{1jbx9ocg^%JCOL#CvtS1WKah10n=Y)XE4 z?A)lqk&SBm1gDjl^+4ys&)8V~GHsR5W#O^{s)mJYQA@IR7^ok+`mh+cN5nN}|EGdT`^%j2`NpmH zoTwR1!mS*~tj}#i`>s{k+I^z9MiFNxATFv*pl-xUc5yR5_6lk<_?WXQh4(P$R$ zBgIDjNF*hWH|zL_czf)!zL@Z(uTsuA71L+I`V-W48_vk7j?)pHkPv&aAr;t=8F{gL zFf86bpY&p)9onyK_!!YtE;^HEZpSNeXh>?DTfS#uIIoYL&3uNyeOMdX54<1MHPhYt zu7Fx0aC~AepCI0M+85Jl=2T|{edlfYIl<0uvN7;v*cG_Mffk5QE9e$`=HBV_<&3S?1+ISR z9CV@H4enf$p3Ac6fL1x?4&;YTrs*Dc2|6S+CF7_kenwgjEO)3BrlI@OVW!2<7>`zK z27Zt~+l91hRwTl2Q{ItV>PjK|*#b6nxiqzWvEPDEC&>K_`6$W@d)QtcFVha6Qo|vI z3uQq)x?5y14q>?Sdcai#EhPQ`$d@i%g!MERv2gy~LaM&ADgfjwEDk9|Pd{QDrtrh_ zL`tCe5)#}=aLJoYg*K6xB5 znX{J=gevW^Jt%4FGlw!T_f;?@ z^3*8;Iu{!EyCoB@56yCq3EuW-mS!;M9;juac6*z_Fw~053kU4E!FFq$qgBumme3T- z-DJMB@9G%8LdVYH>*CZh13wS38z?*|H_JC($L8Z2KJ267{$c@g=U$|+?}2|GKU$ggI3{+N(!M`pY` zG~Q8Z))}LExy@PwH`CQso99#a2wx@VVIBvCU|_qoGxAv zD0I^{uv}%#H*nlm6@mKe)`?|e3r{>`EsGzLzI7N0?yOW2cND--^hN zOkUT1a?|sS-|$tlq5Zz?)7t&BVJ2G^#l>%56U0IL5)AiqnzeD=3P1-vXjzX|=Y{Le zeptKmN<}`$XRP~g(0P!fI5InW;jEBSZT=ok-ie>q(ln(I=ia&TMQlZ{b1y*c{;!H( z%*yaRvF}n7oTs;6u$7}9(=G#CyraoZM7*<=Baw{rXW7l;*`;W2e;nS$+v}7C0q^A% ztdDck*v(-8^&=epak@k@xO4?ISm1~_XA<+SG{`jwA_1~sSHZcP``t7>Z!domxZ?kH zH)|81Tmb93BGr5G7*QKxtENT3np@cAgN)pfWI$J0$CjM_5m9V4`7%Sl}9AI`?w&h zgWk=n7kp#35Ea9ztH}_X^av^!l&x-)jFs{0$@j1MAqj z*joGiR}%G~ls`$i0H41M!2KunKWwFaBLCwK0KoX?{%-?h+}*r={wt38Pci`THx9ek z^tEzvwAQzD@wN4anfV_C`ae8O16CFPQ#t=G5diSN5`>lW|E2n2X2JCTsp`Lt1OQ+P zf7jH1_JzNmfPMRSt-#FwU(^87Kk~Hye3D=^;E&t;%L-A=y_MWC1^BR0g%VDNWcMweu9Mj>F7B#69TOAH1Dl9LPm5tSwAeTO*@P zY&=nV)i~|8uf0Uc3;v#?anpYU3M&snT`y}Q5m4}~Rc8l;NOqcT2$8VkG~}pUh)&zGM8Y8?0`ou+ z!#ehiL<7E$+N0qinGN`>wZpEqnK3)M><9t8nw#?i2EQIaRN#U^y^1pn*#9#{=Tx#* z*ztR|NjAP3lCf~&^a;UH_d{oJmjJNESHjb%K88GK^cB;P zY&idppN_x$@uOUqgszj|5h7A<<)%&B=V&fvDk+2;*LDq|ni7(_mqvcZMTS&k>hyLz zOiLVprc90;`e7dP&^2TbsEScn>MXmgtCUM7{2V6Jl#ZiTj+$JiecKlmhu#vqE-9zuD`cee%R- zL)5I2jxK1(cVv8+6r>NAk2cQ*V?1$Fs@&W2M}*DGcoE#y3n^SG_!#1+gY9ir8+EZU z%(;8|aU~SKK{VfpzXzof%PL{rFo7XCbY?k=&v2ffJ2T54z@sM|y>pn%D5OeU{LS1p z$;Ej>7Uls|Ompmz=tg}L1t-Nk&tmq?{1Q1&RZZVsl*3&9($6-%=)1VzCaH8?M6Uif z>=3!#16flBV{2dMXWCwkI$_RVdKhT5K=wGI{vGD@Bv{NvJ}P8YvoGj?d~E27tGC`c zOD5jn3}5|8$u&#L%jeS1(iggNaNd_v*kFG z{FDDOmX~%2?$MQH>s-SP6ir>e0MQU0bacsnW(oeu^T;t2vkuY!?Ld~djEtA}N)Nd8 zX5ONSEr@rOc3PJ>bD!wp=mzgQE(?ySIg$hm0*IPqZpz@#bjMj#rQ7^zn%l%^nxEMA z{2~e#c)sVw7^OF}43p zXFaAiRhl6){V7z#!9PLa6hh$yofo8aUpW5kkyz4cUq4i)*s~OAWKTbfHBrQl4$Z2h ztTM8e*NjlWHN6wJ5-a577ur2E_=Wk~-rf&P|7ZGOKm$$9nStK3D<)+)6-ALh)3c*su-Zt#Mx4?t zkAk;iV)*s&cj%eT& zOz@hkh_b0@kA1iVXhBX zi%h_GOT-Ol<@a2E#wjzcS_#wm1v!n>JKHl$COnA;KT=a$b*%0&8c^aC$RGUXxmW=; zuk>$TZM!YoV*FKp7k1;xQ($Mg85rYOoB(AC4sXo~TO$ZJ(J>ahs80FMcvn~zz#1B9 z!q%F|!}T_E3CTV58iK{LL4q2M~k|PJRmg5ijKJQLo8Dp%NpnqDmjGJ0+ zsYaATJpWk33g)hFtYVl!uRWG8#MTJA$|xhbP>;sg1>*x+zFymhTs<1EVR#4AVxX$2 zJh=#BwuqA$y?Vb;BKsKv0NuBn#9N43PfvO-9+&GYI-`vQvtZA0jA)NjD)*#EF}x!1 zHIgyPwuWDaCEH<0vkHCv8@|0*B5)8Cr2D00#NM~ST9cnQ-ED**LBwk663!YKs=yJf z52>R3Y008mW&ZAIpIT?Y0ORJcG_0}Pw+XIbl<`*fz>-iS1;t~#A9VimXz_SL@ zBUC2S!1h%GA?;KYrWRo@$srLCufrj2T-%uxg7XP8dm5t5vk4r6lZ*gTXZ{b~`pJg0 zV;IT>jIqbW{0TTH`lUR=xn`*3o{>SH1I`X)@^EMi<1oQEfmOa$^JIH9IJQy!9oT%j%_l zqH-{X$`X&AI8@Gcy|$4|*c5>G0XM*X2cZfdQN2*Jj*F41G>w+oCZfs#jj##4SeXog z7F1i7{1C>!dSo;7rhO)>&Sre5Jap# zj>PO*pDK&&IKBrz$q?$+$U?NbS}1vcs8=jvW8}PNO%w>@ywC-%*}aKL)*|>m!^bhHTVn zyL@zYK2D)oy!2D1{f2Ci+$H6+u)*xbm}jOlade2#dRof_wa)~5fbeW6C-X#_tx3qH zp$B5U0?E37RtDBvx@nepTpJuc?P}&P+qRr4am-wp=PGp}k=$;crveb208QHrvAy(H<8)ue(@?r_0R6d-wx4_dA zVn=9X!3qbAP$sELVKOc?kfpTrXw@PuN%rOzNN%>Mh+U(+WJgh!P<$5fgCFV|Z;6yo z1~zMuvU)3ELMZ_tQ~So+B;ZqjW}Wq(Por{sSCBYcl1iYLPd_EO(%dt^McJnbDwb&`~=cgL?((M8V2lQ;c&n9b00j%@}a?76e;n!IloWc&WtJDg#Q=v>^np z)X`p&W9bNZ>5hauPz(C%^m_*OqdA7xGkk=i<<;zSb`aukG|P6sA=>T?=nQP!gfXTt z9YfwYj`=POHQO1QCDB0EXiFr990e3Z2`ptUj6 zGRclpq?yU88KLg7m_4LtM?AnMn4QxJL$Se=+;BR9Tyc0l2pNecmPLkDz$~BqkOx^n zQ5L2{|6-Eonk?Nb0pXb#Z(2CSbnVr8@3jDVK1J089vieElir~0V}AZ{PY<`gt~==U#eA$mQb(~b3OuA$!kf-0U`9aK z;q>s+U#oZ>KnzZ&gOfVz^EXTG^uB_oS?36xfxn3y$q$>`K-Au(#8OD z$)_|~pqOh}dU=Ldu3Nqu+|!@74G=8oxTiMeT-6yJRKpq(6by@kHwd?p6+0Dz7hf~qb) z7o@aBaNxn6#wKu#{{DBIW;TH*!*j<>)8@hwP6CS>qd7EbzO2J=om)VVDLfbrKW&Uz zUd&B}iF-v5$J`8ss30TC{kF&%I5%lb;2G=W_u>bdY#*(wi$AitTvFI7{!5orgwZTM z<9; zsI~lK1nt^}jY|3^f^Ut;EEZG(p+O99e`Fg6Kg0_5%|{z}jOO3KQN0HM!?P{m!mzPns`eaFUEEcKLf6>!$Zyl{yTj!H*B zxxbgRCr`J=ftBNb_hy96$4ObZ=qq-9S^k=&wa5s(bts(ar`$-?p<&d4Lc$ilQH6i{ zq=xh9&OBU6w2VR#B`zr0T|NAYeNB}8LOAXdGf&Y?l{8?xXbd&?P0I(AvJcEPRTd!6zid|Q8E z3)-c-1|kQ_N4&O`WBh?F2N61)N$S<2&#v!pMf`;WR-t_#9j#3{8bs9XQG%{pWMxp5f%nT}wc8D1piA}i* zh}}nMG<7Gbs~`nrR*sc!dmO9TUy3#_ zL6D@|UD+k#wMd0Oqbf_wY9Rj3e!&ZO6-l?Qu_t1D(?Wr%Z-Vo79}T+li%scefV3>E z9lg&{p;iL$60Wp-CT4Pd4jg&eR7W>1Y^zN0(2qD`y!~sWp6~q3wof-_p$02-}3+L+z^Vptf6z_}=( zdzI!Y*)H_<`~( zG7{Sa&@x+r~HB{&8&t$+Gt||l4Flr;wWQQ z)W24@6ceiX@D_%Vk@%fifaK()6yn^iR%H8z7B1g;cwvVRu=$+tKs43|ZWXsY4-5{y z;t>~LqEZ=-8GVk$D_8P*qhxl+LTYb%N>UGSS*2~F>#X1p}IKU`~;qfgpWpF+H@s)by`G-^=e_Ezvc~7gbaB(A@!cGz2SOSRu2t3|)?yZ9Sn# z4s;D*gzZClQGi9u8Xzr)@u!5EjYCp6R; zrt|N{Vc7a9{dXl1Sk%G5Bre=$u}8@NCMwyuD&btkSj@m!OgP1+;rkL_k=aiYV$vqW z1|<>DqsTK4Zr*If_vg0s7UeR=BQ#x%=J4{yf>X!j)EA>Wx9s|FgyO;^8CBc!|cEvu7slV&3N(6 zwUdgf+&UK}xd^P#qx)F126BOZqEeO&Y5LTg=i&7^{a~}x%eO{*?=G>SZivWyDXD?c zPGWiw@Fa`U$+0eFE>(@OT9NLF5ck0#voWLe9#`3ABOvzp%}BKFeg_qxyY*q%Me_NT z`9`jM7Z2k9`z7|K;2TAl9YSim$n5M^a8jl((fP>n&7tI_dQ@=c(gV@g>ZxtP)gEe<7gf$r%vGrF5eKg~sVrVng%7yvI#^Wv zowVvVh*^&4b(8KSY^a*q4*UP|dM$l4Um(_Lj5%7zR>^X*%pK;Ju=-A?hF1vI3J`8* zsxVfnd#)0CIZjPy?eBo6^En&IIAmhnStWG0zAVGy_xau_#(`*IP{devA^Lg0mb{wG#gDaM>e?IdN9^`k_-1$0X8fh2ojuny5HM>VS z#2!S5{H;HGK`T1OPy%os^lm+B^e@&>d=Lc1ET{nv*tDuzn)Vvu93pq(wD*~YhGjjg z*!!qFHln%`+UHeQa^j1VY~e=LA~rK#cqvI5@<{dVjKJYUK|S#p)G2pG6Xn<|N^T4+ z5_%hDX*SPeF>-AXVMpSSGeJr-f&*TqL7S$CD#Mr8h_HHqYdt{w+H?;|e5+!HF`TPB zeB?$=gQ}$=?@g~JU1{Zc^Qg}Il`s=5lvvmin|Jj zfW;<9R`Fa~q-oe_ejZE5+Xu{Ib(?G&CeBDF>8b;F`Dn!i$dPtcM8Rgi=fpBA4lxA^ zZ@wZj*xGlX#Y^;-Zkn(%FnUI|%sGseGm^?n@(bB+8r>a<1!^fl!_??&{zBhxv8GAZ zRHlpA_=BcAOL2)g5XDZk2a!s~4X`dY9WJ1s)b-L!JGO+D=rWmb2cDXHQ%K7&!p4KW zH))l=npna{KA}{V-A6uXn~Ln0XlJ5+(NV( zQe7f-a2tg1OWP+c;V`JXIC6fRGvVB(WtIZ92or)E9T?NLooni5u#V94JUV|sS*i4! z+zXhH95Ukj|K+%qIy7%x`e~Atp*}~*7s!qei(9n+I0CauHSIt)yMmz=es(J1(9aY~{ zM+NlJI8O6e{Rcj9k_lbUK2T=?)4F5pfH1=w?~kt<9P z6RKq=da;e6=S$*^ev&&mgO?o5??RFQ&zZ#8W~0P9O=C3tb#%A7btz2btL~a)+$pzg{YQ2to$` znGcl*NmEExbkz_2^gTNApc47Mga=nCE1JTv)q){+RxV}sDh-gHsGIHxNgY*;T~6%5 zx!f`=hZB7;FW%%i$|}y0A2Z6TEtE70m!DpJsf>-swm__$UzX=tWsxp$7A)SmVJ_Fz zri)!Uw}P{f35T|ugUMlAbU^6K$iuk@&u$Ov2Y<%J|Gxh}s|JAo6xT9KN(ZF_2c#Z< zXIT868}zChqDAKaic1f16})urPo?k1FK5Q+PeA$My?;U6ce|j059l?RE=c}44o>8b z9>nW{-nOXa+qfsXDp0Dvj~I$HR7Sj{gBmJ+?H=j~wD93Q#=NyNR1$ZFAd%k(sV-E} zWVQ|c??}!3M#Nktrxc~h>ph~2U6tL|mAvxAqfCB1M4H&XzZ9w|?{P|L$`;(fQxvn= z%cex%|Ao9qiAsUpgi935-H+T1-c%0_;2~=G8fwa?S?I?umZ*$Y9Ynx4fJv&$Vj%Pt z@lJKuH$q=0QrqGJ9ufYiX2NojXT$rY)-XYnUOJoEQK_#|j5y+a&Z7vk$|t!#w@9J! zQ?|u)_4+1i|@ed-=nY>URCi4}mVe&=$?5ro?`%wmMbLj`J zzuY&;2&{0M5nmsvG7=}&wmWmJc%*5c*P7#+A^h+BF^iwscvxadAIMUO6gn_ckom{E zh+9`!)0C}yL|u)bEDIUge3+j0_PQ^!a1X5@wZ8bx-{RmVg=@10{?w7j`&!0a(VJ|~ z@YJglYchpO&hphWf{rP2x_){mK<7@Xz9NaXAQ5g1{2Qb_0puYA`r#i=U@!41TOkm? zxR#%?yGfX*dR}poHQgbmQ=v(RZ3K`Tp+^KyRK8ot7|dve9|0u7B5jeQaII&u%oU}v ztDJM9wrI$3?JU0H{(98G{%R#w)Lc0lS-uqD_>CLSUdEWrqq=W}cdH-3bRJfZN{3~| z@NJM9T4?Z2hUa+OZ~RUY;O5*xIOr@4Zb%a2=kb-1Q$D*_yWIHAt`Y*#)P8N?oi-KA zXn>JSRw_rKN9TI0JtHnn444RGO4f?!Igv&ru!b7Bir;#PAIH*aqE7D^MP`1Lb8~D~ znZ>74Sd2~dTY(!SeytxRyS@M?6+%Mp!yM{ME-}g<(M1k4$J%L_-}Zvt~Aq7-n<(yiG`^^qp%3Z>{PzW{yMaU6|T@UXg3Od^+Pz z$$}YQ!JdK41ts<9`41YOt!}1T8+K#qmRaz1roUWGA)F~xe-qdE9XUehPi;jLv`+HD zjw@|>xC~>l$5I>v1wEa*KvxlM;Z3`{j7Yd<-w0bJzY}nY%siH>as=(1Af@By=xwF< z*3}YKw5RM7y?9a@0h}bAhnB>8KVI>HHZ0uof=5Xw5dc1KZsQoT%WEwN-}G`Ut12kx zn`&WZL&A`cvL5h#;PvSVx{7@(e~7rG;-T;rY7!~7hyJ8Lr>VzEG9h4h&%vkj!$8Mg zVvjRpBVW`=>OBI;RRy~^RP$&w!#&e!KnWKl#Z#t=0g}o

SvA41ZBG?-E&OCO2c3 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 z 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

2_4muaJS^(1S56&HN04H1rPnM9LW^NMPCHN?t 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

&h3WPe#RJ1 zV856GStcDG_QK1U3JBgMCLr(p%e>$I$fpehH%Ol;i-HimKHYaY2qansTCB*a(p>|u z41x26fLfEO7a~9sQV93(&GHonXrx#k-LCHJ5J7U&f|AyrdsC>z^A_vABk8sj?W_1ib6V*1oMYr~{#+_}WCju0PCTH2s!I?2?+IOS#R|9r8;vV0I*!_-I zsGJ>47=h|U zt}=rJ;1pS2wUqWV%zm)K)eZ3Zg}6VBsNY$T#-(xmYkHK=7@R+gZRahvGDadii)#Ox zVWLL_{{cC=!@_~1d3x6kie^C+(5JUS7)cg&IC~iXA&n~bAi7<*jKW+UPHV992pbx?vzNDgS1W;-!-ekJbrj8_X!?!E*q{^75yJx_4WO^#{gRl^DubNDOgXz!-1FL@ z9Cn2oYl3~7aKJTUAHFMqbJED03ZF)uZ0m6#QcqgPwt;)td1diD{0&3H1T-oK8&fNwfymZez7Bo(0db06d`KAxm5Y8_p!6d~6Nj%z-2TM+7= z@w_R;6P`;vqYwV?{igo^!WSD^?7^dwIP)cRT0yDS(CfsK%)qu=Fe$-Lq4*z(Qz;eJ zd7yUg8Hr9{(b@_v?BQx5NwEHHhdBMkKPkgYXwrY9d&}wXY%XU)_P2GlJ;(jq21Q4s z{%sRV31DZucyV(2YJDcB^DrtlC0zctEf90of7{iecYGTpNQCb#X7JnClTC5hd8n!r zkFcJyUlYdu=|HQY7fe@A&`V0boW-JL_!~|=w z4-)v_Ut82`#OF5py`sgzyLTgFL06fV-L1lOGY;VvMs;}f+&(kr{DXfF+m(@`b>nQH zO;!mZ0oPV%$cD?smNs_Ff`oIC|+2VRp5xb0qOE9g0_El6XBEIDoHY-@6jx;0c4!6sYx^vqZE9Vo)^P z7j*t@WKo0KV-maGBNoLxKArBYDu=)FzaQY7OiN|7q z@_R|ZuBnMOXDj5<^j^|5?twYct(H^upIXvWWjZ*NaJ{WSC4!zU^ zQO_*oIDJXbz>1IK8rY68r+ehn@zrazm4=8Xv3fUbwp{B;tjGRaDA1}I!>$*PM^P{Z)AiC1@;Jp~| zCCt37*i5kW4XMz29zWMW= z6Adx_{M)4`2{!n-Caf;lIw$IrlJK|w`27>>zZ8M~Js6OvsWz z+j{H%RVQp2@#Kffg|YNyOin$u`!=nIH3oqDfA72dpZBAHrg5eoB2QuZECCJgItJ@F zFMsFZsFk7X?pwm0oI=FkAUSGPm^OnL1li|nFokBL``J@S2Fpuy!FvWZDO#U*jQRtF zIGn2mBn6ZOJw>)WMH{xE&#r`YGzJ#1)y4)1z`v-LYcTSB zEHV_v_QW8ipU~nx9mn+MV#kTZ7Pa)ewe)sv_<^A+6Q%MEmYHbbc$gpXqi4AZSfR`z zde9K6tduAn$~_{VME&^c;EE+~>`#*))nFn1bBxMeo1H~}l@|T7PWFt>V8P1j0|oHK zE=Ur#XxbL~Z9LwBt_Y2A!^_8Bd`t=GcCis0LSxA!#whnN7q{h9q|6KyN_YH7cufYF zVLL0_7Yh8`nlDC51D1s3+Tb{W~o!*489J4@~V_6zX0Z zYsJ$OO_D(}r)8u#x%W2Z9HXB6o*vi>n#PjFis%I}a*?${dXWER>#ivQA+9+e(T_Y+_C?!K(y^i*`>4)n5wyTTMTrj_O zg31-oeX*NS3_B;Kc%@UaA5-HILxGpD{jjC)et!e<34){Q-fSQAQWwU`lr#(uzQlWY zJ!+@Y;J?n{?l_mH0eNLJ1nRVhLk0aZ*7s%@uf{N_(68XW$Ea)Y`1BIalEs5@n8f?` zFHRiiHll~B4c!|ms@V`4-N?d>fppG4gt?gM&Bi9{|ff{mGW@E(5UCL;%2XvAwKeBB2oZ1Jb&~Z#;@%I zZdJQNziU2H^Mv7*gQNwHh;dp$mzM%6fcuCIKfPA&VMUB%SRX|zJ~K`5x~Dv(j73!y zfoh8!9;_R@#cwCLM>WAckwOr5q29B=yE#QZG{bj3W39}%G1_MV^!>m0-Tlw|QMeAE zsTvIO*!@{KL{x&c6(5rsKx;{lN4htc!HhWy(=(_cM_%R|GZ66nDc!`5%@6RXzx&n< zkK(1J913=&@)BN5wnT7@QtQ+`czhHQt}eG=?-)GXE&r%NtRcsfg?4^0UJj%epuF$) z{81CBwD3OAKNN$T&P&P>7B1k!83JUQ9~FN zPVr#k*eO%nYvJFRjWfp9G*;tsKi|i5<->^K*E79Qp~FLwaUsux9Th*K6``aM{v&|s zZ6WEP2H5G_6X`^zg5na5pJT_Vx=XQzht3`S#z@YGjtoiHJkV(2Pa>prryL0Me>{sMFGHH#p%ME2+t23PS-s;R9qflD6k%$wO7r>T z6jhudrrB`Kscywst_D7bYmZ%d1J{!okm@w~cJRuyU(8?mC`W4Dv?TVd>Sv-M0?$|F zA66dUDz8zk#int=JxGfPAK!?qS>)&b3n#=UwJ;(8M^4Gu{z(Md(%Ap%#{uqE;DQAM zvA}GT{jOA>W0dbDEPyjRtV=;d3`{dDd!;4wR*>LRmyfd@t|4y@a#T@vjUgX^Tam!R zgvz!$o7OXJh_@dtS$O!Onf_HS5T$mzb;5@i^otHhBM_U)Lz`g_8n(5?-?$6DUr>)NhIx)U*!LwHGh_Bi;srne)$9#5?|ZmS)bxy zHPDb*wE*1u`JGTp28G0u3AHMQ6Z1t)P)Z&-l9xa`?qp{Lz z&AKJQ*_4KdN7KU40pxs~OlD40N7&R#d@dhET-gA5q9rGR*>6_eO95+H6U7=-K)zai zpzOUuZE~dNO_ocF!2rl13-bMhZO9oTL>C$9Hbad8Inh%OGK0yE36&rfY&T|&Dj+9l z9N}x-<1^65X(N#^g+~PBeA804!^>Ehs<6%+VY@<@fP8<8*8wrrx z!F7_aCI4`&fM#`fCL{psbF&DtJgjo)OfWsS5$OG7L7o>*=2W@R<_w+d%c(Rx*@`!y zr@_-({ntPPoodJkHkREAxDMTI0mk2_=K}T%q?~R(-w$xV3(NjhQduD_Pa6+KxI)1` z3P4Z9ktv%|QK(2#CI_=weHK^;&3HECKC{Px;bVeH{zaUV7{H&lT!g&SzC67v2ka?&WSRs7>t8D-#Nn z;1&(U+p61Z^q^WT>_)p^rsz{+!1Kd#99kpXmYYVHl-D^~O4Z-5mY*w=3Jz^ZN*3SH zw*_qqHV1ih)idnuz{;e#s&IkaGMPW#pLlPZ$IuDqvndG}z2L{d zI9qZ(&#$AnwYF=&6``#<*5nU-)rv(Q?HjdEpQmejMg@U>-D${cTh2((rXcF~jLc6imy!VjFwfBN$Gc}$Xve@t(Uik4NX|3B=#Wl&vBw+4v2ySux)ySux)yAuem z39i8*xCIEVfndSiJ&@oY2uw2XJ^QPAr>1J|RNcDsW4h|pI@RZ?)w_G|v-awzSFdjF z0Q~zuVM7oB_aZO7s;7sN+z3yZx+snE8$IS?J&ztoZOXv-nZy(qphjoT#RlA0`#RW> z%C$lwktI*X_-&V}#ORF!?}`8ayu1Hr`6y-$#VpGT?{J_c`v@incD>d0v{BU~hH41*GW82?Ct!3WdrY1(9lyF@7qXL(|H`j0 zRZ4$lhvyf}zp{3FTSN2o9YlfhGydzovPnt@uKr&cLCZ<@SNhz>8RpzGVx;(=J5*MS zLs$`c(8bcbbL+?+VcgIRxnHP!L-(CTl+IhRagYFWWbJsJr@}AX7Y)hY1-t)vuC0A< zB;=HEj!V2fZ4G+n9{leh@s}^9YaY4C@-4g>KLwA$R^*{V*LJW=8v067^n5cid^?{m z_F*81c$NX*6@!J4^y^1d!(ZIO2wO&%NTUp|tk8jxd|xhaR2e)~Q3X)?Shqh#V48!U z(oJ%GGzbiZFo5eBhHUOSajzX((~$!A(d23Euz%C(r7NB>4CH`c_|Wcr(jTDP;IMCq zFP;FLDe`_u->tJ#pA53DjXBi=oo46j6(-qmm)+m`zaLOP93t-pq&bXekv&)W1cKFJ z#l>h%o_?576ZLO-EnQhU8pbm+c7FVcZl^4vMVfj*kR1(SMj|X^-Gz}(>PT6DFFqh@ z;WzPT&n4Hq27?W{7JS4DxN!|q?r+Ll?zSfJn58P~Mw zo6&GUd~sIoob)l?ipC43wRAAum~1GoJXiT*z32uN2C?3uChIJCihcdwko&*i311lD z#c89er&zYfUheqErM-^SR0#u2rF-ue|1M&;vaF2mhz8~X1l#o8|j9?)cgXyxF798Mq{XS-y_ zJN?0>$tl-4U*uFpwMnrYTri(@*@NZZvDy*RARO%h{=8Y{k^GfDW+&!4hAunepHrEu z*Qb$*8Hw#gbQsv4lq|*x7x6zPdFcVxXoBbkT<9kYf#AaeyNSD9KYwX zozbuYT_4_}Y6LHY*j!rH}`Gln##=D9*>+z1N9(l1=>(T{e2X2)Er ztO9$$!Mu4sy|wFomHMVGxsr_9V#avtDRw=Q`VGojwky90ftDRz#wCArJ%<6}iZuO+iK45ds*x2zHY;=&{!IOUj z#MWT1U!-&JAx648%fy%Dr09*6Tiku*yu&})efO?~&H%`b^xr-2?tu=*z0gKdz+~D& z&F9(;Y=dDOyENEH_i(dCMg#MQB5b*axQf`b#UQe(v0A|?zP6v7$X8KvdAC|ojZ#8( zH7?U*Z`wD{WHSezY_@EJ?5FuzkKu;A}2IOa*;34BPfG1BAtii$2v1mwFp z6dmL~l2mmuKtMFkeqy6meLmwF=is4;i-o7)wXt`s_8{VAA8W+$5B|(+w6G2jn#;34 zpwkmI|K@V$R1**vHo!N0G;knh#Uet!;y2%?IA;g(#mxJke1;ghX&(BS?TpzsVNE)b zP(ggLMZ-r*BBB`)H|1?P0!t<*AERpriIpJvIT?2jou&rw@a9ODF4t@lw&gaDM)@pm zkxd8Qk6W_(={8NW;I5v8_qXhrislU9EW3UjCf#%+3k# zu~`#I2cp*u%}CFAdYC138Y~V(@JBObx<}urBd?eULuB+(4sri-H$!DLd8Sm9zqWRF z{~506Vd5OXgOM(0l1Wzw|E8Et0<7r)`|N|3JQPkbrIH^PHrr98BZwmg`%^&QY4|h$ zFL7_+>x# zRAi$oD?1L~ukxNEQ5Oray|S!cA}ZO2zxrT9T%>f&PFoh-b`?-I?Rx2n_@+eM0YC9j zWU!|bk!Y~-Zl*ZZWVl3hB4i^XF^DPDXOKhjumsQt7l;^&YS9sHz1K$*^8GRrPIcv1 zM9VwjfPjmh>I)=R(DnWLKuS%Ar|G48rW6}t$e**Bh#B_T&hw0d8-2P8EE*Ins z%x*5vNsGI}4U9;U3#84;;?>fz;8FX%P2lFm4AR%)WY@GY8#F+7A#yy%`UuCIy7Vk0 znLStfmi=IBP!G61$NcTBX|NXz3=1c_CFr(HO(Zz?^M)7(_zFKHpP*R&@p80^Y&F{F#xySqZ={ve@3o(7j%3jk%eK zzhLz0=bKmn_Dg zbm@YF9d?QJ9(%4&;n(;PjIz&xL>UV`;E(GE6h5U()1N{h;fYUF`nb(Pf$QiDX>RVR zutyu4wE_Kbdg>onnCio^c#HlL);*Z}qxv1eZQ9U)gqRpq_N@%S+sut5T5UpNI-_() zwO8R5o>Zg1NVg#>IgGiLTF#uiPZd^Yd+8FbRaa=>UQFaM9*zGTrUcVV}J}m>v z!sKmWoI^<^!49C-j6N;;l1y~oFj%OxDlZf3>hj`z!5Uv^2IB4hyXW1}h=9wGDq2Gz zJ{Yi=;3p|fybQV1<_xQNZ1<2|>!47|)ni$3n(tWG595+5=E*^Tc+{$5Z}IJ9Op-ow zHCPi7F^|C{Y3t&=Su$qmdR)7`x0WU3T@qPTMzTgV_u4b%*j6LM>==+~N5o_970zQY zl~}P5f`}ncMlvW|u+G~E8Q6`&u|$)r-$mZVldBPD?xLX7eMk2NpXDo-Fp`rfr;&ck$Lg$#ZS_mbo=o~i;?_aOINdk|kt{&;4|DHvo0eK!NAc8`tM z=x%2%)Z1chCkku%-k6R|Ppw;xjLHpOC`pa)^M-@2R+G3un_;6m*R&V8zAzOKM}6Or zN}ijMf)1DJz)y$=i^82h2pMhEuD)3Of-SUYfKpfvhm^K(!T(0SfP!#ZQ(H5Yh~L3y zhPXqlL{C@i$bwa72$F5+gh1)U){Tjo*U_X9T<-Ah#(qgZ*fItcOSsPqon|1%99z7$ zRltkk3OL8kvp;}=UpA2coOaemLNT85?T)W=-uk){O0OQg7{yyX(0H6cIC@s44bV;1 z%Ai`{mcqZwETMI})f4qyfu@e24kG@y?|N?TH9@6Il(1*3NcwYitr$+`XuM>s@Ry~@ zNaUDTJ_P8wB%+Nge4AOu@NrZA%YyU$wggm<1ScXmu@|?4rkF1iV8=8K(av>oo#(oR z9o=fsnj9X-HonrPQChW-Mf~oo$kqkvgP=PBfB&rwO}kk)E?VJUOA1=pN!wjEpWDFb z*9yT8z{kKCfoz#+W3}A>5J4PRhVkYmOF0(?p_W7l8cMUj`2v`aKNnSn!{!m^kIO_+ z-+oJCH?bp`i&n!JjA#=a=D+d*;(<+Z5VY@%1TR0>e$=^ui4f=%QuHy5=PYErO+8ih zeFNxA2;FEK^Ov6S{9OeuUV0s8moQ7JlOtu=aIFAYtH}-UH=$@6-cn%!0%^-{Fi1^} zl~kN_@|EOKC*W8)F_i)|fcRamXvxeD73Bo90>nVsJTz|llH?(wz1z%Yi=Zx)mQKLe z^iZLGeA}W_JgBCeLnyZheH~k)Y?K!v;u-j*to}mprfrWo2+2gQ7OPg}Zd+ zLOa(`^hha^p>Bx*m?MnW^R8ufozv%xUJ_5;HI8uM3?qRN)!+rT(90^!@B{Xf&EkH zZuWSYW%8AjRUF{ly<-8s6>Hy+66&)Nu}#DxXM7PBkXLsaHH38KC6o{1Mu+vfZVTXT zh4e6~6a*0I1?{b6B$vg3xj#{hJ)v#xHL{lco<*-uDUjy@+XqaRVlfG2vfu{oq-TW^ zbUm$*g9?ZaH2629$EXHLAAoq|Um=x_$Z=A7#__+Q;cv!)ShP>l6fo!L(xz_1VX#qP z&%l{U?cuw84>1UwkmJ6%k2%%=51#-1tzP}q0Vb2JwY{?qED#qgK7fl@MB4+wf$lAW zHvt30BM&+fi`DCSJ^Zw-h$+GY~;$%j*uu%QCuz~=cpccWwV~8&1{#yeETLfSZ?1MM+AjB*Y zf3%&dnxjkl3kk=7z21^H%FrJ9gJP;25GO4^?nrf0Viez)jtX8LJ+BDAAZvnB%4q#AD8yg5nPf^;5-cJ_;~8K~WGwH~<@lkBZ_`!^1>E5E~_mbelEaax{3Q^8*; zE60>UxFGgRbbq3XQrq-C?sFxtyhKtlYy4WzKM{|~Mnn>E=m0Kckj;&LR$o(E+>P5B zBA<>+sIft2hl60Lrs@~k2jF=rTpev%lXj%*sV$nZ+^ zB%lg_emvrWQ(RyEnx-zhx{i4)hr@LO}1R)*!+A37$zbSrIze!Tu zPGFMT-cI{hN)4v5{gtN^uKa&x#-f6RZ_al}(QRr)#;8Gq@5f+Tf93n@HKV`saS;pc z`t4^NiH0s|r_)SFk>pQc%rQQO$6iQIWbrasT&87CPjTm_UIU2SDrVt4%EB+yqUJZE zFwDTrZ$~1iUx)U|f7=fGn2mWaZ`U>! z(cUOjc#iW9a9R8iJws1KDZN5~9WObLEp zs)Hhlr%Bv4|CnwgWz4?&`+(T{VGXd}S!!s=o>fm#ni7XdOko@{^CSGE!9ySy(n+I= zxc6`~Vrf!?j=fYGF~|oELyjX;`<4p3$Z1TkD}E&Zm~k&XB|hc&xBl-3)DLj@7#Mfl zSsq8^uk=hED9qCod_EH8^a5X;q!3?hY$(EXw9tbhNPMP=wAd7O4Ux4+Gz2PZ+?6`B z)3n^4!%0ntvtXe8is{s@Z>=Cs%DK$gDG6|Bzj(&iQq#c8<$Dy*_<t-^{5bdC*|`-YKcp@U596Mhk_L{ zKg|sETPxlOw%8W6FNiNr;-SN$6W-*^WU?|)wM=#t^tQm;NG&mrKrQeg8!fl~8rJPo zN6_K=?{@+emUiOw{1?JErE`-4dN6FMs86lJm9Lod93K1(YH+}P{t%|czHZmU&1g1M zF0Y;y0!1&p+vKl+ek8!kR^6Ef#3DR<^Agr>-N4cv>=>m6?&@saTqC~62BFM z;6Ba>dSNyTxMdH)_isyfJ*i+~myw&1xFKAML6VLv2^9|l5 z;QKmkL6$LU7)t02Jn*}8`Rh22E}T!D3tSuHtxUTT;{&$YXv;_&Q^`PL4afM#VWGs| zZP@}h>#(DgZuZK_}@Z>z%KT1}}ApGzdUt^I`N9R8eZh{Dp-LqJa$MRV^_|*^BNX*>ad}I8OFZTf5gEw*#`aLcrgt`qG3}Jx2APe`Aj3}QX zeG@7KeB;Ws51}NPc3RpR&8~U_Z59O^Bg7H5Dw5csVG#)bd+u@*~waUHi1V^ zeQf?BustqlW)3Dvap(`j$mZPIK)#y;VLJlFvSVH+Pj}<{##JmL*x+YwYo zPZZkjbLH%Pj){a)3UlhPfn(?(JIc7RETN?2iodCZ?nM5uf~s|_PfJ9s!6_x8q}0UL zrw8JT!K@Zc`Iv59>r(a54hkM!!O67H*uefNB-U@W?d>QijES0=b0e`K3YhafH#`|Rp zer{1T-)<+DpIaRBCGU`g8a^y^DG;l&yX~sh6*gJYAaB>gDpJ&O-?*-0;ecTl{%!Th z(srMLo{(~Q?%3eyco3q6bORrdVCQIgz*I~ioNuQDq@mWO4cb>9T zJnHwV52i!*Jm(Q?V6reKVp#Hn9C`L) zp&wUvZ_-30`!78!+b*lWT!TwmF^jP3XTERVqbW0xTi7DbS>DSBbY%f+b^Y@+Vyglf zyO(X}vb`nGR#6+o`T7*z{O@2FS+sGr?LhhrR^TzBgO?0c2#8Ika3;Wwh~RrCOk)*O zOi&#^h5tDt;=kHedq#zU-X=sQAJp}eB#DUL(H^%@rfM^^f9^H8ra%DJP|Z^Xl&7#3 ziBRbu_^D%I?Ra!K1#TnnMlT?=3a60$EI|5j>$Gn&Vr-lS5q>}tP z2@$Aj;y0oL;Swwv0{wp6A4U=fEfDNZ>Il`)s_)X+sJl+8anT|c05&U$w20!kW*8;l z{04%9!Jg*z>pho!Avv8ud9(9^1`oh@3`tS*fBeB{XxY16wfQ*Lwe>ULI~=}HJB|4Z zmd%Tr0H|HKKo)c{miD;dW7SZVYf*>6s0UlXYcPh!Ex6uNur>YVhE3y^RM)EK#p z;sL*t|I~BB_!T+5t>h*enO=z1#&4gG9*^IZsWc4=Vzj?uuRu4%7*-)lNpxL|5sUJ??+bjaU@NWNw4x1wDGU*4TWjl=VAc%Y5q^~#aybv*uJbJ@caUIx=nZ& z+B{h#C>?WUn6C$mR?Yp>3?T{gO#Z_~%)b)Zjm5*LfIJNeHM2a84(%{8b?PJrm(8#l z;7Y1guW*(IBasHabDe@HtOXLn7kprxXoDLXT*P5y}hN6(gT^V{|mIe~MYRrf1+-iIq9&2DSJCGkg;l7b8*T zuET`cI%-&K0q)m<5Q6z*aS9DV6iE}0Z%!hHsDvh0q$-udXX;FS&|)B7++zC4N;9!U zc{D~6O(yAw5VgJ@LF=D5zzP>ww7A%DpOy9lUs$qV%*}*aioL}{;7%0pEhGc)nYN(o zz<#;mvQvhVML5G#rgrM_0;rDQ%ZzaO2V%INMX0 zwxIt*dO*SH*Cm%Ob+Q+PU`edpMWcZJR@!p7!Eb*g``;!f%AoJlJKgG0({(`-6$|&LRSv7mhBxJVM{MZ zJFpT7P5S0i2eIlxxsA-A>q|4oCNXxC=J`32(hUY}9_%|bRWnTUp(IUcEg;qOPm+4D zf6DZatYR_#AYbe9M9tnGEiXKk<$dAimQp8H4Hqx)K|CPb?|8SbRLxnF%;;}c$)h znpXHAFkYM?e`cir#Vomi#AWS8lbI|i?ObA zl`Qk2rf^?kOdXiRcw&n%#f@Pr)xBF3xTR z?`E%5tm|v&3c{&Eocy90CU<(FGRP)dc?wpR($4rff{K~PJ=TUz_Mh_tQwtW!jwIeI zY9%vhG9trZTXB1kAuy?h!nQLHStlb3S?y-mnRO;EjPS(#`;{Gja4l7;li$1PD% zeOSm2d>}n3_|{P#@;IN4J*fV$4iX!49EkoD)zF~&#Zn7I8xwss`CT2lNVr{KJc|+HNuNWZoUR7aRA9te zz(IKAnnswzH&f)0A{cCP;{NoYdbA`cFqt}jyrSRy5VUIw!1$vnRp4wHONb-I*U(=t z9l!wif7SonzTPub&KTiPgh8)y<#w#S3v`AkvvIPMkDVM^s6g8?<^nypX8{sDoj0ON zvfuPkOm;bpsNM9MkPaKA$mw}I9 zhxQzu^y9P^v=&|@GbpJ{{TvekkVGJymML5J?7-DZi%!lNF4i|KXiamb?`pEaiy=pj zl^GGTAl&fwBKLMZ-;ST{2gLFHug*seU)@T5b3dW>zZ!Ta6fuHud%G-b&&34E-@CA1 zIwU_7hHz)6?hm9F#TRU{rNb5gaRB^lY<9(dKRIQByO^bApYsWXgV8DnV6Er&hQ1&| zN&t44Eq>$!YTQ_cS>TD{eSL(RbXRYU zf@=_IktoE;^j;=(p|=_88kkelBPF_y{l+DM8z3DREqJ~|Hxa}4rZjIWH7qM*U;Pa5 z)Za7E%cM&XxFHoTSmhge3 z$rka8=lXSx%^jlHs#RlUS~mnVI8s&$m)?XYEC|PPvhtu4+*udLk^nu(yfT%p;nTjC ztS7~bg^7yJF$k>3{ZI47m3FR-I5ZRr+6}4R+e@-`iqf9Gs`*QjjrkH>MY1odErv5T z>V}<~o%))Vo)L$k<&>bd{wKkFy!7D-;9SrlxR`eF48Cr6DM!~1T_fYl( zjcufjGRCRRiQP3x5nH&`f$a%cnEOcb0)>X9J3|lj7xJWrGHZ9yJaS4XN%56bHO|$I zSQT4RSZ2qOabLn$YTE4aBa4{$B4&tG16G=y6+updZ6vCz1uj@eVs3iIg%sS_W}^FB}rLTecMf_%_mI5leD z+%pfi-ARGd6JoQ4G;UbkyCm7a^?yI0enjZKw>M+ODf7%3-IppGoi>O##&tR{mCJmj&td9s4YHjcJ;Y54@g6nOE)( zp)14pJ`LY^7UF%lM%0;FYM$K6eR@Was8$-$L48Fzn`EvZ|rpRhSUk*P* z1sX>=c_iutCoUCo1uw-95?5d@0&XPLPH|%Fn&TG*4Wz(-cLN@CWLo|*g|L{~25~GD zJIszZ?1tWpK;g#*xBYk&JV+m_ET^m^&ddGG+o*m#QecE+x1D$8Ke(U zO12+|I4|B+LB$koD%{0YqrpjcumOVJ*H9nVUJDh3OW4MLfR{w1dGyd*6gMd-A@MWy zzG{Ea6`_%ut$T~d0>bqaKerTdJ@#Ae3xCRD=`oH}`>Aq$;AT7rADxd^FfRkbO{JTc z22l`XF$VC`*Cpwo7Ra36mvRv1u67~bT8ozfu@?as5TDUClLx>K_P;^4MP}b-<+~vK zj_bsl=Tu9v-30j9uk0@t_QM|adH0-)>8RwP)kvt%Zy3AWzw@4l{<^IJczNGb`<8~x z8B_Q2nt<2BGzH& zw5Z&E$Amp_KNK&uzh--S@wtnc1=8>^H!Y5lLnUVj?ZO4eXzANb1Mec8=kw%Q`A93-8bxC^PK`XpdZwRZ%G$^X4lDwMu0&pxddA9qF7zuA^GhCi6V z?t-mR9yEUc+kCNzDl=X6*DHb^ZyF2?R2su;5jcu)UI7ferB(ZUnNx-29#Ilu(R!Au ztnU&fm1YVC@ob(}%JfQ_%6#PW=4ZHvCP;!NoEF$y%MLn*NJuK?oWs@#747!*6X(_t zyKsE(h~h-Zf8JR7l&Hy!sulz5QRy|dDpU{1%s0LkngA*f`h3ogU zAinsv%!FQY)`oi(uJVIomBS{)kd;&*XQAmodNLaJ|ZMNO*BUGZIivo1IL|&$6sA!q}OPaYh}i zdtH%>j^&kiADFg@n0U{nU?N!4O;$(k8f69KlS7&zg-WR^415zk2G^^jR2*Qhj z4CK1~hho1JQUDv%Xx)^OeSk|KBJ>a-HOR-{*ne6y@3$x|)!gR)jm!;*W15I8Ph{a%H2z(IbK=N{0xiqh&rbG#wh9I|xT-ZRD{qIcf`FllWO+lMwkP%R z`)XDydIJZI{gMhk2q$v}-P76nUEv+|*#VnP(39yZf5p^h^EMKu_}n(lfB2IzA+4(v zwIpPFqz#+U_ZIuQ5ZOVM|*mrV3k(u zZtIM3_|N`4V$u?!SzXx;6g-a@H_wEE=j!HE5u4(CMmVd^3()F3FZ2g@< zSX=SVz!uzYyhLhWB0l4DiEd{(FW}#M(LBP`yleH%M*b#Hr^`&eY--M|v^xLx&Eg`{M7& zbufHt>{qR)SQK&LEMjRP?3J|!jo-(u1hNox+1vN}H=Cc*QW|3wdeyh*q>4}U#zUZJRnIOf^Q)Ocm>DyM1hYs@O3?v}0fWKXS`}U;3Om zle*qA)jEQnU*SX4deKn7y$^c_E=PYBk?FjSIlgu1>C2_WldK700PAgt6lIsBch&Ny zAGWR&nLEDkJ!MqvBTez3p!W3j^GrK{^hFKp+$s*KFcl}yT}!1{ikTBz$JHgrQfv;s zw9%Ws1?H!kr-2nDvpD_d{UoN5Y@FXHGln4;W$qo4KVwah?9YRP^!dE(iwq2hzxSoR zz!kQ(*bb+i+p+u_<5rA9;nK_O2KY)2>}vb*Fg5ucaAhc2bXMNa6Q)bHM~FPp zNc%uPPRh9n$uOIC8HZ>TwO{ekk8h^0tnXVAg*Rc3EK?)IK<%D6jkc*o??=jKCjY9M zey3C>RP4#%r5Tzf{WCDAU>fkj^`G3i2$blbMIR6;n3%9W3mM8d~#1GGy$MDh77H$^oZ$}pZ`o%QCf z^dQZdJoHt!VbsZ2bq(k*DW*7SjpTFdj}Ue#cp|D3)-XZMN1lyyyXuF{I7J3d)8S?rFQ3(R45YW5Iunu zVshu8+DqM@h!g_vJsH2tKCG22aJ-9Tg&&qI&6-0Mys0JZ{FfFJa;pc&z#O^hwqclr zv#}w2^e5xXXf6AXkx_jOW_9gq$;}1$rFD1EIL}}Z|JiTqnY6H8e6#-JsbA(?At++L z-@<%1@D2?72;hVMxB22=$TP1WT_!BsZB>$mhpVso-r&OqXWp+zAP#qoI)DxNu*soZP)6a}GYQBSZ00ltlS?QmWX*7DjIl4{ z1=7!@S8o*3Cg>9@Z^?l3`4$pXKULf$&B(&8Ue-S7h=*8d1**TFJ3zWc-J$a46ldRL z`YH*k@0$|GEaZUo7?Hmrv==Y|c-X>POk<4-3+`OXV^W#yP&^PmxVDO-yZ{U0NEwFE zw}J`CJ3P5fW60xnC@6n$DFe9y0i3_5qPQW-_22;+ERzOC1}6Xu(sOFOVE*pBT)X$a z2}h@h0;qpyNkEi$k}dL(|AW}=EZhu)*BBsIN4lXmCa}dco-%9%`g;Q_ZTyg>>uZd; zhxRG=6v#(mq-~;1pTX!wYjzH*dTuS6Vn%%oa~^Ex*II`=!qgSJDe=xa z>=M7xh7sM>86$yk`nB2j3sI}Jj#2m%odH z0=#X+fNqV^Y>6`8Wx9(gnNx#qZ^t^h1{z3Tq=FT*;2Qb8#JPC8LS0C^u^GPgH=Y=g z#cFj^_}`I0oNq=IWz|=ehpx^aIn+TD@d*@00<5a*HZmKiA1(QHM}RnFambYP&7fRk z^hCFfFEfMou~C<9A-%-Qh~RNSMB)F5lZLG`zTdUr`&@ZUvwt)+jjf^OjB3|IfM6S1m>kt@Do znHWQbBlzpSr7xgL*6eo%(>c*~WCiti-iKae@BD~d@%!})^Ji z&n&lqeW>L(4S>`fFHVH^CYemNzjjN-bS_!UYh3@By|O|P0n7uG43*Y05~U%2V%-Go z+-%)zsF1Z|X`r`)Qy)jU&LaYL9n;LXzB=-i{UqXo>&tm3)TQq;BB6%i8D#?`hsJai zz%`5zl9CVZ;w`MwM|Qjwm>aA6$-45|ZpmELc2O^_?+Fd+hqZ`&w?Y;94eNx>Qu(5v z{>7$h#`$-I@4H0eKh_Xs=|MO*`kj3x$VPnQ0xal?mU17b1}Atk{$FD9BjAiHFWCt?--I_|&4VVK(ja~0v&aZL>B(KFzeRtx-5GhR zBV#v-(<^@${Ne~EUWgBj^Z!@);%K%Ix9pG}xCH(@jl;|*#JcacVz~BmMyBu2y{gpdv2qu5!lXV^W} zVq^#L#r)-t(o$$UbXDUfR+x^;NV%jYG&={bo&_+iN=t+ts-WK%bsI?2s=hOV_+lb4 zPUZdA0_%p4e|*0-FPifrNXr}37S+-wQ|%^s8e>y?Fy*i28Z!TWCkT8y@MUuPX#f79 zFqQRP-&}`;Qrq^BK$Q4;y!$M-Ghj1*{cO6Mt-|SjWz}?d#X(c<63(1NCuY8uXR|@hwBm-hx zfj;ar%(Y>XkHPJm!t;N!js9oNDun5ltO5lu7es&vyOi~VsXF2czs4OSj|pTPyJ34JaV?eJe%+ET#O<6rHy z?#q8X|1zH7TgTOcr^;5b0odF!@N65c@Jgw7pAx3qt0s<#&&4_Ez4D7}j(G)6MWE3^ z?GgljXCtQIs@JRTs8d#%?8EugI{XMSd=l$=AFD)gA zx1V$qx!n7bQcgvFiAI+Id}kY`$=-hLbaO{(6$MRLAX*OzdMdw?Z9bV15_7Oe3$VA2 z2(zVclt}}MB7eLJ$BusOlc`(b*inPLQcA<714#@d==#D;$jSxHcNKEib_h4tGS^;} z#G|_6YutVX@~ykMdNJ5yF#bRXze~3_y`c$B!iiX;zKDAEpi31WJSR<}{ zb}TEiih`!YljbeLbT0xMHi4|3B^oGmkbzjP5eD)?MCgrf7{D*g=th%hmem>^w@h~2 z6yg)U6R=ERg(1&p16^MT3(9x>o!Jt|DpLnlDB5Xz70y{U+1sFy#{+S~9Z_NsE}f8) zdOrjl(~X79GVF&;0<3|!PYV2)VT6hP&`^>#sax?uT{bCwA zyP8k264a^qw)VX8R0%KHs#_`}gf&b7I-^Rv7JJ;tZp}YpN$^C!E>5@(R zstd&i8m0bl!!GSpKqOaXGOx8yLbss#zzec3ziqEfcys>jKUo@+roD;NK9y91)}@_u z5Ev~a7~XC{d$N_{j@W8PMR;fviCua&0nOzNpZq1pfP{wYzCNEm_`$5?xHBhIk~2N0OI z^#~h6(uk@tgCzGdScDD7(!ytAngoMCOmHXPAXrssT_e$%Ae(bapra&bq;u+4vxp97 z8wiCwVIXrmmFk9oK}d5ljk&~$Qj__Gs3HDC&+$Kj<;zM_y?yBAO0TS!dPm}HR)PRLN=UDOq+}R}p z*@)GV2$DAHp%aN`6ho)c_L~rhBmUbP(02#Ow>bZ{sl0XBg7}UVY&t)UYTu_TP@~A_ zOk@{K2O-S1tjTVC0iJ#CAk5{p$dFI+{9t&@BDl=o-%n|PV+F2%bK<%Q7eWPWZ$qY3 zc^eEzF0n~6vLTX%zS8Oq5p3g|DLn|d?+=y2WMuygFIWRwqbt6}5bL;?z?~l_CmeS= z=hK77=B!F{LJZ+=Yk;?vsIceFrqbG=pMkwOB)rVw+VYi+8p*MZAx3cKIt&18%vf3l z&svld64xU4`Qs?3QK?6|fXkYwR8~AD_?2-HC8*t7!u_*Fv5h81IG!Fj+6*bGd$f;l zp9(*juDK+U{}=`03bbX3>AsCH&OIO~azl~Kc-6rs9E7^Vx}pU(D~y!pOM&!Nkl>Z@ z&fDKD#9z1zX$M)BWVjxw)d>p`I6NIAu8;zJdso0s{gs;p#74s@=W4;Q6(7ka2Nr$* z{IryolQ_{d5dY#QpxAo18|-Dw&R7$6kcgrGrJJMcs)^qsoc@S7599(ad`?`Zs zCyZ$JQrh;-Tw%FOhjA`7*o0c;JsgEMFwU%Rln`BI%3qpqOyB&P{*X;r@BV0q?(p%) zyyJ^1CY3y>A7Tx3YDnzHxHw)HMw=txv>p*NXm!+z^u=H2Uy*znfVkZHN!WGSOnAAZ zgUWniGkq;tEThT>e*uZpPAlhAl`7!fH5f+9GfZFI#lcC8v2`eins9#zMsiA^xD(J^ z?}@MvJTFJ@jCX%^;oQ%fEpUUEj+$0t&tTA_fsjvZn>*goRP;Ha=?)`ZlJi zGn>hdF@uASNG9Z&O9YV$Cy`H?^Mk<_53%iqr;3%__7RiXk_FtZiHZ^`g8{qP&vdPx zD>I9q+b_2JbWJEEOI*+(n@VY_1a*>ZZxDQKOhCs6W7^!s!x}Q?iM_v2u3fotAw!%{8D{| zZ#`h^i_E+6=-_96dy9bjNy-0>ZdmCN3Arj!nP4Fe!zhdhIp8i$1>??!K!gm*a&qk2 zoyA~M^ZVwk^H=z7l#FlL?j*T3qJkqC_%<66xPd)$w4;>a(o6&BDDre)$aYZrImEKu z7?ejJL{4CQ=~8j^eb#=F<5{*-xjVFA3xN9R+|b1O;ZE4Pk!iw}yE&S6`FIIYm6sgF z%HABzk+0bTge$${r;;-WwQBEv01H&LveNLd7XKNt$55O0k*e~|A??5Ita6nZc3&_2 zYq9dSY1;ex?Ku?L)I@V-51aagH+Z*?rl9{JUplEld3Yy-hFJK9ArZQp{I7B8JJ_XQ zTPe~0Em?IY5bphqc?!vEG-;$l=a=Sn5?<+w?sc!YmTl~$i=2)^ZD5^++uz=cLn$2^Bz)1d)e5ByZ0s>$XWPh$Ve18FUkQ0N zk>Hw{yfWyH=nT3ld7^jjAJ*6I0Uu40-haDe-N_H*O!Y;~4paJv8 zEefzsRpab(zlcvKuDSl_?0G9@oXo|J6?QQAipbSwmE~mwz*i^PX40|wlSw4^oW#Q$mnuTJpH1%M##uP%*T*-bJN65ybm$Zr#(JZ4Yd`^O7_F>hXC~JJ)6b zu;(Z;b!CNmVmwc z0&5x2K#9=uiW83`!HiX`b|&VnB=3~IL_M%N><`HSYWG|4=tMo){A4QwVTbF6)t%#Z zQPi%9cobq@{9Qf@zc>gtHkQazMNeE%8}*ftCzQAnYX>t&YM?*ry`~MuqE#!vXVgpa zDnQ(a%?{fl=atHF$0l;uQxY!`r>u=z^A9*%xq|c==A2ay9E*PYsN**E`10FB+>awu zbtsB(>}S!!ay>W-2=~98k3zs(3kJU$R!}vYT@v9!4anP|n6^j$mY~?k@w~{Xv7Z;n zw}4LjR^7-%lpqcd%cm-5!5IqdpYoQw2i!DoQffJh?Em2Itz+Y8o^@d}Gcz+YGcz+Y zGc(4_j+qiO#1O}h9W!IhNz4#a%#Iz$5aaje{?5#iUg`dMbU&SuR<&FEsCuerwz~T1 zo?2a0VPvr0f{Obu{O*J;Qc@IR3c#dOselAI2T_MFJUwN0q+{O{m@eQvK)m>`OJBnR z3XB`tI!`qW53s(o{KbYs4bK~jE!C9v)=a^rhn z&aD(LOFMF-6@70H;5^-b2lKVivf!{9;TZmr+gj1BSe19%!~ zDys(aQmmP93$gM$I_LkJ{@?M{+hoUg1%lWlr@j~L8ml}nCE&O2*ZI<_)9 z;C}47QW(vgkG30s7|qyxyVI?ej9T5i{il9h&P%IXU;$i@Q;KjT?wxlJ$)Or}5F0QY z+<7Co6!t2NG1PE4db484wJp5vjVpqhWy{)^`52&}U-gW8z!d{t_jG;N;LJXEv?L1Xy)E1)9D>73@GdE z`L>t5q9wQgr}(R?7hn%7BK$BjEXdezV0Jm|4}FEORd`#6`U}#VbJY-ov~6(QdG#1> z2!Xo!CkhMi%UYSl%YfTA$;lE+bqGpGqySC{Fg~PiSfZzt zKSZD=g@2a+x{<7xr%^ON4*l5D%dH?UHW;+mn&%_nuz(wyKGJqp^!vCkKhW9H=`@^- zs0S6XSie{TXxBdg`YL}!prri0*mI)gxF6)$x$hMogXTZ~1g1hFybP{qHVqC`VL!@N zpYjY~nwjp{GWk=_GBLiN_{iRaUDzH8j&~?6wruZ$o)rk^1I5DZ3}Hi2ru7LlHoScQ zB%u3G_O?4t z8@MlU;zrI%wHz^~oBGT}q0oX{QVL;{65_{+Uqo(}w{0AdAw+o88zpN+Q3U?VMgL-T zihOpulK~P8s)rucUdbV~zcPKm5%;gOmc-EcD|rXnh)PEwgb*Z64Zk!0gkJ53ruZux zBhbF#lDY~x zJpN1y0_5E)vi2Izu2S;I{E#2G@jR{)tlZW2$$@Lnm7603mtWz2`%BUypQ^zdR?Gt_ zI%^z(DZG^FdG8If+_1VKAvvqQ1f&TsBL69NW9_r2FG{32MI5n=-oqWwEz~5Rk~15G zS?(4`q#T7D;#(zFAD4bgRZ0_*W!_Fpr-E>qNkMKzWw;=vBUB2T9-BSyl8_Y}#F$ze zGNnWZAojf`v!uT}ui&79gf=+9&jEAtudJQsbRlE5rfksy944X^+~417c9yNd{nh_{ z0e;*_t(kf(6QVuj7T_8Lv9Pg|!N~fbW$_F!hU-jGY&bU_NNSs=ePkcw9VSmYePcRF znLyg^5TVf`P{?umjgk7mKUcYmv<{ExXo;-!h+p1f7gKJsFNEMXRhS-@JSL8?lAay1 znI@rky^6DX7`EX!Rurj0ZL+h5FBK7me<&uv=kUdi$>nwW>ZNh-=zYh_qd#;iLGNS8 zCHN9v=P&w9ssMcVJKqgU?AU|jG zRb1CJ%kh4~N#;RY4v9MxYjChLQ$INOom$bK_lQH^Rle&cdW+OP$&c_(==uNJ%)v;>mMr(jvbSd74y#cpMy{`B<-|mzPpQeO!!%c{{Gx9P(eqy zqG}AZJCYp>Q=Tdxwf70v)z(I3<7x#OM)Fg<%E^7c5^E;*rcOV#W(qq*b!bk#in4G0zpk&6k~~HZa5vq- zx(3N7`T=!fB<#j2&RhRHHXppJ+D)XCUqsA;@S=`CJp}e&wq)N)9JY@6KzPFz7e-wG zS>I`j1Xk%~mu5yzpi%_*3`@c2NAmJvTO(p;Y_ihQFxccnQqGLQkxI*n#_=gLZ)Ct< z1hrsHe3MA%IHYb)MAAYEx}gF{q_b@E(^#6a#6CzQ09QM9rE%3QZunH9Ym7;;+dM7Z zaGT|%8bSL@FkCpW0^EnZ_bmX$8*}OIn4K{LilULcmOc$LElc?|4zt}E?M#8)Ep26wOh)=qavpYPAsdk{%TX~A22h>!(S*-qD zL{^`{&!)K|c2<$EGdztqHfWCTZ72Xx-N3O5sz7Dv&aXqB4v zc7=}CQ*%9r`Xf!I3QbUZRpN|PF-;aT;VJ;c7n*!r*!Ip|A{AFDYN~2=8J({TuC$Ak zym#lS{u>|Nc<}5Zq>S`xjU!JIp;et-!8m%sy{_mm?(1DYxFLUYFM|2NjAk~;5-HNa zgXW()8fOR#@t?yl?LgA6hJa7IN>j$!1{Kci*u)3mi}SC=rM0E;@fMML{I*39rBx$B zIVYJeq?W?lSi|1n@cra#)MscN@-KjsHTM4khXBRU&%vjWreG9+4mVrm0F63CCdxYX z+S~%Z&goC*pe$@TAsH1mG-(H^tSSTJl_lc+Pe?WeUti2B9kkNfZLG=CpBm1--Y8}n zHW-UP;~iunFMJBZnhd32Q8rQqo)Smxm5uS1mQzA9wfBE=V0PkCi9y$IUQ{^~n^`rcPET6W@2Xu1IJ?W2v z`iEuB!wy3vl|P#vSWx_z9WvYlgwr2ISbkY(u<#GrVWc`Eb7xb0q`@n7`bmxTVE(6g z(;}m4(VuT2#P<-Tla^Hbb+yLlg|9zu>WtB%^_m~B_vrxMNnyk&nj;&N7;7{nuIix* zMTzRUnK5B|rvfu}kc_f;pO8nvTT3v^NbvEzdR^1!~@1dKI2E;lP-bUqcbBfp)^{VjV< zxAUSDGT%C=egOH78J1YY?3*b)Y#78XD+DPlHxXNtmH2Hd-2Niz6L&;)pj{-I<2}SC zYL0?requpPFIJ1)>f@0TeYsIZJf`15df=K~bA8I-|Gs=7E&`I5A%40=N&EX#J%nz<<*C zC_R?%Y4zsPSVbmiBf>XQuTR@jcsC5(590h4g7n)b^kKJd-p@D$jP1CDJdJ$1yr1Jv z$^0`mWW~Plhs^|6^jn>4S&nfnrz?4^$qCq4Ftt*hB3iR{;w)(|8mp(LPDE#m% zXa7{Y9eS4Gg8Sx?F9E@`fTbjuasC6Ul70u-_!FP%m>;3P$GSf}z@z$zMXCRSW+FJq zYIKiG2~Z?q`9_sM-JqH222HX*(W?HQ))P57Bi=VV2pc(IiU%S&5*nY2Fkc?lj&_~hRTu9XE(fB zwndU6p2p;DEC+iDU7vnDM!m_IeF;xjbcNuG1{6GR{Ef`7UU!HVxi$aBdQ^u=HY=vQ zMNTE;uMEO<*^M@VyccM(U)Ib{yWZfpw4SgqVY^3KuaCyZ9|xB;@Df zaKxbIq6cjW_<5&2;ny2_zQxx`(VthUMrWB#*%so&LBn1O)(gN5Oi+uddcZ18 zPG<-Yn=&$z=E9n)OWIPD=9#;8XREXPJI*2^R8Z_4=c&Qdbl5^I{!*1>{I%yYB8;%l zr=R;g_TTl(D`*!tve+A5VQ42^qZ^3ktn_nAtPndz-Yblwxqhn$_c|!BB6Qg3vh((d zg}40}Gcahv$RUb5IzSMym7SZu$P?GPJe4H2gTKOJhW7n2+Z@$t? z%0Zcc^H@8+9sh6PgO8_3ctN;HMiNTS4n=&V8tzPN7~C8dL12#7pwm!={S;fY)=Yj( z*f6yOA#fB=A1WMeYi=G9G#v}_iA(+o;*Vvma~95Y>MNpFQ0;{{Iz9LFtg%X(ud$!j z9Dv{T*JU(2T_cCqiHcp`#+l;c>!NIh49b2wwGzJ^iJcxu0EfkfhUcF8T0nBOaE$)y zL$DN218#u_656D!wdkkRCvd&!HT@H>J@>chPI!&qP*6neY8UEAMje>mm6cxWx+G8t zfV~tU8AMvai)(CyvQhM0xrJ9nfBI?rd1)G)tER`xSJk!G-j7#syM3b9Y=Irz zF{Vx7yUInYd_~D@1`F8RtSsnnaXlJk@AxVCXX6mVLox8I<+E2PozFk%MqeSAySAp& zc3i*ywueL;m=5DC-T1gm%wZnAFMOjUpnDOE0wJ{b(!q{hZ_AurN%K^`{6BgN5^JygnMwO1?OfCb!#+oJtL4AY{YS)<*89#Se0 z6$auz$5xXvL8pAY+psY_EazKlUO>1=D zz11nRm_v5lN4NgJ>Hi&HzmlhkIyY%yT{R@9RrDiOhR%-)Xn!k`*8T-^AzFtA=AHOq zc#7wdm433YS3IgT!L*+UbqTfNLy#>~Kh06Md#VAytBK=^?|X`5b5Wn_VbDHp^E6j9 z+128npGy@Tg>)aAqXM`WY-~)lo%EkkeYOqeliN9#mIMc|*hK221t%YOeyxJ>n#<>L z;6mgrtdZB4c>;WJ?Ur$6rV=d)DJ##l{rQ(Okasjdjtf!d#UOi2tP%}**~8g<`LP*! zHy!iPaSZKMQ8Nb6u3buq-EGN;ZW5nYLMZ~&td8UZTTgNaM}mI#CfBcAaR666;Q!VM z&P2)?%@sq}4oWIL^HZa!FQeOsW4NaB<|QW zZ1{p%v+L0TlfXRuKK6`6S#_OorvSF;Us)Z7 ziT77#52MTfl~G7&5b?c&{vQAAYH49}H#W;bvid8P*Aa;S%3sGyLa$UcNI(Dhz&_2r z%->bX2z#$CjKSo+CX?^Cr{9&8Xs~)XNHM7EWHHw+?Zq8|h|fYM0+qoL2jTUQ>M}1~ zL8d{SC&xTWBZ<=ABFaOUW9oHE3- z(=Z@Vcr@r+`8AZ!2n<~uIa46ij~A#h5#o#%tnJk_9q;)L0+Cswm{f$))81o}Mupki zq=}oW*2bCKXHKHGmtCL_1pPtoppC}Qk0zIg&OG*c%bo(RZL0iyu@1%D=gis)#$>CJ zWdU+fJ;G57^9vM;o8~v(%AajbtYuO$DtdaD|LXs~fP0QBdXyl!VUR<+xqx$cp+s88 z2c7}{7o*AB;XNc3!EU|Qi#7Y3MLF)9n=t?5NG$}9N=KqU!9$iIM!ae(ZqY90^LbRr z7bkSC9L0D`#E0^ag>f2Vl!cCbG<6CV)5@k-q~nU*+Hrc?A{&09L;)(fp)&R%%gFW- zDW~i#$#AGB5dS$cBhGO5`^j*+CN{{gmdjx`;eh3}_@#?I`Z_^VWHnI)o33;uYxRh?N%Wj$t@y}~AUSKODQ`}deYzUtE% zc;;A7G;Zk6$xz{!AsyTK1z+7z$A1~IEXNUy_1jh6vAtP#tX=PiGV_%T&*v}gJq9no zAW4ZX8R4&%fw3iR+jYhI5By=!hxn_~fNhZy^@M*4RwVez%|SbQ%K3wPxz;hFmqamx z%^VT54J%eyAk!XysI;*e=p^DmK_0xFlmf1c6y(syM+bW1k9f@;5XVyo?q^hL+t__S z_Bh#V;VMn609=>-y0HNMHAB3RI4d{A!CO7_NTZsT=m_Jy>Ie6UG;nQj7E=Q0CbF$+ z0#2H~W9zGAm*vGmsqR21Z!p$h0Ux)#=ZJDu)3$roOB3dUs+`yiMON zEKB|}$S;oaVB?e51JN)lVl?9IB?S0^B3Y@Qj0lHGQkQ`LRg{LbStFe`hA&2qp{t*t zbgKyDO2US7mgdyNeWhiJ8++>XEO=svH#{b72FWE(1ENplL9WR$)|poUJz_^n1!-*Z zP@Rjz)IKb|Ww%DG*EAXG+7Vns+|mQ-YP==aC2a+f@QYYa=hMe;}ah)29 z3%=KVm5ugJSsOzI@xNgKe|;Y1J}XFBbcW^>d3ElY&7^+|Ab*{G0x!BJ&}gE00&+h0 zT6&!4i+U(?2U?%E`5=evuBi@@oZyG56k$v{)fB)zF5(Abid^-y<5NmCcy-RwWV}u@ z_qeSGcuu!o=>wm2!MJ6!dh;F@HNx$#csmSdk=r=oES@S`mmPl6_Z1$&6(SXIek|h@ zm(Oi&(&I|)4|fJo+7b~ac=fWok|@7!T<~6dfMax36r{DXOlW>R{!TLEUA+5%;mv{n z`*R-*rkaz~4nHz@i2oeG+}%C+ElaJ2t$SOIto94Okq29FlHi9eSi92cJY_s38gtcV zG=T{707eR03c*DTC&SjvCKh3bbu*Z8eFA4sbG|V%V$mOtZFq_yb%vk#woIH?zA1m= zLx85$$FfNyN)$NTnuJ8sF@so+=G0#_LDm4`%b~Qas?c0J!<{Jp&_D{Gm>YdBbLi+krhwk zn~%sfvi|&Khm0|*z`(>I=LvAcf3GC)-cT7s@82;srM#`egbaBv>Ns`QDd&e0c?N^e zj}}s?SBCH#l@wPL6#uyuAUt9{Mb|vGQH(3!4f^5o%vZFarm!BlL#NVvuwk!{fon~^ z;wYh~TxBwX9?0w8smD%#oD}ccVe#&wFl<{PY{y9e_8j>v`2){&XL;2OUWXoDCJm!{ zp9R%0j%VtV#nYfRgZ4_7{lnhO{x&`q4f_U>A`))JHUrBMdnnMlRXLTD9l;COql;9h zBaW|1Eec)_wro}oX33MSR9YbYn~`=DZy$#06!3a@g$eUSH2#2- z&n8vH2<82`apZGcW-qF)a$U`8S!D{IA18OTQ$3$FnIjI*=FfSfXx#8{O1Upsi+{L8 zSnFxBK%PJ>ue2==&B=0!vOdpnPB^MVyT+0#(+4YCTEw|=W)S2t@u`uAjHTOzn2H5l>s%3BzO%;1#0~R;)jO!3 zioC*wb=e!2n zUtad7h#Jf&a?U5{uwyeu`Bx>!jzzfE9}B~UEm$dzpyUC2_x>#1TIwX`9yHk|CEQrC zWDQgXQ*q7D!&J-&Yxk*;0ItgOc?nuWQejTWCWVXf)zf+WNlSJ=7v89@ydB#Z3jqC!q&U*ep!}f`Ndl94X&q*Ob=E@+&L#rcY?e?gsW*65=Q@Sco)2h#@*a zERNv_P?tgDGEHGaVKx-ArYCQ?6>2+`cf&}2hHDjQKqjFv@xp*45Juosc8%HCp$ZCYNnqgzgM?^y>Ajm=-# z;Q$RE>4#^Nrvk*(QxQJ8JL^~ig2E)GQb1I)Ng%O2tdu?viUgO^Wopzxe=Xw;+Y$wLZWM z;P%aIeGjJos0;jr_9!B4vZmG#agI>)R@|{r(UNI8C;NAtuWmc<37?VST;xYw<6`>rP@v;bVyXHSel>fJE#!rdTX-IUhY3Q{XepA};jfGMi*aR)6V*|qm5I6lN zY&)3~D@jT%7V06BvV~eund8&-*tz7hxpB;VGz4HTW^x_Y{+~M5Mznue8VVc@$4mIB zk5<>|d)e#gl)P%d^)_z()b-!1@8Q@NNMFHPNK(GDr8QNG4JLeQ^Cu*cUjygaU0(Lks8dfOZ`pE!U%3iB@CCOnC~9%+9EqC8L%J z*b}eoy&@;Spo2N&BI$#3mg0?QD%@5k`*(vXL?Jq^QnS-x98Y#w>F`nkm8YM zz`fh8WOd~{K8(d%J?2VmgPAm6(Sz@D* zr0f;*3_Yo=0bE{i@Nq958njfd?l1gWpK#u=`F&qk3iKa$b}i{Yjlk>nNx&q2z~+4k zN1dUGxR0ZkSAQh06?dv$i}gln1H2m}U{6!FKHHvji(+Jj>j1N!j$U-Df7}_N5z!9? zvx#V%1r@+`>^Q0{I4lU@40qYe{t1U{b4pE;2+l}xPi}~6qo|VuaJxwZUlS$9pK??_ zuim5oY)_QT_=!trmG#!-2Or(Br6PdS8Bka0L8NVV;$x*t>{>&XIlw{ISg04l# zFKTESqd5cy7W>$k+6bNA{i%{byVqMNS)$s_cV?GfPkvF5QxzAqgGqxWrxO@We&$u& z3^)+~IRKs!rcsp)rT7H(`+>XNv383*pl57FGL=@lB;6-!$3dl}Qvmc`*20wGUMVQr zOt^ycD{yvz-npikI1EblBon}Fte(2iT-AJ)Vl zrnKAKp3K`9$b10)C_0)0o28JG`pqnQT6CNhpx=-x)+{s6G#q_}$l6O&0rtbkgYOPr zB3n{V$|x49a_v$8{_|xbZW6T-O$_}ZuAeUrxIelpj~aft$EMT|aO(f9I40g(#anwh5MCxoMFXHsLY{b<2C=Fh9$U$6%Z(J7WvDS4S3 zaJ6@N3Hpm8E*>O|=-K6xVE$(}-}nAq!AU|q?;@5gs^;ycwp12%coDwX2v;cIwl@jT z?!1ZW;*Kh+k5#TR;x$2c>bGF0VIj=!uxfj+&(ma!l?eGBZ!sdwM%(kPx~ZsuQ;srWTn|VFn*~~ z2@&_a>c>sjUhky!DpOc&ejXI^#JZ&vOVdvOZpIC?3!OTxUe!Zm1^?rlDq5WJoq9yr zBO2xwYhE_(uaIY0O8^%`l;mkt|8Z;1NaHw`H?B^pvTopmq>M)yXu zcnN+Q)4Gqoy7!tuR|p<~er#$P5Q3d!X2k;Mwi|xm1yNQXm~rnYao;#Z(Iw9~@wGL7 z=zcsPH!Ga~0s33NkR>n7zj}MvmDSaN?_wO#tn1spITwyA8m#>XS^=#4@uJ0=hoC3m zT$%7t#fd*XTL9lQy-QZAQOtims-0ji0{9{Sp=px%NKOYSt9{aM_-*PRUF>g*yl5iv zp*jXS=pU5;+*5*z?pL9YG{~?G=o6A~hb^_}hlr>QH4sBp>YYET!M%)>dou||9aVD5 zaas&D%5}EgQ%jf<`(I;|GrmHdp>F;6x-2)lklV~iz@MC{```DjQB}Bn!42ESy58Xe zNX9>y%z<_V6rfaVn~Vgm9aPFnTn-9l>CmP>2z=hG3%3u{&OHP3d)&U!$f)eCPw#QY zn|2}w4nmik4SK#;w6K(!))w@T+XMEDgdIwJYYME^EqVmlXBJfV{R?F9y(Gr3OYqeb ztNg*|6@Yw}8{$95x71hztzuLZ!~|piFsCGh&UI~JO#5>;On4$QqbdZ=kFOD#f)!UO z1&z>1o&umT{js3`kF0uh^F4m9kP8ttGEXrGgnTH(hx#jn@4u4#pU(!F{Qu{3ySkQE zfT{fhE~=|BzLac`&m{U^dA|_H^jB&)U0Z+u(y2Pcun(_&6D+wrrG`Sq9U^OrRBkZE zHc$Qa-k#Z|!BcY>=AK>76v17)1FPe{c zCQ)z7q>`uKHyZx0rWz3_vW$cIU7~UqNIc3oE>dPI#O9c8uq?kyr1-{` z^<5!-FbtSv^F?{&H64SRL-d^UB$a{KYBb4ivo%F%{n6K#t0;y52gpH_#Sa-CqPA!X z<{`alF^{QrPtSRWA5xhA>i@m~Kj1=Gba5*%*&irJefI;0xGqar1S!mVa4F$Gz#zZ{ zi4vbF3A(g2!E5?-Vc@J6YbRxk!p`AU>(ySbt9d4I@^R}ZlaCz2=~*wCXckD^VvUE) zajb^c;I2viWI?$j(|?$}gWWEO<@pW)&*;k2_s^f{92?0+q3UG3uVJ#B=Ym1`uY1I@ zkd08E={<+Jbvru3+bg8HUo1ap<9kkTi|P2#h0+c0$WEe??9rh)8ft-C^?Xe$RBZ^g*6V0zAWMC%@61{jK}t) znaO`nP5u&u+w?=)2DmQqo+nlBx_gW)-x2-8^L9br!3n-&Mvn+(oehxE`GDne5gP zjhdu~i3tbsBm7bunqR-GzF>M3yfP$l1oya+{(M$H8csZt@Sx_Y{PP<6hCSW+Ew4(l z#_Ik8EHW-QMiUOS_gZ3Iud|~?g}r`X%kB|Bf*VJopfEI}8+{_k3GTt0Xe1Gx3T?uA zi918uUEUDFxI_s{)J*s=BGcvw_nrdeEaWgJIWOJ|jfcY5h|H_mR{s<`O00^cGgaZo zxg8!=u>kzQ`?CpaNtsXFb4$xx(HKyZJAISEJ>=c<%rchQ5W*`B;Ob(mrta?;{3V!5 zZwuo_C_mlT%8_k!HsL^`KXnVng1LET^IN4>vhI_@ja*%bpC;B`a1s{F-bh0i)YlRE z*%;uQDq*PcYKRRd@`LO>wIIpObL$c* z@HtGAPnw6EiHg6Qf#=g&pZDrHp^#0%YBh|Q4e(BPx79RAf@6nri%>J6sKlb`mz1d% z3HP{Mo0Wjlz($k5f%gn69GBpxKNpG3@6{#OB*F}PH>Ae(kg1)jK5V2S_N?(FLg);{ z7xXMI?6AReU#uT-Fi85bYBKzHZmRm_mPb%8?z3LWh(8DxP%J}n6(A0Mx#W|)yS!I?09BR*>wH{HnY}^~7UDmLxFQPmr!jRV3gEqz z@RQ8HW9pJU`=JvVDPHh*t7JJ@ByH~I8nE3jc@>z6${A^_O?LJX8vw0Hxoza@OJ05Aq?fHh9X`?veNvf%YgyKXzDNa4hLh2pXM>*2I4jXqxFy@a( zbeZz-hWNR<_8VB+ZS##<8ygdA`2>AWDXM%o8f*!ipL%(|*0b@en6p`f#?W+fqf+8lA34Lm(_2ANz*tlmAFO>y*1NiYj#TPp#yfysEzrzC&)j-zlfkaM$k){OS592h~6EE>J_D7-m=uFY= z)g-2|!ZxDaV6Y~@qcWT~S}ob5;36Xg7`fhB`vlMZ($y^9Lq?vpbS%@lC3iSoWjs?z zby_=z!wwEbBw=|cx;hO}JvVRcPPtpN5z)$_D25d$6GI5GDKGBstVufuRH?iY_Bgy$aQ4u)j zC|+r36=QydU^2)Il5I zL&8HLNVt@n{7@+c$CzHYaVOI*CW%q)PIsAeME5T$5Vj7pu5$d#2M+cY7o`7=vq?QG^oFkuJK!R~#w~I2A1`Q|wnW*1-KHSrNRD5c1PlU^E40_rMSZ!Dtdu zaxBI#c+=jdfF?o;z!4}7FwF)K@M-ueXmFOOGT$oA9@I36?luWCV|62@YXi97Az||3 zak@eg0=i!oER=Wo@wVG(Hej(Rp0ksw!@8jX9GRz5xT;V%0pjx;+UvV8oK{t@N5q8G znnNdHRV>0+FaR#{dQ$Ph=KW4kbgS&s@GUV1?|9nb7B`f48CCrSWfUZUE2RpC-WRSm zijh1aqd%to?<$Yo_ zMxX(CqeVO6<`S1at<3k0vko(GUp_NwEi5{fN?pYfqPw_gD+B(5*G!l@C+K-A9_`ft2uMle`A>rg$i|St0}llmQC^ zPr%;grk!E5gN$)zoM}LS6~AW86DLLH1p$#x$ZjQV$p+XjC9pQ;sZwkl+BsDl9|=ey zQ+|9At4$1H*E68;vpaki1?&ab9Vlm&@3UDxZ>(7~4B zDcL5nDHVmQ@$Ep}f3F*wcL#lXBOSZFAo>n}xhxbdo0YV)J0wh0jV)L#>eqiifBiqj z7js}JvTO)Mlk%R$G5lD|;sWO2LVfb+(lT)*O1J+!zwFQ{1L#j6#S}cDFhx!h`~77G zE5ZH3l&!)l$IIB{eD$HK^l1M)(F^gPqwlpKe4Std@AyL@aov8EI-n{lkpy zBuE{otgHy=)u*DVZ6>t%y|KRIj7NL}>mwIJ+)x}kw9Ah~o?)lGjsf{!pZHqpeWEZ` zbCwR%*Ma)re&i|S1+-M!KW6mf1vLI}$+&=h4IK=mFT|VJ>dDXIKN3>G`oA38)g%d9 zF&+kAtyzWZ7C_#4lw$+oy{L&RHyy4{WMvXqUn0xch>cr?28vYxif`{~6!hx@rmKX$ zR;av)5em}A_9s1{-Ri(KXam(a9PM;#2tl|PEI@BFr>bn0-sde9Cuk#j$!-kjC*jOo zH(#{GcFh|-}-;YS8N!Ych+syOg)D$ua zdy6xFT8e_?Wp0!)jGZ8hjS_ z?Inu)Cd1W(a}k>HC2L{C>fS`SikQIuwjvYTpV z0L1c_xzm;_Uh96xrT@-5>)-HwfvD2|&63O(ym^cH9B%8{yod2ThY^`!yVVTF&4bzS zk9LHD`(Z_DI6soYBD@hVgJfc1v0@l_aiA?P!F~yQhw{tP=fX#yxF$_y6yrQGO%LU_ zTm@c!u(y z`*Zqwbn$GU%x7e4^jmMDFxn}0cuMOYCxDy7R!hQ=!Pc;7Hc^+0p5Yp5%7R+m5kcK5 zMq9u!&;$2-Z~Att&vP18`6ymyZzDgt^9Bf`Iny%^_02`(9|+}M=e^l@9XT! z$)5ssAa`--B}oy{A3N_AW>R^OG{5$uKso!cet4o`@jjW>Zt@GUhg`>SQNn08SdqFH zO%TbZ@0uxh`^58ELMd-lkC43)P2e8I3E*?kHnjL`_Oxs@4?UrcYBgB1V0vs`Z>=y` z*uUapixO}GzGFKe$AxYTVL^iU&%rPQr%6gLLixee%3YYiTy29wnUAeq&_4J{Sd!la zTfNBi%pKpF-s|6ELK&N4Yw){J#$Lab*S!yH8=iDd^72;dSI8tQ$a|Ya;2Pbs2Fm^> z@fM$A=ToL}%b1d8*Pm;adI7nK@?3#!DKtx2wY+(y-$1Q%O?V zs`ltx+m1@kOQ2U@2epv$cE}c{#%5tXy34R?| znTn&#o|AZKdNU*C{gdAXms)F1GgG&0 z!>YpZ7kSz(d>a%9*HUmnf1e1~_pP%#Nw&E;{QPb-&qw$iLb6%15Ysu)AI9+R3!C9UB}2|6lXP1_Jx=MbgHwt$aBuP)*K! zy5i4r9V5S0Y>1-m?s(04D(F&WaL~)h-qO?f?i3Q@koiBrOwH;zo#klBg>ns3yIq_K zEGoantX|C!<|;~5_67M8%-k>I?nMd&)i_H(UIf|)iwTxb6;Y$q6`Tfg@@q;+h z6|Z7A%sK3BnQrLs6znm(Wi5UwI@F(-Q^7*~=Md+%Bza$O>+mS=;AIm^fFN%xZw&Co zMJ@O;dj}6}Mp%7nyF#$gOQ4#R$kf0fS7b&^e)(*-vd_JRj&>8ge5T<9f`Dl2_+4W)C&dQIBNZMBAHwD#bdRHIlH8TzKV1b8y(s5~U_i0rc|zAH<>YW0 zBHU@kQ!_w@+$YMR)ffZLBRx~M-^+UQ@D!VG$S5_Oyb3}y3^FiS*)I4KvF6Wo1?KIc zPkDR#n{N~55s#i}&ET@FcetL#@cJQ{1$9?{IFN(;JH2@|!`zm`ui+^1a|nZ;{B-tz z*_my#Pt;i`oI(Zqg89(b%#9owbWIue17zDd>1q8(&ZZBpQoYb}M3$)7(VxNCCKbOb zX>r=WU4?QWo;`5M?dd;|8!hMU8JaBOBP=Fl0{EMxKn_Wv|NBkcBTC+fayfrCmz1X+ zjRj|12%lFDqn|AS94zgIhRIYz5EtD56$WF5E3PkBEtN40>;s=O+JoLtFrTbMIJAZ5 z)39wqevwx3i}PM6-OIK2ZhFhG%~`rX{$K^zv-No}AqsJbM)+#72~&{X%%t?D{=mEj za}Of}_O|l74uCr-ownZZh7DnqoaY`|>e$ybfM^=2;d18KPd8kZcnhvI6=87hDG$-D zzTz~f+^^h+>?DH{=7uRqG_)pvY>5914cP1JL1fb!q*oHgyceQ5C1r3dhS(r*s;H7@ zvc_?$3j_CCgb$_)ery?u#+JK){UG~WIOXI{@oWPYx97Qe&!_XV24HW+;6s5HMOX3@ z*FnoS$phUJjf%)TO-~#m6Lzm?Dt$o!N7*?xsCE(Z{a!X#a8YayN~J#^Ntk4KtrVX( z!hoL&Twf>*JxK{1xSm5ZrzVY@+W!%KN#3k7&`lqdC4UmcmIB69$(ICWmtnI%bG7s= zd`X;5t&|&D7A4o$MxMOhp=ge#K)e61`C_8GahoZVTnvYSIW?rMR&yG&PLbqKex@{r zRf-{ps*smbf?hmNgFd2FnS{tY)YK#p|2aJr=Od2qU4ySL)V4mYCEy|Z>}oW}mv zR!%eNSLQd@$%8@Lm?v-l${!WFEDinhW4sd(Q<)Tq`KPwE+%(X6q<0|$ zxS=Ms{d%)IJeafIcpJ(>F#~+D-*kXC+7XI3Pjw~C;1-j4`4S~ou_^?iq2X7@GuY48 zLn=tr($_^6HS|W1wWeNhPmLl3eEi-%bKAMTib%JFfS=Tvd8QT6#O6Lf@eDeuC3!Rp zI;A9~$gFa6RIqOjpq+zWwR*a~%F;J)ud3hT8Y z=~yQ*Nn&Klr~=QW;h?CNTzC=P_4cY2tFqzFv*6i@M}ZOkE7Fg@X7ew=_j*cbW6Ua6 zcu#*Xqj$kso5F4uvpw8ANYY9n5ZmHs3CJr{it3f04sy%zq!??8e#|B3h8t#$-T7AE z>lV>XeH+EKSj_ z9{7Ot7&12}KdGx?8?c``PXD}B%5(va7r{yKn?543O9KFV~*muHh?H?t+CYjf;mW#re9PmA1LgcNHA zfww1sgCsiQy$jrv|{=f6Eu zL-)(x=}^VKlF3tGIV#M#`twQX(QV{kDfi8GO-bX zcF}lUbd)?}RD@$h6vYXJr1;a%eV(YOqEE5+-$%q56Tv-_ui`g{OAsj-9%8NdI+k%} z8AaAKmOdBVMpbm&#!wo7_ajQZ*S8%tuDgCM&KBjLu{g|HH*m0wScTuo3`UDh9DEKw zbDKGNJ{sS?_*XPX$h@&RzUqw-$f+r9GkD9ap6CZY2Nki^52GmVWml7Joywv}C2S7^^a@>D>w3UiZ2*)h2!Y5lIC0(mVyeDe{KM1Mu@PK?2+80_J5L)z}-E-ljl#)%CWKT3ZVa{d$M2 zUZI*QP@b^_E!-cn3LP!%Pl=Q-iUgFyNn4ZjHsZOVPO`{-(aHe(yF+yiH<;kZ++01R z{D|4@2H@%8ocJ0qi$q2a5H(4)JU~6W8z=t|fH+uClF3xAoK~;^erwi~9HR6W(m!Sy zU6B(W{C*wu@JA%dnPAfAwQ>{K)OxVoGRIJWEuEam4gX%=Uq=eecj0AZ>5{VOD&+E- zO`?<%1m+wcv{E-nu7V-@whAd`^tjgAMdMe8<9 z%2b9JjDJS+lU<2czd|7j%#J!G@VQp>Niv3rU~<>jLM!24Ekg#{H_|`GCI8E%jF^$~ zyPeFfbb)~L{zS#=2QB3?eD(bQ`EF}t8uT_h{I8jlrqv@3;_~(WJr~*C*itF8TjO|~ zt12)?Z0`Aq6pqjTPZN6Q;w+{5_?Sa^5pC89mO(%b>}8Ie3{dYJ53aq3(Q-({|CNJo_C@4l`OQlTI06b$)_imykBCN+v4&T{sZym zIDo!ula;Tny(xW-$S9uSA3`lNv~p;0-Ny3c>yE_Fp2g=Ew<8bu3w(UQ&%yE&0^spxUoR3Ds|Oh7Ixm~1<_GP z488D+@~_OGxmxqUuj|*Ihpab^4$D&( z$8&RWj8%uTQuyTRu!iN4@Un*V)NiUEm=BF zg|N>1nj~A1nWfIj#kzRNP_9gDheJNQ9m84YfR2M5Sm`)ucTndl{CYY>YeAlE+8#6 z1<4@Lpqjk;l0cMJD5Je`F3;kE{f0qwcV2_b(;ptsm=3j|s^7;F_0ple$$+22Uqa}L z9@jjjUQNBwea`cVL5iY$j=-^ogCDXfbVzdbw*cK;lfB^yvH}JQ#D9+JV@H+9%s`1h z#gb~?&hN}?7TyS-qsDSfzW<`zIm%)QoC{0QH9%ZEG6DGF|G(Jc7T*UhcaeQdom+{mjq``i%KWEiTlua(Gk;j~}j(b#tbRt~)x{N34%A|6{Vj8VC@o|_8@nB3J8#H~r zyVb;8i<-v3%XYmo?5OY~((Z}veru7)gl>c$pfA`|PM169Run2jn8m)ey11Y+*|mFn zR|kQH8ToQj8LU@c{dZ?2H_WEx6PqCu2Ws4H? z7atB>Bn@{NjubcCfWK8B^26N@2QmW;C4jTwwgyc7dmdYuXf%2~6fCnC*;qoGnSeuF`U6wbUUOw)r3 zJ78aS^PSuxi;XFr>n|-z$CpW-J-WRusSCBQm7mON#ptlQ_+1rZ3cAVgb8C^sxEP@T zJNhyC2}UTr#8>&U6-FU4P46EoPIs25(fm+h?2uNg_vDGzc!;f)H z7&RgV_~MX-A0CE3-S9hAmnragW-V-%S2)56F-#@l^|W%UYPcL-ZdISk#s(gcfGZ;wmC3Cs5rP1-&<*h!R&I2GA2c3Hg-E?6-K zi^ehGV94;t?2>Vn<%ys3*0~WoC5O=~J4Q5&_6!Lx{$0|mqh5%193d`%BZm0r0RAUf zaa#Y|&zAfsd#F3Rt)!sYe5CDB-^j z?)5QO%2;xgYL#-j;+Rz~9NqL)_LF?+U4UIN3R`^h-~rllpFMs#Kj$Z2;v#c|ICYj7 z{|S}O7xXFP2o`_6Wywb{p4HWkRzd8l$!(2A@S1|#@lWhR{hE4#ChWH~4rWu7WN3iu=7R)Gk|TG`5MM4HyaE zkGNYM)A&OxkDjamoH=$BS9_>v6N*2&D4X|Kfc;_c0Eai#xBZV@dSCC_PyyU57G}s} zeY{`AGxF8JTO}{55z#GpE=Gye1V|Xe87)WvS0riue3O^5rE4jKHm`{*)}_=?6ptAw zBN~vD{P-q71;ANt_NcJgoY-N&&MRdQ1Y)ZPnRaZ0> zyGvL5V+XFWBA5NX&{daC#t@g=Xmy;9b6Ar(I9GR_d%sC&khhHq#svJo5??HVX-H?Y zybP)5`bsGC2a3+AxI5O>e1Rv1MkmsziBV(vIeg;GvY+BnaPP6A#M0FP9<{yk22Na; zMvKWDg}<`xmMk&y2htS>iMRxx4TZ}=01qAy5^*VP5$2ccQ;z1hiM*bcn2OVZijrx4 zM^Y{v&NAlYqNH@zy6z7x?wamC0@k*|3^slD*lr|}{SdG1gasKJ^ZeS_M>wt=O;@0st@{d6GoAEWfu5dTa9 z^iyQrmFx|Tlt=B+Fz!F!faa*`r1cdYXe5ZNhr+)NbT?5IcDc|`Gz4s% zcRc2Hl8qd*G%SWdKMz`&2sTQVtUBJ=!PPE*W~%vELfYmLE)-irEYw{71&l-fns-5e zRqoCLKU!lOypW&?O?VxevSaWwoEooLH&#cNf;9nLG^DKM zFtv_b@WQoo`{orn^eJ7!Y?p^vm>+w#L)Q_w&XWFNHOuQZk9n&7o_(DeTi~3^H_mWE z0AX(e_GDhf$OO=5Rz=~06En~k(>hhdb;3=MMVXkTh=Q>l3ANXjgHQtr;C^TsE{TlH z+>~~kSWYosz@|&{bR>y=@3lQf4yvH8`JZ(qN8z5l>D;|h^js$0IEbv&-ss=+CVRWK z8g5D$$jwrKzKxuto=z?gEHo{=t7PbUN%DfM@G;(8Gk6{<+~ffroJ|bG9EOaI0E;8sli4>*A`GBlUUat zo4VpTp;OJf%AI^Uj@UM(UeHYy2kL!sQk`%ov*ZxTYk^K*U@DDPe42=R50fvNUOiU) zn#KdbdEq!?HoP$YU|P|{GAf<$qixI#go9GI<5#)xH!i_*2XOgmMG#(_HkMk5GiJTX z5d4uM*;F%Mu^xY*il3p0jDzEkHL~8__|hjvH-WD;YhvP^sWGQqe5P*#E5+KCX1_Mz z1Nt0)%N*b;qtBJg6)SX`Q6dSInRF_YUm~n{4z@M7M}qrEXePu8`AY&V1LIrb3QbWM#gaxznybxQPnM%=u@wN|jqmr^b$s}xL z*^CP5-@!e^++N~7g$eB_FZGJ*vb2_9{tC&AR!AoLEsqmL8noV;C6EvGq-a1)_d>GA z{}zYqyoBota0PJWOeBN3=x$nR+m7!w+Q68zZ%N0L?ICs!>Q#k?bz~)S0G{${ivyZ` zfVJVdNH>||0@Q=@Tn%X!XNiVm*r&#Gj{xS8peK4#4Kyt=-+6zI+!f^jey1)iSlKYW zP>rb+wiuRN^99V;3}d4PGu^GvWVh?UmFR%)Nz)PeEQ8s3Ej`^?F*3O4GHF$gCh{@>;Q zwy&gc_05rA_+NK~eP5_~yXhgL>KT<>z{_-J{^qcLh#T}v%mWbGC*Bc-mhlKVMovi^ zm@4W-e>I)Nvpj@|s)luf0p6Fix15n0tH?Yl7C)ReU(tj{Za|s-)(oX8Z^06mdn*XW zM{LqA3zR!wa>%(I1et69G|ib`jaX4TPH$<2FGvET8jO5O1kniSt(y+A=(pr?q+}Fa)WbpO2%{& z<1a1qGSYE{Z?t=7{BSj0odpLCUszi;IF40+4_k;! z`p6}KM^l$XM)+0DUP=nz5~!5hu+nKdvdEgW9FAUQ;SU{DBtD zjbwf!8b$@+2xY0In|U6NiSj44nACUJSSFNu^%5`qOj&cQ9vjHM;EqQqF(+0!Eci(i5d6&5$~!fo%7=EEm9=SJk|i2*sGxi4|fwuLmd)d zX4!)aU3k=Qu?#gcqBQ)S^U$t-rvk^m(<1C2k-&SUzkH}OrA5Y(-JfD_H=~Z-l>CUA zpebbNOiaLBkRF8*pTk3g2 zlgC!-1hJU*wboC3!S9`e!KNJHwJxSu!JG>v^t(Q2MJgGW`( z98b}~Jr`t#?<5_zD%69P!n8#;HSGakHHvszl4s#izJCPCUG`vA(AN+`^-W!w%HQ(8 zKj4`&%T{B*iuC7O82gQxQ$i(yZ|Eo6(?2u+j{P`K0UxH0|H; z-F-p2L>1(JW2FU-MRTwsW0GtSW<(49pIM$0zHS_tFe^hHWBD1|QudXufnyOwn}RPB zspQD+uT+@N4Q-Pd)+R&gN1d%lQLTGzLIspSy^8h+$bVFWv82`+5?h$RmE-+*?t}jG zC&8|cfYae83OIM5{wIS{TSUt8rZzu40$=7${s%5Y@AxYv*nT>Gsk#DLK%W}2b*15a zV1J}lXD;2Lg75_-wNZZTM+ws3w9evKf55fI-**_x@y_4qq!O>6!$+AH>LVfrQ{UNa z!jgFGxE9n41NuH*lX>m*jV$GMGd0C)FjbH42~8GaRqklSmeCh_mxCPAGE}~twS;U* zxW8VltcEYW>1sNg<)YIJfWGZNVpiF>Wto^0XykuaG*w@s|b9nVd65%y513#?bZ4g zi-epSS$#!1A&3;1k~gTfoPV|*WC%nYQ?fpo4^(L|{Lx%?5O|>$U7qd`6$_o~GN%zQeASx(J9s6bUMAysO? zj+PJR(|e3?+SroQ>eg65X~KJNit3Gen-!D!$(M9TTERm6=g9t14i~IE{;KgUr1-=i z6)%guP!f*+o*U!S(y2>5f;uG=HfvK~G0gYJFhyN@MAxq!m3+?_flTQCtfEUrfZUlT zr(dA129fFNW*4!7LqCmJi5AUdjf%E%TqRCh5>fnDkE=+c(Vb#6 ztz(<4-}A75DqYS5`um@H`rV9@#fWrp;Cz!EwJ_&3ZDwzALcenUEb9CO8%p)MM%TH0 zh*gFHnkzG)uV)9IJR@z|aP^8e!>NVzm!8Z5<8dzP1e+P<>96=pX#jVg(3rU{Q`dTH zspG)(agJ1KD!d`5yl-;xqy5*5{$kKCCdGOY7`f$)MNOWkw3f8|yd{F?!16?z&6)oI zl{)f670`#xpE;ra>*E3GeNf9$Ud~I&Lnnpb*QkvEW))7D7#e;6XTAfa5=78w5>KMJMEwnMfRMSS)4*`nw7qNh~qEejz$!TT#!* zp^9@*6E{z~Qb<@B9vF*n(}fM4``*c1*G^+JgC_(AkSZT{T{*pfGcaf6^9G9BF>lc ztbE}|i_Uo;7AFzIft@+fj}0G(HJ7`4zf6{py~h?PrdXwktqVSG0nPVxyKntb!7(Io zTDn9h(a{$>u4?*=6In-PC>s{K5}%$SYv-spOA|PDDSCISKjG02=<8(=7w zLy<^u@W&%o%fb_XSYVl|tU)-HU$lpb3^gcuoWlw5MpPy7{Ov4fcte_CFM?)t>);q; z2qlnMo~seAen&g&vrKq1J1O_=z(-=nL{m%1;fDDbyP6Ua;#z3PS;+>lsf7qR!XMZO zg+o$N9k|2}85iqoDS8TBT+c=W_;YrkOfml3zPlev?A=ip@cv!@BnmcPwbFNJa`~>U z#lP_01=&n7+^2`NTvSvqNrk#mfc_pf4C^D6x4pYa2I7?OBXMxgqZ`oAX1qlw__irt zBTgf&VxuI_^>9&4x8HoEk8=8!f?7rNj%TZ46$g^GuF9X#Lx19-B{XkRPLMO|qY?G+ zD;~VE*XGvMb`sPv%6dDdYeb5y>eYEdY|vvRd~!C#*I7@*7)%H2n=U0`y6{z8_Xpl8 z9neqQiA+oF?*U@(AM0#k8hVMlM4p)gBP--;!t#;tY3Muv+|c$2bB}pH(zu(k4qa*% zJHLRUp|<`Aarh9A@Wxt$%D?Sw;W!%s|50x|LHNd&0NTU->PolBq}~sa&_9UZiQgW9 zz7l@DkcvdnkGB(1p_aQUpFd5i(Yy-oU3Qk}f}sqALIdqsO&mup1A{(xMH#K%O3KAS^Q?I_YZkn7A*?_eFaIP67YSc zlIvg4E_b_}V_Ldg{OGQGW6Z2_2v0-1R3k|#ZH2}Tyk8~dwz0fk@M_%68J;ghT^6Vt zz7l;Q13_8{!TYe6<3<3kG_qG)4AGpUv!Tx>sAvZI)O-ND;!*RBiD)ko;ll%%pJ5!U zI2^Myr?NjbbBgk`@{#E2tFu#qQDOrFAM#y;)XS6yO2#Se2b55r5 zWUtN-J#t5IMA1&5K9zSn94344R1M|U42<#OdXkWCT1vjqtW%f8Trj`=L0o2VsY3Y4 zqNU@F3_n4F%*RgB{<+Tq_wb2V;}(QNqMSgz>KI6>0Wkyw$F#&lH z7R}~#WtWV+z=Zd;<}Rk?UDJ2v%cx~2ZthPG><+#YPd$QqyOMyu?YC&TiHeX= zPWoT{6Pz59)=O(9^#gR08}|B#7lPU_030D%=7pBq7UUA`TFiQ=n*^NdjiO!_frju$ zID)Z&0`UGOk`q##mK<)RQu>c^zEAluZ23*t*PhRWTEOvOn=BQ4UK-t;HL>3~p7`4m z5Dl-7LCf7SuZEx@+EtJbi-y8Fivjg2il;p#e@CuFS|Es>6DCypCmD2tx1Ms&)gwLx zWa|P9fP?<1lS_V2PEgUmnSMM)wiRH)0IL)nO~w&*7;D z)u{Z^JVXYoyTHKGrG|F{p0$7Sj3;@4L2UAb(t6AkX_mJY&iK_&D&#nEg3%V@a z9*6#0vUCkICKxZg&pOETlf=N#g%nN0^7m&0K#%*C0O#mtKJDYGqtWd$G#EcSlx$^T z6HLH{5tsuN;F!Px;GxCL5IK7+*y3dt^|MD!lz?(H_F+$aL?gk^)|qSsN`}%v`4<~u z)PfF9F?PBQv*CBUAm93;=%hO;B1V3r5~1?q#{$ML^X_M0!RPkyG>zjy;eX}_+aozg zPho_UyZEak3&)&Dh zlY{nEVBiiaKX`^QTYP|7qv#0*S!TR)!?*j+zd<~(7h(#0ui{s&@K6pG8MTZXpD%~s zq`v!SgqCiGlFZR~w@sgr2JVT)pL*mk`0o?jfa zUz=AewB?Zs(w_w&$3#PIH4h-mRol8BT$Y3`>v^SWse$XFc@g{gkwX%mV#fqeuLI!= z&5h>S_LsodI$Tu;GnnV#x|o`}`4`dv{Xvbx^6{(6=DoxS)dc7@eQGr9l@R|m4KS{t zmbmy`@=16$>Hu0ws~gVokI~G&{DthW;S37OoiZxWZ(oJmqj7Us)r&O4dDgKZ)?q#C zOtx>qrw()G-9=3JpYL1vd%QYH#|8W<_ynNr1%{!AEQs|$pF`{t{T=> z8~H5v*C{{y@Svn=`bvpB>i0m!=T#%5_Ny0gKBE-Fa-?37_2q@ZVf`rp`Fzg#&&g89 zr$K3BwK^DHmfllHOlYVCYLFVD~)0nxhK6?&Ov?4L4kzr2aW!qdcP>9}dW}%nyoJ;?e zbJl0lqF!IvT6Xz09OX%&r1-^H|H|1!8N|QRVo%BBul&KUA!w%mSe(C#8&t^ zmVe9t{(ydrVmVk0aHYvFhg*}e^$9TbFY@5&j<-wS>^?{uI?y1=b5A1N1$*-nEHWGP z|4_jmULdh6giG+i@nh1QDr~Sby2O=2W%y%^%{9X%(QE^o>Ov+(F*8P}s5N7aQ?u_a zh>phW5EX5sXHXz{;U338{Ue$Foy@3xM4>3^P+Ku43dDbog@1B-`nZpA)Js;3z?Z3Y=>?*|b(mP=*BfVv%imIFI~5g^NG|cKfpj{MUVkkPHSl zNb2uA)rTUt_(i@zJ1Va^iT!&_5d9S}r*WFDlNC46{T2`AT}(gkmz|G-4^!QouJ@Ni zpzk(zB!9XYKa_=u^F8n69jWsl4uaiK>q>4dXWGDl&~QEAI{vf_n{+{{xXF1;`Mtcg z{UL7h!+YZ^80-@>2tA65SK!>7b1?2|Y{%WE-TcOF%5VuX9BX)JLzKsfq*g>}zzx#{ z(D&|!2~XM*x6F=%ZUZ+2VZ%q1EedL0MXj(5i7pNe6U@J>VHAfUj(Yx&J`j*&=i;`)LW}pZC4A;~HPNq|f9`;Oczmg)Xjbz*kiC&1JhP|pI;#kq|Uz~vq9{IZwWIr^}3w$=m{axV5m z+4mHqit1iFXeA~h0URqmuDmnUeUufO&_0Q%*2Ypdj@~ zPskK*&0}I&1NH95g^D`rIqeX^Lbv^yF-Z08UfSbcNa5(nrY#$mo~8$I;ze<4oYQa1 z`*fp2@rp!!Z{@EH_W8X_wLbBl$00m`W1x_tu$J7HH0#$pJucGpoSo>cEGIFe7}?R^ zGsjW<4#7Fgcl{yv2#wMGDEuc5zTWNbO-p1|I_PHj8;bpJ)$((ouhH%Ap0E|1D3foh zCB8pG`l~k>+pRS$U|&$%LixvT7w8+9XCq5-tibI!!S50j!=O^lZi*d_FdA`cK7JTa z&_)N_Cu9Eu>BhWliyGrQOMyQ}lA#&lTD0ae#r0UMb-ksnK0L&K4q)yMz4e-Tk||7a zhyYI^R)m85gDD%&`+hrBX;?h6z!x}_U=m@W5JG7Yd`2{APM-}sWG88BrkX3}!#QYC zFMWHq5gR3~fPe|2yeV%=&Qnk8F(gDX_U3V&W*9r=o;nf|6v|_Awb#sMhoM30GzA>s zdX&7Qmv^i8hP)YXqS~pxsqU}o2NCU(BZ!jAP7|fv2-5LHNjxgQP5r3)VPUU&PwjDKL zAImCwtvZ`}^jfD8rJr9B+hyLE@N9hI#8vdB{p$7`Dei}s_voZ14~zCH#2eyYOlo!T zNM(|EFcI&axR`QTl(A&Z#VBm>^qg#t(K(n@6JWkOMIk4w8HsXBh=|sZjcJJSxj2$gmAyKDHJZa zRq;>?DToysTE3a0kvCeH{6yh%)}R3Dvsu5b&NoDTb4DGuMDZhLWUV32ct>nApOH-B zIHLlLPkK|LxXtzSiAP?ks6pTrJ`~$$l9Yjv(c+4wIBq&@c`#nAI3AXu;-yccy%^T> zNBx#<+CX9JtbIDhu!7~KtJla&Plmc2(dneUK@%I z;hTLI^AP&|TE?>q$+FS2CIAY+!3hrNbPP|-n+0HwyiP-?hg3iF!WZa6h*&mb2+FF32U-Ye44qHs?L)?9*c6Ip&qE1|b>Xvue!KQ` zVcuqS|B%ZE;&D$(h04ix-;{UhX>8xE2!8}KtAISPGQo^Y+Y08z2n}i=0Th$%KM8mr zESD)HWJe&y^JJP~fc9Mlgq-n^)l;^5Dv+1#S513xVQA-d)|JLLR{9W8t62iLMs=?0 zcmgs@*!9D6T@G&eUNrBaF=mN3o?a<_NIk=B08S$O!Z)BzZ90?Meu@D9E5QZiElK-Gd&&?tNj318PN~Dqo!Z#hg2&kDu)V=aq2iJ+T(B&PsuvHB7(E$?(G#+67aV>GImT*|mUEXfe6 z&*hziOkD2})p(7a@PXw7e{*-8%yUhw=7{4dV|BK*L&zsaM9;hTT1RjcLadg z^c3InByrMTLAa;mK^s*gVvGq0G9AWGaob#287R!VqV{bs82HslVE@`w_NKQA_c}0! z^Tc|*NS!r-L>DyoTyD!Q57>ok?0%RH8Fn-KFEt7 zQ7!4fCUQGbD$FpOjM!jjor~h)HNL0iy1_;h*J$+vt_Q<jJ0*)&e@R(c2K<#}&c%ruVxgRFKP<Q}ab;OlMZy4DCzvlIrG8+>rzvb%#|dt}o!_O18u7CO&?psHGK zd2Ek!!1|fTpYz02@V&l`jDwMIP!(;y)O{Z*e-J&bE#0hn0n_$j+L`@L7Cbu8k00<} z${*zS$>lA0Tf(qCH=H?FMyf5O&XIp+pSva|g1o5cyco4G)%Ht-K>idl{{v>Rb}udq z0?YQ1UiPq_;E^_%KM?eE;twZ>Hya zgAWJDROE&~LS!VBA)D0=UPe2i#ciKih6Yf-I*McrPC zf%GIvoP6r#4B!R~d}R6=2#3X#x-C8tCFBylqT*2Pgg);Tw2c**mj`)ZmJ~d0r^FqN zHny{1oAiY9Vm${qa}k0ObmU$9^c(8*MtdV%G4yB-r{|z=l2GE=6v1J)3*h0IPyZ| z53eg#zWzCGhy8*nV_jIuN&dNi4qU&BLK<9wg@2DwauA8qg<2W&b$=x>-aVg(Ix;BLp^-uTDqKuQxvm!rDd4*NarrZP9DFIUKa>+3 z1O1$Cm1}?wp>Vy^m6KVTjX5a-;L?9Lky1x_-#UK}4v~4^EPR)eiSetsn^&mETU!h2 z7JQytuvX?8`)UpF+F4Q}O24!Hz_2ylX8B0cxEbWaah+m=1M!~&m}>{L%@DjR%jfX> zvd^!|Lcs-;ix^j-5H_74bu(G$ovJY71LYqyJ}?BO3rM{cK$U`+$pZHT&%U1_Eyz#Q zp0(S=qvZYq#^>@K)Ck=v>$A2Yaf)?czXs!oB^nM~8X1yN-m=UYGS=eR0Qz(F@?Pzv zH7l?z$?<%LpasA47DoVM`h_VCLiV41$%iEGNdSERgA#9shl+=J38Yv@ogT>lD(>-U zU`>@E&TlPI;(2z1@y;$860WJeeJ+&dEgn18-fDmz|Fa%c=CBGJ@^DYpP@!}%|HeYq zvo?tyo<^+`CL+!47#OD9S}ceZWqPNOUa%=)pUF?-(2Vku?a7TPvyTCzz+= za2Y}5=o>fUVjP9C%qfHxfd6nxAi%@xs*FrX?LMR^>;;rZ{7koJx{W2M#zJH}!R$l> z%E^N02{;Rruqo$!5loGO!S?^V{NMI9vcZoUC)wmT&61j_mRI{f31Z`4GghejiACBh z8VU@9`; zqC?x0lXU6fs46tdk0TMrN6dh}xOei+tT}Gqzw;MKL`?Il&PIMF<{3K)@yJdk__IT1 z3gF%mSQSiuGq0LZ`sX`I=RFmrY3JwDKRE{+rIE+yqF&JgxD(=9J|oP0v;gMD&)=7- zEc_sG5$LV==hkuMR5+&)i6+VZ&-zHcnQ88|_+Iqy%bZ%w^(pKC zeVN33%v*RE;VdRlnwS_H7n&E56T8GydrSE03LMWqvH-5~L1eUo;8TYnER`mv~0uzffNeCeGu0VGHR_eQw^J_jVxIe&^Izc2uqnmd^>aTNgA~Dr-f3;gqBKCKm?!0l}Z#`dR1; zI*WDS)2lsxc|GDGZTS-3aQby-H{_1t=mGT_caOw;*$=B#8ix6d#ivj&vhJA_<*-1h z`fwM2g0BibfAY1@7U zpTAPdy7JXusY@BE^K}Z(vA^(@qW|zBTL(cp+FYlcS^8)X+tMc&KXipWP1pWzKHED6 z!rsto32P+=JpLUrI<#dk$=>=@rc<;%2<^RW)76e`kWbN@c6ZK&7f@_Io^_0rj%4E$ zE5!<>-B;Z_uTXwvnIL7-NTsjZdZEVMlft)*hJfz*Y0+(l*~sOg)XVl>FdYApNy=W$ z`VKZ^DO394eT?MClv1lc0$ATl=@9;F`%Nm+Vs2*a)m7S|To&DDoI=I5+fS|*4bK9r zYX%nHnS*$MO$>A@GNkq?CVqcwVCim~3GVr8=qEtI4E@M>Fn*4bkqk@ds8ubXP6vbY zxBTx9xc3X%*U|}*ZdmJP*Q4Bza7g*M)mCui7dS4@hP3(E<1W_ky%JmDcUddc01Gu_<-~8JL(*zhUiE4b7iVXrc}T_2_}W>LdYz1}gSm6c z(d<5VYx}3>JXi@W`2MlAoppIHO)Don>^r`(K`br<)SDkxeu3T?iA2<(cX}`$N6q`B z8TlqLYO3PStl5|Ce{%cSU1WRY(H;LB3hKc0iIgQ#mvH}`C^(x^g&3igxK2s|=#%n+ zcEp@DbUqeTrcfQoN}&gLC9~?3GN4 zj(&wz%b~>nfltnp@w!!fCRbec@|zjtHdSCu%G>xVh;M{%Cgm=(lij}5v0#=^MdrsN z4{-99L3>a%fpdK&coVOMmC;1iaH>2=kx#krC?iX^&d%Xq1r)guFMEJ|HY_boW+4K# zb$34>xz)9UHA*!BKdsr*WHDRe!<9kZ0 zCnya$k>C?c?Qa-Pj=FIqeoU3<$7b}#2vfn%SwT1UUrZ|ud{Yt30;t=}$vh$j3-N0B z0Q-Uv6K|%SxZp$A(rC`g|C7t5_ZQFEwIY94zz+Rl=ptrfiK+)J0wMC}G7Aud=&(N=D=g`p-6*EB8)8LcvqXNfDE)x{jsbDXCqF zF&iv1lsd`@2&(-OUWmujH63`=MEjh~hMQ?Ds{cls?36Nq0_x{50&-9-Uel8S-}Nny zS8u5YCCaisq4t(5pJvrLUV=e05zBXOPUndSlMlZo9m_RvP1+lfwVMei2+L40&bncOEA&funX2t0&k96iOS`0w?wWBdp?mdW!{ z1JS^NTw|mTMPVJpb(uVJ7mUG}{(ckWI~a~!{KkFowq+{~D^HZyn6$4*?FGl@_Ue3MdF6 zp-v!Qyq1Mer;hN(WHz&`B;o@Uao;9RN6EfyH14s;)?E8fkWaAM$o{}yeQ)wQrP4^L zsI55fy9i9^Swp-a!n(Fj>^v#Zz7E-b-7;eHirq>Ad`YdoA9e~JNN**Nd)jKv*!Vi8 zK%V6*ee9lyBu{c`*-qp|f5X9?&;VD!$(2TTunzt`#sZk9GY|>2JF6)$^J0Q;_ZJNf z-Pq0ahKW5Po3(UA6An*47)P6Q+t4(7voQaqDy(UERCMj^8bt<%Ot$?iJgY#sZYDT3 zJa6Uqj~$=1)Bk_fT?bGUSsEtiuw*3XFtP*4kdc7_mka|#20?PpL4pe$BGCnuj1m;d zk_1+iAW5=-b9=xYParHef4Jk_x0cZd(-{bdtZlX+6}x~ zj*^>tpuGLbk=vA7sMel&;$Qzy$MQw}K5oU&JZYn}R-*((weE%c0&9XtFz64S=)Nj~ z#>KJ2QkA=B7Znh8^a$gT{+W>C(P2n0imSPI&)C@02fD^8TW3qI^=9eF_~~eCm|{a& zEPOd1zDjm{^upRwsOvG5%Ng1blt|rbx#i3IV}};m!KW=MXb#8Z$}VRk$|coKDEC@u zk53Uzr0fi(jM6=y7nePbtR{rc1RKYJw*5%)NFIbw{t4nYrPiL6p_o3 zr=MoWXB>oPc-C~PpyT=P){D91H%$fEhzv64CsC@*Otc2QTJ*~ZD*35KI-`$^41r3S z+^)`D6fo!QpRZUS^y`BPr9A5S0uWv}dLqVJqNv9_ z)-g%?5|QGxw$$_e?5aQWBlv!nHOep#BMwK(Xo?4{cm4k{Wv z!Iv93R2~+?U4J;|DSPjmpp$f{7(;6`!Z(P-7(C%{!o*cnX&f2+FvOJGZ<>jt#wzoo zO6J7%$&6wTH$x(pirZUu5^sgo529Io!G8Kjr>NEyY1vfRXOQ$1!Wny_!gPGAdsRG@ zsOSYvhBQ|iN(Fm_VZ2y284MmX2l<{upLt`|4n4!wViIhTFL7CkuJLtsm$V z4wUN^-X=uSE(tYV*dAR#fV{*VY3klYCghxZ0v`Hg{c3u=rrXl{B8k(sIqx_4!k&Me zyMAg4&#{)q3glX>-KL%U36S?bx~pPiD=S4wvGzxuqTul>W>+3Z+|%89wKN^`WvZ!9 zxF^Of{lZt;*XWTSsGdv<0YOIc1cT~pnkF#v1jKFC&Sj+V}s}IAbrHR zi;ncSyt(CJMcjkej|t$q&!wvwZ_w7*w)5Hc+^--2{rTgx56w()QU&Zpik5a6<9^1n zzp-i!;pfY_=R|LRlK^=!_?(u{>V$UTilLA>;05iK|Xhrv=%k^78Heic*dI zkx;DCBQ8?UaAt77o89%@R4GrVFzgZ(7L)8~-*5TEH%^tzC|=omvEaXibmia^N6L!m ztq1Rr7=UPF4z>DMUC8YkjFKSAu}-K}0%x+<1242G7_ z<|=_5?d^RMaKCE<#L<@P7vgTDlE~aK_sTS1U9&>I8&3+-F6g~84f6(hxj{q*;_CV8 z&XaJR=Ej8e0qH;)?uw!HJBzO>7Pbs7Sc3bVU0z4+@iw*3)6u8Z z7JXI5Giq3GY#$jme`gk%VW?{j^8RkU7?(Xk$G`qa{(c#+@fBuCDsTosz~#5^Wm5~^ z$T|j(HDi67w1u`8dJl41J-4YXVeIAb2vW_1P6la^-^JCy|12gQ#-`&Yd5@q?1+*9D z5IVoo_~m+#u^}IOm7W46}56_YN1AWPs4kz3nUM3i+(im*WEfsOHqo#E+lgQiHl zG}&NE%S(5dBwe;(%{N@C4uub`EO^`wIP90&64}HLAN$B1BgQZ2Ct-IB>Q_~`c6CbP zVRO*^_-P^-Z63J#elF!St+HCJ_*i5zdbw*wE2<-cbo}8<4$vQ2GxB}GflmnY?q>Uj z$IyxHrdrV+Y5qskufm9YQ4KthXO?Ngl3iW-t;EV6W22Ovq%6HT&Q{pYGaIs-mZhBp z>CfT~MLi$)gKZk0x0wV}jdK`;<|N4!zYn62P|oq(=YjH)GR|PRZ0_^5{k?;G_pMO@ z)e-dcH7|;8RE!fgrZn?I^XL6VKg|@WrRYndGp>?-rq!c@p^A|!ZPVJ%o!+(N1n7hD zNvSQ+uukR(Sq+~|Tr027j{cQQ?n4E9!N?K8lAJLB<+)ogn)?&=<-N?03@xdya zs}38FeN!|NdzCq%=jljhPAMzi*63w;9C4IUMqDmxvNBtm4v0Po_%!uaCO{SJuer-< zQp$YkqE&R_&S@eM4aGgPh=)EsYdc+Li`S3&{-E|@AP&s)ETrsm@v5D2dLH_w}nftm(@B>-grQvgx{v;t5B zfB~Qc;B2-R0pJk8nKGUS;H<0yFa&Vcp)mj~0M0mb0J;H~0XXx07XDKJXWKmnFbUwy z_n(!JbB*Y1`?G-s>p$D>uWCPw=Re`UiQ~-A|62iL25T^Wa7@7OXZ7znzyAz!{+$hM z`(M}7!khjNQmrVtTV6Rn(u%+|NyZ10qBA`ekdb84A2_|pfyefL$ohp>$>vxVUwuJm zu<$N=F*Q~{--Xm#mnPhw0i}j7A!|<@rHLjNh;zk{aw8{jal1ttjETeNyflPZe`uqY z6*0q$77!pT%+;i6erCrOR8Zvg`*B&p;=FE8AhfvZ&7`(cJyd(KYd&O-@-&1UEq*g~ HPvQRr%Un2K From 30ba63905431c69924c62817f66aeb051a474233 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 1 Sep 2025 13:48:41 +0545 Subject: [PATCH 23/27] chore: revert to bn254 in unused go functions --- Cargo.lock | 2 - audits/rkm0959.md | 2 +- crates/prover/Cargo.toml | 2 - crates/recursion/gnark-ffi/go/main.go | 175 +++----------------- crates/recursion/gnark-ffi/go/sp1/build.go | 107 +----------- crates/recursion/gnark-ffi/go/sp1/prove.go | 14 +- crates/recursion/gnark-ffi/go/sp1/utils.go | 22 +-- crates/recursion/gnark-ffi/go/sp1/verify.go | 12 +- 8 files changed, 46 insertions(+), 290 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 19b39b361e..98a40f9fb9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5733,8 +5733,6 @@ dependencies = [ "itertools 0.13.0", "lru", "num-bigint 0.4.6", - "num-traits", - "once_cell", "p3-baby-bear", "p3-challenger", "p3-commit", diff --git a/audits/rkm0959.md b/audits/rkm0959.md index 3ea94568f1..2c09f508d5 100644 --- a/audits/rkm0959.md +++ b/audits/rkm0959.md @@ -68,7 +68,7 @@ In `hash.rs`, we combine 8 felts to var using base `2^32`. ```rust fn hash(builder: &mut Builder, input: &[Felt<::F>]) -> Self::DigestVariable { - assert!(C::N::bits() == p3_bls12_fr::Bls12Fr::bits()); + assert!(C::N::bits() == p3_bn254_fr::Bn254Fr::bits()); assert!(C::F::bits() == p3_baby_bear::BabyBear::bits()); let num_f_elms = C::N::bits() / C::F::bits(); // this is 8 let mut state: [Var; SPONGE_SIZE] = diff --git a/crates/prover/Cargo.toml b/crates/prover/Cargo.toml index f7ddb44557..2e9455f671 100644 --- a/crates/prover/Cargo.toml +++ b/crates/prover/Cargo.toml @@ -57,8 +57,6 @@ hex = "0.4" [dev-dependencies] test-artifacts = { path = "../test-artifacts" } -num-traits = "0.2" -once_cell = "1.21" [[bin]] name = "build_plonk_bn254" diff --git a/crates/recursion/gnark-ffi/go/main.go b/crates/recursion/gnark-ffi/go/main.go index 5c74f18d4e..5f9acfc9e6 100644 --- a/crates/recursion/gnark-ffi/go/main.go +++ b/crates/recursion/gnark-ffi/go/main.go @@ -18,21 +18,19 @@ typedef struct { */ import "C" import ( - "encoding/binary" "encoding/json" "fmt" - "io" - "log" "os" "sync" "unsafe" "github.com/consensys/gnark-crypto/ecc" "github.com/consensys/gnark/backend/groth16" - "github.com/consensys/gnark/constraint" - bcs "github.com/consensys/gnark/constraint/bls12-381" + "github.com/consensys/gnark/backend/plonk" "github.com/consensys/gnark/frontend" "github.com/consensys/gnark/frontend/cs/r1cs" + "github.com/consensys/gnark/frontend/cs/scs" + "github.com/consensys/gnark/test/unsafekzg" "github.com/succinctlabs/sp1-recursion-gnark/sp1" "github.com/succinctlabs/sp1-recursion-gnark/sp1/babybear" "github.com/succinctlabs/sp1-recursion-gnark/sp1/poseidon2" @@ -177,65 +175,6 @@ func TestGroth16Bn254(witnessJson *C.char, constraintsJson *C.char) *C.char { return nil } -// Dump writes the coefficient table and the fully‑expanded R1Cs rows into w. -// Caller decides where w points to (file, buffer, network, …). -func Dump(cs constraint.ConstraintSystem, w io.Writer) error { - // 1. coefficient table - coeffs := cs.(*bcs.R1CS).Coefficients - if err := binary.Write(w, binary.LittleEndian, uint32(len(coeffs))); err != nil { - return err - } - for _, c := range coeffs { - data := c.Marshal() // returns 32‑byte slice, no error - if _, err := w.Write(data); err != nil { - return err - } - } - - // 2. full rows - rows := cs.(*bcs.R1CS).GetR1Cs() // materialises all constraints - if err := binary.Write(w, binary.LittleEndian, uint32(len(rows))); err != nil { - return err - } - - // helper closure - writeLE := func(n uint32) error { return binary.Write(w, binary.LittleEndian, n) } - - for _, r := range rows { - if err := writeLE(uint32(len(r.L))); err != nil { - return err - } - if err := writeLE(uint32(len(r.R))); err != nil { - return err - } - if err := writeLE(uint32(len(r.O))); err != nil { - return err - } - - dumpLE := func(expr constraint.LinearExpression) error { - for _, t := range expr { - if err := writeLE(uint32(t.WireID())); err != nil { - return err - } - if err := writeLE(uint32(t.CoeffID())); err != nil { - return err - } - } - return nil - } - if err := dumpLE(r.L); err != nil { - return err - } - if err := dumpLE(r.R); err != nil { - return err - } - if err := dumpLE(r.O); err != nil { - return err - } - } - return nil -} - func TestMain() error { // Get the file name from an environment variable. fileName := os.Getenv("WITNESS_JSON") @@ -258,96 +197,36 @@ func TestMain() error { // Compile the circuit. circuit := sp1.NewCircuit(inputs) - builder := r1cs.NewBuilder - contr, err := frontend.Compile(ecc.BLS12_381.ScalarField(), builder, &circuit) + builder := scs.NewBuilder + scs, err := frontend.Compile(ecc.BN254.ScalarField(), builder, &circuit) if err != nil { return err } - fmt.Println("[sp1] gnark verifier constraints:", contr.GetNbConstraints()) - - { - - // benchmark - nbCoeff := contr.GetNbCoefficients() - bytesCoeffTable := nbCoeff * 32 - fmt.Printf("Coeff-table: %d elements ≈ %d bytes\n", - nbCoeff, bytesCoeffTable) - - var nTerms int - - r1cs_contr := contr.(*bcs.R1CS) - for _, r := range r1cs_contr.GetR1Cs() { // materialises each row once - nTerms += len(r.L) + len(r.R) + len(r.O) // three linear-expressions - } - - fmt.Printf("Total terms in matrix: %d (≈ %d bytes)\n", - nTerms, nTerms*8) // a Term is 2×uint32 = 8 B - - num_vars := (contr.GetNbSecretVariables() + contr.GetNbPublicVariables() + contr.GetNbInternalVariables()) - naive := 3 * contr.GetNbConstraints() * num_vars * 32 - - fmt.Printf("Naive cost num_vars=(%d) num_constraints=(%d) (≈ %d bytes)\n", num_vars, contr.GetNbConstraints(), naive) // a Term is 2×uint32 = 8 B + fmt.Println("[sp1] gnark verifier constraints:", scs.GetNbConstraints()) + // Run the dummy setup. + srs, srsLagrange, err := unsafekzg.NewSRS(scs) + if err != nil { + return err } - - { - r1cs_fn := "/r1cs_to_dvsnark" - file, err := os.Create(r1cs_fn) // os.Create returns an *os.File, which implements io.Writer - if err != nil { - log.Fatalf("Failed to create file: %v", err) - } - defer file.Close() // Ensure the file is closed when main exits - - Dump(contr, file) - - assignment := sp1.NewCircuit(inputs) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) - if err != nil { - return err - } - _solution, err := contr.Solve(witness) - if err != nil { - panic("err is not nil for solve") - } - solution := _solution.(*bcs.R1CSSolution) - - witness_fn := "/witness_to_dvsnark" - wfile, err := os.Create(witness_fn) // os.Create returns an *os.File, which implements io.Writer - if err != nil { - log.Fatalf("Failed to create file: %v", err) - } - defer wfile.Close() // Ensure the file is closed when main exits - - bytesWritten, err := solution.W.WriteTo(wfile) - if err != nil { - log.Fatalf("Failed to write to file: %v", err) - } - - fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) + var pk plonk.ProvingKey + pk, _, err = plonk.Setup(scs, srs, srsLagrange) + if err != nil { + return err } - // - // fmt.Println("Hello") - // for _, v := range solution.W { - // fmt.Println(v.String()) - // } + // Generate witness. + assignment := sp1.NewCircuit(inputs) + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) + if err != nil { + return err + } - // Run the dummy setup. - // srs, srsLagrange, err := unsafekzg.NewSRS(contr) - // if err != nil { - // return err - // } - // var pk plonk.ProvingKey - // pk, _, err = plonk.Setup(contr, srs, srsLagrange) - // if err != nil { - // return err - // } - - // // Generate the proof. - // _, err = plonk.Prove(contr, pk, witness) - // if err != nil { - // return err - // } + // Generate the proof. + _, err = plonk.Prove(scs, pk, witness) + if err != nil { + return err + } return nil } @@ -396,7 +275,7 @@ func TestPoseidonBabyBear2() *C.char { assignment := sp1.TestPoseidon2BabyBearCircuit{Input: input, ExpectedOutput: expectedOutput} builder := r1cs.NewBuilder - r1cs, err := frontend.Compile(ecc.BLS12_381.ScalarField(), builder, &circuit) + r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), builder, &circuit) if err != nil { return C.CString(err.Error()) } @@ -408,7 +287,7 @@ func TestPoseidonBabyBear2() *C.char { } // Generate witness. - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) if err != nil { return C.CString(err.Error()) } diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index 8d149813a9..a435ee71ae 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -98,8 +98,8 @@ func BuildPlonk(dataDir string) { } // Download the trusted setup. - var srs kzg.SRS = kzg.NewSRS(ecc.BLS12_381) - var srsLagrange kzg.SRS = kzg.NewSRS(ecc.BLS12_381) + var srs kzg.SRS = kzg.NewSRS(ecc.BN254) + var srsLagrange kzg.SRS = kzg.NewSRS(ecc.BN254) srsFileName := dataDir + "/" + srsFile srsLagrangeFileName := dataDir + "/" + srsLagrangeFile @@ -180,7 +180,7 @@ func BuildPlonk(dataDir string) { // Generate proof. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, fr.Modulus()) + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) if err != nil { panic(err) } @@ -447,105 +447,4 @@ func BuildGroth16(dataDir string) { r1cs_contr := r1cs.(*bcs.R1CS) Dump(r1cs_contr, file) } - - // { - // assignment := NewCircuit(witnessInput) - // witness, err := frontend.NewWitness(&assignment, fr.Modulus()) - // if err != nil { - // panic(err) - // } - // _solution, err := r1cs.Solve(witness) - // if err != nil { - // panic("err is not nil for solve") - // } - // solution := _solution.(*bcs.R1CSSolution) - - // witness_fn := "/witness_to_dvsnark" - // wfile, err := os.Create(witness_fn) - // if err != nil { - // log.Fatalf("Failed to create file: %v", err) - // } - // defer wfile.Close() - - // bytesWritten, err := solution.W.WriteTo(wfile) - // if err != nil { - // log.Fatalf("Failed to write to file: %v", err) - // } - - // fmt.Printf("Successfully wrote %d bytes to %s\n", bytesWritten, witness_fn) - // } - - // // Generate the proving and verifying key. - // pk, vk, err := groth16.Setup(r1cs) - // if err != nil { - // panic(err) - // } - - // // Generate proof. - // assignment := NewCircuit(witnessInput) - // witness, err := frontend.NewWitness(&assignment, fr.Modulus()) - // if err != nil { - // panic(err) - // } - // proof, err := groth16.Prove(r1cs, pk, witness) - // if err != nil { - // panic(err) - // } - - // // Verify proof. - // publicWitness, err := witness.Public() - // if err != nil { - // panic(err) - // } - // err = groth16.Verify(proof, vk, publicWitness) - // if err != nil { - // panic(err) - // } - - // // Create the build directory. - // os.MkdirAll(dataDir, 0755) - - // // Write the solidity verifier. - // solidityVerifierFile, err := os.Create(dataDir + "/" + groth16VerifierContractPath) - // if err != nil { - // panic(err) - // } - // vk.ExportSolidity(solidityVerifierFile) - - // // Modify the solidity verifier. - // modifyGroth16Verifier(solidityVerifierFile) - // defer solidityVerifierFile.Close() - - // // Write the R1CS. - // r1csFile, err := os.Create(dataDir + "/" + groth16CircuitPath) - // if err != nil { - // panic(err) - // } - // defer r1csFile.Close() - // _, err = r1cs.WriteTo(r1csFile) - // if err != nil { - // panic(err) - // } - - // // Write the verifier key. - // vkFile, err := os.Create(dataDir + "/" + groth16VkPath) - // if err != nil { - // panic(err) - // } - // defer vkFile.Close() - // _, err = vk.WriteTo(vkFile) - // if err != nil { - // panic(err) - // } - - // // Write the proving key. - // pkFile, err := os.Create(dataDir + "/" + groth16PkPath) - // if err != nil { - // panic(err) - // } - // defer pkFile.Close() - // err = pk.WriteDump(pkFile) - // if err != nil { - // panic(err) - // } } diff --git a/crates/recursion/gnark-ffi/go/sp1/prove.go b/crates/recursion/gnark-ffi/go/sp1/prove.go index 9ad5af4584..ae19fa7884 100644 --- a/crates/recursion/gnark-ffi/go/sp1/prove.go +++ b/crates/recursion/gnark-ffi/go/sp1/prove.go @@ -19,9 +19,9 @@ import ( ) var globalMutex sync.RWMutex -var globalR1cs constraint.ConstraintSystem = groth16.NewCS(ecc.BLS12_381) +var globalR1cs constraint.ConstraintSystem = groth16.NewCS(ecc.BN254) var globalR1csInitialized = false -var globalPk groth16.ProvingKey = groth16.NewProvingKey(ecc.BLS12_381) +var globalPk groth16.ProvingKey = groth16.NewProvingKey(ecc.BN254) var globalPkInitialized = false func ProvePlonk(dataDir string, witnessPath string) Proof { @@ -36,7 +36,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { if err != nil { panic(err) } - scs := plonk.NewCS(ecc.BLS12_381) + scs := plonk.NewCS(ecc.BN254) scs.ReadFrom(scsFile) defer scsFile.Close() @@ -45,7 +45,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { if err != nil { panic(err) } - pk := plonk.NewProvingKey(ecc.BLS12_381) + pk := plonk.NewProvingKey(ecc.BN254) bufReader := bufio.NewReaderSize(pkFile, 1024*1024) pk.UnsafeReadFrom(bufReader) defer pkFile.Close() @@ -55,7 +55,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { if err != nil { panic(err) } - vk := plonk.NewVerifyingKey(ecc.BLS12_381) + vk := plonk.NewVerifyingKey(ecc.BN254) vk.ReadFrom(vkFile) defer vkFile.Close() @@ -74,7 +74,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { // Generate the witness. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) if err != nil { panic(err) } @@ -237,7 +237,7 @@ func ProveGroth16Old(dataDir string, witnessPath string) Proof { start = time.Now() // Generate the witness. assignment := NewCircuit(witnessInput) - witness, err := frontend.NewWitness(&assignment, ecc.BLS12_381.ScalarField()) + witness, err := frontend.NewWitness(&assignment, ecc.BN254.ScalarField()) if err != nil { panic(err) } diff --git a/crates/recursion/gnark-ffi/go/sp1/utils.go b/crates/recursion/gnark-ffi/go/sp1/utils.go index ac2a3051d7..94c2ef2017 100644 --- a/crates/recursion/gnark-ffi/go/sp1/utils.go +++ b/crates/recursion/gnark-ffi/go/sp1/utils.go @@ -4,32 +4,14 @@ import ( "bytes" "encoding/hex" - "github.com/consensys/gnark-crypto/ecc/bn254/fr" groth16 "github.com/consensys/gnark/backend/groth16" - groth16_bn254 "github.com/consensys/gnark/backend/groth16/bls12-381" + groth16_bn254 "github.com/consensys/gnark/backend/groth16/bn254" plonk "github.com/consensys/gnark/backend/plonk" plonk_bn254 "github.com/consensys/gnark/backend/plonk/bn254" "github.com/consensys/gnark/frontend" "github.com/succinctlabs/sp1-recursion-gnark/sp1/babybear" ) -// MarshalSolidity converts a proof to a byte array that can be used in a -// Solidity contract. -func MarshalSolidityGroth(proof *groth16_bn254.Proof) []byte { - var buf bytes.Buffer - _, err := proof.WriteRawTo(&buf) - if err != nil { - panic(err) - } - - // If there are no commitments, we can return only Ar | Bs | Krs - if len(proof.Commitments) > 0 { - return buf.Bytes() - } else { - return buf.Bytes()[:8*fr.Bytes] - } -} - func NewSP1PlonkBn254Proof(proof *plonk.Proof, witnessInput WitnessInput) Proof { var buf bytes.Buffer (*proof).WriteRawTo(&buf) @@ -63,7 +45,7 @@ func NewSP1Groth16Proof(proof *groth16.Proof, witnessInput WitnessInput) Proof { // Cast groth16 proof into groth16_bn254 proof so we can call MarshalSolidity. p := (*proof).(*groth16_bn254.Proof) - encodedProof := MarshalSolidityGroth(p) + encodedProof := p.MarshalSolidity() return Proof{ PublicInputs: publicInputs, diff --git a/crates/recursion/gnark-ffi/go/sp1/verify.go b/crates/recursion/gnark-ffi/go/sp1/verify.go index b9961d1355..c0de53a4ef 100644 --- a/crates/recursion/gnark-ffi/go/sp1/verify.go +++ b/crates/recursion/gnark-ffi/go/sp1/verify.go @@ -23,7 +23,7 @@ func VerifyPlonk(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkeyHa if err != nil { panic(err) } - proof := plonk.NewProof(ecc.BLS12_381) + proof := plonk.NewProof(ecc.BN254) if _, err := proof.ReadFrom(bytes.NewReader(proofDecodedBytes)); err != nil { panic(err) } @@ -33,7 +33,7 @@ func VerifyPlonk(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkeyHa if err != nil { panic(err) } - vk := plonk.NewVerifyingKey(ecc.BLS12_381) + vk := plonk.NewVerifyingKey(ecc.BN254) vk.ReadFrom(vkFile) // Compute the public witness. @@ -44,7 +44,7 @@ func VerifyPlonk(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkeyHa VkeyHash: verifyCmdVkeyHash, CommittedValuesDigest: verifyCmdCommittedValuesDigest, } - witness, err := frontend.NewWitness(&circuit, ecc.BLS12_381.ScalarField()) + witness, err := frontend.NewWitness(&circuit, ecc.BN254.ScalarField()) if err != nil { panic(err) } @@ -69,7 +69,7 @@ func VerifyGroth16(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkey if err != nil { panic(err) } - proof := groth16.NewProof(ecc.BLS12_381) + proof := groth16.NewProof(ecc.BN254) if _, err := proof.ReadFrom(bytes.NewReader(proofDecodedBytes)); err != nil { panic(err) } @@ -79,7 +79,7 @@ func VerifyGroth16(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkey if err != nil { panic(err) } - vk := groth16.NewVerifyingKey(ecc.BLS12_381) + vk := groth16.NewVerifyingKey(ecc.BN254) vk.ReadFrom(vkFile) // Compute the public witness. @@ -90,7 +90,7 @@ func VerifyGroth16(verifyCmdDataDir string, verifyCmdProof string, verifyCmdVkey VkeyHash: verifyCmdVkeyHash, CommittedValuesDigest: verifyCmdCommittedValuesDigest, } - witness, err := frontend.NewWitness(&circuit, ecc.BLS12_381.ScalarField()) + witness, err := frontend.NewWitness(&circuit, ecc.BN254.ScalarField()) if err != nil { panic(err) } From 0be369c7cd3615355ab52f2b24987f5b0b6f86b5 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 1 Sep 2025 14:40:26 +0545 Subject: [PATCH 24/27] chore: cargo fmt --- crates/p3-sect-fr/src/lib.rs | 27 +-- crates/p3-sect-fr/src/poseidon2.rs | 12 +- crates/prover/src/lib.rs | 170 +++++++++--------- crates/recursion/circuit/src/challenger.rs | 2 +- crates/recursion/circuit/src/lib.rs | 2 +- crates/recursion/circuit/src/utils.rs | 3 +- crates/recursion/circuit/src/witness/outer.rs | 2 +- .../go/sp1/poseidon2/poseidon2_test.go | 2 +- crates/recursion/gnark-ffi/src/ffi/docker.rs | 6 +- crates/sdk/src/cuda/mod.rs | 6 +- 10 files changed, 119 insertions(+), 113 deletions(-) diff --git a/crates/p3-sect-fr/src/lib.rs b/crates/p3-sect-fr/src/lib.rs index ba613f4314..f499b05468 100644 --- a/crates/p3-sect-fr/src/lib.rs +++ b/crates/p3-sect-fr/src/lib.rs @@ -1,22 +1,26 @@ -//! The scalar field of the SECT curve, defined as `F_r` where `r = 3450873173395281893717377931138512760570940988862252126328087024741343`. +//! The scalar field of the SECT curve, defined as `F_r` where `r = +//! 3450873173395281893717377931138512760570940988862252126328087024741343`. pub mod params; mod poseidon2; -use core::fmt; -use core::fmt::{Debug, Display, Formatter}; -use core::hash::{Hash, Hasher}; -use core::iter::{Product, Sum}; -use core::ops::{Add, AddAssign, Div, Mul, MulAssign, Neg, Sub, SubAssign}; +use core::{ + fmt, + fmt::{Debug, Display, Formatter}, + hash::{Hash, Hasher}, + iter::{Product, Sum}, + ops::{Add, AddAssign, Div, Mul, MulAssign, Neg, Sub, SubAssign}, +}; use ff::{Field as FFField, PrimeField as FFPrimeField, PrimeFieldBits}; use num_bigint::BigUint; use p3_field::{AbstractField, Field, Packable, PrimeField}; pub use poseidon2::DiffusionMatrixSECT; -use rand::distributions::{Distribution, Standard}; -use rand::Rng; -use serde::ser::SerializeSeq; -use serde::{Deserialize, Deserializer, Serialize}; +use rand::{ + distributions::{Distribution, Standard}, + Rng, +}; +use serde::{ser::SerializeSeq, Deserialize, Deserializer, Serialize}; #[derive(FFPrimeField)] #[PrimeFieldModulus = "3450873173395281893717377931138512760570940988862252126328087024741343"] @@ -24,7 +28,8 @@ use serde::{Deserialize, Deserializer, Serialize}; #[PrimeFieldReprEndianness = "little"] pub struct FFSectFr([u64; 4]); -/// The SECT curve scalar field prime, defined as `F_r` where `r = 3450873173395281893717377931138512760570940988862252126328087024741343`. +/// The SECT curve scalar field prime, defined as `F_r` where `r = +/// 3450873173395281893717377931138512760570940988862252126328087024741343`. #[derive(Copy, Clone, Default, Eq, PartialEq)] pub struct SectFr { pub value: FFSectFr, diff --git a/crates/p3-sect-fr/src/poseidon2.rs b/crates/p3-sect-fr/src/poseidon2.rs index 6f93f40fba..738278b561 100644 --- a/crates/p3-sect-fr/src/poseidon2.rs +++ b/crates/p3-sect-fr/src/poseidon2.rs @@ -30,13 +30,17 @@ impl> DiffusionPermutation for DiffusionMat #[cfg(test)] mod tests { - use crate::params::{POSEIDON2_SECT_PARAMS, RC3}; - use crate::FpSECT as ark_FpBN256; + use crate::{ + params::{POSEIDON2_SECT_PARAMS, RC3}, + FpSECT as ark_FpBN256, + }; use ff::PrimeField; use p3_poseidon2::{Poseidon2, Poseidon2ExternalMatrixHL}; use rand::Rng; - use zkhash::ark_ff::{BigInteger, PrimeField as ark_PrimeField}; - use zkhash::poseidon2::poseidon2::Poseidon2 as Poseidon2Ref; + use zkhash::{ + ark_ff::{BigInteger, PrimeField as ark_PrimeField}, + poseidon2::poseidon2::Poseidon2 as Poseidon2Ref, + }; use super::*; use crate::FFSectFr; diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 16d9fb5d9c..1f60333511 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1550,65 +1550,65 @@ pub mod tests { let (_, pk_d, program, vk) = prover.setup(elf); tracing::info!("prove core"); - // let core_proof = prover.prove_core(&pk_d, program, &stdin, opts, context)?; - // let public_values = core_proof.public_values.clone(); - - // if env::var("COLLECT_SHAPES").is_ok() { - // let mut shapes = BTreeSet::new(); - // for proof in core_proof.proof.0.iter() { - // let shape = SP1ProofShape::Recursion(proof.shape()); - // shapes.insert(shape); - // } - - // let mut file = File::create("../shapes.bin").unwrap(); - // bincode::serialize_into(&mut file, &shapes).unwrap(); - // } - - // if verify { - // tracing::info!("verify core"); - // prover.verify(&core_proof.proof, &vk)?; - // } - - // if test_kind == Test::Core { - // return Ok(()); - // } - - // tracing::info!("compress"); - // let compress_span = tracing::debug_span!("compress").entered(); - // let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; - // compress_span.exit(); - - // if verify { - // tracing::info!("verify compressed"); - // prover.verify_compressed(&compressed_proof, &vk)?; - // } - - // if test_kind == Test::Compress { - // return Ok(()); - // } - - // tracing::info!("shrink"); - // let shrink_proof = prover.shrink(compressed_proof, opts)?; - - // // if verify { - // // tracing::info!("verify shrink"); - // // prover.verify_shrink(&shrink_proof, &vk)?; - // // } - - // if test_kind == Test::Shrink { - // return Ok(()); - // } - - // tracing::info!("wrap bn254"); - // let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; - // let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); - - // // Save the proof. - // let mut file = File::create("proof-with-pis-sect-wrap.bin").unwrap(); - // file.write_all(bytes.as_slice()).unwrap(); + let core_proof = prover.prove_core(&pk_d, program, &stdin, opts, context)?; + let public_values = core_proof.public_values.clone(); + + if env::var("COLLECT_SHAPES").is_ok() { + let mut shapes = BTreeSet::new(); + for proof in core_proof.proof.0.iter() { + let shape = SP1ProofShape::Recursion(proof.shape()); + shapes.insert(shape); + } + + let mut file = File::create("../shapes.bin").unwrap(); + bincode::serialize_into(&mut file, &shapes).unwrap(); + } + + if verify { + tracing::info!("verify core"); + prover.verify(&core_proof.proof, &vk)?; + } + + if test_kind == Test::Core { + return Ok(()); + } + + tracing::info!("compress"); + let compress_span = tracing::debug_span!("compress").entered(); + let compressed_proof = prover.compress(&vk, core_proof, vec![], opts)?; + compress_span.exit(); + + if verify { + tracing::info!("verify compressed"); + prover.verify_compressed(&compressed_proof, &vk)?; + } + + if test_kind == Test::Compress { + return Ok(()); + } + + tracing::info!("shrink"); + let shrink_proof = prover.shrink(compressed_proof, opts)?; + + if verify { + tracing::info!("verify shrink"); + prover.verify_shrink(&shrink_proof, &vk)?; + } + + if test_kind == Test::Shrink { + return Ok(()); + } + + tracing::info!("wrap bn254"); + let wrapped_bn254_proof = prover.wrap_bn254(shrink_proof, opts)?; + let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); + + // Save the proof. + let mut file = File::create("proof-with-pis-wrap.bin").unwrap(); + file.write_all(bytes.as_slice()).unwrap(); // Load the proof. - let mut file = File::open("proof-with-pis-sect-wrap.bin").unwrap(); + let mut file = File::open("proof-with-pis-wrap.bin").unwrap(); let mut bytes = Vec::new(); file.read_to_end(&mut bytes).unwrap(); @@ -1634,26 +1634,26 @@ pub mod tests { assert_eq!(vk_digest_bn254, vk.hash_bn254()); tracing::warn!("vk_digest_bn254 {:?}", vk_digest_bn254); - // tracing::info!("Test the outer Plonk circuit"); - // let (constraints, witness) = - // build_constraints_and_witness(&wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof); - // PlonkBn254Prover::test(constraints, witness); - // tracing::info!("Circuit test succeeded"); - - // if test_kind == Test::CircuitTest { - // return Ok(()); - // } - - // tracing::info!("generate plonk bn254 proof"); - // let artifacts_dir = try_build_plonk_bn254_artifacts_dev( - // &wrapped_bn254_proof.vk, - // &wrapped_bn254_proof.proof, - // ); - // let plonk_bn254_proof = - // prover.wrap_plonk_bn254(wrapped_bn254_proof.clone(), &artifacts_dir); - // println!("{:?}", plonk_bn254_proof); + tracing::info!("Test the outer Plonk circuit"); + let (constraints, witness) = + build_constraints_and_witness(&wrapped_bn254_proof.vk, &wrapped_bn254_proof.proof); + PlonkBn254Prover::test(constraints, witness); + tracing::info!("Circuit test succeeded"); - // prover.verify_plonk_bn254(&plonk_bn254_proof, &vk, &public_values, &artifacts_dir)?; + if test_kind == Test::CircuitTest { + return Ok(()); + } + + tracing::info!("generate plonk bn254 proof"); + let artifacts_dir = try_build_plonk_bn254_artifacts_dev( + &wrapped_bn254_proof.vk, + &wrapped_bn254_proof.proof, + ); + let plonk_bn254_proof = + prover.wrap_plonk_bn254(wrapped_bn254_proof.clone(), &artifacts_dir); + println!("{:?}", plonk_bn254_proof); + + prover.verify_plonk_bn254(&plonk_bn254_proof, &vk, &public_values, &artifacts_dir)?; tracing::info!("generate groth16 bn254 proof"); let artifacts_dir = try_build_groth16_bn254_artifacts_dev( @@ -1663,14 +1663,14 @@ pub mod tests { let groth16_bn254_proof = prover.wrap_groth16_bn254(wrapped_bn254_proof, &artifacts_dir); println!("{:?}", groth16_bn254_proof); - // if verify { - // prover.verify_groth16_bn254( - // &groth16_bn254_proof, - // &vk, - // &public_values, - // &artifacts_dir, - // )?; - // } + if verify { + prover.verify_groth16_bn254( + &groth16_bn254_proof, + &vk, + &public_values, + &artifacts_dir, + )?; + } Ok(()) } @@ -1787,7 +1787,7 @@ pub mod tests { #[test] #[serial] fn test_e2e() -> Result<()> { - let elf = test_artifacts::HELLO_WORLD_ELF; + let elf = test_artifacts::FIBONACCI_ELF; setup_logger(); let opts = SP1ProverOpts::auto(); // TODO(mattstam): We should Test::Plonk here, but this uses the existing diff --git a/crates/recursion/circuit/src/challenger.rs b/crates/recursion/circuit/src/challenger.rs index 09cde054aa..a193f43d50 100644 --- a/crates/recursion/circuit/src/challenger.rs +++ b/crates/recursion/circuit/src/challenger.rs @@ -435,9 +435,9 @@ pub(crate) mod tests { utils::tests::run_test_recursion, }; use p3_baby_bear::BabyBear; - use p3_sect_fr::SectFr; use p3_challenger::{CanObserve, CanSample, CanSampleBits, FieldChallenger}; use p3_field::AbstractField; + use p3_sect_fr::SectFr; use p3_symmetric::{CryptographicHasher, Hash, PseudoCompressionFunction}; use sp1_recursion_compiler::{ circuit::{AsmBuilder, AsmConfig}, diff --git a/crates/recursion/circuit/src/lib.rs b/crates/recursion/circuit/src/lib.rs index d390fc38ac..fac4b6f9ae 100644 --- a/crates/recursion/circuit/src/lib.rs +++ b/crates/recursion/circuit/src/lib.rs @@ -6,9 +6,9 @@ use challenger::{ }; use hash::{FieldHasherVariable, Posedion2BabyBearHasherVariable}; use itertools::izip; -use p3_sect_fr::SectFr; use p3_field::AbstractField; use p3_matrix::dense::RowMajorMatrix; +use p3_sect_fr::SectFr; use sp1_recursion_compiler::{ circuit::CircuitV2Builder, config::{InnerConfig, OuterConfig}, diff --git a/crates/recursion/circuit/src/utils.rs b/crates/recursion/circuit/src/utils.rs index 8b19840d4c..028e30eaeb 100644 --- a/crates/recursion/circuit/src/utils.rs +++ b/crates/recursion/circuit/src/utils.rs @@ -27,7 +27,8 @@ pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { result } -/// Convert 32 BabyBear bytes into a SectFr field element. All byte's most significant 1 bit is masked (truncated) +/// Convert 32 BabyBear bytes into a SectFr field element. All byte's most significant 1 bit is +/// masked (truncated) #[allow(dead_code)] pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { let mut result = SectFr::zero(); diff --git a/crates/recursion/circuit/src/witness/outer.rs b/crates/recursion/circuit/src/witness/outer.rs index 1ea964dda3..fbc6e81bde 100644 --- a/crates/recursion/circuit/src/witness/outer.rs +++ b/crates/recursion/circuit/src/witness/outer.rs @@ -1,7 +1,7 @@ use std::borrow::Borrow; -use p3_sect_fr::SectFr; use p3_field::AbstractField; +use p3_sect_fr::SectFr; use p3_fri::{CommitPhaseProofStep, QueryProof}; pub use sp1_recursion_compiler::ir::Witness as OuterWitness; diff --git a/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go b/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go index 9e58899eab..178c9447b1 100644 --- a/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go +++ b/crates/recursion/gnark-ffi/go/sp1/poseidon2/poseidon2_test.go @@ -48,5 +48,5 @@ func TestPoseidon2(t *testing.T) { circuit = TestPoseidon2Circuit{Input: input, ExpectedOutput: expected_output} witness = TestPoseidon2Circuit{Input: input, ExpectedOutput: expected_output} - assert.ProverSucceeded(&circuit, &witness, test.WithCurves(ecc.BLS12_381), test.WithBackends(backend.PLONK)) + assert.ProverSucceeded(&circuit, &witness, test.WithCurves(ecc.BN254), test.WithBackends(backend.PLONK)) } diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index 0219186c45..d715befc45 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -85,11 +85,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { tracing::error!("status: {:?}", result.status); tracing::error!("stderr: {:?}", stderr); - return Err(anyhow!( - "Docker command failed \n stdout: {:?}\n stderr: {:?}", - stdout, - stderr - )); + return Err(anyhow!("Docker command failed \n stdout: {:?}\n stderr: {:?}", stdout, stderr)); } Ok(()) } diff --git a/crates/sdk/src/cuda/mod.rs b/crates/sdk/src/cuda/mod.rs index ed7c670259..e436208eb3 100644 --- a/crates/sdk/src/cuda/mod.rs +++ b/crates/sdk/src/cuda/mod.rs @@ -146,9 +146,9 @@ impl CudaProver { // try_install_circuit_artifacts("groth16") // }; - // let proof = self.cpu_prover.wrap_groth16_bn254(outer_proof, &groth16_bn254_artifacts); - // let proof_with_pv = SP1ProofWithPublicValues::new( - // SP1Proof::Groth16(proof), + // let proof = self.cpu_prover.wrap_groth16_bn254(outer_proof, + // &groth16_bn254_artifacts); let proof_with_pv = + // SP1ProofWithPublicValues::new( SP1Proof::Groth16(proof), // public_values, // self.version().to_string(), // ); From 61d8446cd6baa0f56c0bea8d34620b46fbde975d Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Mon, 1 Sep 2025 15:28:39 +0545 Subject: [PATCH 25/27] fix comments --- crates/p3-sect-fr/src/lib.rs | 7 --- crates/prover/src/lib.rs | 8 ++-- crates/prover/src/utils.rs | 29 ++++++------ crates/recursion/circuit/src/utils.rs | 47 +++++++++----------- crates/recursion/gnark-ffi/src/ffi/docker.rs | 3 +- crates/sdk/src/lib.rs | 4 +- 6 files changed, 44 insertions(+), 54 deletions(-) diff --git a/crates/p3-sect-fr/src/lib.rs b/crates/p3-sect-fr/src/lib.rs index f499b05468..3588e79cb4 100644 --- a/crates/p3-sect-fr/src/lib.rs +++ b/crates/p3-sect-fr/src/lib.rs @@ -39,12 +39,6 @@ impl SectFr { pub(crate) const fn new(value: FFSectFr) -> Self { Self { value } } - - pub fn to_biguint(value: FFSectFr) -> BigUint { - let repr = value.to_repr(); - let le_bytes = repr.as_ref(); - BigUint::from_bytes_le(le_bytes) - } } impl Serialize for SectFr { @@ -284,7 +278,6 @@ impl Distribution for Standard { use ark_ff::fields::{Fp256, MontBackend, MontConfig}; use std::convert::TryInto; - #[derive(MontConfig)] #[modulus = "3450873173395281893717377931138512760570940988862252126328087024741343"] #[generator = "3"] diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 1f60333511..351e8e4128 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1065,7 +1065,7 @@ impl SP1Prover { println!("vkey_hash {:?}", vkey_hash); println!("committed_values_digest {:?}", committed_values_digest); let prover = SectWitnessGenerator {}; - let proof = prover.prove(witness, build_dir.to_path_buf()); + prover.prove(witness, build_dir.to_path_buf()) // Verify the proof. // prover.verify( @@ -1074,8 +1074,6 @@ impl SP1Prover { // &committed_values_digest.as_canonical_biguint(), // build_dir, // ); - - proof } pub fn recursion_program( @@ -1604,11 +1602,11 @@ pub mod tests { let bytes = bincode::serialize(&wrapped_bn254_proof).unwrap(); // Save the proof. - let mut file = File::create("proof-with-pis-wrap.bin").unwrap(); + let mut file = File::create("proof-with-pis.bin").unwrap(); file.write_all(bytes.as_slice()).unwrap(); // Load the proof. - let mut file = File::open("proof-with-pis-wrap.bin").unwrap(); + let mut file = File::open("proof-with-pis.bin").unwrap(); let mut bytes = Vec::new(); file.read_to_end(&mut bytes).unwrap(); diff --git a/crates/prover/src/utils.rs b/crates/prover/src/utils.rs index d19ecda790..483064cb6f 100644 --- a/crates/prover/src/utils.rs +++ b/crates/prover/src/utils.rs @@ -123,27 +123,28 @@ pub fn words_to_bytes(words: &[Word]) -> Vec { words.iter().flat_map(|word| word.0).collect() } -/// Convert 8 BabyBear words into a SectFr field element by shifting by 31 bits each time. The last -/// word becomes the least significant bits. +/// Convert 8 BabyBear words into a SectFr field element. +/// First 32 bits are fully masked, this leaves 256-32=224 bits +/// which is now small enough to fit within the scalar field. +/// The last word becomes the least significant bits. +/// Note: the function name bn254 here is a misnomer and actually refers sect233k1 curve. +/// Is kept here to reduce extensive code changes. pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { let mut result = SectFr::zero(); for (idx, word) in digest.iter().enumerate() { - // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be - // within the SectFr field, we truncate the top 3 bits everytime. - // so total size of result in the end is 8 x 28 = 224 bits - result *= SectFr::from_canonical_u64(1 << 32); // shift by 28 - let masked_val_u32 = if idx == 0 { - 0 // mask top 3-bits - } else { - word.as_canonical_u32() - }; - result += SectFr::from_canonical_u32(masked_val_u32); // add 28 bits + result *= SectFr::from_canonical_u64(1 << 32); + let masked_val_u32 = if idx == 0 { 0 } else { word.as_canonical_u32() }; + result += SectFr::from_canonical_u32(masked_val_u32); } result } -/// Convert 32 BabyBear bytes into a SectFr field element. The first byte's most significant 3 bits -/// (which would become the 3 most significant bits) are truncated. +/// Convert 32 BabyBear bytes into a SectFr field element. +/// First 4 bytes (32 bits) is fully masked, this leaves 256-32=224 bits. +/// which is now small enough to fit within the scalar field. +/// The last word becomes the least significant bits. +/// Note: the function name bn254 here is a misnomer and actually refers sect233k1 curve. +/// Is kept here to reduce extensive code changes. pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { let mut result = SectFr::zero(); for (idx, byte) in bytes.iter().enumerate() { diff --git a/crates/recursion/circuit/src/utils.rs b/crates/recursion/circuit/src/utils.rs index 028e30eaeb..f05dadc78a 100644 --- a/crates/recursion/circuit/src/utils.rs +++ b/crates/recursion/circuit/src/utils.rs @@ -3,32 +3,33 @@ use p3_field::{AbstractField, PrimeField32}; use p3_sect_fr::SectFr; use sp1_recursion_compiler::ir::{Builder, Config, Felt, Var}; -use sp1_recursion_core::{DIGEST_SIZE, NUM_BITS}; +use sp1_recursion_core::DIGEST_SIZE; use sp1_stark::Word; -/// Convert 8 BabyBear words into a SectFr field element by shifting by 28 bits each time. The last -/// word becomes the least significant bits. +/// Convert 8 BabyBear words into a SectFr field element. +/// First word (32 bit) is fully masked, this leaves 256-32=224 bits +/// which is now small enough to fit within the scalar field. +/// The last word becomes the least significant bits. +/// Note: the function name bn254 here is a misnomer and actually refers sect233k1 curve. +/// Is kept here to reduce extensive code changes. #[allow(dead_code)] pub fn babybears_to_bn254(digest: &[BabyBear; 8]) -> SectFr { let mut result = SectFr::zero(); for (idx, word) in digest.iter().enumerate() { - // Since BabyBear prime is less than 2^31, we can shift by 28 bits each time and still be - // within the SectFr field, we truncate the top 3 bits everytime. - // so total size of result in the end is 8 x 28 = 224 bits - result *= SectFr::from_canonical_u64(1 << 32); // shift by 28 - let masked_val_u32 = if idx == 0 { - 0 // mask top 3-bits - } else { - word.as_canonical_u32() - }; - result += SectFr::from_canonical_u32(masked_val_u32); // add 28 bits + result *= SectFr::from_canonical_u64(1 << 32); + let masked_val_u32 = if idx == 0 { 0 } else { word.as_canonical_u32() }; + result += SectFr::from_canonical_u32(masked_val_u32); } result } -/// Convert 32 BabyBear bytes into a SectFr field element. All byte's most significant 1 bit is -/// masked (truncated) +/// Convert 32 BabyBear bytes into a SectFr field element. +/// First 4 bytes (32 bits) is fully masked, this leaves 256-32=224 bits. +/// which is now small enough to fit within the scalar field. +/// The last word becomes the least significant bits. +/// Note: the function name bn254 here is a misnomer and actually refers sect233k1 curve. +/// Is kept here to reduce extensive code changes. #[allow(dead_code)] pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { let mut result = SectFr::zero(); @@ -40,7 +41,9 @@ pub fn babybear_bytes_to_bn254(bytes: &[BabyBear; 32]) -> SectFr { result } -#[allow(dead_code)] +/// truncate top 32 bits like babybears_to_bn254 +/// Note: the function name bn254 here is a misnomer and actually refers sect233k1 curve. +/// Is kept here to reduce extensive code changes. pub fn felts_to_bn254_var( builder: &mut Builder, digest: &[Felt; DIGEST_SIZE], @@ -51,10 +54,6 @@ pub fn felts_to_bn254_var( for (i, word) in digest.iter().enumerate() { let all_bits: Vec> = builder.num2bits_f_circuit(*word); - // for j in 0..3 { - // // mask 30, 29, 28'th positions leaving 0-27 untouched; thus masking all but 28 bits - // builder.assign(all_bits[NUM_BITS - j - 1], zero_var); - // } let word_var = if i == 0 { zero_var } else { builder.bits2num_v_circuit(&all_bits) }; if i == 0 { builder.assign(result, word_var); @@ -65,7 +64,9 @@ pub fn felts_to_bn254_var( result } -#[allow(dead_code)] +/// truncate top 32 bits like babybear_bytes_to_bn254 +/// Note: the function name bn254 here is a misnomer and actually refers sect233k1 curve. +/// Is kept here to reduce extensive code changes. pub fn felt_bytes_to_bn254_var( builder: &mut Builder, bytes: &[Felt; 32], @@ -75,10 +76,6 @@ pub fn felt_bytes_to_bn254_var( let result = builder.constant(C::N::zero()); for (i, byte) in bytes.iter().enumerate() { let byte_bits = builder.num2bits_f_circuit(*byte); - // mask top 1-bit - // for j in 0..1 { - // builder.assign(byte_bits[8 - j - 1], zero_var); - // } let byte_var = if i < 4 { zero_var } else { builder.bits2num_v_circuit(&byte_bits) }; if i == 0 { builder.assign(result, byte_var); diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index d715befc45..e215913979 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -30,6 +30,7 @@ fn assert_docker() { } } +#[allow(dead_code)] fn get_docker_image() -> String { std::env::var("SP1_GNARK_IMAGE") .unwrap_or_else(|_| format!("ghcr.io/succinctlabs/sp1-gnark:{}", SP1_CIRCUIT_VERSION)) @@ -74,7 +75,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { "/witness_to_dvsnark" )); - cmd.arg("sp1-gnark:latest"); // replace with modified image sp1-gnark:latest + cmd.arg("sp1-gnark:latest"); cmd.args(args); tracing::info!("Command {:?}", cmd); let result = cmd.output()?; diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index ddd37a1270..e58a259416 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -176,8 +176,8 @@ mod tests { st.write_slice(&compressed_proof_bytes); let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; - let (pk, vk) = client.setup(elf); - let proof = client.prove(&pk, &st).groth16_with_compressed().run().unwrap(); + let (pk, _) = client.setup(elf); + let _ = client.prove(&pk, &st).groth16_with_compressed().run().unwrap(); //client.verify(&proof, &vk).unwrap(); From a11fe4fb4f1fc38ba483060e87937615307014c6 Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Wed, 3 Sep 2025 10:10:12 +0545 Subject: [PATCH 26/27] return sp1public values in single step proof generation --- crates/sdk/src/cpu/mod.rs | 19 ++++++++++++++----- crates/sdk/src/lib.rs | 30 ++++++++++++++++++++---------- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/crates/sdk/src/cpu/mod.rs b/crates/sdk/src/cpu/mod.rs index c678e84610..0e4c3406d1 100644 --- a/crates/sdk/src/cpu/mod.rs +++ b/crates/sdk/src/cpu/mod.rs @@ -98,6 +98,10 @@ impl CpuProver { } } + /// input_is_compressed_proof is set to true when the user has passed compressed proof directly + /// as input. this is the case when you offload compress proof generation to sp1 cluster but + /// run the wrapping part locally. You can not offload wrapping part to sp1 cluster because this + /// sp1 fork works over sect233k1 to dvsnark instead of bn254 over groth #[allow(clippy::print_stdout)] pub(crate) fn prove_impl<'a>( &'a self, @@ -109,12 +113,15 @@ impl CpuProver { input_is_compressed_proof: bool, ) -> Result { println!("input_is_compressed_proof {input_is_compressed_proof}"); - let reduce_proof = if input_is_compressed_proof { + let (reduce_proof, public_values) = if input_is_compressed_proof { let compressed_proof_bytes = &stdin.buffer; assert_eq!(compressed_proof_bytes.len(), 1); let reduce_proof: SP1ReduceProof = serde_json::from_slice(&compressed_proof_bytes[0])?; - reduce_proof + // here, the user has directly passed the compressed proof as input to be wrapped, + // he already possesses SP1PublicValues while generating the compressed proof itself, + // so you can return empty + (reduce_proof, SP1PublicValues::default()) } else { let program = self.prover.get_program(&pk.elf).unwrap(); @@ -139,7 +146,8 @@ impl CpuProver { let deferred_proofs = stdin.proofs.iter().map(|(reduce_proof, _)| reduce_proof.clone()).collect(); let public_values = proof.public_values.clone(); - let reduce_proof = self.prover.compress(&pk.vk, proof, deferred_proofs, opts)?; + let reduce_proof: SP1ReduceProof = + self.prover.compress(&pk.vk, proof, deferred_proofs, opts)?; if mode == SP1ProofMode::Compressed { return Ok(SP1ProofWithPublicValues::new( SP1Proof::Compressed(Box::new(reduce_proof)), @@ -147,7 +155,8 @@ impl CpuProver { self.version().to_string(), )); }; - reduce_proof + // return public_values as well so that it can be returned alongside wrapped proof + (reduce_proof, public_values) }; // Generate the shrink proof. @@ -181,7 +190,7 @@ impl CpuProver { let _sect_witness = self.prover.wrap_sect(outer_proof, &groth16_bn254_artifacts); Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(vec![]), - SP1PublicValues::default(), + public_values, self.version().to_string(), )) } diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index e58a259416..4917c572fc 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -160,32 +160,42 @@ mod tests { #[test] #[allow(clippy::print_stdout)] - fn test_e2e_prove_plonk() { + fn test_generate_sect_proof_step_wise() { utils::setup_logger(); + // IRL upto compressed proof is generated by SP1 cluster + // because this is the heavy computation part let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; let (pk, vk) = client.setup(elf); println!("verification key {:?}", vk.hash_bn254()); let stdin = SP1Stdin::default(); let proof = client.prove(&pk, &stdin).compressed().run().unwrap(); + println!("proof public values {:?}", proof.public_values); + // Now use the compressed proof returned by SP1 Cluster + // to generate wrapped proof (only sect witness) locally + // This can't be offloaded to SP1 cluster now because + // cluster doesn't handle forked code let compressed_proof_bytes = proof.bytes(); - - println!("len outside {:?}", compressed_proof_bytes.len()); let mut st = SP1Stdin::default(); st.write_slice(&compressed_proof_bytes); let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; let (pk, _) = client.setup(elf); let _ = client.prove(&pk, &st).groth16_with_compressed().run().unwrap(); + } - //client.verify(&proof, &vk).unwrap(); - - // Test invalid public values. - // proof.public_values = SP1PublicValues::from(&[255, 4, 84]); - // if client.verify(&proof, &vk).is_ok() { - // panic!("verified proof with invalid public values") - // } + #[test] + #[allow(clippy::print_stdout)] + fn test_generate_sect_proof_single_step() { + utils::setup_logger(); + let client = ProverClient::builder().cpu().build(); + let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; + let (pk, vk) = client.setup(elf); + println!("verification key {:?}", vk.hash_bn254()); + let stdin = SP1Stdin::default(); + let proof = client.prove(&pk, &stdin).groth16().run().unwrap(); + println!("proof public values {:?}", proof.public_values); } #[test] From 42240a2dc30b30a9ce1843a552af9939933305ba Mon Sep 17 00:00:00 2001 From: manishbista28 Date: Thu, 4 Sep 2025 09:09:56 +0545 Subject: [PATCH 27/27] add comments --- README.md | 70 ++++++++++++------- crates/core/machine/src/riscv/mod.rs | 3 +- crates/p3-sect-fr/src/lib.rs | 7 +- crates/p3-sect-fr/src/params.rs | 14 ++++ crates/p3-sect-fr/src/poseidon2.rs | 3 +- crates/prover/src/build.rs | 8 +-- crates/prover/src/lib.rs | 8 ++- crates/recursion/gnark-ffi/go/sp1/build.go | 17 +++-- .../gnark-ffi/go/sp1/poseidon2/constants.go | 3 +- crates/recursion/gnark-ffi/go/sp1/prove.go | 7 ++ crates/recursion/gnark-ffi/src/ffi/docker.rs | 8 +-- .../recursion/gnark-ffi/src/groth16_bn254.rs | 3 +- .../recursion/gnark-ffi/src/sect_wit_gen.rs | 1 + crates/sdk/src/cpu/mod.rs | 37 +++++----- crates/sdk/src/lib.rs | 12 ++-- 15 files changed, 127 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 70cdfdc3ca..b40e839ede 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,62 @@ -# SP1 +# SP1 Fork -![SP1](./assets/sp1.png) +This fork of SP1 includes changes to generate R1CS and satisfying witness of a stark-proof-verifier program over sect233k1. This way you can write arbitrary program in rust and have it validated by `dv-pari`. -SP1 is the fastest, most-feature complete zero-knowledge virtual machine (zkVM) that can prove the execution of arbitrary Rust (or any LLVM-compiled language) programs. SP1 makes ZK accessible to *any developer*, by making it easy to write ZKP programs in normal Rust code. +SP1 generates Inner Proof (core proof and compressed proof), wraps it over a scalar field (e.g bn254) and then generates snark proof (e.g. groth16). Here wrapping means you represent stark-proof-verifier in R1CS constraints over scalar field. Generating SNARK means you use this R1CS representation and stark-proof (Inner Proof) as an input to generate a succinct proof using systems like groth16. -**[Install](https://docs.succinct.xyz/docs/sp1/getting-started/install)** -| [Docs](https://docs.succinct.xyz/docs/sp1/introduction) -| [Examples](https://github.com/succinctlabs/sp1/tree/main/examples) -| [Telegram Chat](https://t.me/+AzG4ws-kD24yMGYx) +Our changes is reserved to wrapping the same R1CS constraints over a prime scalar field of sect233k1. Instead of generating SNARK, we dump R1CS and a satisfying witness (which includes stark proof) to a file. These files are taken as input by the `dv-pari` system. -## Getting Started +Changes include +1. Poseidon2 over sect233k1 +2. Fit public input hash and verification key hash in scalar field +3. Generate and dump r1cs constraints to a file +4. Generate satisfying witness to a file +5. Update `gnark` and `gnark-crypto` to be able to handle sect233k1 -Today, developers can write programs, including complex, large programs like a ZK Tendermint light client or type-1 zkEVM using Reth, in Rust (with std support), generate proofs and verify them. Most Rust crates should be supported and can be used seamlessly by your program. Example programs can be found in the [examples](https://github.com/succinctlabs/sp1/tree/main/examples) folder. +## General Info -To get started, make sure you have [Rust](https://www.rust-lang.org/tools/install) installed. Then follow the [installation](https://docs.succinct.xyz/docs/sp1/getting-started/install) guide in the SP1 book and read the [getting started](https://docs.succinct.xyz/docs/sp1/getting-started/quickstart) section. +### Running over cluster and then locally +Because SP1 cluster does not handle forked code, we run the expensive InnerProof (core and compressed proof) generation in SP1 Cluster and run the cheaper constant time OuterProof (wrap over sect233k1 scalar field and dump r1cs witness) locally. -## Security +Check `test_generate_sect_proof_single_step` to understand how both of the Outer and Inner proofs can be generated on the same machine. This approach is same as it used to be previously. -SP1 has undergone audits from [Veridise](https://www.veridise.com/), [Cantina](https://cantina.xyz/), -and [KALOS](https://kalos.xyz/) and is recommended for production use. The audit reports are available [here](./audits). +Check `test_generate_sect_proof_step_wise` to understand how Outer and Inner proofs are handled over different machines. In short -- compressed proof generated by SP1 cluster is fed as input through `SP1Stdin` by marking `prove(..).groth16_with_compressed().run()` instead of the usual `prove(..).groth16().run`. -## Supported Rust Versions (MSRV) +### Naming convention preserved to reduce code changes +Note: There are instances like the ones above where the underlying functionality has been changed to adapt for dv-pari repository (i.e generate r1cs, witness over sect233k1) but the name of functions being called appears as a misnomer (e.g. `groth16_with_compressed().run()`). You will find function names and variables whose names haven't been substituted to something like `dv` from `groth16`. This is to reduce the amount of code that do not impact functionality. -The current MSRV (minimum supported Rust version) is 1.79. +### Support for Groth16 +As we have substituted groth16 with functionality that fit our purpose, tests which assume `groth16` will fail. -## For Contributors +### Support in dv-pari +`dv-pari` library directly takes `r1cs_to_dvsnark` and `witness_to_dvsnark` as input and proceeds with the expected set of steps. +`dv-pari-demo` library handles the entire set of steps from sp1 to `dv-pari` and `dv-pari-circuit` end to end. -Open-source is a core part of SP1's ethos and key to its advantages. We wish to cultivate a vibrant community of open-source contributors that span individuals, teams and geographies. If you want to contribute, or follow along with contributor discussion, you can use our main Telegram to chat with us. Our contributor guidelines can be found in [CONTRIBUTING.md](./CONTRIBUTING.md). A quick overview of development tips can be found in [DEVELOPMENT.md](./DEVELOPMENT.md). +## Getting Started +1. Build Custom sp1-gnark -We are always looking for contributors interested in tasks big and small, including minor chores across the codebase, optimizing performance, adding precompiles for commonly used cryptographic operations, adding documentation, creating new example programs and more. Please reach out in the Telegram chat if interested! +```bash +docker build -t sp1-gnark -f ./Dockerfile.gnark-ffi . +``` -## Acknowledgements +2. Generate R1CS and satisying witness -We would like to acknowledge the projects below whose previous work has been instrumental in making this project a reality. +```bash +RUST_LOG=info cargo test --release --package sp1-sdk --lib -- tests::test_generate_sect_proof_single_step --exact --show-output --ignored --nocapture +``` -- [Plonky3](https://github.com/Plonky3/Plonky3): The SP1's prover is powered by the Plonky3 toolkit. -- [Valida](https://github.com/valida-xyz/valida): The SP1 cross-table lookups, prover, borrow macro, and chip design, including constraints, are inspired by Valida. -- [RISC0](https://github.com/risc0/risc0): The SP1 rust toolchain, install/build scripts, and our RISCV runtime borrow code from RISC0. -- [Cairo](https://docs.cairo-lang.org/how_cairo_works/builtins.html): Cairo introduced the idea of "builtins" which allow zkVMs to accelerate certain operations. However, the complexity of "builtins" was embedded in the CPU, limiting their complexity. SP1 extends this idea by executing on a vision of easily extensible "precompiles" that can be added as additional tables alongside the CPU. +This should generate R1CS and witness in file `~/.sp1/circuits/r1cs_to_dvsnark` and `~/.sp1/circuits/witness_to_dvsnark` respectively + +Recurring calls to generate proof will only generate proof and reuse pregenerated r1cs cached in the file `~/.sp1/circuits/r1cs_cached` + +## System Requirements + +Generating R1CS Constraints requires around 30 GB of docker memory. Ensure docker isn't constrained to a lower limit, else container crashes midway. R1CS only has to be generated once. SP1's main fork assumes these artifacts are directly downloaded from a trusted source, we can also opt for a similar approach where pre-generated r1cs of around 1.2 GB can be directly downloaded, its shasum validated and used. + +Generating proof requires around 8 GB of docker memory. + +## Versioning + +SP1 Fork is forked off of v5.0.0 fork from main branch. + +Our main branch is `alpen_dev`. \ No newline at end of file diff --git a/crates/core/machine/src/riscv/mod.rs b/crates/core/machine/src/riscv/mod.rs index 95a8005dd4..6d98350127 100644 --- a/crates/core/machine/src/riscv/mod.rs +++ b/crates/core/machine/src/riscv/mod.rs @@ -571,7 +571,6 @@ impl From for RiscvAirId { #[cfg(test)] #[allow(non_snake_case)] -#[allow(clippy::print_stdout)] pub mod tests { use crate::{ @@ -612,7 +611,7 @@ pub mod tests { #[ignore] fn write_core_air_costs() { let costs = RiscvAir::::costs(); - println!("{:?}", costs); + tracing::info!("{:?}", costs); // write to file // Create directory if it doesn't exist let dir = std::path::Path::new("../executor/src/artifacts"); diff --git a/crates/p3-sect-fr/src/lib.rs b/crates/p3-sect-fr/src/lib.rs index 3588e79cb4..cdb33cb7d2 100644 --- a/crates/p3-sect-fr/src/lib.rs +++ b/crates/p3-sect-fr/src/lib.rs @@ -1,6 +1,7 @@ -//! The scalar field of the SECT curve, defined as `F_r` where `r = -//! 3450873173395281893717377931138512760570940988862252126328087024741343`. - +/// This library references p3-bn254-fr 0.2.2-succinct +/// https://docs.rs/crate/p3-bn254-fr/0.2.3-succinct/source/src/lib.rs +/// +/// Changes in this file is reserved to sect233k1 parameters like field modulus pub mod params; mod poseidon2; diff --git a/crates/p3-sect-fr/src/params.rs b/crates/p3-sect-fr/src/params.rs index 61857eb8a1..ff3143d069 100644 --- a/crates/p3-sect-fr/src/params.rs +++ b/crates/p3-sect-fr/src/params.rs @@ -1,3 +1,16 @@ +//! Poseidon params are referenced from bn254 poseidon parameters below: +//! https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2_instance_bn256.rs +//! +//! Round constants given below are exactly the ones provided for bn254 above, except that these +//! values are truncated to fit the field size. `Poseidon2Params` like state-width, round sizes, +//! s-box size are the same between bn254 and sect233k1. +//! +//! we should generate round constants through the procedure noted in Poseidon paper, +//! which suggests hashing the above poseidon parameters + scalar field to generate these constants. +//! The values generated this way are deterministic and transparent +//! but truncation adds bias and as such does not preserve uniformity. +//! TODO: @manishbista28, @AaronFeickert + use std::sync::Arc; use crate::FpSECT; @@ -350,6 +363,7 @@ lazy_static! { from_hex("0x0fc1bbceba0590f5abbdffa6d3b35e3297c021a3a409926d0e2d54dc1c"), ], ]; + // as mentioned above, params are same in value as for bn254 (except RC3 is truncated to fit scalar field size) pub static ref POSEIDON2_SECT_PARAMS: Arc> = Arc::new(Poseidon2Params::new(3, 5, 8, 56, &MAT_DIAG3_M_1, &MAT_INTERNAL3, &RC3)); } diff --git a/crates/p3-sect-fr/src/poseidon2.rs b/crates/p3-sect-fr/src/poseidon2.rs index 738278b561..add395d278 100644 --- a/crates/p3-sect-fr/src/poseidon2.rs +++ b/crates/p3-sect-fr/src/poseidon2.rs @@ -1,6 +1,6 @@ //! Diffusion matrix for SECT //! -//! Reference: https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2_instance_sect.rs +//! Reference: https://github.com/HorizenLabs/poseidon2/blob/main/plain_implementations/src/poseidon2/poseidon2_instance_bn256.rs use std::sync::OnceLock; @@ -63,6 +63,7 @@ mod tests { } } + /// external_round_constants and internal_round_constants are the generated values used in RC3 #[test] fn test_poseidon2_sect() { const WIDTH: usize = 3; diff --git a/crates/prover/src/build.rs b/crates/prover/src/build.rs index 1fa63b4330..0cd89f8bcf 100644 --- a/crates/prover/src/build.rs +++ b/crates/prover/src/build.rs @@ -46,15 +46,15 @@ pub fn try_build_groth16_bn254_artifacts_dev( let home = std::env::home_dir().expect("Failed to find the home directory."); let circuits_dir = home.join(".sp1/circuits"); - let r1cs_to_dvsnark_path = circuits_dir.join("r1cs_to_dvsnark"); - let r1cs_cached_path = circuits_dir.join("r1cs_cached"); + let r1cs_to_dvsnark_path = circuits_dir.join("r1cs_to_dvsnark"); // r1cs dump in gnark format + let r1cs_cached_path = circuits_dir.join("r1cs_cached"); // r1cs dump to export over to dvsnark let mut r1cs_to_dvsnark_content_exist = false; if r1cs_to_dvsnark_path.exists() { let md = metadata(r1cs_to_dvsnark_path).unwrap(); let filesize = md.len(); + // ensure it is not empty, arbitrary threshold 1024, could have been set to 0 if filesize > 1024 { - // > 1 KB r1cs_to_dvsnark_content_exist = true } } @@ -63,8 +63,8 @@ pub fn try_build_groth16_bn254_artifacts_dev( if r1cs_cached_path.exists() { let md = metadata(r1cs_cached_path).unwrap(); let filesize = md.len(); + // ensure it is not empty if filesize > 1024 { - // > 1 KB r1cs_cached_content_exist = true } } diff --git a/crates/prover/src/lib.rs b/crates/prover/src/lib.rs index 351e8e4128..ca08e53f39 100644 --- a/crates/prover/src/lib.rs +++ b/crates/prover/src/lib.rs @@ -1046,8 +1046,9 @@ impl SP1Prover { proof } - #[allow(clippy::print_stdout)] /// Wrap the STARK proven over sect + /// Takes STARK proof and dumps witness satisfying the R1CS representing stark verifier in + /// file `~/.sp1/circuits/r1cs_to_dvsnark` #[instrument(name = "wrap_sect", level = "info", skip_all)] pub fn wrap_sect(&self, proof: SP1ReduceProof, build_dir: &Path) -> SectWitness { let input = SP1CompressWitnessValues { @@ -1062,11 +1063,12 @@ impl SP1Prover { witness.write_committed_values_digest(committed_values_digest); witness.write_vkey_hash(vkey_hash); - println!("vkey_hash {:?}", vkey_hash); - println!("committed_values_digest {:?}", committed_values_digest); + tracing::info!("vkey_hash {:?}", vkey_hash); + tracing::info!("committed_values_digest {:?}", committed_values_digest); let prover = SectWitnessGenerator {}; prover.prove(witness, build_dir.to_path_buf()) + // omit verifying as we haven't generated proof // Verify the proof. // prover.verify( // &proof, diff --git a/crates/recursion/gnark-ffi/go/sp1/build.go b/crates/recursion/gnark-ffi/go/sp1/build.go index a435ee71ae..2b857428b3 100644 --- a/crates/recursion/gnark-ffi/go/sp1/build.go +++ b/crates/recursion/gnark-ffi/go/sp1/build.go @@ -253,6 +253,12 @@ func BuildPlonk(dataDir string) { // It is functionally identical to the original version but batches I/O // through an internal bufio.Writer and uses raw little-endian encodes for // scalars to avoid reflection overhead in binary.Write. +// +// We do not use WriteTo function to dump r1cs here because it writes +// more than what is needed to be exported to dvsnark +// this extraneous stuff includes gnark exclusive parameters and values, +// which can be excluded, instead we export only the R1CS matrix +// by this function. func Dump(r1cs *bcs.R1CS, w io.Writer) error { // Wrap the destination with a large buffered writer (1 MiB; tune as needed). bw := bufio.NewWriterSize(w, 1<<20) @@ -322,6 +328,7 @@ func Dump(r1cs *bcs.R1CS, w io.Writer) error { return bw.Flush() // explicit flush + propagate any error } +// If `r1cs_cached` exists, convert it to `r1cs_to_dvsnark`; otherwise return false. func DumpR1CSIfItExists() bool { // Check input exists if stat, err := os.Stat("/r1cs_cached"); err != nil { @@ -361,6 +368,12 @@ func DumpR1CSIfItExists() bool { return true } +// This function builds r1cs constraints of stark verifier to be used by dv-pari. +// It dumps the same constraints in different format in two files `r1cs_cached` and `r1cs_to_dvsnark`. +// `r1cs_cached`: R1CS in gnark's native format, optimized with extra tricks to reduce memory. +// `r1cs_to_dvsnark`: Same R1CS, but stripped of gnark-specific parameters and stored with a simpler sparse matrix representation. +// +// We opt for a simpler representation for R1CS here because we need to write an equivalent file reader in rust over the dv-pari side. func BuildGroth16(dataDir string) { r1cs_dumped := DumpR1CSIfItExists() if r1cs_dumped { @@ -368,10 +381,6 @@ func BuildGroth16(dataDir string) { return } - // Set the environment variable for the constraints file. - // - // TODO: There might be some non-determinism if a single process is running this command - // multiple times. os.Setenv("CONSTRAINTS_JSON", dataDir+"/"+constraintsJsonFile) os.Setenv("GROTH16", "1") diff --git a/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go b/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go index e6973c6a4f..b8fe5f5262 100644 --- a/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go +++ b/crates/recursion/gnark-ffi/go/sp1/poseidon2/constants.go @@ -17,7 +17,8 @@ func init() { init_rc16() } -// Poseidon2 round constants for a state consisting of three BN254 field elements. +// Poseidon2 round constants for Sect233k1 field elements. +// copied from `crates::p3-sect-fr::params::RC3` var rc3 [numExternalRounds + numInternalRounds][width]frontend.Variable = [64][3]frontend.Variable{ { frontend.Variable("0x1d066a255517b7fd8bddd3a93f7804ef7f8fcde48bb4c37a59a09a1a97"), diff --git a/crates/recursion/gnark-ffi/go/sp1/prove.go b/crates/recursion/gnark-ffi/go/sp1/prove.go index ae19fa7884..01991c67f6 100644 --- a/crates/recursion/gnark-ffi/go/sp1/prove.go +++ b/crates/recursion/gnark-ffi/go/sp1/prove.go @@ -98,6 +98,7 @@ func ProvePlonk(dataDir string, witnessPath string) Proof { return NewSP1PlonkBn254Proof(&proof, witnessInput) } +// Generates full witness vector using stark proof present in witnessPath func SaveWitnessToFile(witnessPath string) { r1cs_fn := "/r1cs_cached" @@ -159,6 +160,11 @@ func SaveWitnessToFile(witnessPath string) { } +// Generate and Write Witness, that satisfies R1CS, to the file `witness_to_dvsnark`. +// `witnessPath` includes public and private values (which includes stark proof). +// but it doesn't include the full witness vector. +// The purpose of this function is to generate witness in full using the R1CS matrix. +// As such this function expects `r1cs_cached`, where R1CS matrix was previously dumped func ProveGroth16(dataDir string, witnessPath string) Proof { fmt.Println("start SaveWitnessToFile") @@ -174,6 +180,7 @@ func ProveGroth16(dataDir string, witnessPath string) Proof { } } +// Previous implementation of ProveGroth16, only name changed func ProveGroth16Old(dataDir string, witnessPath string) Proof { // Sanity check the required arguments have been provided. if dataDir == "" { diff --git a/crates/recursion/gnark-ffi/src/ffi/docker.rs b/crates/recursion/gnark-ffi/src/ffi/docker.rs index e215913979..fe95fc3c7a 100644 --- a/crates/recursion/gnark-ffi/src/ffi/docker.rs +++ b/crates/recursion/gnark-ffi/src/ffi/docker.rs @@ -51,9 +51,9 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { let home = std::env::home_dir().expect("Failed to find the home directory."); let circuits_dir = home.join(".sp1/circuits"); - let r1cs_to_dvsnark_path = circuits_dir.join("r1cs_to_dvsnark"); - let r1cs_cached_path = circuits_dir.join("r1cs_cached"); - let witness_to_dvsnark_path = circuits_dir.join("witness_to_dvsnark"); + let r1cs_to_dvsnark_path = circuits_dir.join("r1cs_to_dvsnark"); // r1cs dump export to dv-pari + let r1cs_cached_path = circuits_dir.join("r1cs_cached"); // r1cs dump gnark format + let witness_to_dvsnark_path = circuits_dir.join("witness_to_dvsnark"); // witness dump export to dv-pari let paths_to_create = [&r1cs_to_dvsnark_path, &r1cs_cached_path, &witness_to_dvsnark_path]; @@ -75,7 +75,7 @@ fn call_docker(args: &[&str], mounts: &[(&str, &str)]) -> Result<()> { "/witness_to_dvsnark" )); - cmd.arg("sp1-gnark:latest"); + cmd.arg("sp1-gnark:latest"); // custom sp1-gnark docker image to dump r1cs and witness required by dv-pari cmd.args(args); tracing::info!("Command {:?}", cmd); let result = cmd.output()?; diff --git a/crates/recursion/gnark-ffi/src/groth16_bn254.rs b/crates/recursion/gnark-ffi/src/groth16_bn254.rs index 501d1d372f..b6990293e0 100644 --- a/crates/recursion/gnark-ffi/src/groth16_bn254.rs +++ b/crates/recursion/gnark-ffi/src/groth16_bn254.rs @@ -86,7 +86,8 @@ impl Groth16Bn254Prover { build_groth16_bn254(build_dir.to_str().unwrap()); // Build the contracts. - // Self::build_contracts(build_dir); + // Self::build_contracts(build_dir); // commented because we can't build solidity contracts + // for sect233k1 dv-pari system } /// Generates a Groth16 proof given a witness. diff --git a/crates/recursion/gnark-ffi/src/sect_wit_gen.rs b/crates/recursion/gnark-ffi/src/sect_wit_gen.rs index 81e4e5c884..12c752e762 100644 --- a/crates/recursion/gnark-ffi/src/sect_wit_gen.rs +++ b/crates/recursion/gnark-ffi/src/sect_wit_gen.rs @@ -8,6 +8,7 @@ use crate::{ffi::prove_witness_sect, GnarkWitness, SectWitness}; pub struct SectWitnessGenerator; impl SectWitnessGenerator { + // referenced from Groth16Bn254Prover::prove pub fn prove(&self, witness: Witness, build_dir: PathBuf) -> SectWitness { // Write witness. let mut witness_file = tempfile::NamedTempFile::new().unwrap(); diff --git a/crates/sdk/src/cpu/mod.rs b/crates/sdk/src/cpu/mod.rs index 0e4c3406d1..a2cc36af04 100644 --- a/crates/sdk/src/cpu/mod.rs +++ b/crates/sdk/src/cpu/mod.rs @@ -84,6 +84,14 @@ impl CpuProver { /// let (pk, vk) = client.setup(elf); /// let builder = client.prove(&pk, &stdin).core().run(); /// ``` + /// # Fields + /// - `init_with_compressed`: if true, stdin should include compressed proof, else raw + /// pulbic inputs as it was previously + /// The purpose of `init_with_compressed` is to make it possible to have the heavy part of the + /// proving, which includes core and compressed proof generation, be done in SP1 cluster, + /// while the cheaper part, which is generating SNARK, be done locally. This is necessary in + /// our use case because our fork only makes change to the `OuterProof` (wrapping SNARK) and + /// not the Inner Proof. pub fn prove<'a>(&'a self, pk: &'a SP1ProvingKey, stdin: &SP1Stdin) -> CpuProveBuilder<'a> { CpuProveBuilder { prover: self, @@ -98,11 +106,8 @@ impl CpuProver { } } - /// input_is_compressed_proof is set to true when the user has passed compressed proof directly - /// as input. this is the case when you offload compress proof generation to sp1 cluster but - /// run the wrapping part locally. You can not offload wrapping part to sp1 cluster because this - /// sp1 fork works over sect233k1 to dvsnark instead of bn254 over groth - #[allow(clippy::print_stdout)] + /// `input_is_compressed_proof` is set to true when the user has passed compressed proof + /// directly as input. pub(crate) fn prove_impl<'a>( &'a self, pk: &SP1ProvingKey, @@ -112,7 +117,8 @@ impl CpuProver { mode: SP1ProofMode, input_is_compressed_proof: bool, ) -> Result { - println!("input_is_compressed_proof {input_is_compressed_proof}"); + tracing::info!("input_is_compressed_proof {input_is_compressed_proof}"); + // If true, read compressed proof from stdin let (reduce_proof, public_values) = if input_is_compressed_proof { let compressed_proof_bytes = &stdin.buffer; assert_eq!(compressed_proof_bytes.len(), 1); @@ -123,6 +129,7 @@ impl CpuProver { // so you can return empty (reduce_proof, SP1PublicValues::default()) } else { + // If false, compute compressed proof let program = self.prover.get_program(&pk.elf).unwrap(); // If we're in mock mode, return a mock proof. @@ -133,7 +140,7 @@ impl CpuProver { // Generate the core proof. let proof: SP1ProofWithMetadata = self.prover.prove_core(&pk.pk, program, stdin, opts, context)?; - println!("public values {:?}", proof.public_values); + tracing::info!("public values {:?}", proof.public_values); if mode == SP1ProofMode::Core { return Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(proof.proof.0), @@ -165,19 +172,6 @@ impl CpuProver { // Generate the wrap proof. let outer_proof = self.prover.wrap_bn254(compress_proof, opts)?; - // let bytes = bincode::serialize(&outer_proof).unwrap(); - - // // Save the proof. - // let mut file = File::create("proof-with-pis-sect-wrap.bin").unwrap(); - // file.write_all(bytes.as_slice()).unwrap(); - - // let mut file = std::fs::File::open("proof-with-pis-sect-wrap.bin").unwrap(); - // let mut bytes = Vec::new(); - // file.read_to_end(&mut bytes).unwrap(); - - // let outer_proof: SP1ReduceProof = bincode::deserialize(&bytes).unwrap(); - // let _ = self.prover.wrap_vk.set(outer_proof.clone().vk); - // Generate the gnark proof. match mode { SP1ProofMode::Groth16 => { @@ -190,7 +184,8 @@ impl CpuProver { let _sect_witness = self.prover.wrap_sect(outer_proof, &groth16_bn254_artifacts); Ok(SP1ProofWithPublicValues::new( SP1Proof::Core(vec![]), - public_values, + public_values, /* return raw public values as it will be needed to verify + * public input again r1cs witness */ self.version().to_string(), )) } diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index 4917c572fc..6f25080268 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -159,7 +159,7 @@ mod tests { } #[test] - #[allow(clippy::print_stdout)] + #[ignore = "test requires custom gnark image"] fn test_generate_sect_proof_step_wise() { utils::setup_logger(); // IRL upto compressed proof is generated by SP1 cluster @@ -167,10 +167,10 @@ mod tests { let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; let (pk, vk) = client.setup(elf); - println!("verification key {:?}", vk.hash_bn254()); + tracing::info!("verification key {:?}", vk.hash_bn254()); let stdin = SP1Stdin::default(); let proof = client.prove(&pk, &stdin).compressed().run().unwrap(); - println!("proof public values {:?}", proof.public_values); + tracing::info!("proof public values {:?}", proof.public_values); // Now use the compressed proof returned by SP1 Cluster // to generate wrapped proof (only sect witness) locally @@ -186,16 +186,16 @@ mod tests { } #[test] - #[allow(clippy::print_stdout)] + #[ignore = "test requires custom gnark image"] fn test_generate_sect_proof_single_step() { utils::setup_logger(); let client = ProverClient::builder().cpu().build(); let elf = test_artifacts::FIBONACCI_BLAKE3_ELF; let (pk, vk) = client.setup(elf); - println!("verification key {:?}", vk.hash_bn254()); + tracing::info!("verification key {:?}", vk.hash_bn254()); let stdin = SP1Stdin::default(); let proof = client.prove(&pk, &stdin).groth16().run().unwrap(); - println!("proof public values {:?}", proof.public_values); + tracing::info!("proof public values {:?}", proof.public_values); } #[test]

SvA41ZBG?-E&OCO2c3 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 z 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