From 5e752ff3a67044ce4df071bdab835f73f63fef2f Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 7 Sep 2024 12:33:04 -0300 Subject: [PATCH 01/15] Trim wasm size by 13% --- Cargo.lock | 89 +++-------------------------------------- app/Cargo.toml | 2 - app/src/bird.rs | 2 +- app/src/supabase/db.rs | 90 +++++++++++++++++++++++------------------- app/src/sync.rs | 6 ++- 5 files changed, 61 insertions(+), 128 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 90a5445..9835f80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -428,9 +428,7 @@ dependencies = [ "getrandom", "gloo-net 0.5.0", "once_cell", - "postgrest", "rand", - "reqwest 0.11.27", "serde", "serde-querystring", "serde_json", @@ -2140,20 +2138,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.30", - "rustls 0.21.12", - "tokio", - "tokio-rustls 0.24.1", -] - [[package]] name = "hyper-rustls" version = "0.27.2" @@ -2164,10 +2148,10 @@ dependencies = [ "http 1.1.0", "hyper 1.4.1", "hyper-util", - "rustls 0.23.12", + "rustls", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls", "tower-service", ] @@ -2995,15 +2979,6 @@ dependencies = [ "serde", ] -[[package]] -name = "postgrest" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a966c650b47a064e7082170b4be74fca08c088d893244fc4b70123e3c1f3ee7" -dependencies = [ - "reqwest 0.11.27", -] - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -3127,7 +3102,6 @@ dependencies = [ "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-rustls 0.24.2", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -3138,7 +3112,6 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", "rustls-pemfile 1.0.4", "serde", "serde_json", @@ -3147,7 +3120,6 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.1", "tokio-util", "tower-service", "url", @@ -3155,7 +3127,6 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", "winreg 0.50.0", ] @@ -3176,7 +3147,7 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "hyper 1.4.1", - "hyper-rustls 0.27.2", + "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -3286,18 +3257,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", -] - [[package]] name = "rustls" version = "0.23.12" @@ -3306,7 +3265,7 @@ checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ "once_cell", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki", "subtle", "zeroize", ] @@ -3336,16 +3295,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "rustls-webpki" version = "0.102.6" @@ -3384,16 +3333,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "security-framework" version = "2.11.1" @@ -4125,23 +4064,13 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls", "rustls-pki-types", "tokio", ] @@ -4179,7 +4108,7 @@ dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.23.12", + "rustls", "tokio", "tokio-native-tls", "tungstenite 0.23.0", @@ -4678,12 +4607,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - [[package]] name = "whoami" version = "1.5.1" diff --git a/app/Cargo.toml b/app/Cargo.toml index 59f8a32..c36b369 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -18,9 +18,7 @@ dioxus-sdk = { workspace = true } dotenvy_macro = "0.15.7" gloo-net = { version = "0.5.0", features = ["json"] } once_cell = "1.19.0" -postgrest = "1.6.0" rand = "0.8.5" -reqwest = { version = "0.11.27", features = ["json"] } serde = { workspace = true } serde-querystring = "0.2.1" serde_json = { workspace = true } diff --git a/app/src/bird.rs b/app/src/bird.rs index d801ea3..79ea538 100644 --- a/app/src/bird.rs +++ b/app/src/bird.rs @@ -73,7 +73,7 @@ impl BirdPack { let day = chrono::offset::Local::now().date_naive(); Self::request() .select("*") - .eq("day", day.format("%Y-%m-%d").to_string()) + .eq("day", day.format("%Y-%m-%d")) .execute() .await? .pop() diff --git a/app/src/supabase/db.rs b/app/src/supabase/db.rs index bfc3748..c41b87f 100644 --- a/app/src/supabase/db.rs +++ b/app/src/supabase/db.rs @@ -1,32 +1,15 @@ -// TODO: after everything's working, see if replacing reqwest & postgrest-rs with just gloo_net affects wasm size. +use std::fmt::Display; -use once_cell::sync::Lazy; -use postgrest::{Builder, Postgrest}; +use gloo_net::http::RequestBuilder; use serde::{de::DeserializeOwned, Serialize}; use thiserror::Error; use crate::conf::{SUPABASE_ANON_KEY, SUPABASE_API_URL}; -static POSTGREST_CLIENT: Lazy = Lazy::new(|| { - Postgrest::new(format!("{SUPABASE_API_URL}/rest/v1")) - .insert_header("apikey", SUPABASE_ANON_KEY) - .insert_header("Authorization", format!("Bearer {SUPABASE_ANON_KEY}")) -}); - -pub fn rpc(function: T, params: U) -> Builder -where - T: AsRef, - U: Serialize, -{ - POSTGREST_CLIENT.rpc(function, serde_json::to_string(¶ms).unwrap()) -} - #[derive(Error, Debug)] pub enum Error { #[error(transparent)] Gloo(#[from] gloo_net::Error), - #[error(transparent)] - Reqwest(#[from] reqwest::Error), #[error("Uh oh! We couldn't find today's pack!")] NoDailyPack, #[allow(clippy::enum_variant_names)] @@ -51,7 +34,6 @@ impl Clone for Error { fn clone(&self) -> Self { match self { Self::Gloo(e) => Self::ErrorMessage(e.to_string()), - Self::Reqwest(e) => Self::ErrorMessage(format!("{:#?}", e)), Self::NoDailyPack => Self::NoDailyPack, Self::ErrorMessage(msg) => Self::ErrorMessage(msg.clone()), } @@ -60,24 +42,53 @@ impl Clone for Error { pub type Result = std::result::Result; -pub struct SupabaseRequest { - builder: Builder, +pub struct SupabaseRequest { + builder: RequestBuilder, + /// Gloonet annoyingly turns a RequestBuilder into a Request when setting the body, so we + /// postpone this until the end (to support adding filters before executing). + body: Option, _response_type: std::marker::PhantomData, } impl SupabaseRequest { - pub fn new(table_name: &str) -> Self { - let builder = POSTGREST_CLIENT.from(table_name); + /// Create a REST request _from_ the specified Supabase table/view. + pub fn from(table_name: &str) -> Self { + let builder = gloo_net::http::RequestBuilder::new(&format!( + "{SUPABASE_API_URL}/rest/v1/{table_name}" + )) + .header("apikey", SUPABASE_ANON_KEY) + .header("Authorization", &format!("Bearer {SUPABASE_ANON_KEY}")); SupabaseRequest { builder, + body: None, _response_type: std::marker::PhantomData, } } + /// Call a Postgres function. + pub fn rpc(function: F, params: &U) -> Result + where + F: Display, + U: Serialize, + { + let builder = gloo_net::http::RequestBuilder::new(&format!( + "{SUPABASE_API_URL}/rest/v1/rpc/{function}" + )) + .header("apikey", SUPABASE_ANON_KEY) + .header("Authorization", &format!("Bearer {SUPABASE_ANON_KEY}")); + let json = serde_json::to_string(params).map_err(gloo_net::Error::from)?; + Ok(SupabaseRequest { + builder, + body: Some(json), + _response_type: std::marker::PhantomData, + }) + } + /// If doing some join or complex query, this can be used to manually cast to the expected type. pub fn cast(self) -> SupabaseRequest { SupabaseRequest { builder: self.builder, + body: self.body, _response_type: std::marker::PhantomData, } } @@ -87,45 +98,44 @@ impl SupabaseRequest { self.cast() } - /// See [`Builder::select`] + /// Select columns pub fn select(mut self, columns: C) -> Self where - C: Into, - { - self.builder = self.builder.select(columns); - self - } - - /// See [`Builder::order`] - pub fn order(mut self, columns: C) -> Self - where - C: Into, + C: AsRef, { - self.builder = self.builder.order(columns); + self.builder = self.builder.query([("select", columns)]); self } pub fn eq(mut self, column: C, filter: D) -> Self where C: AsRef, - D: AsRef, + D: Display, { - self.builder = self.builder.eq(column, filter); + self.builder = self + .builder + .query([(column.as_ref(), &format!("eq.{}", filter))]); self } pub async fn execute(self) -> Result { - let rsp = self.builder.execute().await?.json().await?; + let req = if let Some(body) = self.body { + self.builder.body(body) + } else { + self.builder.build() + }?; + let rsp = req.send().await?.json().await?; Ok(rsp) } } +/// Indicates a type corresponds to a RESTful resource, i.e. a table in Supabase. pub trait SupabaseResource: Sized + DeserializeOwned { fn table_name() -> &'static str; // TODO: When auth is implemented, there will probably be some state to reference the correct // auth token. fn request() -> SupabaseRequest> { - SupabaseRequest::new(Self::table_name()) + SupabaseRequest::from(Self::table_name()) } } diff --git a/app/src/sync.rs b/app/src/sync.rs index ddab808..94e906c 100644 --- a/app/src/sync.rs +++ b/app/src/sync.rs @@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize}; use crate::{ stats::Stats, - supabase::{self, AuthState, Result, SupabaseResource}, + supabase::{AuthState, Result, SupabaseRequest, SupabaseResource}, }; #[derive(Clone)] @@ -119,7 +119,9 @@ impl UserStats { tracing::debug!("Pushing stats for user_id {:?}", self.user_id); self.updated_at = Utc::now(); if !self.user_id.is_empty() { - let _rsp = supabase::rpc("upsert_stats", self).execute().await?; + SupabaseRequest::rpc("upsert_stats", self)? + .execute() + .await?; } Ok(()) } From 07e1e80bc2e95859ff79de4a4fb68b25447ef540 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 7 Sep 2024 14:54:46 -0300 Subject: [PATCH 02/15] Fetch data for Aviary page --- Cargo.lock | 23 ++++++++++++- app/Cargo.toml | 2 +- app/src/bird.rs | 15 ++++++++ app/src/stats.rs | 9 ++++- app/src/supabase/db.rs | 29 ++++++++++++++++ app/src/ui/game/game_over.rs | 2 +- app/src/ui/pages/birds.rs | 66 ++++++++++++++++++++++++++++++++++-- 7 files changed, 139 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9835f80..ea5c08e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -426,7 +426,7 @@ dependencies = [ "dioxus-sdk", "dotenvy_macro", "getrandom", - "gloo-net 0.5.0", + "gloo-net 0.6.0", "once_cell", "rand", "serde", @@ -1792,6 +1792,27 @@ dependencies = [ "web-sys", ] +[[package]] +name = "gloo-net" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils 0.2.0", + "http 1.1.0", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "gloo-render" version = "0.1.1" diff --git a/app/Cargo.toml b/app/Cargo.toml index c36b369..62e7182 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -16,7 +16,7 @@ dioxus = { workspace = true } dioxus-logger = { workspace = true } dioxus-sdk = { workspace = true } dotenvy_macro = "0.15.7" -gloo-net = { version = "0.5.0", features = ["json"] } +gloo-net = { version = "0.6.0", features = ["json"] } once_cell = "1.19.0" rand = "0.8.5" serde = { workspace = true } diff --git a/app/src/bird.rs b/app/src/bird.rs index 79ea538..ea341b9 100644 --- a/app/src/bird.rs +++ b/app/src/bird.rs @@ -33,6 +33,21 @@ impl Bird { pub fn default_sound_url(&self) -> String { supabase::storage_object_url(&self.sounds[0].path) } + + /// Query db for birds by id + // TODO: enforce global limit? I think supabase limits 1000 by default. + pub async fn fetch_by_ids(ids: I) -> Result> + where + I: IntoIterator, + { + Self::request().select("*").in_("id", ids).execute().await + } +} + +impl SupabaseResource for Bird { + fn table_name() -> &'static str { + "birds_detailed" + } } #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/app/src/stats.rs b/app/src/stats.rs index aadd148..d7815ac 100644 --- a/app/src/stats.rs +++ b/app/src/stats.rs @@ -52,7 +52,14 @@ impl Stats { .sum() } - pub fn birds_learned(&self) -> u32 { + pub fn birds_learned(&self) -> Vec { + self.bird_stats + .iter() + .filter_map(|(id, bs)| if bs.learned { Some(*id) } else { None }) + .collect() + } + + pub fn total_birds_learned(&self) -> u32 { self.bird_stats.values().filter(|bs| bs.learned).count() as u32 } diff --git a/app/src/supabase/db.rs b/app/src/supabase/db.rs index c41b87f..f2bfa87 100644 --- a/app/src/supabase/db.rs +++ b/app/src/supabase/db.rs @@ -107,6 +107,7 @@ impl SupabaseRequest { self } + /// Add equality filter pub fn eq(mut self, column: C, filter: D) -> Self where C: AsRef, @@ -118,6 +119,20 @@ impl SupabaseRequest { self } + /// Add IN array filter + pub fn in_(mut self, column: C, values: I) -> Self + where + C: AsRef, + I: IntoIterator, + D: Display, + { + self.builder = self + .builder + .query([(column.as_ref(), &format!("in.({})", join(values, ",")))]); + self + } + + /// Execute request pub async fn execute(self) -> Result { let req = if let Some(body) = self.body { self.builder.body(body) @@ -139,3 +154,17 @@ pub trait SupabaseResource: Sized + DeserializeOwned { SupabaseRequest::from(Self::table_name()) } } + +fn join(values: impl IntoIterator, sep: &str) -> String { + use std::fmt::Write; + + let mut s = String::new(); + let mut iter = values.into_iter(); + if let Some(v) = iter.next() { + write!(s, "{v}").unwrap(); + for v in iter { + write!(s, "{sep}{v}").unwrap(); + } + } + s +} diff --git a/app/src/ui/game/game_over.rs b/app/src/ui/game/game_over.rs index 73f20a7..b1e0695 100644 --- a/app/src/ui/game/game_over.rs +++ b/app/src/ui/game/game_over.rs @@ -37,7 +37,7 @@ pub fn GameOverModal() -> Element { table { class: "table-auto text-lg", tbody { Stat { name: "XP", f: Stats::xp } - Stat { name: "Birds Learned", f: Stats::birds_learned } + Stat { name: "Birds Learned", f: Stats::total_birds_learned } Stat { name: "Daily Pack Streak", f: Stats::daily_pack_streak } } } diff --git a/app/src/ui/pages/birds.rs b/app/src/ui/pages/birds.rs index 4ca3545..12c036e 100644 --- a/app/src/ui/pages/birds.rs +++ b/app/src/ui/pages/birds.rs @@ -1,12 +1,72 @@ use dioxus::prelude::*; +use crate::{bird::Bird, ui::AppCtx}; + #[component] pub fn Birds() -> Element { + let stats = use_context::().stats; + let bird_ids = use_memo(move || stats.read().birds_learned()); + + // TODO: paginate! Use scroll events to load more birds. + // Can probably do something nice where birds being fetched are placeholder cards and then they + // fill in (maybe a hashmap of Options?) + + let birds = + use_resource( + move || async move { Bird::fetch_by_ids(bird_ids.read().iter().copied()).await }, + ); + + match &*birds.read_unchecked() { + None => rsx! { h1 { "Your Aviary" } BirdsPlaceholder {bird_ids} }, + Some(Ok(birds)) => rsx! { h1 {"Your Aviary" } BirdsInner {birds: birds.clone()} }, + Some(Err(e)) => rsx! { + div { + class: "text-red-dark text-center flex flex-col items-center justify-center gap-6 mb-auto", + div { class: "text-3xl", "Uh oh! 😱" } + div { + class: "text-lg", + span { + "Something went wrong fetching your birds! Please open a " + } + a { + class: "underline text-purple-dark", + href: "https://github.com/samtay/birdtalk/issues/new", + target: "_blank", + "GitHub issue" + } + span { " with the following error:" } + } + div { + code { + class: "select-all", + "{e}" + } + } + } + }, + } +} + +#[component] +fn BirdsInner(birds: Vec) -> Element { + rsx! { + div { + class: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", + for bird in birds { + div {"{bird.common_name}"} + } + } + } +} + +#[component] +fn BirdsPlaceholder(bird_ids: ReadOnlySignal>) -> Element { rsx! { div { - class: "flex flex-col items-center justify-center h-full w-full", - h1 { "Your Aviary" } - p { "Coming soon!" } + class: "animate-pulse grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", + for _ in bird_ids.iter() { + div {class: "h-2.5 w-2.5 bg-black/20 rounded-sm"} + } } } } From b006997bf4c293d8f762e5f8a86b9d1d9a683289 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sun, 8 Sep 2024 15:43:21 -0300 Subject: [PATCH 03/15] Style selection text --- app/src/ui/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index 152717f..cbaef55 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -72,7 +72,7 @@ enum Route { fn HeaderFooter() -> Element { rsx! { div { - class: "flex flex-col sm:h-dvh pb-2", + class: "flex flex-col sm:h-dvh pb-2 selection:bg-purple-dark", header { id: "header", class: "text-green-dark shrink h-20 py-2 w-full flex flex-row justify-between items-center", From 606f34c0411f3c119f444c09186f300909d32882 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Thu, 19 Sep 2024 15:35:38 -0400 Subject: [PATCH 04/15] Container styling on home page --- app/src/ui/components/birdpack.rs | 2 +- app/src/ui/mod.rs | 2 +- app/src/ui/pages/index.rs | 43 +++++++++++++++++++------------ 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/app/src/ui/components/birdpack.rs b/app/src/ui/components/birdpack.rs index b219e50..6feeb90 100644 --- a/app/src/ui/components/birdpack.rs +++ b/app/src/ui/components/birdpack.rs @@ -51,7 +51,7 @@ fn PackOfTheDayInner(pack: BirdPack) -> Element { rsx! { div { - class: "grid grid-cols-5 items-center mx-auto overflow-x-clip sm:overflow-x-visible", + class: "grid grid-cols-5 items-center mx-auto", button { class: "col-span-1 w-12 h-12 focus:outline-none focus-visible:ring focus-visible:ring-black font-semibold bg-offwhite text-black border-2 rounded-full shadow sm:hover:shadow-xl sm:hover:scale-110 transition-transform flex justify-center items-center z-40 justify-self-end sm:justify-self-center order-last sm:order-first", onclick: move |_| { diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index cbaef55..9dee4e2 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -72,7 +72,7 @@ enum Route { fn HeaderFooter() -> Element { rsx! { div { - class: "flex flex-col sm:h-dvh pb-2 selection:bg-purple-dark", + class: "flex flex-col sm:h-dvh pb-2 selection:bg-purple-dark overflow-x-clip sm:overflow-x-visible", header { id: "header", class: "text-green-dark shrink h-20 py-2 w-full flex flex-row justify-between items-center", diff --git a/app/src/ui/pages/index.rs b/app/src/ui/pages/index.rs index 40e5692..5c9370c 100644 --- a/app/src/ui/pages/index.rs +++ b/app/src/ui/pages/index.rs @@ -6,31 +6,42 @@ use crate::ui::components::PackOfTheDay; pub fn Index() -> Element { rsx! { div { - class: "m-auto grid grid-cols-5", + class: "m-auto grid grid-cols-10", div { - class: "col-span-5 sm:col-span-3 flex flex-col justify-between p-2 pb-4 sm:p-6 gap-5", + class: "col-span-10 sm:col-span-6 lg:col-span-5 p-2 pb-4 sm:p-6", div { - class: "text-4xl text-center uppercase", - "10 new birds every day" + // screen-lg == 1024px, 5/10 of the lg-screen is 512px + class: "lg:ml-auto lg:max-w-[512px] flex flex-col justify-between gap-5", + div { + class: "text-4xl text-center uppercase", + "10 new birds every day" + } + PackOfTheDay { } } - PackOfTheDay { } } div { - class: "col-span-5 sm:col-span-2 bg-red p-8 h-full flex flex-col justify-center uppercase items-start sm:items-center", + class: "col-span-10 sm:col-span-4 lg:col-span-5 bg-red p-8 h-full flex flex-col items-start sm:items-center justify-center", div { - class: "w-full sm:w-56 text-5xl text-left text-bold leading-normal sm:leading-tight", - "A game that helps you memorize bird calls." + // screen-lg == 1024px, 5/10 of the lg-screen is 512px + class: "lg:mr-auto lg:ml-48 lg:max-w-[512px] uppercase", + div { + class: "w-full sm:w-56 text-5xl text-left text-bold leading-normal sm:leading-tight", + "A game that helps you memorize bird calls." + } } } div { - class: "text-5xl col-span-5 text-left bg-yellow-dark text p-8 sm:p-16", - span { - class: "text-5xl", - "The wild speaks. " - } - span { - class: "text-3xl", - "One of the best ways to spot a bird is to hear it first. Learn to recognize new calls here for your next adventure out in the field." + class: "text-5xl col-span-10 text-left bg-yellow-dark text p-8 sm:p-16", + div { + class: "max-w-screen-lg mx-auto", + span { + class: "text-5xl", + "The wild speaks. " + } + span { + class: "text-3xl", + "One of the best ways to spot a bird is to hear it first. Learn to recognize new calls here for your next adventure out in the field." + } } } } From 2eccbeed4f7ff9c5bd8527ef8787c19837d2eda7 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Thu, 19 Sep 2024 15:39:51 -0400 Subject: [PATCH 05/15] Have header link to homepage --- app/src/ui/mod.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index 9dee4e2..452934c 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -70,16 +70,23 @@ enum Route { #[component] fn HeaderFooter() -> Element { + let route: Route = use_route(); + let is_index = matches!(route, Route::Index {}); rsx! { div { class: "flex flex-col sm:h-dvh pb-2 selection:bg-purple-dark overflow-x-clip sm:overflow-x-visible", header { id: "header", - class: "text-green-dark shrink h-20 py-2 w-full flex flex-row justify-between items-center", + class: "text-green-dark shrink py-2 w-full flex flex-row justify-between items-center", + class: if is_index { + "h-20 text-5xl" + } else { + "h-16 sm:h-20 text-4xl sm:text-5xl" + }, div {} div { - class: "text-5xl font-arcade font-semibold uppercase", - h1 { "birdtalk" } + class: "font-arcade font-semibold uppercase", + h1 { Link { to: Route::Index {}, "birdtalk" } } } div {} } From e3b28fc914974b60a9a9b19f9883b2579b737421 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Thu, 19 Sep 2024 20:37:35 -0400 Subject: [PATCH 06/15] Aviary page content --- app/src/ui/components/bird.rs | 66 ++++++++++++++++++++++++++ app/src/ui/components/birdpack.rs | 60 +++++++++--------------- app/src/ui/components/mod.rs | 2 + app/src/ui/mod.rs | 4 +- app/src/ui/pages/birds.rs | 78 ++++++++++++++++++++++++++++--- 5 files changed, 163 insertions(+), 47 deletions(-) create mode 100644 app/src/ui/components/bird.rs diff --git a/app/src/ui/components/bird.rs b/app/src/ui/components/bird.rs new file mode 100644 index 0000000..bfcb0a3 --- /dev/null +++ b/app/src/ui/components/bird.rs @@ -0,0 +1,66 @@ +use dioxus::prelude::*; + +use crate::bird::Bird; + +#[derive(PartialEq, Props, Clone)] +pub struct BirdCardProps { + extra_classes: Option, + #[props(default = true)] + responsive: bool, + bird: Bird, + children: Element, +} + +pub fn BirdCard(props: BirdCardProps) -> Element { + let BirdCardProps { + extra_classes, + responsive, + bird, + children, + } = props; + let extra_classes = extra_classes.unwrap_or_default(); + rsx! { + div { + class: "flex flex-row justify-between border rounded-xl shadow py-3 sm:py-4 {extra_classes}", + div { + class: "uppercase max-h-full self-end whitespace-nowrap text-ellipsis overflow-hidden", + class: if responsive { + "hidden sm:block" + }, + text_orientation: "upright", + writing_mode: "vertical-lr", + "{bird.scientific_name.split_whitespace().next().unwrap()}" + } + + // center + div { + class: "flex items-center", + class: if responsive { + "flex-row sm:flex-col gap-1 sm:gap-4 px-1 sm:px-0 w-full" + } else { + "flex-col gap-4" + }, + img { + class: "border-2 w-24 h-24 rounded-full object-cover flex-none overflow-hidden", + src: bird.image_url(), + alt: "", + } + div { + class: "text-lg text-center select-all mx-auto", + "{bird.common_name}" + } + {children} + } + + div { + class: "uppercase max-h-full self-start whitespace-nowrap text-ellipsis overflow-hidden", + class: if responsive { + "hidden sm:block" + }, + text_orientation: "upright", + writing_mode: "vertical-lr", + "{bird.scientific_name.split_whitespace().last().unwrap()}" + } + } + } +} diff --git a/app/src/ui/components/birdpack.rs b/app/src/ui/components/birdpack.rs index 6feeb90..09bedaf 100644 --- a/app/src/ui/components/birdpack.rs +++ b/app/src/ui/components/birdpack.rs @@ -1,8 +1,9 @@ use dioxus::prelude::*; +use super::{bird::BirdCard, icons::ArrowUturnRightIcon}; use crate::{ bird::{Bird, BirdPack}, - ui::{components::icons::ArrowUturnRightIcon, Route, PLAY_STATUS}, + ui::{Route, PLAY_STATUS}, }; /// Pack of the day @@ -65,7 +66,7 @@ fn PackOfTheDayInner(pack: BirdPack) -> Element { ul { class: "w-56 h-96 relative", for (ix, bird) in pack.birds.clone().into_iter().enumerate() { - Card { bird, playing, ix, pack_size, position } + CardContainer { bird, playing, ix, pack_size, position } } } button { @@ -88,30 +89,33 @@ fn PackOfTheDayInner(pack: BirdPack) -> Element { /// - `position` is the index of the card from the user's perspective. /// This changes when the user clicks to view the next card. #[component] -fn Card( +fn CardContainer( bird: Bird, playing: Signal, ix: usize, pack_size: usize, position: Signal, ) -> Element { - let bg_color = |ix: usize| match ix % 8 { + let bg_color = |ix: usize| match ix % 10 { 0 => "bg-green", - 1 => "bg-yellow", - 2 => "bg-blue-light", - 3 => "bg-orange", - 4 => "bg-purple", - 5 => "bg-red", + 1 => "bg-blue-light", + 2 => "bg-yellow", + 3 => "bg-purple", + 4 => "bg-orange", + 5 => "bg-brown", 6 => "bg-chartreuse", - 7 => "bg-pink", + 7 => "bg-red", + 8 => "bg-chartreuse-dark", + 9 => "bg-pink", _ => unreachable!(), }; let pos = use_memo(move || (ix + pack_size - position()) % pack_size); let visible = use_memo(move || pos() == 0); + let sound_url = bird.default_sound_url(); rsx! { li { key: ix, - class: "absolute inset-0 border rounded-xl shadow py-3 sm:py-4 text-black {bg_color(ix)} flex flex-row justify-between transition-transform transform-gpu duration-700 origin-bottom select-none", + class: "absolute inset-0 transition-transform transform-gpu duration-700 origin-bottom select-none", // NOTE: this overwrites transform-gpu :/ I could make another closure // to compute hardcoded transform strings, so that its tailwind all the way down. transform: "rotate({degree(pos())}deg) translateX({degree(pos())}px)", @@ -133,37 +137,15 @@ fn Card( "animate-card-slide-out" }, - div { - class: "uppercase max-h-full self-end whitespace-nowrap text-ellipsis overflow-hidden", - text_orientation: "upright", - writing_mode: "vertical-lr", - "{bird.scientific_name.split_whitespace().next().unwrap()}" - } - - // center - div { - class: "flex flex-col gap-4 items-center", - img { - class: "border-2 w-24 h-24 rounded-full object-cover flex-none overflow-hidden", - src: bird.image_url(), - alt: "", - } - div { - class: "text-lg text-center select-all", - "{bird.common_name}" - } + BirdCard { + extra_classes: "h-full w-full {bg_color(ix)}", + responsive: false, + bird, div { class: "mt-auto mb-8", - Audio { url: bird.default_sound_url(), user_playing: playing, visible } + Audio { url: sound_url, user_playing: playing, visible } } } - - div { - class: "uppercase max-h-full self-start whitespace-nowrap text-ellipsis overflow-hidden", - text_orientation: "upright", - writing_mode: "vertical-lr", - "{bird.scientific_name.split_whitespace().last().unwrap()}" - } } } } @@ -177,7 +159,7 @@ fn Card( /// We use effects to change the play status on changes to these signals, rather than the signals /// themselves. This is just to allow a nice transition from one card to the next. #[component] -pub fn Audio(url: String, user_playing: Signal, visible: ReadOnlySignal) -> Element { +fn Audio(url: String, user_playing: Signal, visible: ReadOnlySignal) -> Element { use wasm_bindgen::JsCast; use web_sys::HtmlAudioElement; diff --git a/app/src/ui/components/mod.rs b/app/src/ui/components/mod.rs index 4219de9..b50cb06 100644 --- a/app/src/ui/components/mod.rs +++ b/app/src/ui/components/mod.rs @@ -1,10 +1,12 @@ //! General purpose UI components mod auth; +mod bird; mod birdpack; mod icons; mod modal; pub use auth::*; +pub use bird::*; pub use birdpack::*; pub use modal::*; diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index 452934c..095ea7c 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -74,7 +74,7 @@ fn HeaderFooter() -> Element { let is_index = matches!(route, Route::Index {}); rsx! { div { - class: "flex flex-col sm:h-dvh pb-2 selection:bg-purple-dark overflow-x-clip sm:overflow-x-visible", + class: "flex flex-col sm:h-dvh selection:bg-purple-dark overflow-x-clip sm:overflow-x-visible", header { id: "header", class: "text-green-dark shrink py-2 w-full flex flex-row justify-between items-center", @@ -98,7 +98,7 @@ fn HeaderFooter() -> Element { } footer { id: "footer", - class: "shrink sticky top-[100vh] hidden sm:flex justify-items-center justify-center", + class: "h-6 shrink sticky top-[100vh] hidden sm:flex justify-items-center justify-center", div { "© 2024 birdtalk" } diff --git a/app/src/ui/pages/birds.rs b/app/src/ui/pages/birds.rs index 12c036e..532947d 100644 --- a/app/src/ui/pages/birds.rs +++ b/app/src/ui/pages/birds.rs @@ -1,9 +1,71 @@ +use std::collections::{HashSet, VecDeque}; + use dioxus::prelude::*; -use crate::{bird::Bird, ui::AppCtx}; +use crate::{ + bird::Bird, + ui::{components::BirdCard, AppCtx, Route}, +}; + +static SIMULTANEOUS_CALLS: GlobalSignal = Signal::global(|| 1); +static LOOP_AUDIO: GlobalSignal = Signal::global(|| true); #[component] pub fn Birds() -> Element { + rsx! { + div { + class: "flex flex-col sm:flex-row gap-4 p-4 sm:p-8 sm:pb-0", + div { + class: "text-center sm:text-left text-lg flex flex-col gap-4 sm:max-w-xs", + h2 { + class: "text-3xl", + "Your Aviary" + } + div { + span { + "Here are all the birds you've learned so far! 🐦 Continue to play the " + } + Link { + class: "underline text-purple-dark", + // TODO: after switching to query param, this can be Route::Play + to: Route::Index {}, + "Pack of the Day" + } + span { + " to learn more!" + } + } + div { + class: "fixed bottom-0 left-0 right-0 pt-2 pb-4 border-t bg-offwhite sm:static sm:mt-auto flex flex-col gap-2 items-center", + span { "Select 10 birds to review"} + button { + class: "px-12 py-4 mt-2 border-2 border-green-extra-dark focus:outline-none focus-visible:ring focus-visible:ring-green-dark font-semibold text-base bg-green-dark text-white rounded-xl shadow sm:hover:shadow-xl sm:hover:scale-125 sm:hover:bg-gradient-to-r from-green to-green-dark transition-transform uppercase text-xl z-40", + onclick: move |_| { + tracing::info!("TODO review birds"); + // navigator().push(Route::Play { pack_id: pack.id }); + }, + "review" + } + } + } + BirdCollection {} + } + } +} + +#[component] +fn BirdCollection() -> Element { + rsx! { + div { + class: "flex flex-col gap-4 w-full", + div {class: "sticky top-0", "Some controls here etc."} + div {BirdGrid {}} + } + } +} + +#[component] +fn BirdGrid() -> Element { let stats = use_context::().stats; let bird_ids = use_memo(move || stats.read().birds_learned()); @@ -17,8 +79,8 @@ pub fn Birds() -> Element { ); match &*birds.read_unchecked() { - None => rsx! { h1 { "Your Aviary" } BirdsPlaceholder {bird_ids} }, - Some(Ok(birds)) => rsx! { h1 {"Your Aviary" } BirdsInner {birds: birds.clone()} }, + None => rsx! { BirdsPlaceholder {bird_ids} }, + Some(Ok(birds)) => rsx! { BirdsInner {birds: birds.clone()} }, Some(Err(e)) => rsx! { div { class: "text-red-dark text-center flex flex-col items-center justify-center gap-6 mb-auto", @@ -49,17 +111,21 @@ pub fn Birds() -> Element { #[component] fn BirdsInner(birds: Vec) -> Element { + // NOTE: might be better to use form values with a memo + let mut birds_selected = use_signal(|| HashSet::::new()); + let mut birds_playing = use_signal(|| VecDeque::::new()); rsx! { - div { - class: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", + ul { + class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:max-h-[calc(100vh-160px)] sm:pr-2 mb-[8.25rem] sm:mb-0", for bird in birds { - div {"{bird.common_name}"} + BirdCard { bird, extra_classes: "sm:h-72 sm:max-w-56 bg-yellow" } } } } } #[component] +// TODO: update this to match the finished aviary design fn BirdsPlaceholder(bird_ids: ReadOnlySignal>) -> Element { rsx! { div { From 013eac3b13025d62b1431be946701f24700359d0 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Thu, 19 Sep 2024 22:19:10 -0400 Subject: [PATCH 07/15] Aviary bird card placeholders --- app/src/ui/components/bird.rs | 78 +++++++++++++++++++++++++++++++ app/src/ui/components/birdpack.rs | 6 +-- app/src/ui/pages/birds.rs | 35 +++++++++++--- 3 files changed, 109 insertions(+), 10 deletions(-) diff --git a/app/src/ui/components/bird.rs b/app/src/ui/components/bird.rs index bfcb0a3..b8d12e9 100644 --- a/app/src/ui/components/bird.rs +++ b/app/src/ui/components/bird.rs @@ -22,6 +22,8 @@ pub fn BirdCard(props: BirdCardProps) -> Element { rsx! { div { class: "flex flex-row justify-between border rounded-xl shadow py-3 sm:py-4 {extra_classes}", + + // left div { class: "uppercase max-h-full self-end whitespace-nowrap text-ellipsis overflow-hidden", class: if responsive { @@ -64,3 +66,79 @@ pub fn BirdCard(props: BirdCardProps) -> Element { } } } + +#[derive(PartialEq, Props, Clone)] +pub struct BirdCardPlaceholderProps { + extra_classes: Option, + extra_scientific_first_class: Option, + extra_scientific_second_class: Option, + #[props(default = true)] + responsive: bool, + children: Element, +} + +#[component] +pub fn BirdCardPlaceholder(props: BirdCardPlaceholderProps) -> Element { + let BirdCardPlaceholderProps { + extra_classes, + responsive, + children, + extra_scientific_first_class, + extra_scientific_second_class, + } = props; + let extra_classes = extra_classes.unwrap_or_default(); + let extra_scientific_first_class = extra_scientific_first_class.unwrap_or_default(); + let extra_scientific_second_class = extra_scientific_second_class.unwrap_or_default(); + rsx! { + div { + class: "bg-offwhite-2 border border-black/10 rounded-xl py-3 sm:py-4 flex flex-row justify-between {extra_classes}", + + // left + div { + class: "ml-2 w-2 h-32 self-end bg-black/10 rounded-full {extra_scientific_first_class}", + class: if responsive { + "hidden sm:block" + }, + } + + // center + div { + class: "flex items-center", + class: if responsive { + "flex-row sm:flex-col gap-1 sm:gap-4 px-1 sm:px-0 w-full" + } else { + "flex-col gap-4" + }, + div { class: "w-24 h-24 rounded-full flex-none bg-black/10" } + div { + class: "flex flex-col justify-center items-center gap-4 mx-auto", + div { + class: "h-2.5 bg-black/20 rounded-full", + class: if responsive { + "w-40 sm:w-24" + } else { + "w-24" + } + } + div { + class: "h-2.5 bg-black/20 rounded-full", + class: if responsive { + "w-36 sm:w-28" + } else { + "w-28" + } + } + } + {children} + } + + // right + div { + class: "mr-2 w-2 {extra_scientific_second_class} self-start bg-black/10 rounded-full", + class: if responsive { + "hidden sm:block" + } + } + } + } +} diff --git a/app/src/ui/components/birdpack.rs b/app/src/ui/components/birdpack.rs index 09bedaf..470e036 100644 --- a/app/src/ui/components/birdpack.rs +++ b/app/src/ui/components/birdpack.rs @@ -283,7 +283,7 @@ fn PackOfTheDayPlaceholder() -> Element { let pack_size = 10; rsx! { div { - class: "animate-pulse grid grid-cols-5 items-center mx-auto overflow-x-clip sm:overflow-x-visible", + class: "animate-pulse grid grid-cols-5 items-center mx-auto", div { class: "col-span-1 w-12 h-12 bg-offwhite-2 border border-black/10 rounded-full z-40 justify-self-end sm:justify-self-center order-last sm:order-first" } @@ -306,7 +306,7 @@ fn PackOfTheDayPlaceholder() -> Element { #[component] fn CardPlaceholder(ix: usize, pack_size: usize) -> Element { - let scientific_second_width_class = match ix { + let scientific_second_height_class = match ix { 0 => "h-40", 1 => "h-32", 2 => "h-48", @@ -338,7 +338,7 @@ fn CardPlaceholder(ix: usize, pack_size: usize) -> Element { } // right - div { class: "mr-2 w-2 {scientific_second_width_class} self-start bg-black/10 rounded-full" } + div { class: "mr-2 w-2 {scientific_second_height_class} self-start bg-black/10 rounded-full" } } } } diff --git a/app/src/ui/pages/birds.rs b/app/src/ui/pages/birds.rs index 532947d..317ef82 100644 --- a/app/src/ui/pages/birds.rs +++ b/app/src/ui/pages/birds.rs @@ -4,7 +4,10 @@ use dioxus::prelude::*; use crate::{ bird::Bird, - ui::{components::BirdCard, AppCtx, Route}, + ui::{ + components::{BirdCard, BirdCardPlaceholder}, + AppCtx, Route, + }, }; static SIMULTANEOUS_CALLS: GlobalSignal = Signal::global(|| 1); @@ -36,7 +39,7 @@ pub fn Birds() -> Element { } } div { - class: "fixed bottom-0 left-0 right-0 pt-2 pb-4 border-t bg-offwhite sm:static sm:mt-auto flex flex-col gap-2 items-center", + class: "fixed bottom-0 left-0 right-0 z-10 pt-2 pb-4 border-t bg-offwhite sm:static sm:mt-auto flex flex-col gap-2 items-center", span { "Select 10 birds to review"} button { class: "px-12 py-4 mt-2 border-2 border-green-extra-dark focus:outline-none focus-visible:ring focus-visible:ring-green-dark font-semibold text-base bg-green-dark text-white rounded-xl shadow sm:hover:shadow-xl sm:hover:scale-125 sm:hover:bg-gradient-to-r from-green to-green-dark transition-transform uppercase text-xl z-40", @@ -116,9 +119,12 @@ fn BirdsInner(birds: Vec) -> Element { let mut birds_playing = use_signal(|| VecDeque::::new()); rsx! { ul { - class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:max-h-[calc(100vh-160px)] sm:pr-2 mb-[8.25rem] sm:mb-0", + class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:h-[calc(100vh-176px)] sm:pr-2 mb-[8.25rem] sm:mb-0", for bird in birds { - BirdCard { bird, extra_classes: "sm:h-72 sm:max-w-56 bg-yellow" } + li { + key: bird.id, + BirdCard { bird, extra_classes: "sm:h-72 sm:max-w-56 bg-yellow" } + } } } } @@ -127,11 +133,26 @@ fn BirdsInner(birds: Vec) -> Element { #[component] // TODO: update this to match the finished aviary design fn BirdsPlaceholder(bird_ids: ReadOnlySignal>) -> Element { + let height_first = |ix| match ix % 3 { + 0 => "h-40", + 1 => "h-32", + _ => "h-48", + }; + let height_second = |ix| match ix % 4 { + 0 => "h-48", + 1 => "h-36", + 2 => "h-44", + _ => "h-40", + }; rsx! { div { - class: "animate-pulse grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4", - for _ in bird_ids.iter() { - div {class: "h-2.5 w-2.5 bg-black/20 rounded-sm"} + class: "animate-pulse grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:h-[calc(100vh-176px)] sm:pr-2 mb-[8.25rem] sm:mb-0", + for (ix, _id) in bird_ids.iter().enumerate() { + BirdCardPlaceholder { + extra_classes: "sm:h-72 sm:max-w-56", + extra_scientific_first_class: height_first(ix), + extra_scientific_second_class: height_second(ix), + } } } } From fecb0c6bf52120132f06c3cc176b48fe2d033475 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Fri, 20 Sep 2024 14:45:34 -0400 Subject: [PATCH 08/15] Support playing ad-hoc lists of birds --- app/src/bird.rs | 7 +- app/src/main.rs | 2 + app/src/pack.rs | 128 ++++++++++++++++++++++++++++++ app/src/stats.rs | 12 +-- app/src/supabase/db.rs | 26 ++---- app/src/ui/components/birdpack.rs | 9 ++- app/src/ui/game/game_over.rs | 5 +- app/src/ui/game/mod.rs | 22 +++-- app/src/ui/mod.rs | 10 +-- app/src/ui/pages/play.rs | 16 ++-- app/src/utils.rs | 15 ++++ 11 files changed, 196 insertions(+), 56 deletions(-) create mode 100644 app/src/pack.rs create mode 100644 app/src/utils.rs diff --git a/app/src/bird.rs b/app/src/bird.rs index ea341b9..9cf1448 100644 --- a/app/src/bird.rs +++ b/app/src/bird.rs @@ -83,9 +83,14 @@ impl BirdPack { .ok_or_else(|| Error::from(format!("No pack found with id {id} 🙈"))) } - /// Query db for pack of the day (respects local time) + /// Query db for pack of today (respects local time) pub async fn fetch_today() -> Result { let day = chrono::offset::Local::now().date_naive(); + Self::fetch_by_day(day).await + } + + /// Query db for pack of a given day (respects local time) + pub async fn fetch_by_day(day: NaiveDate) -> Result { Self::request() .select("*") .eq("day", day.format("%Y-%m-%d")) diff --git a/app/src/main.rs b/app/src/main.rs index 70fb7d1..65f0995 100644 --- a/app/src/main.rs +++ b/app/src/main.rs @@ -6,10 +6,12 @@ use tracing::Level; mod bird; mod conf; +mod pack; mod stats; mod supabase; mod sync; mod ui; +mod utils; fn main() { // Init storage diff --git a/app/src/pack.rs b/app/src/pack.rs new file mode 100644 index 0000000..26e974b --- /dev/null +++ b/app/src/pack.rs @@ -0,0 +1,128 @@ +use std::fmt::{self, Display}; + +use chrono::NaiveDate; + +use crate::{ + bird::{Bird, BirdPack}, + supabase::Result, + utils, +}; + +/// This type is used during a play session, which could be an ad-hoc list of birds selected to +/// review rather than a db-defined [`BirdPack`]. +/// +/// Note we maintain an internal invariant that the pack identifier matches the birds here, +/// so equality just compares equality of identifiers. +#[derive(Debug, Clone)] +pub struct Pack { + /// An identifier for the set of birds to play. This could be an actual BirdPack id, a pack of + /// the day date, or an ad-hoc list of bird ids. + pub id: PackIdentifier, + /// The actual birds to play. This should always match the sibling identifier. + pub birds: Vec, + /// If this is not an ad-hoc list of birds, this is the id of the birdpack in the database. We + /// store this so we can record stats per birdpack after completion. + pub birdpack_id: Option, +} + +impl PartialEq for Pack { + fn eq(&self, other: &Self) -> bool { + match (self.birdpack_id, other.birdpack_id) { + // Allow equality even if our pack identifier is different (e.g. Id vs Date) + (Some(id1), Some(id2)) => id1 == id2, + _ => self.id == other.id, + } + } +} + +#[derive(Debug, Clone, PartialEq)] +pub enum PackIdentifier { + Id(u64), + Date(NaiveDate), + Birds(Vec), +} + +impl Default for PackIdentifier { + fn default() -> Self { + PackIdentifier::Date(chrono::offset::Local::now().date_naive()) + } +} + +impl From for Pack { + fn from(pack: BirdPack) -> Self { + let id = match pack.day { + Some(day) => PackIdentifier::Date(day), + None => PackIdentifier::Id(pack.id), + }; + Self { + id, + birds: pack.birds, + birdpack_id: Some(pack.id), + } + } +} + +impl Pack { + pub async fn fetch_by_id(id: &PackIdentifier) -> Result { + match id { + PackIdentifier::Id(pid) => BirdPack::fetch_by_id(*pid).await.map(|p| Pack { + id: id.clone(), + ..p.into() + }), + PackIdentifier::Date(day) => BirdPack::fetch_by_day(*day).await.map(|p| Pack { + id: id.clone(), + ..p.into() + }), + PackIdentifier::Birds(bids) => { + Bird::fetch_by_ids(bids.iter().copied()) + .await + .map(|birds| Pack { + id: id.clone(), + birds, + birdpack_id: None, + }) + } + } + } +} + +const LIST_DELIM: char = '.'; + +impl From<&str> for PackIdentifier { + fn from(query: &str) -> Self { + let id = query.parse().ok().map(PackIdentifier::Id); + let date = NaiveDate::parse_from_str(query, "%Y-%m-%d") + .ok() + .map(PackIdentifier::Date); + let birds = query + .split(LIST_DELIM) + .map(|s| s.parse().ok()) + .collect::>>() + .filter(|ids| { + let mut ids = ids.clone(); + ids.sort(); + ids.dedup(); + ids.len() >= 10 + }) + .map(PackIdentifier::Birds); + id.or(date).or(birds).unwrap_or_else(|| { + if !query.is_empty() { + tracing::error!("Failed to parse pack identifier from query: {query}"); + tracing::info!("Defaulting to pack of the day"); + } + Self::default() + }) + } +} + +impl Display for PackIdentifier { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self { + PackIdentifier::Id(id) => write!(f, "{id}"), + PackIdentifier::Date(date) => write!(f, "{date}"), + PackIdentifier::Birds(birds) => { + write!(f, "{}", utils::join(birds, LIST_DELIM)) + } + } + } +} diff --git a/app/src/stats.rs b/app/src/stats.rs index d7815ac..42c1f12 100644 --- a/app/src/stats.rs +++ b/app/src/stats.rs @@ -5,7 +5,7 @@ use std::collections::HashMap; use chrono::NaiveDate; use serde::{Deserialize, Serialize}; -use crate::bird::BirdPack; +use crate::pack::{Pack, PackIdentifier}; /// The number of times a bird must be correctly identified consecutively to be considered learned. pub const LEARN_THRESHOLD: u32 = 3; @@ -83,12 +83,14 @@ impl Stats { bird_stat.mistaken += 1; } - pub fn add_pack_completed(&mut self, pack: &BirdPack) { - let pack_stat = self.pack_stats.entry(pack.id).or_default(); - pack_stat.times_completed += 1; + pub fn add_pack_completed(&mut self, pack: &Pack) { + if let Some(pack_id) = pack.birdpack_id { + let pack_stat = self.pack_stats.entry(pack_id).or_default(); + pack_stat.times_completed += 1; + } // If this is a daily pack - if let Some(day) = pack.day { + if let PackIdentifier::Date(day) = pack.id { // that is actually today's pack (or yesterday's, allowing for fetched/finished // before/after midnight) let today = chrono::offset::Local::now().date_naive(); diff --git a/app/src/supabase/db.rs b/app/src/supabase/db.rs index f2bfa87..736069a 100644 --- a/app/src/supabase/db.rs +++ b/app/src/supabase/db.rs @@ -4,7 +4,10 @@ use gloo_net::http::RequestBuilder; use serde::{de::DeserializeOwned, Serialize}; use thiserror::Error; -use crate::conf::{SUPABASE_ANON_KEY, SUPABASE_API_URL}; +use crate::{ + conf::{SUPABASE_ANON_KEY, SUPABASE_API_URL}, + utils, +}; #[derive(Error, Debug)] pub enum Error { @@ -126,9 +129,10 @@ impl SupabaseRequest { I: IntoIterator, D: Display, { - self.builder = self - .builder - .query([(column.as_ref(), &format!("in.({})", join(values, ",")))]); + self.builder = self.builder.query([( + column.as_ref(), + &format!("in.({})", utils::join(values, ",")), + )]); self } @@ -154,17 +158,3 @@ pub trait SupabaseResource: Sized + DeserializeOwned { SupabaseRequest::from(Self::table_name()) } } - -fn join(values: impl IntoIterator, sep: &str) -> String { - use std::fmt::Write; - - let mut s = String::new(); - let mut iter = values.into_iter(); - if let Some(v) = iter.next() { - write!(s, "{v}").unwrap(); - for v in iter { - write!(s, "{sep}{v}").unwrap(); - } - } - s -} diff --git a/app/src/ui/components/birdpack.rs b/app/src/ui/components/birdpack.rs index 470e036..2e5faae 100644 --- a/app/src/ui/components/birdpack.rs +++ b/app/src/ui/components/birdpack.rs @@ -3,7 +3,8 @@ use dioxus::prelude::*; use super::{bird::BirdCard, icons::ArrowUturnRightIcon}; use crate::{ bird::{Bird, BirdPack}, - ui::{Route, PLAY_STATUS}, + pack::Pack, + ui::{pages::PLAY_STATUS, Route}, }; /// Pack of the day @@ -72,8 +73,10 @@ fn PackOfTheDayInner(pack: BirdPack) -> Element { button { class: "px-12 py-4 mt-2 border-2 border-green-extra-dark focus:outline-none focus-visible:ring focus-visible:ring-green-dark font-semibold text-base bg-green-dark text-white rounded-xl shadow sm:hover:shadow-xl sm:hover:scale-125 sm:hover:bg-gradient-to-r from-green to-green-dark transition-transform uppercase text-xl z-40", onclick: move |_| { - *PLAY_STATUS.write() = Some(pack.clone()); - navigator().push(Route::Play { pack_id: pack.id }); + let pack = Pack::from(pack.clone()); + let pack_id = pack.id.clone(); + *PLAY_STATUS.write() = Some(pack); + navigator().push(Route::Play {pack_id}); }, "play" } diff --git a/app/src/ui/game/game_over.rs b/app/src/ui/game/game_over.rs index b1e0695..c31587f 100644 --- a/app/src/ui/game/game_over.rs +++ b/app/src/ui/game/game_over.rs @@ -5,7 +5,8 @@ use crate::{ ui::{ components::{Login, Modal}, game::GameCtx, - AppCtx, Route, PLAY_STATUS, + pages::PLAY_STATUS, + AppCtx, Route, }, }; @@ -19,7 +20,7 @@ pub fn GameOverModal() -> Element { // async_std::task::sleep(std::time::Duration::from_millis(500)).await; tracing::debug!("Game over! Resetting game status..."); *PLAY_STATUS.write() = None; - navigator().push(Route::Index {}); + navigator().push(Route::Birds {}); }); }); diff --git a/app/src/ui/game/mod.rs b/app/src/ui/game/mod.rs index 4b07fe8..c28da28 100644 --- a/app/src/ui/game/mod.rs +++ b/app/src/ui/game/mod.rs @@ -8,11 +8,7 @@ pub mod quiz; use dioxus::prelude::*; use rand::prelude::SliceRandom; -use crate::{ - bird::{Bird, BirdPack}, - stats::Stats, - ui::AppCtx, -}; +use crate::{bird::Bird, pack::Pack, stats::Stats, ui::AppCtx}; use audio::AudioPlayer; use card::{MultipleChoiceCard, MultipleChoiceCardPlaceholder}; use game_over::GameOverModal; @@ -22,8 +18,8 @@ use quiz::{Game, MULTIPLE_CHOICE_SIZE}; struct GameCtx { /// Game state game: Signal, - /// Birdpack - birdpack: CopyValue, + /// Pack + pack: CopyValue, /// Storage backed stats state stats: Signal, /// Value of `stats` at the game start (so we can diff at the end). @@ -40,10 +36,10 @@ struct GameCtx { impl GameCtx { /// Initialize a new game context (and provide it to children). - fn init(birdpack: BirdPack) -> Self { + fn init(pack: Pack) -> Self { let app_ctx = use_context::(); - let game = use_signal(|| Game::init(birdpack.birds.clone(), true)); - let birdpack = CopyValue::new(birdpack); + let game = use_signal(|| Game::init(pack.birds.clone(), true)); + let pack = CopyValue::new(pack); let stats = *app_ctx.stats; let stats_original = stats.with_peek(|og| CopyValue::new(og.clone())); let correct_chosen = use_signal(|| false); @@ -52,7 +48,7 @@ impl GameCtx { game, stats, correct_chosen, - birdpack, + pack, game_completed, stats_original, }) @@ -103,7 +99,7 @@ impl GameCtx { async fn next(&mut self) { if self.game.read().is_complete() { - self.stats.write().add_pack_completed(&self.birdpack.read()); + self.stats.write().add_pack_completed(&self.pack.read()); self.game_completed.set(true); // TODO: sync stats on game completed } else { @@ -125,7 +121,7 @@ impl GameCtx { } #[component] -pub fn GameView(pack: BirdPack) -> Element { +pub fn GameView(pack: Pack) -> Element { let game_ctx = GameCtx::init(pack); let shuffle = game_ctx.shuffle_memo(); let correct_bird = game_ctx.correct_bird_memo(); diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index 095ea7c..b5d7afd 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -8,15 +8,13 @@ mod pages; use dioxus::prelude::*; use crate::{ - bird::BirdPack, + pack::PackIdentifier, stats::Stats, supabase::AuthState, sync::Sync, ui::pages::{Birds, Index, Play}, }; -pub static PLAY_STATUS: GlobalSignal> = Signal::global(|| None); - #[derive(Clone, Copy)] pub struct AppCtx { pub auth_state: AuthState, @@ -47,7 +45,7 @@ pub fn App() -> Element { } } -#[derive(Clone, Routable, Debug, PartialEq, serde::Serialize, serde::Deserialize)] +#[derive(Clone, Routable, Debug, PartialEq)] #[rustfmt::skip] enum Route { #[layout(HeaderFooter)] @@ -59,9 +57,9 @@ enum Route { #[route("/")] Index {}, - #[route("/play/:pack_id")] + #[route("/play/?:..pack_id")] Play { - pack_id: u64 + pack_id: PackIdentifier, }, #[route("/birds")] diff --git a/app/src/ui/pages/play.rs b/app/src/ui/pages/play.rs index 8a12430..7ccd314 100644 --- a/app/src/ui/pages/play.rs +++ b/app/src/ui/pages/play.rs @@ -1,16 +1,16 @@ use dioxus::prelude::*; use crate::{ - bird::BirdPack, - ui::{ - game::{GameView, GameViewPlaceholder}, - PLAY_STATUS, - }, + pack::{Pack, PackIdentifier}, + ui::game::{GameView, GameViewPlaceholder}, }; +pub static PLAY_STATUS: GlobalSignal> = Signal::global(|| None); + #[component] -pub fn Play(pack_id: u64) -> Element { +pub fn Play(pack_id: PackIdentifier) -> Element { // Do I need reactivity on pack_id? https://docs.rs/dioxus-hooks/0.6.0-alpha.2/dioxus_hooks/fn.use_effect.html#with-non-reactive-dependencies + let pack_id = CopyValue::new(pack_id); // Typically PLAY_STATUS is already loaded with the proper birdpack (if a user has navigated to // this route from within the app). @@ -18,7 +18,7 @@ pub fn Play(pack_id: u64) -> Element { PLAY_STATUS .read() .as_ref() - .filter(|p| p.id == pack_id) + .filter(|p| p.id == *pack_id.read()) .cloned() }); let mut error = use_signal(|| None); @@ -27,7 +27,7 @@ pub fn Play(pack_id: u64) -> Element { use_effect(move || { if pack_to_play.read().is_none() { spawn(async move { - let result = BirdPack::fetch_by_id(pack_id).await; + let result = Pack::fetch_by_id(&pack_id.read()).await; match result { Ok(pack) => *PLAY_STATUS.write() = Some(pack), Err(e) => error.set(Some(e)), diff --git a/app/src/utils.rs b/app/src/utils.rs new file mode 100644 index 0000000..50d012c --- /dev/null +++ b/app/src/utils.rs @@ -0,0 +1,15 @@ +use std::fmt::Display; + +pub fn join(values: impl IntoIterator, sep: impl Display) -> String { + use std::fmt::Write; + + let mut s = String::new(); + let mut iter = values.into_iter(); + if let Some(v) = iter.next() { + write!(s, "{v}").unwrap(); + for v in iter { + write!(s, "{sep}{v}").unwrap(); + } + } + s +} From 92242cb4ff7b8f5114d465dda284284ae1a74551 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 21:41:18 -0400 Subject: [PATCH 09/15] Allow selected learned birds for review! --- app/src/bird.rs | 10 ++- app/src/pack.rs | 11 +++ app/src/sync.rs | 2 +- app/src/ui/components/bird.rs | 18 +++-- app/src/ui/components/birdpack.rs | 2 +- app/src/ui/components/icons.rs | 40 ++++++++++ app/src/ui/components/mod.rs | 2 +- app/src/ui/mod.rs | 7 +- app/src/ui/pages/birds.rs | 118 +++++++++++++++++++++++++----- app/tailwind.config.js | 8 +- 10 files changed, 189 insertions(+), 29 deletions(-) diff --git a/app/src/bird.rs b/app/src/bird.rs index 9cf1448..3db65a2 100644 --- a/app/src/bird.rs +++ b/app/src/bird.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use crate::supabase::{self, Error, Result, SupabaseResource}; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, Eq)] pub struct Bird { pub id: u64, pub common_name: String, @@ -12,7 +12,7 @@ pub struct Bird { pub sounds: Vec, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)] pub struct Sound { pub path: String, pub default_: bool, @@ -24,6 +24,12 @@ impl PartialEq for Bird { } } +impl std::hash::Hash for Bird { + fn hash(&self, state: &mut H) { + self.id.hash(state); + } +} + impl Bird { /// Get image URL hosted by Supabase storage, e.g. http://127.0.0.1:54321/storage/v1/object/public/bird_images/cardinalis-cardinalis/unlicensed-optimized.jpg pub fn image_url(&self) -> String { diff --git a/app/src/pack.rs b/app/src/pack.rs index 26e974b..d9e084d 100644 --- a/app/src/pack.rs +++ b/app/src/pack.rs @@ -62,6 +62,17 @@ impl From for Pack { } } +impl From> for Pack { + fn from(birds: Vec) -> Self { + let bird_ids = birds.iter().map(|b| b.id).collect(); + Self { + id: PackIdentifier::Birds(bird_ids), + birds, + birdpack_id: None, + } + } +} + impl Pack { pub async fn fetch_by_id(id: &PackIdentifier) -> Result { match id { diff --git a/app/src/sync.rs b/app/src/sync.rs index 94e906c..fa40a5f 100644 --- a/app/src/sync.rs +++ b/app/src/sync.rs @@ -119,7 +119,7 @@ impl UserStats { tracing::debug!("Pushing stats for user_id {:?}", self.user_id); self.updated_at = Utc::now(); if !self.user_id.is_empty() { - SupabaseRequest::rpc("upsert_stats", self)? + SupabaseRequest::<()>::rpc("upsert_stats", self)? .execute() .await?; } diff --git a/app/src/ui/components/bird.rs b/app/src/ui/components/bird.rs index b8d12e9..90643d6 100644 --- a/app/src/ui/components/bird.rs +++ b/app/src/ui/components/bird.rs @@ -6,6 +6,8 @@ use crate::bird::Bird; pub struct BirdCardProps { extra_classes: Option, #[props(default = true)] + text_selection: bool, + #[props(default = true)] responsive: bool, bird: Bird, children: Element, @@ -17,15 +19,21 @@ pub fn BirdCard(props: BirdCardProps) -> Element { responsive, bird, children, + text_selection, } = props; let extra_classes = extra_classes.unwrap_or_default(); + let select_class = if text_selection { + "select-all" + } else { + "select-none" + }; rsx! { div { class: "flex flex-row justify-between border rounded-xl shadow py-3 sm:py-4 {extra_classes}", // left div { - class: "uppercase max-h-full self-end whitespace-nowrap text-ellipsis overflow-hidden", + class: "uppercase max-h-full self-end whitespace-nowrap text-ellipsis overflow-hidden {select_class}", class: if responsive { "hidden sm:block" }, @@ -38,7 +46,7 @@ pub fn BirdCard(props: BirdCardProps) -> Element { div { class: "flex items-center", class: if responsive { - "flex-row sm:flex-col gap-1 sm:gap-4 px-1 sm:px-0 w-full" + "flex-row sm:flex-col gap-1 sm:gap-4 px-2 sm:px-0 w-full" } else { "flex-col gap-4" }, @@ -48,14 +56,14 @@ pub fn BirdCard(props: BirdCardProps) -> Element { alt: "", } div { - class: "text-lg text-center select-all mx-auto", + class: "text-lg text-center mx-auto {select_class}", "{bird.common_name}" } {children} } div { - class: "uppercase max-h-full self-start whitespace-nowrap text-ellipsis overflow-hidden", + class: "uppercase max-h-full self-start whitespace-nowrap text-ellipsis overflow-hidden {select_class}", class: if responsive { "hidden sm:block" }, @@ -105,7 +113,7 @@ pub fn BirdCardPlaceholder(props: BirdCardPlaceholderProps) -> Element { div { class: "flex items-center", class: if responsive { - "flex-row sm:flex-col gap-1 sm:gap-4 px-1 sm:px-0 w-full" + "flex-row sm:flex-col gap-1 sm:gap-4 px-2 sm:px-0 w-full" } else { "flex-col gap-4" }, diff --git a/app/src/ui/components/birdpack.rs b/app/src/ui/components/birdpack.rs index 2e5faae..0beb596 100644 --- a/app/src/ui/components/birdpack.rs +++ b/app/src/ui/components/birdpack.rs @@ -75,7 +75,7 @@ fn PackOfTheDayInner(pack: BirdPack) -> Element { onclick: move |_| { let pack = Pack::from(pack.clone()); let pack_id = pack.id.clone(); - *PLAY_STATUS.write() = Some(pack); + *PLAY_STATUS.write() = Some(pack); navigator().push(Route::Play {pack_id}); }, "play" diff --git a/app/src/ui/components/icons.rs b/app/src/ui/components/icons.rs index e58c341..c838a3a 100644 --- a/app/src/ui/components/icons.rs +++ b/app/src/ui/components/icons.rs @@ -136,3 +136,43 @@ pub fn ArrowUturnRightIcon() -> Element { } } } + +#[component] +pub fn CheckedCircle(extra_classes: Option) -> Element { + let extra_classes = extra_classes.unwrap_or_default(); + rsx! { + svg { + class: "w-6 h-6 {extra_classes}", + view_box: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + stroke_width: "1.5", + stroke: "currentColor", + path { + d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z", + stroke_linecap: "round", + stroke_linejoin: "round" + } + } + } +} + +#[component] +pub fn UncheckedCircle(extra_classes: Option) -> Element { + let extra_classes = extra_classes.unwrap_or_default(); + rsx! { + svg { + class: "w-6 h-6 {extra_classes}", + view_box: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + stroke_width: "1", + stroke: "currentColor", + path { + d: "M9 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z", + stroke_linecap: "round", + stroke_linejoin: "round" + } + } + } +} diff --git a/app/src/ui/components/mod.rs b/app/src/ui/components/mod.rs index b50cb06..ab61967 100644 --- a/app/src/ui/components/mod.rs +++ b/app/src/ui/components/mod.rs @@ -3,7 +3,7 @@ mod auth; mod bird; mod birdpack; -mod icons; +pub mod icons; mod modal; pub use auth::*; diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index b5d7afd..fe325ba 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -84,7 +84,12 @@ fn HeaderFooter() -> Element { div {} div { class: "font-arcade font-semibold uppercase", - h1 { Link { to: Route::Index {}, "birdtalk" } } + h1 { + Link { + class: "outline-none focus-visible:ring", + to: Route::Index {}, "birdtalk" + } + } } div {} } diff --git a/app/src/ui/pages/birds.rs b/app/src/ui/pages/birds.rs index 317ef82..c890090 100644 --- a/app/src/ui/pages/birds.rs +++ b/app/src/ui/pages/birds.rs @@ -4,17 +4,60 @@ use dioxus::prelude::*; use crate::{ bird::Bird, + pack::{Pack, PackIdentifier}, ui::{ - components::{BirdCard, BirdCardPlaceholder}, + components::{ + icons::{CheckedCircle, UncheckedCircle}, + BirdCard, BirdCardPlaceholder, + }, + pages::PLAY_STATUS, AppCtx, Route, }, }; +// TODO: save these settings in local storage static SIMULTANEOUS_CALLS: GlobalSignal = Signal::global(|| 1); static LOOP_AUDIO: GlobalSignal = Signal::global(|| true); +#[derive(Clone, Copy)] +struct AviaryCtx { + /// Selected birds for review + selected: Signal>, + /// Birds whose audio is currently playing + playing: Signal>, + /// Read only list of learned birds + /// This should pretty much always remain static, but might change if someone learns new birds + /// in a different tab/window. + bird_ids: Memo>, +} + +impl AviaryCtx { + /// Initialize a new game context (and provide it to children). + fn init() -> Self { + let stats = use_context::().stats; + let bird_ids = use_memo(move || stats.read().birds_learned()); + let selected = use_signal(HashSet::new); + let playing = use_signal(VecDeque::new); + use_context_provider(|| Self { + selected, + playing, + bird_ids, + }) + } +} + #[component] pub fn Birds() -> Element { + let ctx = AviaryCtx::init(); + let selected = ctx.selected; + let num_selected = use_memo(move || selected.read().len()); + const MINIMUM_BIRDS: usize = 10; + let select_to_review_text = use_memo(move || match num_selected() { + 0 => format!("Select {MINIMUM_BIRDS} birds to review"), + x if x > 0 && x < MINIMUM_BIRDS - 1 => format!("Select {} more birds", MINIMUM_BIRDS - x), + x if x == MINIMUM_BIRDS - 1 => format!("Select {} more bird", MINIMUM_BIRDS - x), + _ => "".to_string(), + }); rsx! { div { class: "flex flex-col sm:flex-row gap-4 p-4 sm:p-8 sm:pb-0", @@ -29,9 +72,8 @@ pub fn Birds() -> Element { "Here are all the birds you've learned so far! 🐦 Continue to play the " } Link { - class: "underline text-purple-dark", - // TODO: after switching to query param, this can be Route::Play - to: Route::Index {}, + class: "font-semibold underline text-purple-dark outline-none focus-visible:ring", + to: Route::Play { pack_id: PackIdentifier::default() }, "Pack of the Day" } span { @@ -40,12 +82,16 @@ pub fn Birds() -> Element { } div { class: "fixed bottom-0 left-0 right-0 z-10 pt-2 pb-4 border-t bg-offwhite sm:static sm:mt-auto flex flex-col gap-2 items-center", - span { "Select 10 birds to review"} + span { "{select_to_review_text}" } button { - class: "px-12 py-4 mt-2 border-2 border-green-extra-dark focus:outline-none focus-visible:ring focus-visible:ring-green-dark font-semibold text-base bg-green-dark text-white rounded-xl shadow sm:hover:shadow-xl sm:hover:scale-125 sm:hover:bg-gradient-to-r from-green to-green-dark transition-transform uppercase text-xl z-40", + class: "px-12 py-4 mt-2 border-2 border-green-extra-dark focus:outline-none focus-visible:ring focus-visible:ring-green-dark font-semibold text-base bg-green-dark text-white rounded-xl shadow sm:enabled:hover:shadow-xl sm:enabled:hover:scale-125 sm:enabled:hover:bg-gradient-to-r disabled:opacity-75 from-green to-green-dark transition-transform uppercase text-xl z-40", + disabled: num_selected() < MINIMUM_BIRDS, onclick: move |_| { - tracing::info!("TODO review birds"); - // navigator().push(Route::Play { pack_id: pack.id }); + let birds = selected().into_iter().collect::>(); + let pack = Pack::from(birds); + let pack_id = pack.id.clone(); + *PLAY_STATUS.write() = Some(pack); + navigator().push(Route::Play {pack_id}); }, "review" } @@ -69,9 +115,7 @@ fn BirdCollection() -> Element { #[component] fn BirdGrid() -> Element { - let stats = use_context::().stats; - let bird_ids = use_memo(move || stats.read().birds_learned()); - + let bird_ids = use_context::().bird_ids; // TODO: paginate! Use scroll events to load more birds. // Can probably do something nice where birds being fetched are placeholder cards and then they // fill in (maybe a hashmap of Options?) @@ -84,6 +128,7 @@ fn BirdGrid() -> Element { match &*birds.read_unchecked() { None => rsx! { BirdsPlaceholder {bird_ids} }, Some(Ok(birds)) => rsx! { BirdsInner {birds: birds.clone()} }, + // TODO: check to make sure this error looks OK in the finished layout Some(Err(e)) => rsx! { div { class: "text-red-dark text-center flex flex-col items-center justify-center gap-6 mb-auto", @@ -115,16 +160,55 @@ fn BirdGrid() -> Element { #[component] fn BirdsInner(birds: Vec) -> Element { // NOTE: might be better to use form values with a memo - let mut birds_selected = use_signal(|| HashSet::::new()); - let mut birds_playing = use_signal(|| VecDeque::::new()); rsx! { ul { - class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:h-[calc(100vh-176px)] sm:pr-2 mb-[8.25rem] sm:mb-0", + tabindex: -1, + class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:h-[calc(100vh-176px)] sm:pt-2 sm:pr-2 mb-[8.25rem] sm:mb-0", for bird in birds { - li { - key: bird.id, - BirdCard { bird, extra_classes: "sm:h-72 sm:max-w-56 bg-yellow" } + BirdInner { bird } + } + } + } +} + +#[component] +fn BirdInner(bird: Bird) -> Element { + let mut selected = use_context::().selected; + let id = bird.id; + rsx! { + li { + key: id, + class: "flex justify-center", + label { + class: "relative w-full sm:w-56 sm:h-72", + input { + class: "absolute opacity-0 peer", + r#type: "checkbox", + id: id as i64, + name: id as i64, + onchange: { + move |e: Event| { + if e.data().checked() { + let inserted = selected.write().insert(bird.clone()); + if !inserted { + tracing::warn!("Bird {} was already selected! Form data: {:?}", bird.id, e.data()); + } + } else { + let removed = selected.write().remove(&bird); + if !removed { + tracing::warn!("Bird {} wasn't selected! Form data: {:?}", bird.id, e.data()); + } + } + } + } + } + BirdCard { + bird: bird.clone(), + extra_classes: "w-full h-full bg-yellow cursor-pointer peer-checked:bg-green peer-checked:border-green-dark peer-checked:text-green-extra-dark peer-focus-visible:ring peer-focus-visible:ring-yellow-dark peer-checked:peer-focus-visible:ring-green-dark", + text_selection: false, } + CheckedCircle {extra_classes: "text-green-extra-dark inline-block absolute top-2 right-2 sm:top-auto sm:bottom-2 sm:right-[calc(50%-0.75rem)] invisible peer-checked:visible"} + UncheckedCircle {extra_classes: "inline-block absolute top-2 right-2 sm:top-auto sm:bottom-2 sm:right-[calc(50%-0.75rem)] peer-checked:invisible"} } } } diff --git a/app/tailwind.config.js b/app/tailwind.config.js index 127a742..3061170 100644 --- a/app/tailwind.config.js +++ b/app/tailwind.config.js @@ -397,7 +397,13 @@ module.exports = { transform: 'translateY(-50px) rotate(8deg) translateX(55px) scale(0.95)' } } - } + }, + ringColor: (theme) => ({ + DEFAULT: theme('colors.purple-dark'), + }), + outlineColor: (theme) => ({ + DEFAULT: theme('colors.purple-dark'), + }) }, }, plugins: [], From d4697986a8a4e6c2c80a7aefff1539cf2ee949d1 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 21:45:31 -0400 Subject: [PATCH 10/15] Hover effects for birds in the aviary --- app/src/ui/pages/birds.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/ui/pages/birds.rs b/app/src/ui/pages/birds.rs index c890090..338cc7d 100644 --- a/app/src/ui/pages/birds.rs +++ b/app/src/ui/pages/birds.rs @@ -180,7 +180,7 @@ fn BirdInner(bird: Bird) -> Element { key: id, class: "flex justify-center", label { - class: "relative w-full sm:w-56 sm:h-72", + class: "relative w-full sm:w-56 sm:h-72 sm:hover:-translate-y-2 shadow sm:hover:shadow-lg transition-transform", input { class: "absolute opacity-0 peer", r#type: "checkbox", From 9e5bd7e61b7bf21666519a7d27c7f99f2bca9a68 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 21:49:22 -0400 Subject: [PATCH 11/15] Dont leak memory --- app/src/ui/game/mod.rs | 2 +- app/src/ui/pages/play.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/ui/game/mod.rs b/app/src/ui/game/mod.rs index c28da28..02f97ab 100644 --- a/app/src/ui/game/mod.rs +++ b/app/src/ui/game/mod.rs @@ -39,7 +39,7 @@ impl GameCtx { fn init(pack: Pack) -> Self { let app_ctx = use_context::(); let game = use_signal(|| Game::init(pack.birds.clone(), true)); - let pack = CopyValue::new(pack); + let pack = use_hook(||CopyValue::new(pack)); let stats = *app_ctx.stats; let stats_original = stats.with_peek(|og| CopyValue::new(og.clone())); let correct_chosen = use_signal(|| false); diff --git a/app/src/ui/pages/play.rs b/app/src/ui/pages/play.rs index 7ccd314..e765280 100644 --- a/app/src/ui/pages/play.rs +++ b/app/src/ui/pages/play.rs @@ -10,7 +10,7 @@ pub static PLAY_STATUS: GlobalSignal> = Signal::global(|| None); #[component] pub fn Play(pack_id: PackIdentifier) -> Element { // Do I need reactivity on pack_id? https://docs.rs/dioxus-hooks/0.6.0-alpha.2/dioxus_hooks/fn.use_effect.html#with-non-reactive-dependencies - let pack_id = CopyValue::new(pack_id); + let pack_id = use_hook(|| CopyValue::new(pack_id)); // Typically PLAY_STATUS is already loaded with the proper birdpack (if a user has navigated to // this route from within the app). From 88fe34f8b4c975e8e7c90bde29553acd35154646 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 22:39:54 -0400 Subject: [PATCH 12/15] Add aviary icon link to header --- app/assets/aviary.png | Bin 0 -> 362063 bytes app/src/ui/game/mod.rs | 2 +- app/src/ui/mod.rs | 34 ++++++++++++++++++++++++++++++---- app/src/ui/pages/birds.rs | 13 ++++++++----- app/src/ui/pages/play.rs | 1 + 5 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 app/assets/aviary.png diff --git a/app/assets/aviary.png b/app/assets/aviary.png new file mode 100644 index 0000000000000000000000000000000000000000..c4dd69e741a3b45fab1a70f13cc2e6b5a1e0fdcd GIT binary patch literal 362063 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

KxDm3zeEniEOP zxgELqUs^G$-9N&Nj2Mmb>LGPn9?1h6sS-VfL5VEwz_`oG(zqe3a*T@+4%Kb!rK8&d zNpf<1AxmtjBm|GLt$j5h@!@1KfFH>gdG|;ZD;;@!zMZrQ$s-@C)MsuAn1HClEs;yt zjez3e>A!pLi)vPw^DN|N$d<g+7~?yOWxL4HakwMd{7)m-yvxi$iJD>B(+_hEFXE^)y6HVk!rH_& z`t&-*MnzeZtWyN9%jF?_ovT%+>L711F^2XGcg*=Gu$H2u}48yGW6$(r6o;s+JLv7s}Z z*;^YrElTYX2WMkfz%?vA{W_SZ`zY!qwmIOJdH>#EU_Mis++(5DEnk6dL~lAGVKZDt zF)5q1JR*iPR+`9xs2LH-+^Q5#9EtmC|GxN0l$QmCHkciuML@evAx(dwd}g;Rc7Zg} z+CQJ?*pTmosF;j+rHKAT6Zm=kftRrrM}aP|{hzh3=X?iv{SmD6$yh7^Q1$VVjoa@K%mBEz5>_!dcQD3`WqcwMp^g)oYh5JmhSuVha{+aEYMvJdG58>_ilN}ew_o2MV zT606SUFkhE2Wa$44y(}(84W(m13ugtvEZTj{FgCI*aj(s0z(S2sSv{1Op>KwAzg0D z(zp@h^pv-?ohG?(N~lUGRX>fMTdO{5F(wggMJ ze%Jel>~|yLs$v!)%{lU7hiC;o36>{V<}JtKANAwJt72Tp>dy^hRs2jKk`fBSN!>&w zsepwA>-K!~Z*ohA_Yd%XDSxPGO={+`qW`cq$CJT#sBo;n?NK_=yet?!U*NXNJemc+ zy`WAK0deaPk2jNO+L6AW6|WvbP;FLrsVDwA*qtqL7o%(M0Tz5<{NDj?Qn@@hEl8dG zR!)Pq07LB8>?d+Hne~KIE{Xx?yFwz=+Vz64YSBV_wV8MK;yZST;>Q&we7`eugBth6 z)awZBX>k=Nkgc2v^_2_Q<@tNeB0Ft0t8AznBw%}Z`ZRn%DnlfPUPBaULv|Y73<+ZQ zx)Sv^NywccxGKM@n?;Fs5cxamC#lF;Cuv+?W?*SWj?a*g${D_B6vuV@-Cic65{38y zg`sca)tIHrL47SD8*I<2d4iV=|1$l8d;{WJpoA?nsnE@kc)U_K{~AJtSOuxO8Skj5HOVxJBGRQM&)GwrBlN7>hZRkf~hkLXH=y@`_A_Wgmc#6iIQ zt0itdR%+)FxpETeRSnZnklN9BuvRZ&aeIrBu%*cK0&M&HN7zShAj?`QDWrk@fHpxY z^zfUjauWYZlS$NyhQh(f=2(bjvw~4{sd_+|*aKL%1wo^EK*0WoFcD1t;^emDMhm{G z4f>Q&K~2fn+BnGy93iupnBJ$h44T~rA@?3dpC72P+U~{CIBQ@}g}~kcmK$2~3edY8 zdh2GTbr%0IXeGT($%3Q|6-u6s3rztscS#JLC-T9@3ryEV4H!;MAZ1c2ucfB#!RY-O z`XW4dEgw&GAY{VsV>DI*7NU{CS3UIeGl_WQ-o~VpBJXxmg>bMqJ zPPCwB9Aip)KVY*^AC=QJ`U-ElUNz^y!HMc$^fjCGZ=}h@G8w^BoZbCy8?}>=#l=S$ z;x3K024a1&H?L?QPPAqCsg&!WR0x{veVb`9&0Wahkd3}l3<^uXix&}=CZnZFPaw$D zBTneP7GeV9B_$~2H14S6TyZ|kFO?dz{hjgESM!vjrC8nf7+wuPCH<=l< zKONFXs?5yP$3ng`bp1iW>@{Rq0g+bjSrqSq}O>ty=k))f4xT3zQj?uZ?Po=Ug!(ra+$Xh54L*u$_rz_Y3Uv&Yumb`)}=Yp;j=HOlvr7Uil?y>5*9AUdO|AM z?{fzV8yOOg54e%+E8h168^!%JuGjzDb#wP%?&~b8e8R2|5qZpmYdFsq$i-hwvP^=; zGb7rtw&@Kpy0Z+F8eLlTO6JDV#4b8WcqdQIyI}&u6JoLqLz|>HQ-K5m(f!;HMp)6d z+doNW4ou_N5BC$j?v+7Vlxan-*JHt;qCT)p60Qn0&o_~pDp2}FI>g&s`2`+rOWz+8 zNf^-{{U@OMEOa3oX+xG*w?b@7rev1&$v;_=$)w+Fa!8jqXP{+jyGTP(1He$#sQl!| zvdHw0qylDJ9oPxvB7|^v$bB!xAGIwjtFWy9EcE6wCHtPfyJi!0#GxirukF^(3dRDVpX>>K%A8T@5!`+iVW} zl|jIjTTm@Vnnr$hg;U&cQ;C4ftJvZg_!CjnW;1y0!$}B}RUKwkOdLYCcypQJ$Oc|dlGA$6k4l5zgJmBwHI5>uUk99n{2ZO^*v z=Cj6CaSe-)>eNyA-wP{@WHd>U#n6uV$pk+nuk@9*M~_P(oX#>U-TFc_ zDw#EP2NJIXGP)aB9OQ)z1hCL(VrF_g0nd?Rq=l zR@E@w4q*v^{uFcbDe19WrUbc3;tq=)_F?8pGHWQ1yU^>)n%kY(6}+|8N6!`%a;{R3 zmT|yFJT5g#5sJ{vsvQd9Bd+a15M3`;*X4Cuy7Ak?!0xa0D zuYnxTTe3_Md@e_`%YK}^^ivjE`o?tj>U}0eo?79GN;X7(c`1Y7Aus2_^v3VLlR{Jy z&@C9df~%JuTm#mzVU>~fWp%*xV$psne4G~+{+ObjXp_NxTchlCUJe)KRp?hLZ+Q`B zs$AL9Nb3BCmGFQNG*6K{xUdJ=Gn(_Xb;r`nP(qA!0oTpXfLW!p5 zuq5En{ORq}dJqC7T&NghVAQGD;VjW)MXTUfJh>v=S`cfDdtjm;w~|c^+GzjQ8gWn1zp^WhG>!z^Eb$@vG^6s#aoc+l80oRaJWZ(o zNOi!NQ4m&1-WFIoud#HdJ-Gmwnhyx)jL*hNe#06SvuH)ZQkV-MkxV&Ad#@Qiy1r#i zT6*0ZU8-1lfBYij%K+CrPYg}6cO0t89Shj-1`GIlakKw!95_U~9NX0AMx1E{Y!3N? z)C&Pbo$-*u67zT_=MB!Tu3PKY@;w6({AMv<-i}mZJ^inoKNL8}Z$pNaLldXoFuH_^ z3+>ied{zV(zdj|iU+xcI5hbbo<_Jv;C`I7?jv&wbMzoo4Z1fI46fz4gCL%OxDyzV zfm0Zb3L4PaQNKsmv|$ksK9InMnZ5z4+D)mpj zL5Jl}fNm;IVChH%v{?<3W_LtiGgG{1`Wvv>E%o7)yT#h7uo{a-Jvj5mj^Ew};<8G^ zkv#2g1@K7PtkN!XNIIlAiRvH~mRNr#zn`V79;y6{Wd{gZ#7+C&Fbg$K;hAIm^UT#^ za)1p8h{Is0Xb{}^Z}Prt^{TcFYF|3sppF%w{w(A-=QSg{&pru7L05lY5Xw*yTUZu$ z^~cY{NP_InWf|63aq&E*%_3x3A18{tP&n71+;FXOfM`$qJRjP~=wz8DP6mh{*9v1K zLHH~27QdomF6hUFZ~&2jtEbN>&>Dmybu;umtm2jd>8b^yr8v zV8=A$53_FM`T2ZjEg=`@&0sO6(-qT< zJfm{uZF*kE<8uMhDrX$r(%MeW-(hga53_Zh4k_&cr>Yk-u=)3apJWi(1kQ1TGyA6- zN*+$uG;DH%9Dm}qp1>x)L6||iKAny; zAA{72Ee*$9oV>3|1&{G&=v!M!^CL54d~fyQd7uS8R8+tnn|I$vQ*5caM1^-@XvBVK zd_C;y*x&Ejh%Nuo4DJ$7*)z3KnnXKu4!jOYU@rkIrR4*UrwP-UvQ*q}@%Z^swAkRj zu%H$=rkw%C6lC`WYAP!;mElD$oZEp(qKV4%d1|hXqNJHuZVv{7*;u#PZ8bIj@F~nI zds+m48Wf~~MU%ClO21N4Fd9QBvX2tGs7TY|CWWk-=Q;ENSEA%Iv&xC=?8`=!T-fA= zi^=NnKj#}`ll|vW|G3!#=v~z8Oqzau|BU$^uIW%IKb$;Hy&ivI3AfP85`j6&zs%%O zaG09HK+yqco`NkQ$Rrl}C_9C$B7smz`7L7Erl+`==ed6k% zh50!$maVDILe!aeaDi$L<3>Tspqf6Qm~>Eam8)?p{46e28V%MWB7HpF#1CFRU|bd3 z$b`ClYk@HExeSeAU8#n)buQ;UgSNoPmeH`>GC>mWjo}QXlPbJ`$R*-OqRU<5uFoFP zfXv~>;Wf2@p-TXwcGwr{0m~Uz3Xb6oIN?=TSV&{;LMN=ViF8bg{~n7Rs}wpL;FE1( z2DozIEpXqs2z%R=Pjk!R^sX~n1}};GLPkEh8`85t~w6;=V47f{a)CTx-YVHyKv?|+`6mGa4zPyYjq|IyZCnDVy+;E5bei%Rp8-6$r+?9*N zd$7Gu$rpU?=3!wPBgFJ%#Q5T29RL(j?XIv`&T2*`paSm25hk6#e15t@B$i@cgI1~3cu2_Nb zr3DwaMlPrO*N1uQbb!MoJFmW=p)fs^#8Qwy;873O;{ZybpRb6{-=l0z%2t8UTFUXk;=d+F6dVn*=C0kqT0{rqhF|BOOd=ICzWBsph5p zt>6*x*7+JN0Xq$TDC5z+x8kK~A0LVpcQkKb3{F5FvabHvRyJ;5O+6ZZWK;WE$Krxx zJF|Pweluz@_Nw!xD{e@(DQeZzh#rZHavgoVy4%>POYY8Esf{S87Cvh^&Ns`km})f#u`2isi7Tx$*0aT=ZkZ~ zPJC&3!Q~EGKt3`k5f*S^%;JHK=Oh~SBqYodIuHm&jP_G8l-ik6@@kA}fu|M9Gr*q^ z34*KIR8*G6kVa9T7PKo(wo!VA`irBmY*-0R#K0bZ25pq>;5(x5RB_a&y2?*$$z8*5QUMF z;sa3EbB#SQT7mAGs7@V;- zpR6iyCT$z-vfD-)KC6efQXaRy_lh>d%jVf{hthCV$fu;QD4?TxIqe0X^ScmRnX>J3 zis+oCypM~6^>E?Gcfp6*0_J$_X5ZMvk1!u=eA^;55i5n|E?}ABOt{87?)YM_A3hw- z1y=z*TL;JlFQpY(x7_?;rG>D$LeXo&6f#)ZmEhHyvP1yT!uTt(e!4;vUy-j|jrNeO zllAd(wt9&E%melj-FV<$Y`g|d>*J&fyZ(fE3~3F~@yCBMpcSVJy?IH{v|enkS*Dgi z?xAOhC0(#ZR8Yas@S#y{p&yEJ3gu6kX74w`wwgPV&hon98{xH-xtQ&~wQrGQ{h0sx z_Gnm;rQB^d-16lN{=s}LH1nG^c+&mgkBz%yTM`oU@x`6lB_k}W-OpY^1p(4SaW@@qNU#xEP}%@OnV&% zlNV%^u3JrpJ258PMDtQy`$mnk*!zOD_oM3teHX(>-2VVK z_;%dteZ;ZYIq&wzh8i^uV(Sk0I&6toVolwNY&FG&2$DoF zcwIUCbh`vtbu@l+H1W=Q@_js|DfgF3g_ql%T8(=&_G`W9)0;hMzy;+q}p*X(4o|;nLO9BqG2Or+RD{ zJN?ryjQa4Dnzc#BcoRXb0(hyx29qM^x6*loL#{^fPL+z%(n*NGOtE8!w8`xnNk~8>3|0Wbc-8H*VJho_e z1<@=+#G$+5x#kaY4_5S_Cvh(nt0G>VfhPPy%j`y9@iNX|f!yo@0AF~1vpu7K0xZMa zux3;&f$c8rxSi@zE4Rp!>=xTz?@~fYnHM@wLEW0g#|s7H{v~HX*D`i zyhP0j;FJ@cDF_CuQ-XLXB%>stu$Wz(v!B$<-R7a)w@$(=wKo#INKDQ$M*i9BHO7Iv zr+4?T0yQER*xSXiUVE!~g4@E0tHsGi;vBDDPP0QR^#~ArghiqZv9Z4)V^ts+W7^Z{ zTDs7xbf%Nc#)r18X_FD)#TnF%QSM{M69p${@EZLo2&2t>q2a+mej@@=6}f5d&7cM) zB<5tbS!S)r?*JS{jE)Y)+*wETW>HtJR|EW#nUGus8GVI_D zufhd`!RG}4H<@%`TlMDB?Lq?WeKe-AN9&E!)&M|QFz3B*dlc}EF-IY$t6d1?!AdkP ztYYt1P|Z&X)m@T}d0xP+kA=l?qT^xtsE6Io*_lcLR)!m(v2LLrWK4y{{3jbLj8C)~ z3)FOT@|=(pY8C^uADSSs80g)o%h#i#5Z3qKS4NT@tt{o#zHTB37%JA zF(e@vOeZ>BdStpqeLBGX^05yxc^3|(-O~-T0_L%t9uCl}?LUj8%_;c$OZ--bt&eT4{8& zIpe3BelaZJEzE?+k-II8IOT94q}>ogEM(S4tV;PTXAgFFU*V1 zSrLeiMDNx`PSBgLsKP$tRdJ!bAGF>N@bx<^BZ>OnsT z7Sv!pwnS1!OZp2C0}pEWhNe%vyY+BgzBhz zgq8baa-M*;*36jkM&So|EAMR)&>YU#y;oEkRy=|B25sB>%NK z4ZqJacb>eESf?8L{ZFW=g#*Q3(QM_`1`?hxwnq)t@On{;(GJYz$>nIfAFm|y&w3)p zm|6}tXcW20B!LNr4$y5qTq1)m)DiMWn&}f0raN9tEHY#5*!n#Tg#~8zF(XgTa)G_R zwm>`+yke87fHww2^Cct>B2sL|Kc|{87e6+3oPO+)!ag010Pacnq={4Se6SynZY5GN zaw!JfY$5GQqb!rf$^edO*s>ydUKwaqXDE)4>7!q5l(e+V^Pvfy|n4d!&NXNBO7m=dxIDXO1PC9p?kjP(i9>^F;XlfojPjvHO(7tuOkoUQyvw{`0lx_u&~lv@rubwiIVY z$pYEdOu)LdHhVH56r{MkE( zaHR(n@63vhmy79?agX(I9IF?UTLOEc*rrX)XmC~I23D4?-{#are5xMDsYmDygen|p z{wB^LoQBU{(Mh1=PWmHoAv77fo3-biLMd1aqo-u@ z?KtU|P>(7dtY2Z%>P$(Ce`FISUzEvv`hXNJwN(O*tbySIo086~Z1%B}k@n0fKU+0( zttG{G40GppB+cFoc)MHFSl?}IqEDSW@gT)o;?XVD)&l1|7KiHVJrP~!bb3v04> zmkTTLKo~G8?9dA;&Ujz#n!ego zQ`A^7!(=K-P~2ktq-LO~0vpH^8Peaf8#Hw+McZ*)(&7nN())ZkU2@waqj|~ws;s>A zQkIy;y(cnm`=_=Xt|CgRq*F-|S+U5U*|ZXdd5e}!k%*#6rNS8^{8fFL;|u&bsD7rr z57s_sD>kM}35SZHtFyV(@%##Jn1+|Hy5XbPs=BC1L|kaKBj8cIWli~;p!$$-E)*Ry zNKJh}(z_0+9q@$hTvO+Zbv8}5kk3$_Ga@;=ip&;Zn9G<38ESm#n2%W2yFcAALNmQl=lz?s5h+%REB>3BOz<$E@{ls!d*qtDngoEi++U z2%Ef-VTHCavL!CIZoKWgr@auc#`%DptbfaFAlArMJkz$^?~mIa$+cJ?H}x$&Ra~C- z-C|~M>h%)1kfTSbP4OLA;K4JTL^2GzBY3gQN~YE@3B+C!Z6Iju*j^}q7M}kADE7Lv zpki{S&w3$CHMpCiX?1g^?F500?Q73!T_+q{1(|C9yd`X|xv~)ue@|;P^c;9hwDLin zKiiCm@IzV|!;&r>T=uIHk@n$H(xtKN6B>E{Z$|pUrr}deC(&>A} zq}zZ>aLn)=skUK-VT?C~In??hr@-z~G7Solo|9IfE#@tissY`5wx!mLM1}~=lO-R( zXy`8#jR$ktWHKd4j40)1qo`mr*|d<=kc`vFIVWetAk$(pOTfip?tc@tLvQ$#E<>zn zw+$M)$D$B$JWP4}(q3^cAV~4EkNMzN39$*s7LKp<(BcyE5uw#bWt2I<2X34BkLZsg zP8B8eh|zgED|R~!Qf+{yH3_ar#vCqP?mlbZi)`KQpR8{nrjmp7%#MS{oRIs{N)>?a z2t=*{31X;-4eww_1j$=(CJS zRtCX5GhLc8DkOD#JDjil!iUqm%Z{T{SCx*JrrF5_ru#i^c=)L^^sfN@bf^-%xo{^U zg!OOgu(oEN7Hb03NmRGBqvWkSE!xz+myT1&#bu`CFAx!Vt(CWi4O4aMWyz~Ri;W@F z8bV$|aO0g8VO_uiEy+~P7i1@@G`gpc+-~ZtY`@3|o<}}F)k;GR`)4zvXd3bu|Iomo zW6bBTR_QO4sh0Vn{IWBOeY@OxHQ~PtMk}V00u)|22$%$mw)X3G-Vmi7s)KEWn6s)hqR<(s&^Q;+*H4-p8D*oW3fas zaAjz4RO@WmmK?TW63Fi6O~|bjq^Ous{OM%amm_y*b?HG!DaK;?WQtYv~Q z*vB6ZxT^!wUc9K)dbw!ymi#} zQV-`aW5OnM#AVDv_#LzJd2@ZXDJ)ozo3AG@Bq$rSFh3f4=25CHyo&d8#-IaSi_;hI zn(ho#{<*XGXP%UKxhoq%0HU!@)iLmll@}6&F@^V` z!DXjXCP6=1K8*GPLq%pw#5e(#7NO?2Nyd8NFN5*o5g=d#x5nQHYJdz(_rKQSp+Rr@ z0On9D$pQ;=hmOQjDj;oS%Yc4QwO^JIgZWkU5S-P>4I@)qX9vwv`bpF_9xySn6SEY4 zdv~0@Mi)gkoG0tyomE>Sx~)&oukJ#ApI~2X>i^2jqpQ{b8Ui(95bL)%js{j&6&3-g z26+GMZH1}QNb2(}_dh|oqd&Vnbi0XpBk-CcgxyPOi`j4!PuZienxMiQYJ3d^Oc+wK zmk&ZS{^Bf@^hU5sun`%G4j54fu3+}oI8zQtdyE_gXGYvEc63(Ji<&^u-ve>F*nJe! z6~Sc$B&5C4;6X{`@#^`QLg~rR@6Ir-xxXwRno5Q(eoc~X>ETQ{&fvfWpgCU}0i!5V z(3(WrIDI&?61JF~pN~`|q3{LV1WRi*wdvat8qC~6j!+oO3t5RY9whB*dZkFw5yjI6 zzAS)Z%jP+j$tOp!{47@P&EO{YXBky~;vN{MHMvg?=+|}Vc2w9MO^ky87P_(=Rupn( zm0>|P0e~c@TUEA9zhEEN;nI}D>a%=c6#efeY%8jpITO^;deS|bi_To z0h-|GG8-QM9M9h|F%#S9#xG!9PvdSi*t|mzhRB58r>#wY!TPaRpPYXwxp>rtpCEM%|7>?K%wn-Mv*rR1>1~8trOw$ax?- zPNW&y;6d&%g`B>dy3xh$YpXhOJKsKH`eq0E*V-jD5Dc#ma|(O1Q$*e<4JJ^%+Ft_S z2J2u$IsOZ+60aCK@4(V5M+dNWcEX+B`_S&-36Pkm|ArfrWXDu-1J(7$-O5efJkL^w zkX*Rrj%wO@So7#JJ(M<~BZ%L^1iZtlGDT3T*dSg}1O#g7y4Q7dJt((#v6CuVLlm~~ zGG<0%{w3QGY5%ne%Nk_$^0Tr(7f9*!(G3s-KS4UW37C~ac z``+nGE_*Xg>u%>!;;*5t%jxsmmzbIGOEIBIC@S=|0SqQ3{O_Wq+3oC)-CJlUxE4!x zwm9T03Ca2h!0h+V-t)yQDx}#Gf=H|fm4!q8h;q~j0%?QUdk(A|e>4mFql#n80^y+< zJKAatFu`U#fJU{la78D05~3k4=QXZM5qYe#^?t%u>8cUcU?@IZ6v^(*hB z1k5E2o- zj!cFqW#*gOA%h&jFxU)!Tw!s1+8 zG7zR5HaB^o8s|7XIS$*3gircM$4TcNTRu{_73^`Af+w5pXs=S}$J^z3_2}K%!tM2V zQq>qo5jH-ug#l1wDlM&d2bZEz3Six$02DrmIywqm{z7+-o>SLYBdk_OPF2sPGXOx% zLVIaOJfYWIY1(6lh6MAJKaoohzlBmCG)9(1Lhx4@`rN`)RUSYIpXFCst3j?d@|S?| zzO4yo;|@B-6#279@o<%{N_{O0)XAW2_p?4AnCMErW^CQQ6V8lQx?aRt3*Z;m_Pw%i z-oXq8%&BIzn%G<7+qb;T^7NPxi};rQr(}EkFS2@{{|7t^CiZU|tN3SN=~D3fo~pFL zs40TtUer-qkpHp0^MON7l*FDOq{|x!u>_%;uk<|@v}S2EU68~Abu&&frAIi`vfiLV zCEMO{!Lk6AJsV*H|6(L(L#LOJeG>S{U@>d+D*_2yiq&k>o|8+46;CdK)E5+>(4NLQ zO(h0mKx8YzNW}Frk5)GQ)qE}Gt>7)1=!fg~E8siN&+{Lqw-R-RaqjXa9)~AxSl*Sx zhXan`St8!k6c)2)&9?Hv%KMNdi#klRJn;om(_oew*6JXq@FtzSRrVieglq8f#lij; zJM`^5emtg*^PFf^h=KLLPX)(t;aUbb!J;tLmQ0xYNK>OK6A-d&Bbd>&k+A2X-{@}d zhZ8ni$-Y%8O{_(CG!x+LjVArYQ}J|RBO`Sj29zVHZP8hK2A-4nXS9pFf?QB{3~+x> z%V%P2iYCi1w1>UH4!1o1TlGZdm!7gno|$^QERgrVT(zw6xGYc3WSt?lMJcnmSzE-IYG3!w*Hu( z_5r0|tg0VPu)a~p_qaXo{M@^7%?W=}APzDM1k=$phf&3cbWjl&f{*heEILHkf^!u~ z2djLA4c<+2s!OzMQbBbpz(JFwz*V@c$v7Qw~Mo(3EQ+( zJg-GyCO4>>n}@w_xCjm@E~@pNirL0A)sfyq3oZXIY2|F7xVyGN7L@|Pl*fnuk|){l zukZLf-@ajNn$v1kj~S*kI1BHclY2S`h!Nl1n!jzxl)@$<08@o(D1&UaP@Zjp4-S7j zqPM@5D+O$EcE%Po7;_7}gyOIOSYUY7WlryaogE0@Bx!}Q*?iiUlmN{C1Svb}|G+Pq zty}$p>+X>98SQm8M_d$_9mL0EXSyC`n+s6Lf zyeEgKz3l(fTELVlzxeEg>okcF@^XLqo4$^v1QhCg4@*dS0^xn%QQ*lPIJfi3q4w0H)zwedjF@Vl<%V zPyRF@$N6hO`=-wH5~(;I76L%Jb8qLD0^~Qdm%D955$;LcTw@8RUQBJR*Wf*= zG?Ebp_(9>zMQ+U^c$Bq_T^FCyvQ${Lj=aF>yqlzw;e;Al3vJwVYTnkxdp&W)>Eo%n z=K<5`=Y?GjuQ|fN9}UZO7U}{OW_0`MxFBr18}qR@z!pQyW@OfqdJ{PktqF1&DbngSh86wh$GtxUeI=+a7_3rU zz~Y7h=zX}yY^tqe^hI=qtc`=bb(BC;qi66PcUX*(8C|iP(!wdX(}kgDH$$8&|5s@V zomKJVk>urSeEqYRiYS^t$1I5RSUsTC%qR0;1A?j6Q5!)`9WNb2jyzMBH|rpOc9+G|pIn%-qz!3C{&%nlQvV$+x53cJ z*TJqz3JbDkD+cSn3_w+6b7L*soW^^jz`E0I^S=_Ynth+EZja|sN+N3}i?1ivQISs~ zk2{UJ<<==?8B;!!=UciZhA25HlMY3WfhM?sBT(f%x9bkw5klZN22nS-3$6c%Cf4W0 z@TB%E8`6sUvJ=A2QKRt532hwhO( zmrL6j6hey}I2Mbx-S&UG0OU)|b2yM$I7W5?_+Zgr zPx>c>9~E5TX=EHGZ6ey447M9OX7nHbg-8%5Y=l|$=&3Ar5-uvRRE@NxDh!Zuv8K&2 zzn>Nl`omzlVdhxyy@DvgMFtFpZ@s8>NeBMKekm-oRc+75DA+dZboj^tJW2Y?z+=`T zpst=OPEx11hHHVtnNdb&_Dd=4c*7fss@49S*k5Wsi)DM$i1gUsLRg0n^q9UuJ82&FqKv~O))6lWzpj;*Wu2GR z6*Si6?NtuJR9Qg4#kEuz(s!#x^$xKBH}6&TIIQPNxN|P2h9{){#6|39j{K2=vPNYf zG2y-TtcWV_!RZPqiW>pC=JR)JsF;7w^&rmQn$j2H)Y}m)77ztVuM&qrNCR8rA04c& zriOm-S>BB1SZs24K>UT_Zm=sN!6Y?Aotr=S$xTj%t%FowJ3taW&7pYqq!GYwx(*lT zBFG@9s#+X0(!t<|Yoh*p6p7&}WFLlNCik@fU6Igc*uU6r^PY_=H_|aVA>94S&k0B7WJP=tx!OZjwh|la>h-U^88s}C8|q{L#%{3sMooYiY@U&9g< z8}S%tmsC{=JS&^hyt;rO zbA+g8z7@O@eK!QU8y<<@34=YkCN_Nr4^q?v2(K1uE5T`_%mFx0KOefDkFWSK{-k%H zy)-Ec%DkZ{%?PYb!{t-_5CfanuofG_jzs1Dde*}0+6ekLOTQqN-(Y69Kx_PLrZy*= zk*WZ*T7qrt*sce)bG}FYEGW#%AqT_=nptiCeWk*{zLNP#0-D5S#ewQkX>Y=+Y6w#o zV@kfM0Ph?^1*g)Fr7(kU=V@#4?? z8-V&DKO8F1x6DX{vMmJNFke4Ca{t2LeP)Rn`Rc{gH0 zV$ZJ_;UxgxjWd78sLqpy5ucREumS#U?~Wt+Io*8TFYvftBsShxoo8RiW<5#4yf7OK zEX1?8yV`4|Jk=Gw88;hcb8&Q;n-X^}Li~Ot)-xkKjlsL3C7U2bD<}&U+N9vNDW>I~ zDw2I4bJ6_#d0D^8Hzy`(O@!O*&N0YT{^9~O*UPOao*;=P*h(sBXD)r}@1grbSpS<# zkrpco&gVpN5!Oa}oFPXkY4ZLVoT#lgPh_s@<+69hR+jGNYED7)_BQ7B;6|;G*T;Ug ztTjOuiSo7ZC2wV)gJ_T)U4=NWVj=`qpT$_%UXK{=@j&Z25@lPH`@j}EwXorZwa;r& zCb2P}8Iil`_VfK+_eo6J2s%J#K+Eu)^u&?&Tjgt$IHK!l#FhT@ow}akSAu2r-&>xh zYHG{=1<^f*I!Y3~#^xfLIpSNy{b}<@^=3HU6@-Ok1dcedYAL&h#ElT7hT)FIG4+@I zr^>hrVuK28VltB(Am=?qLhQNJ+)~~ccAeXY%_5K6X29KcLy#y|j}wb4ifQoZ6quDY zl*H`^Qk-K`B2R`l$_^zUTtVY8H@P;W1C8hXeR8pRThTTm>y}CUvWhn@z!rnRTq3PN zLzpU;+W$5}XQr_g)_Oc)AD}>Wl(9!No|k_anioojl#p&%LS~FfVb3I$GR>%WO;KAb z=w*R&elC;DdUR?k(L1s};?CW4G7vgbH+Jvf4#T6{NzMYZ+=HsnAFhcNP*FG;R97=K z?I3IY>~Sp?y4iBF6GC7^kSXj37K2shFbPy>!QQ)lb=a&g#BwDoba~)Dctxct7c(3D zv6&8E&s!Y)QZ1K`PnFsAvXoKGmJt;BG5}jN=68Lr94jcW!aa@=V(28x$^;P0t19RU zv`R{^q`2+-^tw2;Bam`D`zR&PdEQa$0X^pZFNf6Tp1~%$9(yW&mVs zUVafmak(7x7l}%tg7dU#I}b3KLkZ#HR9|zVQL^&Yenu16zOVITqv}CzS<<#RneIKx zqay$8BDFE-LaHf-IwdD`m%VU}6QorqMesk{>q!nqrJRh2LE^6+<-O*23b@}F6w%Nv z1gUYi9ZyI@UZG1<1-HOP?2n~Ic`s}|e}tCqNB>pH^1It8^FNXf)kqRG#au7o1M<^m zCbRWv_y6%;K8e)0;o+1#7E1dVpUPw870nz#wix7mP#9@-i5hMhi|2Om;zd#b$*Xbt z|Kfo?38}&-c;-DFDw`kG#NVk#EKO4o$hI>TI`|l$KJ;LN2bVQLeq6U~Wf1R|BkVz* z9TTFBVuPHEvlKq;ax{g#9|^0JoU0>zaKz*Ya*Y#7;^sM;)^RQROtYMa!`DwnJkyRp z?Pspd7%AE;CyKCOwua;IOo_J_UZ*o{CmZJihiXDF8J=ZBbT+KbJs(2P6THkN4&O&Z zGdyG{k7+_TF|048S+7Q%A9&E$GR?N7b$L>u#Ou>HAD?w zJB5$?*?|33jxN|b=LpI&)>Wuw-naMB-eox9wh9)8uZS$n0<0wR2NqR(oJ4%XBClJP zBr$DvU>aMg72u})eS-2<8?$|T<-~uKfABmU?z+G7Mii@w+=bhi$IYqSBgTt_5B9{z zGB;+_qzOcZvMTVL`!Fym^j-XfUGU^LcHnx$h5DImEVYA|k5v}Jn>TjkwAs;4Ak^i+ zV6(Ow5q&bIA%Pgnitb=h1z3Y5jCLX;O1(-sygztF<0UI8W|@dP6G1poDew07-cr2b zeM8maiTL^O#(%X&JcX<28#3n$pq{iwZw_ZGMy$Vb;>ZzgJmpg4jL%LB(;y^4jG;!u z0{(R>@=RjW|dy42QvkU;yp+ z7qr2^)Tt}HVifa6aC;~PI_#2@a z2EphPw7)HfbbdGug%fp+o70npk3Sk#4THyy7yjUoe}m zFB1-Zg{7hH7Wk*k|M{ADGcIK-J7kXwB>I8zOR2ke#8rdLcK7jLXZA*Z-8fn7ciuGo zp40OPwYv=7aX4W~Jq!tM97aECKqDF(ob>@6Z)AOO6AG7n%YGmI@P14+<)Y>!P2lc2 z@%NfaKjJ45sm>v>yH|*AhMhe6H#pX*x<$u~?3iT1^Y!!#_$%4Fw2d08NFtD`;@Eda z<#uHtF?%>f(Ohn9leP}{I!|GYDc$4D@}A6n_Il{2YN-dPUJr<(s_NjHN>FN+iercP&zJ$807^GHHpVIpsmZ$$<~zC%4IE^wIi=US`VTYa2siRZsCpHPl}`PC|*R z8zPcqG<=k}wl5({eiq$%4?$|-w;h^o%}Q7mHcAZ9Z|Q(oubdS7$ zK6Wk#^^c?;@k35e;VXKOW^%$6JXXJ0E>6sL?v25RZ5tFP9{ISXKhP%eeUf* z_J3XkdR2o!HCevVrnyf(s}KKu^sB#XwBwAqxlraF+i-CUy|86H>%2iTJW${|ljrud z_K3TU9A1-qR9`vsFO0QD-Ikxk{~YcV_a3YNgv+0dYEmZlQqOh0#5j?3jnGRQf>j%Y zr+8I+S?7gh0*$Z*7JII9CWbJpqyNhl*V9V(=)NkI2N)dj8;(4F<75A;$KoSZL?C%% zQD+k%BV`wGp83!7y~p;G>e2hvhC$TO7FLK6jNNF0W^~pyWWik=RkqwKug*=Cuf^njCQ|#$WiS4k04oi6ADh zU;c} zZ(k{7=Vgd~{m}ZI?@`Bl+E-IHJrc`A9O?PE2%4Eyi6U!kf#_KE{JwvK;L+ISh0(RP z9`{+BXNy~#%fuImTJ?SJ2icc7tM&N2JwuwILUgTjWy{Y;ud^qELcgF}`l`|2#@%C0nl+tJ7x5P3i0y~k-u%mP&t7c2mtM5t9U@-w!1Z%y%dZy?x$J*1=# z>U8dl9GGBMA-)2qx}ykWZw<|x<32Hplk_a9PLrG%E6ipa?LE%jBZ4hjD(n1yW`H7! zQwxW8CBEssc5ySqB}njR+m2&&kh~6(*fUO*4?J!d$Dii6{%FlDV@@~rUo;w{|SU<$+KDiYmrIu2TBMIA-E-A;K&u5{qHe?C>-(LL75badik?IUM_=t*dFC zC^}ZBrgnswSMBX0tTj!~q^^EcjWZY(Dtm`TE+i42`-D@6O;>XPpEgr=CSnl{#M1(2 zC13oyC3Ei9tEuJvFP{j_xHUfD>ndv!WwLT1AuBk8Y@xLZJ%#cCJ1~6N(y|yd<&_4e zszKh&F9fONCM~KFGofNtF&TKe5$@@_d}BH|4c9SHKIGSU;H5kofbn}Xv<`XxmKx${ zvvLa8X8Fjt+;zMSz4LUB-*w1RoqR_F2I|s1=eHTAKb?+|VdYKfOv*lwkukCeQIE1% zG#+g&#JqR!1x;#s)C=w9{>#hJmuCa*gWX*)?`X2+WEoIq;gNTA2T3HxgtA4{`qtle zi%{tIr+=HtyUMH?*kkjzx|+MQ86|k8LvnlPW2={OFb9*hy!z3>nsKLyZmF^YC>O=0La+t-@*f#JY zknZY1_f@4vZf7$#dUBT)jtWN`RE10uoSCji-6p)!Fd?%-aznj6$2E%)2gW$S$GAcV zUrs_rxti?h7Ruj?;D>Jd2)N`C*}!xa;J})IESG&|NlR5{Jcw6*t-9N9DU#;S%pKEh* z!WCyGK)(G~e95}>6wiVmk+?PHcF69xeq6T3za67GDhdH%Ni&=0A-#I+$2rlMIc~;V z$mS6fOHs--H-@k{Nm>cBI<~sxTbEg5i;Y2SyFELQQ8qM{Dg03_vI^{4I?+-+FAB0O zen{*dE|!ct%Al%*IjVP1wT4%Z!%96K#BGtoW(<f#Mn0x4-B4halV+b`*#B zS;vB<=*>_3jnI7fxEgiMt5!5V7UMC2keUAc#eRzMB3ns@4S`K&36$}z1{Mm;Oas9S zr_8vHX|jw2Y=xo**+t!w{91j3Kfws|Wp;GZmnOM)p;rM39c} z_k5-v*n9-@nnhLVvjPiHuN6|7{yY!I|3L`oFz>+BSFdSO-MKbD#E}3hu|n$KgH9ES z_4WP;ciSCEo%4mGi?Ku4Se?_xLH4)f#ku7G0pHZdk@6wmG}5kXrP;oZV5ypry?k*_J*?aIs8_DW+LvDKexT1go=U;IsNBO^ z4L_c$YDS8d#hbDKY-}VtUUhE`U|f&uBtFs&Fcfe7u6V{HHir42LAJ$n6ZH zzp7fMsu!A?5*&Y99|$xz2MFgON&2{>g*jUjC^$O?BzB~cp01lvx4-+EB)9_6>%_gR zv-st8qr}9}m%w01K&P~`5hwjhjJbF^sv64Kkh%LECU9_}@%SA&&5Nx|$ z_en41^dr)8z9G?EnBtzaG~sR<0sZhceMtnlVIAe<=fm?vJSBUjevo|32!luA16^T| z3E(^6aCYk316~~#To!W76(@X&NJmX1Nz4mm*-1Q^OsQsX%%45e3$6KdCfAhs_UuSo zTZSQWPpP@1eDsYvI>~FFR7rUIP`W;}(|Mel6X8{pe0IFhjKZ50^e(s0SrsqlDPd?l z%tA(CdSiq;=|hvhB^M@?KD)Kd|(eY76%UtlLi5?-D5E8R-Cj{ExQKuvELn@=~$E`fNj;M#nt;T(gmm_D2 zP*K{b`p246{mf)2N~sMFIbj#Fbvhflq0B#n-3}+vESN|s`mxB;9KmT<(r?^Lr8oo8 zX>~PBunMr^ol zA2W>SfMC2bP=klSJn>I#zW8hwyeV#zoW^A(^oW^x0d1CzkoKGhTW~eId{!Xb%5s zEY6u`hRf7mPA&#sN^%jTl8{i!#Z-#4L|zOBJK#M^SfN#%Cxxx$r#5-pw8%^=XHb36 zVXCY=N$@C0;oAJikJLg7{2A8fOfd6G5g&fHKO2}+C^&(62vah^=h;o0v&~{bJ}B`X zJBT)3hxn(CB^Eulzc7EbAl6g;;r^!boPNU}ETx{Pe%A07B!U{ci6KNOEuS33IjU7q^G!GS)7qolHStIQqVr{AUpLSQA{ zRGhPp#$zak&h>hOY{fPk?n<5yr-Wj4Tl9!kN3k>w9eIUV@@l9|C(#gHBuc8kVI=tL z_+QV|4`G(-Dv~StH9fFr4s~IWU&l)BSdvUJ0e`w+wX1&%LFry*uSY7duQESeO@YVs)yaIMic=882P?6(E2?->Osmc&cRpn zL)`_Y`PYGa9>sfvS)qz>pNmYF9uadwj&M%wzVSm5sJLMa&8-z=oWwyX8uNCI&R*8E z?w6*<4#v7@{(3@TGrJr8l1r7}T^qBYoZa_z4d38b0Rw=PuceI9!@1ojL-0}?_GYjV zu_&XiIsdU4lr$xj#-k26PR;|%ja&kLOq#Id*07pQy0s0@PeeyI*pI;E$pyr?FTrH~ z(A^S}mtA888A9s2IZ5Git<2-i?m7Vdam2;)#?vh+M>GG2?8 zNno)gPxe-{1Nju*$2Lb~J^oysDWiBmWGmY2~#H?Ix6EcaBT z9}1@++1z2TC&-K#%+=8B?sWsBbcpwBO|B!Z{`)}yxrD)X(uUAq-^Vd3ASb?%ni280 z;TQ{v6{|4cx&UVE$49%{`IgWS_Qc3F(TU!@=k93uURjCid#kIle@#&JLC5KZUStdF z&(d%0Oo7SVN%$~iqwNNc z2Ctm={C37;FRe;p<~A;2FMPaIf*XE5jX9>T{heHq8r*O*LKDoA+Ooj+m{V{wF@{}n zTMB)C?QrVVlP7kwz&x}Dn-SsAyWA*5N83`4EjB_8qcye6!YC9%6`v3~cNho*)O)3Y zAtI9^_<4;T7rKezj$FK=M_0e)XYxfs*2tDpFStvV2IY4_<9Aige(hh8iO&)zYZ%WK zWc$pB!Y|XeZv38YxV2u}qLL^VCG=trG4jL*4=5*wKfuf%VDJ(v3IVumB~oog_NY5WK+*-S&EVGW(EYbmgrS^QG>bDVjAxQOwGz1z>1r@>RZix~ zbhf2I^PC1~8^GpFuU;CJOP_vnc@=`y4a*5h@P-nFuCzbg(ysv7-(gg1j>$LA2HkkE z-cEG-JjxOKWnor;&iFdrQ>OICieoBIi2h3%9&8*%c3S~>R1Lo$Fj1wBh-zXl28xW- z2|wmJwg1qj0CVb{jT&5+T1FJRKMLIrGCU15H|q6KFzk?~5F#*yaR40P?+h%7Phml4 zOshO}OjS7k@a|s|6&KPO1$*lu7%y~k5_=SGmxwZ64-0C97)s8kZ@kod;ZHfy)Z4zK zg4P7#l(R(5@J}D?J|oJHA~jL^BP3jurnvu7&#cZT*8^JuvVBLYe^@v=Y5y%7PcK=C z7!}Go$WC6c7c$co+7tlNo><7GWZ2>Dr1h$&j%Qn>dg<$<6Z%%9j=d-%DKdq)B8C$F zIal#TAJ8V)N021(v@YuI2T@2GELTA5(6jwgr*T6o^f*#-LPTYE)Dy?=icHu7h zO`ay?D$+<3-6+k&MtzddAO>-5%$>vUZ-w$Wan#eItIL?Jv;smc%D1;Gg#@*tcu8+oHkcQYM1?jiNURut6sjBHhYCBDl4 z-!6bv2rJDdq2w0Itbt-DC$V3Xka7f%FV^fXZ<+A@K-VHp@qQ=OZ6(n(f2Al&IHm|G z%|c*u_JI9aw2q!&3%$?FmehWz<|eMLC4PLfaiHr;44M|NX$mKlEtq+6Ri5~fu&g2G z5DW&n-SB@Ah>fUW5B}?mDMs~k6kZY|!!*Ii@Gs_*^ji-5hWB$=mADJ1$M@gN&CR>v z;<7LaSf+b%#6<_CjTR-(O-+9^?6712rz`>%+VDjiC0BAAzrav5iFr|3f(WC+n`PoB1_+`Qj&(6-?j zjVUG8U3!%OXc6umNu~lYlGHmm>O|IkCqirznA;;O#++v(QhmYY=x@78oFt8k(uG*a zuq7~6Fsr6w?Aa+h+08;(o`GB&$%2)5OshF~FRYbOGfHJp!O_jrDpr?SF?^(QcZu|& z`yuuLctCczSR)>f97`qD;qoysz|vfKPevd4#`ijbUKtwYZu=@&()brQ!UqYd_yr5n z!V<}a@Ej;cB2^aWDg9J9Et)ceeApU7bw86i7?Y4>b8@A^2=Wz9NH6Z`Nu)0^?$JIT z`|ob#wI;rnl({p+h%&R+=}FQadg0Ndtt5BN_hA79X9i=VEXGNW93JpSeYsn`?NGKt zC@Cu@dD+^*m}?)*y9wec*YU?afBKJ|83c7eiQNHCK+u%!hiUA0-x zWLkWPEr*}1t+_h`sko|8jA@47Kjh~F*D$U(^)r=nEsDJ)2cWJuiTmAGH;dp-_nQ+n zhiYy9nQykgm8|My04n`0!*`IM;w^9-X+be(hkiK$^pMhgsZ^R-mf8Q6Kg(-DSgop2 zy_!;fzbQOI=U7aj!0`D;wNG7Ls=OI;_^yBPe_l4)8{9Z9f^&%QfKEx~zz=5+@tVMl z?Su*6J&vpZ)3+R>_6AO=3Y28OjWGsNrHKdL)W!-yT2Pdh04?uG31Py~D8o7gghlu7d~~6953+8)W&&LhRbF)985!*?kiyBpeXGG! z8IiGN&L1QXr(4r*#92shK}v8lu0^23G-NrFd2=7Hf1XJ!Ne^H4z2FF`oezv-y%NtJ z-p}Mg@DHOQ{#$1{-LVe&^1_S$CiFC5s(_|Ks^Bi_Ur0J`Q2)Ms+`+%TVsiV1lCbZy z@7@R;u4?a&1&{`4`!mhPotCGjkSkX#avVP6aw_q&NnLx+CgcWjM;`1gMtKF*cp3Z5 z5N2w_#@?j(xw-&oo#ML6km0V7_e-~T#QQ%&UhMd`Q_cHs?htaJq+T^}^3*1s3`k;t z)unoCO^tPDjkRX8Koam;i8WTi*qd}tY)l}QmlJEA<_KF$NKfM7Y+&4|7Kp-T&0g&N zbUAeI(RyX1WS;vR2B1jBzvl4|3=4lydD?0=LJ|8bhY|Mu3Qrn1Vqc?w4~P>$!H70C zAc_^ZI!Y_(Q^AElo_ctM%ztR+SvjHsOH_pltVpZKHI%Pez^i zSotI;DB>I#mzzy5`7^mK5=8`FmXBrj-Imv83pjRXSu%?r9doA=RVRt~F)wFJjyNjd z$NG0ZiCI50a$AB2y=%l-rT{~o#-qO~nvGFH`iUQ>gHZU^zI<+tiF5 zsUP-zUyAMK9ee7zNzCuaq`Lr<6+G2H{?n;s*=@{-eof5<<^eyDEqsw8GGA9OIB-M6 zB!$E5frvsNqjVn%ke>U41GUxKYNTXb6d_gn3G`OWx>;_uJ*`5KHlQdgD7u}Ye#GFnEG@;oQ8i(#YWE3%y3|RX z`t7xcJ5EI97pCIUtM8lB>QY4T8YxReuxi zp?Nv7WN0H=uI1j)L?T_WLib#Wv%|PddF|my%EMjI$VbIfbw{`7CBe=c8oqp$^`L3< zZaCJj07dDN3>*E9Jrc!=tIy2maVx9hh}4W$7|!|VW)0p?Ihp%CTklGnZ8sKb`Y{pu z40|35g)dRB|HK32;2$POs-GoUfJ0w~Szi}MOZ0yirVai#Q9k4`mXYMWolZ8i?o2x5X1v2Xm3xZP`Rxf11qewkm$a_1iRL~IIIZi*6bLUC? zSJY9aY*|E|_z!2s;ufY4?!+UxxQlq)Z-Grd=qBAGVL}aUa@dPIdofK4L(PTNZaWoY zZKhJROte!ZjV7lC$nbtVv~XE%uM@!6sM}VK2

9Q{!w-EbKfNkShKa6i$DN}6!Y?6>2C~<_#L>$gickH z^|m9Jd6JK5=R}K)>E?^7*t^4ZvFSR?UYHPh#|N(j1%)^&56+Vq0-Gj)+Q7ZdZ+PdC zxo5QTd|L*!{Tt-i5#5C!<$^B12c8i`T5=M`pa|+l3l#LxYs`zhpR;^$X>JFaz)cpL zHWTa+Ycj2w7SA9!m&%8aF2&!kGx+w8xdd@EV}D|iYbl=KmFY;CI^J0*p0U}&4S`&} zzqk$9$HxEVzWO0u+~zF6V>5^*KEC97gjokPl#AwX+c6`LAGD9Y?j#C@KE;TB%e2}y zJs~Sag(? zJ*z8QXjs5{56Ytxppx=q&{@3B?Fc9fMy!QE0kz>Opd2<~TaDU89D>vL{Nbhe<0o_R z5t>2Iqb{uj&_E^7UX$R(VBLMZNMX&v0RM#m&4MBZXIYTJ^ACGv##a8KZJ+^Dslf&( zV0)J$YxWRS9PdL7 zB5T|X(kwo~^~RtF59+$A;&o;tkV6W5{sP+%>{T}H`bjbhXs8U1x!D7O8b6PJ0VJ`8 zZ~^mhtU49@XG`(;2dCognJR$V22fVfnu4{MtTF~`phIC1J?2oK2&y7!z^4CNK!-M# zRYChgBYM_i{wYSnY#&ueac+wK6HKZn8-8DJ55@NKmiVVz9!5~@zPPl$ML^BsBsdM} z<+4?NUIr<<(yMs%o|)kkpDsoqjX(j?3R5UXU@eS5KY`$AWhRxZAePvfQranPj%j1$ zr#sND)*1 zK_`~yQ31R28LpSf-=VX?FG9hOlpKmR;992I({b~71GPXKL3OMlN{gOUsE1G$5*$;C zOh~d_8$O+5iiVKRXpm-Mh(yhjQW-=jq@3m~8lBr3oty;HC|Nyd)VmfY{6f0MJm01l z=BCKuzzeze`Qd3lh$scH`rU_Xi*3e)M+lc-jZ4Jls$4c@0PnY8T#ahgO0@;SW zkzGrtvr0Q-6KQ48s7RRUs>ukIL32HtLAZfhUKzZ$tW!duPenW&9*!%d_PcX&|D|K` z;AJD|!M6arLsc9C1N=M%8B`HQDRTB-V?9yMmXXdVs+zk+u`xECUP7weE0ARmSs(3dvLk*Miy$xHp#6 zAv2wmYfru6lz`;G37qnN>TGu1n~zIJo9Lkipms?ut{Gm84HyF+t*fN6QyasBIm1oCE;023WwWepVjPn~O&b;!|f z?#QHfv6vhbM`Q_Rk+pjL$lLL|H=b4o?PPf|T2)FpQ`AHHaoRrRILO`hW}X=<&XVb! zuc$0~-^W&u57O0S9UEzFB|4rArqan^<7sUEO$vbE@0;KtetV)Bk6bn!cWmy(HpqsP zn&so03dv|bL7IV8ZhXA5u52Jp?)sS|y`HSWLI{GJ={_T=&7Voz!?|m{nb=xA9Y5Gs zj)yLri0ek%5UfG}y<}@VKZ60L_omF0gb_^FG$PH-v2#$uPN$$ussnQ7&+jWEg>}gA z!!$Cz@6AR$bGQu!%ZQ^;fNY{pj;|8NjX;aNvYNPe1{Ij~E2EZFne5!KTi23jc;Ln6 z^_l}U+5T0ZgrLYcveZ`qsC^GW?OrszzG`S0l+T5zv$jqkn6-KY2Y!ZhxSknw!R3FY z#>rRfHT5-z`>TL`V1=0y{mt6t+BsUDB`b1z{5W5FKiQN+8!Ml0Ru<)lJleLYCDfsP z3993($2;-+kCx({x#5@x9kQc$eg_uzkB_UvG2$M{Cg>uNpVEs1J%5o`SRwehPVBUm?OXv z?2t3z>_uM+KfyWCzL+JWj5N;;!4GA>6r=WTq2SZ zKPdGMOH%%>PorZ8`$J|-YKySD5-3?ixV|mrlX1(oPCRrugft*fv$ce}E%Zvuz4k2R zkw6%MD6e1jVRowrUgeohtFnDKLIVSItX+%OPL<<@FS@aRx*Es2aIisfbjFUU4>_p&sqiv7_f78S}M7HFq!J+ z)a<$y!-%?U>5au5+i#3t-tzOfZtHcB5gAjKoX`A0J)8p@{k4 zbG!8dq^;6sim$D!5hy^~x|+`7X4c&ZtndvLkrt&(P%3R_j9%J}RFVOIqx5_`6^k!G zBxL`o_ds!cBL4Q-yKxG1uSOkek4P?%#KJ5W1qdADwBwcgoOu)HM$0HG&q{(6DTk&r zx?YBT*en+6E^;3Za6r-+Om?2`F42>r(-Z0~0D4twy*@wjPgAfvVj6+2{andN2u z4?(Ch9d;^nAGAR;^p)V~OsC98Wp<46=|@^a@%r&zJPT?5{iiE216mpui~=iM+3bTQ zfgA=<25B>ALeljaFdF>1ZZv}@Uz;6cgEX&i-diIkkU_t0q8s<@8jCx(U=5Z*_e3_a zOz{z|bq8Tcvy(UquEmK^D{Fcbe6If}la^C`&W!ug&Svz^bhOvg=VdpXKgy!z#G{Qi?>ygNS@vpuMnvZVq6HhW`|Im!4(+AA1j$!m#Y#B8|iOp}zQ z`&TxA_W?46m?qjo0ItsGd9#Ghe-m;4b@#-7yYb<;20|iZ2)9+FqD!hQ>m{+S&3n{) z-pXt@f{82R9t!*zr16#Mx+}K1^)#);y%ZzxUmk%1r2UtNs`y|r0_R}_R%~S4|B_^Z ziH<^N*x4i)U{8pfV+-C<8?_0@m&Jk8AIER^|1n@oubF$pQ3u_i+G6xP(^@2XO!q{D89w0ND{5wKIm`Q)Dl&#LvKAFmn~ z0%##C(IE{Epc^R99s)G5l@{oR^X2h)Z(%r|JTMKaV*_e+sL85pvLkzzAE3;zsqy)WmkZ-GoSsl|3)8#^La}9R3?n} z36U9y>>TY3$6u$1;_<)F#DRJA9IQ~DpR{v4Pjehky9S@t&X7?#l5mK%YwX)b+aYWk zWK2zcRQ)e&7F9DxW(2-VB$}JEvWDAm_sk zdg;tcEJXD;ZuCo#X0eI_q@53&{|ZQhlP~bhS{L;%bL~`HQFFFTp!3GR)6Hk#fNFD) zp)XIx$4jGV$h#1KKH84Ms7YHuCcq>M`af z=2CAYs3WZliv$uRsGoswM(cE3IXoW^?cD&W{n6Nk*4ZNfXv{~n1U#UEM}R1Bm{QRK zi9FXJ|Fc>jQ7eg=MjW6@1rel0+Ms7HpjX;~rF#73%VxZIv=tvgnturnZlLDA zS)9ZCu`d>tA)SFF-OM#i2{h&mTF#6K!LB@?$7{7?bw2F-fpSnyfOb-+ee9xa@oA#kUFT32hx{ zJN!?<1_vtKwJ`5ru4P@Zz1VP+`SYu=qYK_TiwislBT#^}b1=xoDT)y|n-LheiayF< zqf3yD4l|?g*x;J@SwIf$(DLEKV(=RbNmPC(sl5de)&TAP`xYNDH@eo%JAyqji< znbaP&QRnT_DFsJy={&mcm|z<+bAj5PKxCH^&TK+m$Bxe$n_7D*c7s}W{}mH)->zz0 zS)YxmE=0)zB-;}EsL3I8%?lj|XHeuKq^7UDh=DM|*^FfI-7_A6v4PgUvvd+T zAjER^mGb!%86imX`)v4356)8jycRW=mZ%2Lgx~`t#5+i}RdLP3l(ui2jy)qw@xaw% zaqsTo*i&o7Xk%9DqL#`><_~~L3kT~$E9>i0^K?>IfVDFnzYK7ghpwlrHEEbF(mzWh zaRADe&mZeap8r#1)SA2=WTLIMXE}b=oeHFBg{Dhz5XH5kDdWe#(IH*|ruYWOgWqR6 zdj>$taL9*S%W)ZMQ*VcG&waZqaotALtW_HlYjJj+jpq$q1p@UT@D-$_eIK1Atk!=r z70&gUTFL+Z^UN~$n7yhpkcIicI;*gs9zZ>$JVcK@0XD*GkmY~u!_%ly>&0wo3XF;| z^^GjERS7_vvt|xRaE>#3q6K>(So8Co=5FbI*<1?fiAli-AQeUtJkXN>Yo?AhG=@6M z>n8TZ|Ge#Iaqq5MV*`am_&L^tGN6L&b`CJ6c%VXj+ClOg3OWpaR_=L)J$ zjX(j?*4BI#S9=kTfJ?oJqy|osT&A>>NkI{tA@UYbaa@YeyC>qe`<{$Hz4t;K?@j}t zVUr#r^^DH0!BeM=j0gdh>RIgAaRXQOfQ~>0X^M8*QOuEhUq_}_Q5BBT{iLx1Y zj(^usZ?>bh6!#%ofA6lLxCWvH6WtkPVnA}!x#(mNpfMwY`XJ?2xS^XaDH)UOBO8{o`zml^apVfy=NzX-VSx3F;UqV7ANmM-dHX66lc9?o(gB zv*;71j3MtSg*KFwfOFdf?eQce7v7y8ikFa0dlgx=!_68pf~JXf1W46Z+Zl=EKs!sl zlJ+O&*$x}+S}AhWg+Vk*q0aC|D9&qP=2 zUjT>2kBoo!`bY2Sn$L^Tu8)%{6H0J}xo8uV3uL=*87G2(U(`pewNnu8c;|Fms*i8Z z4x<;}R4ghxi_fa132Z=*af5b(HU7zGJ~Q5}+)_fdYbgMtdgLSq#OE^Q_8HtD1)YL3 zY&s8HokU~p+qPXF|8mQt`g5u?icgdJnCY@PfH1HfKRpy7OmFfzV{6Gama*Gv>Bj5B z3W~e9m`9)hX&3YC7x%sfMnJK6?_#PE$PV+$OQ%psTS|_fEq@umefODo`oN3vW#c&N zUzV|f(}_(^9yexe`evr#|5yz!$2!-}7^I0}mZGg{A}x?)XV63zM_c>qjma6K2m|S3 zb=07-Y3>iMm;?=GG_I=6#U#2#4FNDRD(qfCrp~Z|u6}qtWlQJ?@On+XF_o(TY3J8i zJ>RNKQ;n5DnldW{Hv~~aPf!%a`;F>YeAym}mp+?|CqG$?4;rJO_@Q1#H7-U?aXap zwck*-3jnQ*>=oNEbi_DdppEkSM#~Dlk+O(+nuQ$yzWLF39Ms~!9fz`Sc>=1U5EM~m zFt-o)@#DI!;aSbKzXD1#)V6LUQPrfH3`Mv?Xi!lVLygJ1#Z#jP^h zSxm$|SKb=`{o9Yk4U<F+8 zbE~fjUG2CR-z!GoLK%Sqq+KX8QCvqc0{?IXh^FWS(<5U|L8=qr4(4F0oaE(l6ST4; z@z{IM#*@gPeF?FI7HUj7RJlVa-7Tu^Yii5XW@%?GE9qG!&h>8mtrX!Dg?Ax3ox6?z z7LLUOfp()!R*_ZGTi8;%8^hhD*xZ|q`!65I&sgjoT8d2_WY8eL&-w;!@1(TsfiNA(?*f`WmQWR&MIrp1YDRA zPLxa4?BMX#)_iP7oA%qbl;RO&(7p{t$4zLIK8z5CsABjGvq;PoC~GTm5($1MdadQi zyKHm8{%W9$iDGy*AdO2z(`LG;|H0Ko+E`tnb{bdsHkw^Of4C8^p$FDsC_uK=?3&ca zL_-!RGthF-#!jv?&i!%}#Sq50E#HGUo zYRkxmGv(*GUzthM<0D-IDQ|;ovTc49(&c+U_jbEJ&WPDf^X~Q#v`+`svf3wYzrzeO zvT4h(*O~HIyf;^h#~{-4D%w4qL`~>2sE?uxW4=07WNPu;WzeOD{h^j9t}Q&{TNHt! z06qgEDR}0($E4&S0>Lj}{|v?ni*m7#$@C%WRZ;C21kzl$!t563riq%F zc_lb-L4g%;XU)Qmu1iEXEBJOQ0oJ z;=5?}eMue7t|iQ3fd{+Hrb_GTl?^ml%TFK0zLrc}GFsO?FnrrQqs z#B)4{*`boO#aU#n_aiv+*x#w9+KHLUM${wMQSJzvLd_$ZWXLAi_PW+F#g+Enfmn~5 z!*jj!XkIs&J>e{#&nPulJ`;$+M4|6OlxHY**S5vaZh9~thT`L{+E&7}C^cz=+BihJ zrP1@BIV;<*h|5{GyjZ`vp)8J6jKG>4fdZth$!RMt`r;V@Zi*{(vE(Gtu_N`7GRo~Z z(wmMa5B?>7^X}77bo>-qH2^ej>TrVDw}y0;4(ffB6-xuhqbLg@$$RgX254E9Khvm~ z;h;b0rl`zn5TG%8M|zFuSP(lXA>v+#NXVAnO#EPHFCMsJB)+vFAQA#X7y4#VUcKKk zK)}mRufXD0sEoYGlod#k)gp>|o~>O`ZT?@ToH|cahUkY>7cpI3ICp?aFC}e%E^Q}VN(ep`xCE5j7g#~vglV7gY5wxqv z9O^#jA;(Vj|Mls1wT(&%l$vOu{5MhkH|5 zoZa<6lrYFywRJYJYvp!Q=0<`pga-sI>VL=VC~N`mwJIaX{7l6Mi=*-X9h{FBPxjy_ zPGYVh$1Qv1+}d&t#u5-uVS|BRW>DnZ9RIG6zP_U*7ynb_o`8W4D%Bhj!SBq*H6wF~ z-jB!K+sm;N88zkv*sIM-q^_}1jaAA-=-A@_O1ea+kst~vm;{h*q>$K~Ee9`FJ6*Y+ zGWR#LnkCQWjF!e#fE6`r5EJ=yc?j8$Hl+ERqOHv%*g}U~nGR6W+H`h#@1lb8I23uv z4em4ivt#cJxgBZMcPdlqr-`y;tnq_mO=@EuDzICsvvJFoX50-m%o{fj#}*PYNry|> zx0N2W!E>fxu6A^a@BQya!2JT9%cY&WN1^Aq4SFM$aA~_03huCpJpR>!YG?yC)5Y&+ z@%L9xlmXOcm zr=7uuacxxsKW$YNtjCeKdE2$|t6P5(w?ar{BM7u;buFP0Q`)&9uog9Cg|)H`((-=M zAD05C6^rB|9)SX+UBr`L-1^!W0p|gzv*7+?W$a=Qu!rElLj2{>{`mF2r{eAD4?!}V ziFUOW)fya4>MtODL24vL71SGz-&H2UHEOIavcP~hXiBTIVBB)wt{X`1vAt$`b!r|= zXP2N26gJlM;NO#IhI_}Bc07s<+D(%UICl^Uky2iww21P>>|c(&8fGd>(Ra%29MFjr z6^+6XbOchQcx}wq`nyV5ju3nLNm(2U4rJc#92~#*mp4JMU^!j@)$uT>dtLNGW3Me* zn-VT7GI3c!RE{5il^jvkKgt0#y;9f$|Iks?EF1qJNWefr1+*=?h_&_{XjO~xGxXv6 z(Ir*=eF*eDWvG}PU=&}Gde^lHcF{3SwoXBjUaFO(gINJcS<9S8L&Z2-Ms=D}yv= zH$6#NlEENN4XO42xKGR(>682+K;xRP0=L$fF+`@bjQ)i?t23ZHR^#qnlX2Z-6&cB8 zWI~o*55>nopI?{6NOXe(n4O;+s~fH2TPsI^qsm|!$CPtbQ!>`H*EXK(s`FGPxP_-B z0}Xht19bPQtY-xM7`A+@Hzg5~Cq6t8e@DxQxyl9z_<;RDpsr^vv!f1+Xe!x0g{wsC z&p{a)nrcyDvw3auJBp$3mlQPNiwhlp9Y%;`0$JhPF8faW>ZYH?jT^2;eOg_@KCEHY zw^+w4x^cGJuYt6$1aelt{tAmKMqn+EKmpR$^6VAYe$k9T220Fef#ev+Aq?`;;r;Qu zx1Nc&PaTZe$`T^~?1w`IId0F$Zo#1=O|hNCKAZs|NOMzLgCR%S>6BI}z3g&9lD^4JbsvV}G(Tq~wRK@ZP6seHz-K%1n%-|5sT(0ZFGy685@)q#)_rNX}-;+$uPbYT)oaJEqR| z_C*s`J^T)`Fzd{&9*W(gTL9G1qfZ$)7MSu{9WW6_)LD`} z^#NM{-T!Quir*I_ur5cS0BP%TT8o=nS0jK;u+yeIIW}E*RVPvD^XeD-<2P?U8T(JX zA2X%-=+u&eBX?-gp)djz{7^j^H$GLd$)OWbGG(m1IkHz7BkRsy(DUNvORAT$ZB)a< zw@9~cn=vpRv;;`0+2QXu>1EpC_bV_?bQ1?gZDh`d;JeVJx%%^`TlhH%wYsEvC564}Q@7`8fh~f64 zx=*RLJ%c%fb)CI)>i6p(2MWd zk)@dE%t2kQ2|J}A0uM;FI-V|ph(6tt>0+#yL~&FfKsDyh=eFHd*+)t-kFx`5S-2yQ zx9>GAbAc%bQ_$WT|Kk0z=T$YD5Pz6~r1}0uWYmtfW8cyFIJ$(48pvcV0JWYniz)CT z#XL9nR(+e+OL}R|C;FP^+X4_4BS|!5wgX5&7A#UY+Dow!s;pFJC580%t)SwhViI)gXG$-eHL+H%#NgVr-%P*FnP+9DmDPgn0z4}q!RI}m z(JD1g8CB371nOrY;PLJp6dymFkC%>h;~27B%?c{TuvQpAG3&upShYlfEi&`!`ZNYv z@Pnuw?WWD(U7`cau63QPZRBTY8#rf$boNqAKuG9@$!p@5cl{*3zxz9}8DYF()XbF` z0c2J_W3UyIk^@2so#HqD;6rO=5{v6BM&K+)pa5xSF?hvSixK!wM_@&O*%8o0AxRFh z0aY&gQ1v?78W)ZiV#55|s2N(0gj{ z=yE)C)ke^ws>qJS0A$_kZ5&GbGy)dJ`Q)~snEYbmFm2p}XUFde_6y_n z*HN{#3H6uX+ZIp}MK84R0AK?h4|QtRKV)r=Gq)1u_!>yiKeGTrUWY4am|l_wlm;7v zNdKA7z(4**&XCylZQBG-R$ds?l(j%@JkcGAzt2}deQd`otoLgUK`|3!O+X~jY}z4- zr4pGCt&(qGEcggXN9B87W;u(OfRra8tufL{IY*rs!aQy0F2uJd&_iwaP~5t`7CUQD zYsFZjqn1WS_o4B$`lRTnJdXlPY5kj=_e~AmMR%M5py!yn*PoZQgDiQe>KW;W{ny6G z*FBY23d3JF%fR=HtnReYs+P;P1Icjllqm z)A0FY#ns|fjKIY<0tHCB*k-)A-*Z0#eGq2n&u~Q=SK3bpy@vp+lyyq{{^azuuu;y# zG5uifQ2ejIJrOT{`bM0p%*ArG0m>Pb*Qi{#0-$N5ll!M11w!R8WpzF{c2e2095OQ> z6lI{BW|?w>H}z-|fHP%^@_GbfliiuvGqeCDy$x~KCBv~3^>AZ|yi+~TPMbZqoE;lT zte^X#zu3=c5FnV*7lx5=jOLeg!<0oOfKxqU0&oKPbokjHk5ohPUcpX+`~)aUC%VJ& z7Md^r;lr7D?IfMO4N@RBJrC>I0T+{@**T7qV3(Pc>a4 z?}quc6P@9Bb9N-2Lyg)SP|iHwW;TuR3?s5m+&{B+{c+Lp#ix1r>!y*NSAmR z)X^QFG~a}tbN5_YkMC^m#%54VhkID>%(AfdNRGB^$V6!g#RRALHhuXkPX{rJUA565*Iu0)7u1Xq*lKeN4iOT;q=&jNg3t@w&8 z+W9h_;=C8Y2oxag0+@v264v(!^xdxXmn=T-8Zqr-$&ZwmtSkoWQY1c)56r_&JGgW> z{@2To$4j5Q5y#6jF<)JZ4r@f1E0BY2XWKP3&X#29{ye%Vj;^hiFOv!thu6m1m)Y(g zCvCT+C~~VrreX{=KUY?!QG+%XckdaC-F4KjAmUn64+lTrvvG$2sDmd&t0Dx&UtA2lRBp&~GA^r^Y!4ti4 zG_oF*!^TXQK^mj&$#Exevt{b21N%$VDg`TYcGp=nXLd~4lehsI?$$w{n&`~L%@DG9 zpL9_*HI8zs;Wa;@*=98&U24hy>r8Bid_Rtywh53?NBW~VajXRN1yMCgjTEJoU z$x{<#Jsq4u!;h$Nc#FLe)i_-D;5xbDbv{P`;0r6If%>!~P+xuS&@$S$ETUFzB&K^% zVnu&7?KxyiAe+YWGv>QR1kQm*?MdEal$lNGw5-s(Vl(rN5@>NhK&{#^&atVqDem2S zSN!6}2jkj_-KtL`WiyphrvRnxM08pP2y?3Kd=6c4?qUSa(+CtG?K};9aoUSz1ajt# z=`7P1o!@eNP@7*Lr1>K)7GpCL0LPRd?cnlZ$?X5-!`I_T>trkqwW0-@BWuoBd&4YR z25CHM76lNUOkgb$4O4B7>yhXnQxA;vwA>~)NtCm<8nbKZyS!LBYvZ6f?EtOuN4u)= z}S59)7_=)J$}D{i2K3z#`yh5OYz*1UVM(I{E~X15z=w~Gi8r9K#<0^3kGTY zU6#P7(johPxskdBX;gGsAf^Tx6Rc57VmixMvxi!f@$4r{@zkLOtZ9gdKn0S|`YtlF z%$Rra*(T>T1q`*GXjK_&i$3e;iQ@o+jVwK4blJ|yld4=r)AXU(R^J*AfBU}p#nt!5 z6~o&>U#0@9Lx`-c<6)#A%OeV;oz2}B-z`R9ZI3_!($@C;6<2@3kATP<+N$h)dh@Xh zBqkRkYV@$>lIJ5R@RAHEvLTGP>}w_~xp$if`do8WjYI;L#s z`_=4&f!Y885*k|F&4LZea$s|G1l-g|(#lMaq(j9Bz3X`@*t925o3gV!3!#RQ`0<{R zxOxae4UpQe!8z78%#Br>brJ!=pSecC)Rzl>qSoyNW`{}nj^t&TW=Oi@N;@3L(#yHh zghKd(RKgmhynDm(d21|w|5-DhKGcrS;N+1i)skQV0hU3S?MarMep03u)LhdL+0h9B z0y$!C!NBjz_L8&5>l28BUDxrk@#aiiU!RSKk-_~wGCHh{8l@T{>A|Y4%!;MFFAIU> zet&B_NZ>hOv)~TyX%RI=pFu+X6)5z*_$7cE`d*y|ZLGl_YDp}Ffg9BZX)rC~v(jn) zuNt~(*n(Ji#x&LU@bd9e+z%mH9RqE1!{m|w}_I~$wlG=pxt^2O_1jsRz{ ztoqJ=BMgT>C?o>V|IzYD{PyF;_%mu9k0UeNM%xz7rRvjE&&eKxiSdy@+RCV6AD|_m zHmFnMU3xDd16TA#)}Uc?8-@DoB>-ptq+MVWQe4h@8-W2x%RP%!EG?HbfixFyDYeEwTG;uPKukH*_#%D}fcDG> ze~Hf;#}P3{pCWM9I&31WA|Geb*mI^NX=FzpnWf9(5Q?g610@a3PA~x)Bk!U)(wS3+ zV-N-Po(S@zXpUWEFcwgkG8^~os>cs6ABW;wGp1TIQO9+#v9`qj1qyu)7F2fxwojAk zZ}97Fe%IdpIIo(Zi-5c=Ms(RSq6BWkK-!_3A5(y)i75M*y-o4lXN~y%CjbYK^PU4) zsm+Gt{I~=SoFkS-oRC2Z9LS*fo@=KF&or-6hR<>SDyS7>X3{l=rW&3p-7teRDM2J*qA4f^ z-heFHy*o;A=k|yz&`)iIR9IYQrkC=0V%js?FVGGY9!MVe`5)1X=?VnS3DUT(BqD=7 zgPAh?*T7~oTiY1>7RKVYADoWYjyGbuJcfCMawxS%DY*}tt=5k+c%%0Xivkc)77zwJm4T@@ZMH?c#g(wCR9S)Ar{ zW!j?Zj+mi!Lu9pd(EQWx4ET}^NwPnjL!U7PQeYx+Ftdmbr-psNs4%#zG!s7pz4ign z?5?WJ$2df4Y5)#x3S;0T6)gmifAM*WY1jsPQJ1th!J}0M*Q)(7i$;*f-dF85?i)dw z`O0py88=c8GwVZF z)Ta<9=+7Xa(O}x+2G4u-+oT0n+1>?q0p`aL_NrPJ^>0uuy&01H|M$(0#P>E|gGyHb zLS5fdZth*{LfoeC>aGeHqD7TC~^ zw2sG`$)zWaQ9vUC&xZ5dH=f-^?6Q+-*=f+;*odP<6vYdd8mGf^Gwd^@_XGbkcS zkr6x38KlXDO*BXSia8Q&suS%wNS&AC;j1R%W+>@x=uF2Du7eqj78;UP;QUbol09{} zA*+U9#ra$pm*u^SaOiol*~CFIeNi#+-c5rI3N_BU^%mMv@w1 zUJGpb!0Z|`wHwg;?EXuK<3Z3IuR%lQDF}zu;bf}E9_nV;z_&~qr2wL{Xqom`BS>L` z-xNGJ(@fHNnX9jz)QbrTLYl`;WTIUjY5 zJ;h=~ZXAJg~bSH*G1!CI}g+tw*Xq^i$20 z>$O}Hcp=!p*<3@mA3xJ66UB_So05xCj7-@wlvIzCz?Py>w_&jPkK zm;O_l&-CEX+|En^HALu>oE?x^p7sTJ$`lLkK?+j z%hAMR2-a@3;au;gfaEGn_iV<8pO44)Jq>_%Bo;w&Y@+UqjYGLH=0>=pprl+#Zc3XoC3z#2 z^DNKTJ!Ud+%guu+?!f~8=rp062jB*JOPj(2_OiLhx|R1k&I{ z!8T^gL-F3yc>LkO9O|GNaONgr9`AJ#g{P`$U(r(vgSp-jK!K`lqT(jC$dttuy*A~1 z)ijsHD*!3x)|fHkt5U`J8w(HynU1@54aK8Zj>mQ55DroOQ%m5ZCLvUlB$+F6z=5{z zOfj8Owvr$SmD9LJg)3Y;h;b6Ib$ytqrMRii8$05kEcGJjVBK+#i#AbXqLt_ z*IHu|A7PBpv`J>rI|!Ckllr3GS1>54KkCmMo3x-*pZ>1>f)`Q2K2wbirOEi|cOQ&@ zy7q^0Weq|i2o||PjSoP8R)DmN-HI>X`!7J+#XI-Kou7jdP?n5aA~zfMn~|(AcTBmX z0$Oc2F^eFNokEV{#ZO-a&GDJ|;Pl6+`B?&e%XJ;x|J-aii9hrsm2$OH#G0EKGa^~M z+|g1gxJAOjadh&Fj9Phnnv`>3Y5&nFvIWvcoOM;rlIlO0WpdM5{>Q8+Nw7UQ zNdy4%ph6vjRQK;cX~v&ETZ&Tv04)H3dCYaU0$ZVAO*)QRDZ@56_pBu&P;$>SXLUt) z%m7XHM?lAjIc?5*jA{)4J7jmXDJVDIys?R9>7()8josMNn-dVDgV~qb*Eh3jpzGii zybx83E}lh2Y>R6%NHC}+WA@u*9HkjNsasE0davHx@x&8{12blG-a#*D}`Z90WZ+Y79$AW71nga`in%A6Z*YltssLM2b1O!2z-!Z%+{x8rTAHL$Q*k0X) zHBQQPq3n2G?4>yA1vLT%NV}k>qqvy$HUe^w_f}j=hCuDAvJxGZyc=j*Qtaf;1Usl$ywrV(z+d@Ml1A zJk*(rXFgkuKYrSbj~k;%u(9?LpC{`UDsWUAWCUH(`D`}bw?~7)OlwTgNw#2#egZe? zjS6H@EI_qru)!f@$~K}|`t``nJaqL)+_p7hYY9EMI?Krkq}jO!jrA)f+>bNGuBx;; zsZCR~Us>dOcrgPy$X4*qx)_HhZhNsb3gy?4_#0}|UO?}w_oqt;_>3b9KZ@);on1Dl z&*DI5HWmVj1oq7QV{QTg9X>BOz^q3dK?{y6M;7C*9hJBTjqR@=&-dR@dh1$<*QEv^Q&T()2_gjA& zckjL_wv@-crzneNdn;bW2waRKP=K_Han_4_KBptV4NHzKvtihk4Ae-{BE_*A$9uE! z(xKPmH*Y@^Z%rRS24fL!HApCIN{eVGCHeUcN*HV7Qg*_1Y@|t=Wny5a#@5;tjplgn zcFJt!jnNqo@3ziFxR({1S&wz*V=rh-4_-AMcU@ABODnTzAly(7DxQlG@&17oJ+*AR zsVS}rGDvgAPNEQr26Ijay*QahfObGa6KC2PF4UNaI%oPUZGn(Ss&CA)V(#W4wf{wT zBK~}|8^1?X{R7Y)=W82)q0p@hV5vfBY|7{-K@MeyS+hjT7Ns}K@Y5!e48JnLq#vdl zu|&a=88V1K#|=S(aRdmi8(oNpubznSLqTwR=`@<)(*7KIcZ&yR)C~UFE`mUfKLQk@ zJvtD=0E9a%T)(y-%$e%vK1pO_OO$P zyPiP>NIOr)$F-hnK)Gg2KlgLL3y?-ON14xe+7Z^v0sz@@0JD9kBK~l2F5WsF$gqt; zakv&O9!G_!B;D%iqIIjkCGe#Hwm?b0V<$Y7!I}ex4hl-Zq#r~~DxlbmMo^75fiA zWGv?6uV3tse|_T*@%E_?W4f{cN*QX<;NaBZU{P3&RW$@h%79=)vj~U*n)_VY$u{TT zKRMgxj0MAy3ApiCd{3Z`K+4%Kes=^B@LiD9eiR}Nq%U0xD$@iqdQ!;a=Tcpq)VH+x z^T^JQFssqUMy?)M%%~)gmapaFnduAbP6^Unmqm-Co6UMNK^UWb*$$u+3;H2A(ZKJI z!Qp=m^-WKFG#~FQjzawnLLpRMlUg7%W`OeofBcS)M0n?8<5h(tPs*%crX>12u36;w zmBA%wQ-+6b7^L=Lf0WmM6dBz6|9|%0gFUX}*cPqHgF$8xbEc9NDOr*wS(%EK&vCft ze)oRwAKvf2=VMt`pmMORoTx;K6f?z4gaI&l-dd}=XNI(b0a64&?$HMkn6USr?%Lh8 zs#dK+!}N8q#bTqZBS@NC&R)ojom1~bkmo)B{5;-|js4Q-82TOHZslTooI`O808O<% zA*<~|4X)rgMQQ$W4pgp^z`>W`M1%VMlrB3=|mIL4fO9yF!$dcPf195e7#F)co zD9|zj!uCx=ReNAv!R}a=wKbUvWY!@j66vN%QPC_%{vy4-H$cX|f(n|EW{iN1Ab3(4)~c`m_zBF7A;nciDg5{IG2vSt}utJpLnCOR{Mf$tIG+EUFPmK-!|3 zuH<4D;|R1+qoD|-HaC*bnsRYwtYV*hztjHm*^8i-d}C)pd7Mtc0m_j^=FLC3f%(Q5 znnS}wbMAjogj6QY0az@|_Dox-3lKhw^vB??vbF$kA_aCH6sby9lHw{M&V~Xm{@5sS_XU4^BUtW%uEZSOLfWfz6}#@Y;-R%^`z}rtQk! zD9}KR=5AnDJSWuDDPtC+?NK0sR!Cdq^9+vk_IX-dlj?M_n6hAokO0(cO$lBFMx*Ohf`~l$9#-H48!QY!9C_dJP%&59$C~!y$N?qP!DFXZ4x$f z02JD{4o}-F`)2_7OIFXa&XM;%sgJJd+gs~-E=cptZTI|Ly1RAv3N<8X7JL;%OCH`bZ1=6}Lxb8W zTLKDGQJD@p^MIACD`9Pd=yE}=i^2@}-7|AhyoA^389J9kCotd%6Gv@6jNWS!J=dCp zheb(tMYWZU3H{6PG6e$0a!c)->7qTi`;@&8C;tp+PE{y5dghIpV3)?0!>4}$)p{~! z%4A8k&8^Vgxlkj9&(RiWN6LnUb7$c=vhUe4NbBE^UT6<(9JH-{RU1NpfKvNeW_$(g zcn5hV&_PANEVK_*Hc!4SkapN3VZtIN9>WS@3po0s{qtcKNm9P7cw5nXOj_F zY$K3>w8b`K$@R{|2>2%Fk?5Xy-uVe4Zah6#=Z=XxtE80hvo&mHW&Hj1_yPONr!Uw$ z`#(fu;In8#iwbi}X!p5EREr)S@-)7>KTw*sBPfTLuo$xlAAleU$|mYRIyt*}8$ipBY~M zhZ8!Tk%s6!&>T=P0|$G+Ys!0tz(t`|0YE!rzf~`^l3j~lXl#});R%5;Dhj$nBZc~V zYwDr^Kfh2@b!r~H@Qk6?z9^b6hcKwkUEow)@{fy3=9$PeT5-UO#W$kN12c=>0wb#| zgo9BAX3EHX9&Z%v(=(tw9;w*pXVajt4ydlkDQ9$tyFx2*)$-bAEv;pmw*=zN)$Yy(X{>2>n!1!yxkpfSQ(&8Gw%0y3m?aC@({by!&uYu;**#_Z z{QD`JL>(Il@DLZG25WDvSe!&B$i@cu4%z&Deh0=qDlkDrmu4+27Z?Wrn286$v6{Cn zee3LxcRXniZ}^R^%#28TSU@gPIDgPA!a1~NCU!GdyGcH`a7G{jX$xmAk}Fw|BcN?g z5G``*>6$1X<=P9;_Xu?&{**Q(ZaRuEy2DceO{ffKWmoy2{q@rw0B9fEDfA+1q#^8} z8ZKrXd}AT#sUvkpY7@Z{fBgKc2lL2eM*t%9x}sQzM@_jAN2ztz2+^Ty<9H;z(7{IJ zo2^9I3k}VwAAm#k7_u1G54Hr**o#Vi+^FOxH84`Ce6tnBN^aA+HEuo#af6NGs2>)2ba25TOmY{5-)HMFG4o5#LK7&iU`D03j&HOIbQ)4IabQ z0oi!Ek}lcN<{+f@QG)^{$HQ&*LWA@+!JvW*{Dl@DXp2Ezk#BHOZBiY(&60Js%zg!M zs7e+9chyD#K=8_Qu(4bN4t!(W?u3Ncy6+gN@ey$Hv(guxAG)sW!`S8oL)4*)xu`%U|5U|n z=jocgbfjgUm60h$9TICs5t_k#u}Lv9b5v|pttr710JM|<0GBb^ejWo{MmQus+THSAVt?Gl~;}qs~QuElP6V7!-a_~3;oPB}3KBBoQcUp8jW9Iu0doMaQ@GUR=!k_`4=&4~_toQx}&3f|T%Vh)-kaoGuWb!?J zp%IADKc`$du_%Bv$8VhnlU$^hk&HxFhZ{kEu zj=aVcWV0J^;Oca`;V_pV5wWCo)^1ypvd1@+Y}-iNmZu>bfeaeG`8LueO=LM-?7`31 zo1yuI20JHnoD=d13CDbY@W9m}b1pLg3WL2gG z2OBmq4NBAT)_^iDFYd3{S2O)Kp6-Von2ZUiTbcd$f_U1`6yFQh+JrgbU!fJ4So3s&(uL3;Yl0(hM zQ5Pip5=B(-tdrqV^Km)F-5OZs(v(SOg&|+7D-*g5()?EsrtHpDCA9Hq*?QC%<`86{ z>9Gz`s*lXpsHYvTg;!78b_p7O&&XUzvT5^Y_1try=W1utL-zK`w!N@-!gfvO?JP30 zhCYfJ((*B9lEGrXMF#a`OWe=gmYi-J>(hSVyF_CSXp+=PwuB-08io}A9m{UAKi%?_ zZM*6^2-Nf;z=QP$g|TAXaxsYyu?b@2G-ivFZEOClCpq)Q7=Z+&U5rsoj&XU9fFgCB z{Mb2rLhl!Ez!8;1J$DZ{GFgHp{7RvaY0#7oRFB!;KG|V!?0L_Q)KA$|rfTRJtoNv{ zBsjftg+pYLn_FyR9V6Uo7OluPH$%Se&4DAuF~-?5h*(oBnOQJJyQ3U;tA-55S-W$j zW=}$D|0bxhEd@X;K)^wi7abUzZ3}cZIZSk^x`p4D_hc`;Z|9YUPW@8_iR9)8w4EzDTcExjlGJ)nQa`dk8x7o%RqRqb0aS&K&L&iqhOroU|ukf6TV5 z%+w%00X0C_CP5wPPi#@4{!F}rm=0KY)ANg8Q5U57AoS7!^@RFY1qjW1or6z+4e(Qj zYTlliK703g)86{NW_v0*)fx#dVM5f5SYV7M<5@e_Ei$X$6pJ;kGyc0WB79ekJlJpq*0QZPcfM=cg)Hv z;}wFOx`BWACic376owf*td$L+?^EfN=DHZ2o^1~Jd-nS+eRlV9P|UIbW27L_-{ZGYfeSuG;Slb3a=j9e_6u6r zPafLC0}+rD|C6>xB~9ifm{nnBf<^yMV|2PBKjG+zHD}D4k-7-dtFpRPI9}t3OMg99 zuxG!Ww2x4?RL&s3O3?sj??6KXUdJIQSmE_cUiU?i#tgAjE!~OtX2~vW6GUr-?!1ogEb1Prc}UYs ztc?aTC=;x8!|9a{(z=lFT=;jXM=&{GG6EMi0traFu<=VieI<-Q@BR{;&p-qUu|e-M z)otjBZ3<3C1DUBh9F~KvllJV+SM2R?-nZ|or;xpvwptzzGm6EUvBroXC}t;mqSYMU zm^t%Cz228h)n1Bb^K-78r&mJ+QKH!@DxzQr-j`+1wYCk^Chf+)Db%2q>>kvjtw@(4 z2Z7=hB1Jm#j7~D+f_flD**#90JmzTx6dwq9%QGBwd05yF`l_6B`~^UhWus{c)bP!r zpg$;TQo3G_J^)q&_E^UpPlCR*ySfBQj+6F2ghEcVq2$Qy9Jr7Yi6JeL^6JiP)J2d^ zOF9$nlypiuZ?rL7i9i|wBG1ES<`nVBP*s$*Z;YsCs0@neHxvL@r^oD}jYYJ2$f9w2 z84@MztHuC<*RQnkISLstLcrQcQ8SZFnjBuuglYl11LDApFVIo&;myCWF1JXkSwS7WHZWJejd$=_Ls45KJ@c&3iT0N;^vO?I?n@ zA0En>MI%7#eZ>8gdt9NBwbhxc?CD##+f!HHZ|ic)w4VvgkycHBhW{u_6zjSL_QL_M z!?<*eix^lWN3tIozl% z@a5}vVEl+xkv*&NhqCr`cS~xh2a8t>Sig!{{ zR0KLILGtrn>%r#?)Wv@MZ0T#-6X=6>|4Os91vH#hA0s%$IDHcv9%Yr8RZ~|Q9#fHa zUgs6;C0_y)`>|8V^k@rowK2hTSOn5ASCZC;on?{nq!@!wk!Msp4a^1RVLJpqC}XQa zJf;kX{YYcjp8Kw9Zy+Lm5;bYlaM%g++IXEbMcST3uN5G7g+$gnHiJW?{3>xh!Cc6s zdG>?va|n^;Ys7SN)>yFFK<}&>dkB5d9^06+>yXVIZH?nRq;V1ixKr-^&}e@|0IYrU zjNp~}__<7))(Fv23EEw4lS3wuMvK54G#~(R95Vc$K$`!>!!-y%q->l(O^TiTjITL< ztf0<`HHxwz-mlT~MzAY^001BWNkl@M5x)K?eza48`z9Q=*KB&1xrap2rF8>mm) z22dUES(!#gEpJy3)NKR;MTC!}Ajph^gRiBJL{~i7Q3Hhygi5YZ-7f)NaKCH&I!YlPiq(GdFMqXfcD=wUk5VYiyP61^B#V)D@wA z37y$c12hIlY04hiG-UU$%G*ZtWh)`0mrq?5(3_UyWy>E=vNm3k}6Uk;G>N z+9>(YtY%oFWM2f+A@CCfWF(NptOh2Z{T=xp+6ciq9|Zt4Qmn7;uiD+Kb9Oh>Jh%4E z*dW&{U0?L71I10N5$Uze$TE24y0*#V(vN^s@wt8=C+oj#fA07X zyKVIi$ifd`wP2QBRgNO%cb1ACkah*fcrLxsBxk&+Banc!i#nXi!7j@YINv{rj-#BF zAQ~M2nt{gCKn>bNY6^;ZJJAd675nVWE}O`d;k>|^X0Tg@`mr!SDAx&`c@$92mm-iJ zg^VH%bb6S5BM?&!kP1ZT6v4?>eNu#so|$NXnv%v2*AJQVwOKT)Mjx~Xq2#zJKO?6p z)0Ru_6fTfMLT@t6jMKLqzfHHYp$`SY%kS6f$l(SfSNKjAk#v*<; zqGhivsVeGu?~zB#sALQFJ=~gCkGAcl?`9xm(`S=#wg}1?C9g5r1E_kFBYa}eiQ&JIvx9*#ZI6r^G#fUh%P zgu1toS!IP%5n24<)}&oKPzB93W4}Se>#NWkvZQ)S2jg8F?rMNexl9(FOS#_s(76Pp z8N>-RRNjph(3g*6EqUW$#h%|+19f`Drn3+d5maKxkfBSb%Zdpip`#z3%k$}u9b0B# zNWmNb9M_dRghWP>0lst1P4-{gp0*p8T?-rP$Ex7~Q5wYO@7IY5&9@09=f8jvNI=>J z3|{ilD`NyG1S0h@#p&qu$oF)@Jsp}3y#n=L*qjK^{(1Nl`|Ibg+GnTs*qO`}qK_0q z@N5X7kGc;jN*ElGKyy?UjX*7cG>))0AY~(JQpqUG?~!JwAd%pK>;s%5S54!!QXqoY zk`|S0HJSxKxVB&qqZiuNk~f#l!g1#Nd7OA1s$3FCbZ3leeO}nlb9R%7SH`R_jBnZT zH!ueg{BS0sthH)IIQPt8&@m3+U;Tyvv{HzEGt)AYF4)QRh`oQJWq;c{WnWGeZJN@e zbdgnSM0y#4x@R*8>{ut}nJmh*)6SXYa?s@YV`RbD`hnn(^7>SC!+$v`mEw4aNTkpM zaIk*XuJ5neW9y4{@5;Qb2}+KnNveGS06|kd0V6$+!X%Xchsza2OS*l~7RJ0>%B%Qy zK-v#q54}?tbl`uSr#e*n%B_+en912Yu!T3!dSU-`2I58ocnA8YDJa7k#yUd#VNEL* z0#U7{*yprtuVD*RT-k~@vu4(o>j&#-88DD+KdvH&C6dl4^QmsOChAU9k2GFbR!A-xhKiv4F zU5m`xpcU2Znw>s8C+wvJ9hJw~pZbcK;^d1i>=8&n+QOcnEi z&_+lxBZLd}D*-erV#@lZPy?r0BeoS#JzU}>&8I0Ue<7cTnNN4TWrNIsfbQB>CXE?3 zbu3aeI|nD5^s_1&NS{Id#>Z!}_TqPw_92uUPo;+4en^GG+^UXDnHP77y|H=_2#Km~ z>dyyPh_A8d6`X5c3xz`JIES)eV8|62IB1~X9*jNPoUo0BDSP7T5!=45U~5{Ztx%n@ z0%%PVronx~2J2LgWQN!k{(?%I&KI*bS1#Rc?jX(A6aprJdDzy11t7U;}3y0 zYa-M5=|ga6Rd&Xk7W*|r) zjke?&TFo!)U=lX7duGsfAn^0faVS2be_92!<#djK3AtObLR@61vuDm?AbnqSQ4rSM zS_7*^j=_Swtw=4iN3Xfh{^PpswzYo)8mWV#9d~D5C$o4IG-BHi{v?lN1Qy{4Bp_`O zPFixwmvRJ@^MaG%6v8y?X5>l)KbetZ{LbvwGJb};(y4X_R#Z1S<2=5y8N4oJFQA|{ z*gOr{>y$mYbr{j>lnu6!K?CimK#6mFAMdpVnn;ki=JgQbc`XR9!6_?V5i++;_EOH& z<#?_LoSpp@D6ssOKgw!k5wQk9VuF{z4ZVs$Tm%4O7L5__f{o=y?91uAJqJhX-D6D% zh4ev@EiYMqigZZ8k&)_zNY*Id7xarNb#}BD?W=GPa&zQ}i5q zWv$B1*kfB!2Z>DX2FUIY0<@9ln57NlfC2@fl>ikgSpz5cD#)^jl=Yk(yvxxZe(F2@ zOaHX+W(9 zpouoe%m@f=1m_Cic=lfPi46WI$mID9ts4YuYKqQ`S_&Dps;vM}yK6<-9$a5Q@Th7_ z5#B1nZkgRD{Z{P(cnAe0_`7F#lgFhV0T&SpIa%HR32yoCon-%-+u$dkn(q-vK-zrIKyv;CJ_7FEP}o56JUSeLE@9axPalp6vuIz9 z?X&;;@eB6Ov7L6bea7k#4pC!heol2F&KZoo&6rseCJP|VGi07Ipu_Bar`!?ObFAHg zLnMI)#S8;TW7BGEM0Ehj1~#!`3Y5nB8341EJ#o#5-7?a$h0`v1>m3TAaq@J1f6wPyd+(K3kXD<+&Y@`bUsX+9~HGWMSFVno4}gva+zBO`ucl zin3hvQb<26gBG+G{fu7TU$)neR1xVOhAT`#7}lAQ>WI%P0Kmg~KPo!hLS;BUDQ-&G z@h(suoU28Wf*Wg27%69PfR!i)VF6g8l^SKcsyS)*uI{(TAr!KyFlqhmY3s}2UCjzk z#X2-LRdyM8I#p~XK#(Sp5@wh6J?SKRe+zN4}iLNx;NU4fc9Yv8o3QP9ZeFI3s;7%{k`mJQ(* z{$2p}adUCX?p~D!fJZBaA^<$>BgZw0*}vda^S6+gOQwHbMnGXZoS7h-Gr{$M`;h~6 z)-u-d{6xBBA47=d?*M9_jzgLsEj^m~K5wC+zI$`K_{f-)iX*`u_AlC69s5@<4~k#UmMy|gc9tU+^6U0p^G*G@T;1UCMwBXmiXHdVecAi3}->$1DT4oG9h zO90wI8YiPA@DAB}+6tVZ46>wY_DjQrRWYAsNMnDGhSjegn6Xy@(hk+~HYH$$Xmc)y zOcnzSv^4^Lnk7^g1<<_K(ZRU~BWR{hw{_6u)VH7>$;(kTjrljw-k=(~1Ztx9EGr_y zy#%(1S|s%2D=;y~Iy5-ws+$b-JJNrp@W*Sxd0b3{8RH-;ujdo%o2zj<#C577=N7pt z{NvQMN-JmI*NgVisiwVjtZttpBQg#*7qckvtN@X0gsV=V9||~eZD95^%JtJOl}{BN z)*lYHnD$^0N!b?yZq%HS`Z$34w9Qa?d~gkfL{?^O9oDP?tY1ag2SsZ&PXa({9Az4|hB*Jq+wHxEJPDS@xECES`qa;)f@j$k@-=&T=1sTOTs5Uh_KFyH|97 z(j{^32LFdWiQ-$VSLA+~!Fl@|CA(pCi~aB0pSHVJ-7LjN=F^;%>-+XOB?`&3CL^$j zMj!!ci)gZvOP!Aqa0w1>R%E<8g~vAxf}$A!w8ORU?YU2P*z0@VMFepS4L@fLfmEYjGE^Qh=973vPc!8^U8H_daNT1Ug75^d1^O4cz9w znmxL8nccfAXKO(t>WA~~Sr%6R!2Lz&o6b*KyB$7DN}HS^<_Lo-7p|wq%p5jZUMGbC z=DN|&$E;mW=k#o9$fT(@$ny)N1k#zN6O?8^pb>iB!3mzq3@B^%Pc*9DvA1mBlym6M zS5(xS)r#pHq}N%;h7=fDObdv$K-ZNh4Fy6v*;}5=fgv-vqMivfIY5g-H)&?&=nyrS z5gD@^hFkXgtxN2#B^goKifBMVr8eF-IrOSX!>AhS>cAQ|W^A0|NDvWgDhWz?PVXI< zSl?W1S_x6D9n4g6JyNBPXUcWQqjD7j5C2JdzPugd>oEv_&{+$t7RP5$I;p6j`RLp$!As3MkhdZk(`ZzkbDD`05Qi zR6T~ev>8#-a+D4yEeQ2uVr#{8gnseQJB`QPC{dLJ+PrbBLn5!sU`$z()XJ2xF2rll zsF=n25%q{^Rj^TwgF;lc?OTTI&Z}~$0b+lmie%JDIq_q}b9#K8vdT=oDAp+FKhWs{ zsPwE|P|LcM!=9Y0X9PSjAnG5Z!z_juwD(K~febSkc{sKNPStcj>Oz*-dt*8K`?nMJ z#dy)qLcNa$mIVl_Gb&AS57v#qE@V#>2a!OC_os3&##%^^qr7acj;r8|G|-UvpU zSj2fF5Cuhka$pE_!#pt?E}4AU4c7zCw+jW8;neP(E<&2WX>UUS;#;UcPPf^h7_8tY=Qb_DmXSYsur%j{v9D0e#4xQ*|}WHS42W4E}NY6^P8+H01CP zH->D-o(Z)2XxKqy@+$=TS~X_>pt-ix=MlB8zF;UDF9lMtN19Y1#WnRcvbG$}t{=MQ zF8lqB+wJPXO_Jtk>j38jB#&eS7Uu{gAZ>BZTXNNN8G*P<1Yp!XgaZ~nd^-w{uo-Cs z3K4z12OC8lo6`v!vzNYo+n)L2RogXn(565uq{hArD=_v?Do|(!9gcjC07u7Bir~v@ zzg$|MGS=R9sH^7ZKrUvr7-g2C9**6I8lX+tG26bWsABweS!|b}zeyIG{uKVz*T?2Y zhlk(6^D*?6J);-1BI=vQC*{z^0h!AdJC{jHKGQn_ks|9AkuKKJ0coV&icW-2fc`_6 z(?Hf^ECr#Ea?$?wT^WswQFmlZ)UcY_)GV^GJQl${ohs25;V6^l>OhbVyo-dW9*qZA zQ)6ao3ECKZpuIRqlrOjl=%%D(mKS{ccAgL?95z z9!gCL;RF-YDdYQe?>Q_?9_Nn0zc(gf{0Q)+yr__l=cYKW1W;u(8i>0$>|OeHuxZ`fO-+9Rn3{6x>GQitRxr{vFq^&T^j^&YVXe zf;5o^LkkA(C(OY%5%3{MQ|+>{-3S_D*2?K2WYG%tEP&cSkeNLJxKz#bxh*IR6zdaZ zL}3nnZ#y4ODVV7sB5jQ}1lu7fWQzvwQ=D_K0rCWKh()f*jM`JzKVVN@_pq%kt;Ly( z2p$ExfTQmV7W7fr~W)2}rwGBbgj$!H&Q=YcDtT9zhJ>ID*tS zUXpXFy(79nzL=95<`G16LQB`|L~6`l+4r9PZRcyYYy5zfv!IHxCPU7x0~`W0e%3*i z_o0#`HMbmrE$8}sqiC;B^Lii8Ub(Xzdz3kl(*w>H1x%>sNGChroVJw!jN8|x?a_@n z+lXe>BN;@z)dnqWP^uFNU#=&n*$cfAH+bQhureL&fhO7x^IxRiI%pBS&^=(f#}e+C z$`09AQv>!Q9HjS9WAr^}KvmR+kkshe2+zQ|dSb|u%068nrVEdFme3DNwT!eoX2OW` zaXoO1ymz1rjpSQpTazBQ2iEo56B`C?OK!?aX!npowTh>aV?5jKFgn!!UEJYH9>2f{ z1gfY58m>14+dL05unh9hE_~`6aKg_v3jp|ed-G^j^8DOL&2rZOhSEyfm&f$ zTZcZhX8_Q?IJ-|GA*6mdT`)S(-q4jhK(+(YC|m7)h8T^cWVNf=v5#5+Q9T=#vS?no z7SttK%i~4V6kU@_8nR`}QS);b3hy7^l(U-$0MHPXrb=2HAg&?lHMS1u9fW^#+>*D= z`v?f63237tQcf~6VWEaUFa&fekeIs?CtOCcC>+p)l_n%BOdKiPDxZx z4318Kd@+^f4w*aQ9&ex$p!YD#O17W1MsSLW+|Yoy(42xpJq{(uoISb;{rLJSwhTEK zx?;-T@|?Pd5_jj48x%oQCzC*MM7km;m{dZjJ+kJD*)7@@7L_W1+c5yMPtZ&66=c*t zI%{^i(T8j)>eG}dVaMQ>A0D!G%T~qooi@#{zGpBKqD%0iz~tgIU=cz}ghR_s)}5`^)|r`(UhKGXQUC^i$;P zQg&tEGfo`ZhA4p02~fJ-aDFNOAG4*J&mg=dg;~|fd82iONUIT&k;U0xvQ&AwnL7n$R(^U#zISr8x4L1>P9GNUQ z{&i$8u-%QK@6?@3n`jmc=NMA^qi~J~KuJo~Apak-B`&AGP$wt3uAdqKO`V+K;9vxZ z=HQ7A1{<9>Q3+PCea$8I+M%YseyC!5Ap}u@P>7n4Q@%fBtNs4jgefMsjnK7{R<4 zx;vWQ!h=xW!4apEz}b7$wb>65;EMqx>N8GdN9<^G(B3`Su-6Zk?Q2M?PoSpJ+ae%H zfIt(oyKPZe39q=SdeeJ}%V_oT^)1Ujl6nF;JbZ?|)fjvdz*1i|)+e&g*B$a=vus<6 zHG6R5fZe+?Z5wlCsP&<*UU1gkNB8F3QYMwKk!O1pw$fUu_UHg0ny|tqcq*QwAW9_2(3NGQNIj+Fsf>iJC|BRLcwkP$9FAxk(Y6 z!R7?SdP@+bD9Q|Pm)cD`CP-`IM?psgIlZ1%wUww(tKlM=SnEp7qK#CGcFWQ&_UAhu zw>wwfihAvS9M5%QUFp;V4DmmXjp)Dph9Uc`H8u=d0`li-J;~=TbOaKRcA+Dfe12h% zKwM?9;D)%JHWZN#Qem_A~(6ZA&R%jS3QogcKPWM{&NWaEc~NdSqeGQ*w1bI0AAyMQ>&41)X4+ zDjX8I69ny~(83`)jiUM2j->6y15JoN6m1-t4~SF;ilfuTycWb`5;FPVOvn1N4xP5= z6}e&rWdvLJOpC%FurIpFbhHPN{kV0oiFOY|cKfK=Rk%y~a8ERm;bkv2f;8o+6Z4xF z3wKZ+}a7QqO>+U;wuw?EzX zgx$F8YE-8olZR_^F_Dn1hq!(yMHiBFa44gEdOO>s6HRxXMg$ZReSgFPCE^N)I_B+ol$9! zDZ(3~ae-bG9a9N_ghs&9Jfri<>_}(xae)!8NWHnfX&&|@W--WBA#D8Kai*E!(C&GMl{xz3bILMH+ZqOlO<^xXZ zSZc^VIi0b;?Wv=oY##tx3C=KWnAulmPnb1vsq~oTP$)q_txIR>#Em=jUbjcdf^^up z{16NHD~MQE?3#YF-)$PUd(n??O_o7|G7iH=)eI0IQ==d`E1Hr_#(Y>G=bLMb*YbF_ z$}?%PCK0nM)aD?K6V`;2OrSOa*@Xjes^2h1S*$Ew>7Q`98t9n%o1?XcA6G6tWei8ZM({Q?f-uCqP=tI3p)wO zR>?4K2M0sWh*J@rE)k=Q-RyybG#=Cy@nY>77k^%pB+TV#FuLclZDlP&QL`?GwIAG1 zYST8Hs@Ud!0JM!o)B$B}8R|GnYywM(YhH_-5=0%bNizEqYfff2ZpphB!U%Y6k7o)* zc4f^69Mc;85oFZRrrbV0leXv4K=#A41qg)2Yfy+v;K=7$Gpcna)ZxY{rj!F~4rwJ=u=ra8^EZw<$1frL@W$b3 z$n#equbzieA0+vu^cTUF_v&N4TN^)3EL5%z>LN(pevrOCG6Tn2IG1+knNTCd8d?E2 z91FbyvS01ZWf3gkdPw{C zwi5iZ$z!%7a6U+L#)sD$Iswvu2zXox8DlLB@~qCL8}4C}UCZ8G1; zfQ~(6k6nMS{r>vxwyA#|U}F)s;r&1L2=@T@{rJPDvLP_4HzEHfsm&NMb^$ai;87DgsVWRK`^g?mm9%Wbg<#b48eKXnjN<% zt{Jx5K?Pcg?8OjHNcv;D!G2WO+yn?ImW`-4C_i1<_DeeO$;mF_2oR(*fFPL$7;hcD zhi0-R+fzmc?Yn7v>v+pfp#GztD`DP2=V7*^&L-wmPlLnF*l={x|0R3Y^;X=C4>l`+ z&yP`f1`ZOav^jWAIf#XwtP}GPuwj`ltVXIDjtbw*RWlO;j`0c8k zJ+QW5*AJ)gH_l9uMz(-JS(g^hzXeEfZCvYf2o7Wj{(^I#fVA1zP4~S&1kxOAhuj** zSU^q71vf6=ab3NU_kTu0B4<$-_T_lWp8amZJ{nJ}&au`+9*v+qsBv;%u4@AY)CTrq zSpW|c1E9`0aWN0yD+4&^{-?E$fC?ErQo#ZE((IuI#mBYTCH9{;J!+3$b01oRth54x z4XjZM7p>#PaBkGOl`sjZm?|4cK-%1_C;8Ncjz9v^E_4Kw&oB59@GZlEkb@&%_@$oc zzlz?#N37rCzg0wH&w$|b%$G0O-@kg*4$YjhI(7}T1NIsnx+0*W$=Of@FGl!$v-1Cf z%2{xJ^_(a_(Mj^_QBIAtun5w^m2p!dS&Rx=dGtbCpP#lTHs(-ZIFEj=o zv8mDFAteZ4P14rs0-}?YANCAevdt`bQ~j3diC+*em z8}?ljQt4S{Cs@1Y3Zi*Y!&pParsrnA@@fY;ApJ9F5VlXz$QxTS|2V zs=yk6ok>hY^=V%3D_ho=@HQvR#PD1KZl3%}9&;E0&%kmVqvTdsMkB5#K{K|q$EYu- zvT76nK|NxqQ5#DS+k4|#dv^C3`|@lHJ=I1~*IiORRWpuxjHLm2ifgeJJJ?Al<;5p> z=&+u#R-2Sd+5%~hb=n2iLfRICS~*O9e=TQM7uTvjZTrT%?J7v~vo?(Ytao4Zkgl(k z0V|&CAk1O>l8+=Ka3Ld*fV2x4z2vitVgw=(^Ih5_eZInbv@b@^t32 zL@%_j-nM7Ie$Dn&4%-ZRk9n^k$__hMo(p=NGId|{V!ASc9Oni>X++UP*e>oVL8 z@$CSwNa@j~u%+UtOd1>@LKh;OqwF{x<$S}d4%wKT~( zhz7)sk0R9}+PElY>&m-GmlF?QJ^U*NhtnGBBpDqRH5S>6Ci?!Igv|6y2V1t|a1EK> z3`A@|fkfn(0RvhTBhdVz-O(1hAT7kWgY(*{NQ>eUyfsw!fk&V(dA5Vfd+1$Nov^!x zTK4ocOYMfyl#Qk*VS|(S5b3`(Lpnvs3I|0=ryu$ENFJAd1R^cWvrd6Q5Q0;kcvXjC zz_rAwgA{d;7!udFAOLY3*@sV0HSHDH+^1u#h3rSN6x3QZ$>vJP00P0DgD2JxalNC8 zBiB|23!IwBu#;19X|8n8sTiqsnqnf#yzwZM=5JX)>VMZ|C+yM9gZ5kWP+JQc)n5t-TGsM2D5V?Hr5EvbnE|F6l>A zw#~m}@<>KtUPd4RY4bAd$w@Ee2z0@awi)gM{%_#7GsndDc*$}T`2aMlZjIUN-@a=v z?tIgBmk-)_b_RV|ocr!F&tYr8rbUs4hBlEP4J@EWr-9i6FQ9jj=1vP8SAn!pC!*|` zCmaN@(ue{|&8m)?H+(7&frgRB7$`qEdwgrju0i&Kjb7=5Gi&1YbL7y2-lNQk_XzS0 z&A)T9$6QK_yEy0aNVNadsj3KiV-hs_YHfoRPr z+E1jB$xWwb@IH!L^W0g0G>Y4}(;PwC#Tk+0D6<^_2Wg5eIatPG)Kq5EfB3rB!cvOg zGhYJK0%@Vv2hMQ=Vha_#eyEbQf1FI)8{fC>o9PTB)gh-YV5AjDDXUm>tBeRk3jvG~ zqRvK`~|8 zlFc)@73OgS5|B2JgP)xGmmh(+ZFoeDOM9%(aFC^E1)#9llPZCY|19bt-u&)8`}@w< z?JG2^o?^3Vcn!?}x}tj<<9AYp3V=_UwBR6n_P~F{!jTNRXBJ#-&7;YZ)>n27Kdi|h z$iikp<*Neff0i{S?Dl18dva@^ZCg@hI9N3uD>+vV&D?Pc z8IRzx$E+@k``L3!@1{pWn<4FtxeR#tDTsj-LAAXaS+l1%FSUDDWFdH8R`+`(P zQI6EN$nP|F>l_#)KF&N^o}AjCz^FJ9`!zDl-wil1>zR=_jMvDL8YuAwtw;=NVJ?G% zJO#zPJ(WIt3(eBsgyQ4wN*?PY1Y+P|XHkbpNq&ArHIx)$Qr66Eg6opYs58^%AT3L$ zn3hR3z|hx`AU})aMCJk4vz)9MMy^_2B!;k-PbujkU; zRdys%7oDpO{uoGeKpZKos`t}+ScxfMkp+~BA z2sFs4R0;EyLwz+{J1{_mCL$D~(Vppn01tS2c1t0rPQWvqHwGnm4chbw-f4b*MR^>b z&93iVf1CZ!o1U`khBtt&T@c@-D=QXPOMgaXZgU;JKAngJNF!}hx9)W)a zX?(^Vl&<^8Exe8GzK#mCX?y?BPW#J8FW6^icH2b0B8SDnPM0t5wPlfZ;aRenNsEz3 zcNXY5xYIx<$SIb5j_w0g%~UJKjf~C6q<~IN@gue%^^8g9mE%F^R0ci`{LW4saYdAPzi=1Vjd zerETy6dkAF%rqf6T}M%V4Yh}KsXNmi998}u)%BcS=2>K?y74dABm)D?xCKzBZ~+}? z646kXnMWpLd3wqo-_UQ5tnIT6d8&z)B}$@Z*`Wcugc{VJ%7YdHXf*YOJ^`2W^@R+V zKo)0S3V4(&k4m#n&n8flC=K2usr()_TKU#E4#Pfe*x4A|+OHv4!&=BUkJs#Qy(*Q~m&Yigt-}b! zM7E98?1`=YcEe!BRzOh{@<>?z!h%S9kIS--?BF2@Q_bDTd+CnaQIx^*yE@=FbI|}q;kv_G5Mw^=Z@Fky2M&N=*AOUF?GW=X9Xia5ut{l?i1eaR(5}n_ zRT!~#NYsOy0gg{coH|*g0`-AjHc%h8YX{o)*rrjtYkAIALCLX*teUj?xKV}-V9Z@Apa8Sko&~{gc?0FR2zkj@8C!mzp0Jw5X zW(I^Hjeq<6ONu-=Q_*4hF_0FW5!x~f@V&N?fC~T(8MLdANxpmCpl#pOXV>;a$q|k+ zUnd<>_Qt+L0s+kAQb@-|A!6=20c!JSdhR%TPc)wg&W+QsBi)gJh(OIj90CHQDRwfT zZecXEH0mJ<)tDPQ3%B;;$-KRMxQc*5+m1I1c%J>IKxczJkc3D_o%Rqab3;ZiWIwn* z>PTL%#)kq1go09l4Cf`t3)vEi=1|#jNo(BhU01XxP@8*Qp$vg__No+O(7BwG;B~`# z#v>BR;{rzDe4rK&^+RGJd@W|uIvF+MAI*>NnF8$yN;2^DJ{SQn?i;tyPJup~8kHUK zxGE!1z=vD5@2$f9VP5%Hr)gm}6F7Z^i31tXJ&tz+I8j{C)MjZOE;#Kiv8l zdX3%-A(3G#QVAJ0rXHrj=3H3hTyc>L7{=tI$q3AP1QL)o>mf@%u-HZ*teUUl750Tn zSlEGp0T9XqqEt0|$M8A!@SzeO9bFdOBZEfiXlx23gACM9qfv0f9^5!$_pU5LG-Lub z7;u{TR!|)!H!a_ZTnwjBdaG+j620e=zg;A1E~ zzItHVcAjn9SQ9}e)TlK=&~h#F=cQCjry74Z zWVW<3WYpSKw0)RHf4+=83~BxiP`Mq%a|}^Xg;Wcp>fU1JIH-&UC;rmU!sTbtWvD1L!)*&MRS;Y{W`p*@sg}Kr_3dj2(r~@2A^=sxkJdDT zq_BO(u&TH#;W-CtwDUmO=6a{sL%xq-P8nj@1A0s9Sv0#YR&sXT$VU6G+n%)h*4=JP zGo#pnv+S}5JM-&ySP5HB3ezqhBVJ_RBmrrQY{HVuo$Uy4h32Ns#WpB8d4N^_Yhd9n zLz!;(^dWoZvzP6SJ@47^<{7KyQS*gb90zlBa-ajHh;wjq;K;B5-$4&jal9|9x8h9Fw9K64hCixR{_icmHKy{tLyUmTkp z3!K}aLu$hUJ(9IZbV+!vF5wU7NX}5$v}QYG$@?$)2*g@6Is?%m;B(W+SR8B)+3N=@ zXeeB>z10%L8cK*V1Mt)7pq(+xD~HDIpU`VG#jE9;K_|ml($EMxa~M z8tYuUz`D04ty_`i_SO+8Qr|@1yBLIQV*c3No?3>dMujy6!EHfg)6pwxm2 z$pDpvLS!Glmqr#$the?(*MYqYB!#U#f;4@Eb!DXAvcm%fj$jR}*#_@+2=;oz$Tjxo zU;obTTD8rFp*#sqPz3`-+4R(%uWt#+pPk_(@4hG_kbty{GK|SVe#sGt{#}Q(a=ydY zS(yDQIsq{K5kMNFtP=Nd+7BPhqE)bwA8eeo|K9nMz3|nWb{N0c^8i3VWGQSWT=HFz z0kslpuIU?v*LL^@5oPz4NedBb2WdQa*v9A(BU>hCLCz4ITxIEaF^B=f*`)$ip)m!A z15*1N3-%D4<1M*KWG|rPNaq7J8-#VL?hw#pF*Ye7kT2$@LkCDiBj1=hPIKV!|B`c* z9Q)@-px4=PSHcZZ&j*`~0F6)^9q{aIdI-)-)1HT1^`7axO=O2{MzxCsW?ow=_%;>O9efaR-j)Azg{l?MOfR`4LLqaq&mM*D6&XGJ~Ovl+&P_1ZkodhMrKO ztA^Gg1ZgTvBkhb?5V+I)ywY#5KV(1%f6B1MgN>rS1CaJQ)cST;5JW(YBx&2BQdeu6 z=$5Rd6@!4+!B=q%tZ6RW&vn(oJ%e8@wtXN->tsWCL9}_#;8HkgusLH}OAUMK>H)iR zN!?aLNQ7(yKAK_|C}gH(kmsYZJ8blwq_dy=$e@d@$vf=4{pI4%(ZW9Bx$9OB0OR)d z6B#DWsovu`dQrN$UIC@InXQ$QBD15YdW9g;-g?PiI$TDJhZ)-s=0FX-_{ctSmD{-A za!yK4feBp_{(Ow^TnneNJlXm9{TT5z4UrCpS3u#1Yh zgDC1@bbPg5)A=A3#v4OxNyqawxDwwtPuVkHykswb`w!b!J%TL7j2sd=2N@ickjSNj zy$NfFuA>D!ZuVX3MLc$N!8?En$8kY@)K#eIG%|JQJEgAxM~9K+Y^{vCv$8$1A#V?@ z&)cRV6wOfolMjuky$Lq2|J+DsEZSDyEYOL<&|Ilzv#`FmGFI-aD4@)GMAmfC8KuS2 zQ3^`QZs}A)-A(T)a@4SjwMZ71tF0Fv$(M3hLXI<{!ytE_dsut zNrx7lYe?w_!?57q4Z`UnD2LsAK4P_v=*Zk7aV?~kXtF=q~_Y=D9|T2rM< zD<8n;*lWtPCu<${waK%!0Q_ilx&(@kk8HZb{&4elD2Q&c0rUXOs4a!Qg0GPs1K=P0 zE^(Ld{^sku_eJeIlEp8%aV}s45|DNQgO_~tmmh&HNaF?_7QgdA8l8dIW2Xbs;v%U< znM*kq?v=_d916hg#HU^3DMvl_I*idl5OsK(-KcTN0!O^+j zJGiMoJQ$*q!M(w$Tg-TIy$3kUBbvy<_9h$%0=GO=&X%JW&^@TJcz9hF%4IV)3Wp{K zTB9BbC;pc=wqNiJaxX*8gog^4rFEdwq)-BAt0{1TXnS@1ehMmQJ10uEx}Z{Ui(vkQ@je4#)mf!+2gBIwlyB2BZH;iWKvxxZbsEZ{-_{51r9G4O-qDmDZx7iFK|0ypr1q;!k(7T2 zP&}5C{TXa>DkGoiiqOO`lJDLM=IY1ing>b4FBoj*ZAELqwqJ9%{pXF3+s1))AeuvI zQcQ%f_Y)WLS1HiR9PcRrqSsJ=_Uvb`+P4!25&506Mi!YZZU)?#Rl5;tZF(YR za~W4%KeHd?D+^nMn7eMzUbf?J3(ok2g`Tfkv+sWC%{pY`zoChKh|0 z6a<1TJtEJxg#bnx0fH>(VKt8@0`mO(U4uR*{DYNBwKlcKWOjQZvHUSEG= z)>Nxxs5@fds|uI)6zud1w1{}^;Iw^ovSG(j-!qf#7bTV!-i8z1M7D!jTh;i$WA==g zSNu2_qVwzl0T*NP{2iZ*ppcEX`3Vo(wXA?1YD;b0?pc|($IvF?R|9BOg7uT9Ved6j z&PACEbh{v+?!V&dI2K|Lt_j>(CTQKkd|zDf{KMgLSY4 z&S3ZZX0iY!+tc>p$-14+4cat%@o_KAiihCr7TS#zW+hfcn+cReu4}T-2*}-Xqy2XN z(wsV+%Qg_8s$^_!;VS#xwny!utM9dSg_Y>$<~`JCLy^xT^Noy^xGe|p&r`+*KeE!8 ziJQ~tB_B#gfJ@K6c27;lB^iMQHUfcG5EtE$+3Kv1A;Z-TScSz|kv7kQ@x9!R>nKwm zw<&vP|Ht-M2!(t-b^uQC3}|EkPJs{90+7-|8)zA_(KU8uI0t<5(06&k11t{rH zds5N9KqKPL0BL=&!6l&9-o89*Pk}miE0i1o4MocowJ~{Ixg*d+-8z@W6;@#ULoif9 zqwCYi_HKQ3)fFVrdxAZHMA((i424wOi> z3_xEs2Zese#Ge?zE23q|Iy6|ne@(%*ug%)l9E3zjx5PWy|IgQQ2Vl(3kt)gKNjQh~ zQUVel=!^FY-zktLie+*S%;g4fkQS6gMK2_!I@UXS^Yl8_m=r)(o^yoxE+eCLCcOl$ z9UAt+w~5v2LvtjKEk;qustSn);i)B`Bvo*x!zK37K$Z3_Q=bnJ8c z>!&ZGC)zIbX+d{1gj7{i!%YI8QD+|&o|CG`1F)_lLc)I?E_WTe5b>OMgy^iQkFcQ# zq|s3(%_oz!d}YF}NAIbpt{t}DtT0IJkE4gnq%ZD>9M>d*#28LJ@^F^RLHZj$$aBFT$!?2~K07$cw<5!Nh$dM=0rOQD{J z$9KUP|YzP-u3YE)pyDI4X=slO0)x{uT~LCVJ6=Jc8{-I0 z-}Eeu-Vq#YX0BBM7wDK5V=S+a~S}_f*#9(60Rv32~0J8a zOv-r%%AqB@aoJY;)9sJhZ&uxC%Rsrzi)Y~Kk+GG9isAJ+JQ)vrPEeQ@6&KDQ@ei&v zgGj#btVbXLX|o=(+lNO!1wCinYLMA?g(|1eFw-D_ruEllptZmJ#Fzd#kVeh}`RjCsNvc=W4#&*a zXKZ7C%N~VO@$kBwt;?6KR3AhA1S*HALPu~Tzy{_c_i(v$O?Q=&nHa&M~ ze5a4Arjqu7HIvUZ;22K>lpU$}LGiJH))CXT3!)<9pzxwem1>E+Wr(lWab1<#o}~Yo zX`#>uk4@!A1{HXkKqA8hxkyx4^pz&TeT0AMJP#t+a6|u$J+`rA_byM{2DC59!>0cIIun!v?N*se^O}u;bJt9 zG{W9j21q~JDA}7wn)VWEa}QK=Hj^6w>}KfzkAa#+%%${>1=4(Nqd*u9OAH1zQ+JP` z3l3vYm2=Nv0BwV9B|M1Mhx*E4D3;!_`g;5GZI9cwrN6Ra07i#=2nYzc^M(lH5f9hv zB=nj~g3o4eILRkEBanc!#26O-2!zO{90lK2^`92ru=qMa^R0l}xnNf)C18Wya=Kz) zmk-!~f4;;1aqt5>Ry%IZEMjt?NwEIRHw-ND{8yxN_9A1jm z;2|l%Pmq=YWupN3=rxdxerVH>-4Bqq7Jbo1LA%V=EAAA@k!JLl)S#|2v+yS?xx#Zs zKwe%DAW*h|YGmGefqnBJdM`D*Gl(9)dpcz=?4LqikJ;&V369F3#AdvPEM~)IH@;p4 zM`{;^8R*17ltBS)ksr|~sA5-x8uloh+TX6s!4Au!K4x+Au#r3T(nL**J+o$a_T=4* zeFSKy%vf+iRjUsYzi5x5@VaOSonzJ)i75aZufgWapgtb1_1W8yQ-2d+Z4dhUO@Y2h zh0!RyKu|>6QeR1dGWJ^Oy? z%E%mNwntD42#q)FrqMuuQ1&LP;$6tzXEPEwYGX~D0kdFVWx#gqov=5L*6sV$FoFO@ zyw3d|^G7BCGjr?}DOzRBigLQToEtA$=+>!uZDq{fdIg4-hKpfXcq8eY8@Hr&BS=#e7(yYaaoAryX8--gEB4~ciY^Wj`M-u%uq#8CAUdpYic;fwaJh_Y7YUEkSKs4h~Kp66aSz>iZnVNF~+6C8WhVMLIatn>@sR?ojcD$#{n31$OQP`FbRU*QBeBgmdX;NHF% zGkaz)sJP=w4b%H>MbXfc>Yf^ZnI6QFq@t(YB*?INh-6Hv65?E|rO3jS(Ab)6hIM;esK(*_Q~MXp>ZkL>&^@ z30$iIs&cqj*kqgZM1CxT^>rzL**!~J_5{|~n?T=P(k`R^*OhcV<3ga|nHH)@DhQ&? z9hD`$y?|(!fCEwsynvd}#cu@{_6@XyY0dGPKn6iM{+xHUq~X$5$5^Xat%(uG8c9`9 zc4S12*f>H-yQhoxcPKu-gO(&`&?~YGn^QXw*cw?WRO*Zsi`w;-730$7KrQxal%Qjv zzPi#Q0a{?okTyWjpMi~{=#9W{d2ZDHwqaSGWNzimx94l1HmTOj7_XJi?O%H;!j~gXgkY!+$5+XYBbe zU$f`FcneO$Nt?`7pyY^+9)bx{77NXQ{fMM?IY{#b-cRo5iqP<1S6!Fn#R5$ySf}TL z?doIU5OO>Uh!(DDowfVc715Wa&$g6MHv!67j?PUWR5*ve>!i5DlF-c-g{_`{kpZMB z8wKZswHIm!0T50*nMAbqtIDYT9RQ6Dflr}8z812lqU{j2%N%?8GqW2BFXcfEhiJD> z@ya(UwhDoPhc^yF5wBodLA4!(_yPf4lK~4Eys9vMmhL;dt4ZFyxJDof-*juY+~M^g znP)HPFng_~)-VMjNPSE}lxYwGB1P2|y??3+A(4LA7lIGLp6N{2WN&bNv3@h#5|tR8 z)=0qSA|qNzMN#B^#I;$vd~ndccUDWZH2|(m)AG$JNb^sl&bJ8aW6`efo3TNtK(fP| zJMp-;atM-O4@e_8Mrh`=N%9>i@k`p}jA}ML^EUhT7mI72f4Qr5kVYWo!XaLN=%AWF z&CAuCE#M8LnY~o*O@Y%I@}Lu_QTu!>YtQXIV;_%Y>|}NX901N!tZT$sD9ojG4l5UI zut6K+@o_9}v}f5Lv$$%R<3KVC;Jz`t%KqcVhwRa<_t?7P3Q)ld zQp=5DGvApdUm~AF9z@K@(ry!w_RAU96>#JPq+J1%yy(AT@J|E##h2OWv!3s}GLwdl zm6VtU-gL^w?4@0=+w-5lYI`TYw<&;f88~Aqcp|-bwj<~S97KLeM*|4Ug36c&&1)2yh5J_JQ4iT~*Owq!-kwsRfaj_s&_GI( zvLy;O^aMm^djZM&FM|{c zK09kRfgXUQ_=@(%ESe~|$f#fq&Z|YoOj2w6!&PWJ0P~f2W`d=v2)r7iM_$BHmHTJ%BX7Um{3DP(|O* z<@l4w>_@)dGpHUAVg|KKiRAvvo_P{{!8A2MpFIf~n9tDS;hEiM?X!tI zM3n|H%cRf}h-N)cTS6C!jKxc0?$tU6nBp@xZg@r!? zy+AA`n11N0rE)+eum-s7$Vx!T@y+i(uxCDd!FEsVvl{3WP1Q``J&2+zW(V4r;<14* zAEU#)6+qER{V|Z%qQrj4ptZ2s%Ppq(2pf0uim=HSu$>Im&f0A#W`6<#4Y!WaQHJ1p zP<)K}I^RHiGvg!HUd%m@vhb((a=$`mcr$P~I&>d6hU0Mh_NPYeweRcpB8uYofzH#+ z4q)yP>*u7?F_itl>N+0r>_JmGQb#QJ7G@|VXaeEo6@;JTI$!K`!B1HM{%KP(2g_yMQray6_#mG5{HqBtiJ zj6iMCH)T*Evx9h^)I+|H4Xx4lihi{+Ed)lSSJGJ~NQ?DE=hD7Cs7C)g)FI&jEz%)D zcg%uINhQBLYJ9KhtJ!wc{@%MfZ)?+Is5Juh5u!N~pJI(1zn$d$c>P|RtUL}F4z2>} zeYv`Hy31p3FV(l`jGF{o91wX8po?`7sOc~KFH#qIZ4K3~5d=|Q-_YVAYbRO|q&bD! z-My3c?R3A5vBiUSa3n@q?~8w1*i(H8CDq)g*6SJ_RQWml+pDyUSU-R~0yU>Z8brlh z6*Si%P%GF?ORly*KuF~7H3VuSI8I>A2$)HFB&?NPQIr_uP2l~dvbM|bJPAm<{O0uX z`$mqvdQ)2d9fR`_ehnKf2rucXodrO9>(FPA+J71KKHpe5JFSJ70aFnx;2^XJq~H`V zg2#$9Iv{$F994HT;;|hY{xIFqYuMaTaiIqPmrk}e4{R32+PK|3RI?|q8M0ePYqkQ- zv-?={ruqlpNtDCGuf6q0F?$#trOR(}FaK{O8zT)z-U8@5$Q&HYpcwvm%AP$iV|%8d z?g&M^HoS!t8~md60znm(@@S8w0Eq%N2e9PM366(z=a5MoZk)1hus;S0ZX0fa5>~My zG9U5ir1+BZNar*82@pIgZnI&s8n2Bkb z!u%g-4%u5ro3>-$jP0)t+DxY38r(m*c2UG5?!Xea@tJgbW%x^A&@*N{hk^l2#D;5& z0ItE-4W3p*Ru)1c^^)DO_7?jSGHSOjz1D`&c$@WU&T`;cBf}@0PvO?kFKzb2mV6=^ zfpAY;NU=jQh{*_CiV-*;q=j?F_&%3j)+2DStYd>OLu&t%lV98a_sNU)@$s*1EIk40 z0tFkmIJ2QIwqH8Tq`L5jTzNI9bfCq^8XXgD7+9dWNhm}2BOooUtQi~z`Un(VfLfKJ zy!ao%U!gu_oBHbZ^fe{BX9XnAvlZ~#*-+KbAuc`6?G8{RVY(}nfV4|tV87fsWH}+L zN-9kQnX)s8!hUonYya<_Df?uq0Oe6u%6OK74oVxDuZDyW2-s)`bVhq~yR*Aq_2h%9 zXsJ1An^Bwdc%B5lymNIjcsmFzp%`zyzq_BsS04%YKf>g&@Q%K(N8 zba?Y<+M-j@Lah?n541(pjDa{V*O!7HtXN{cj`=P&Ic}r(q}o+9*bo~Q4BI7JVHnxs zn?{=U;O3HTTV`rAQG&v5j%&Z?2xaHqON|d-^WE~}b64K{U#xHJcH}=C&6qVKQ1bw& z@43!u4Ir7BD#b6k4^kBwfEg%ktXZ@J^+9{-P~Bcdkn2PP^w}(E;#ez5bZn}(9+etl zA6h>p@ULSl=tWwk)>@y}2-2LE>HDrSeGJ&@cnq?k(KY@X0ww*vHMiQIZ+*4;N~IQzBU7)kO?cbrkpOutetAs2+){C zi#_=W-aIdyJg(dk=naNBT8~YLm50E(N~)|=y<#Sf*)Fb~E-*sHN4}b~Gp&C6vOZ)l z9hkO%9GwPz4Rx3j<%m>63Q5Gw3xS%0G}&pOB6^mNp$Dom0swM71qf{5oD6Pc14WYH zP(cU0E06lL<;bAjyew@GL7IQt(zGpWj$2;??Iv*BX$Rit9}VbLs07Yy+q+)r7DSg+-u#dj{+1H??7Ve$TkQe{c#d zOZu%=?1z{L@HuJ}xz?&KTw6S|r4G<^6(JZJS>%zT>zP}JjIu@sa=9Pthnc^u<*ON6 zZKL+P8y~PIfAyfPFRcbl%QFn-^v9l?g|@5U8}EbYtITx}lh0kTBanc!D|YG^(HGYu zAG29qIgd{7CPYISB`c#2ZP)Z+`^(4A*<1VGM;*i|Yvj3sBcdf`DW}x%P;4MfL`6y& z7gIVBdY+lHu%Nn3vu`Bcr|O5n5;^k(W*sslGir<=BZ9j;18Uj2tUb0SZ5xY_+BYhU zk#kA)GwdLY{L(RIv^hHIl8E+*vUB$X7+pkDmRzcjfUFkN$Lf|cD2)fvJL9s!Q!n@@TUi^~>k|?$E~iSmpa+(98>vAI3GWE0`ev zG*AP%*0R1#8DJd4m3aZHknuQ$Rq(5cti8Bz0vY9&oq)n=1$0Pd$0Vih^A29J)-pcmR+^g{a^ zr1p1w^EP_&oB%*$0XiH}Q5ZnI2|c2`NZcus1Zqt(BNRFFg_uCjrKO#op=`uCAT0>_ za&r-9o{>7wKDdj4ST7{bN3u=3d;PFIxh7>d7sn;FpMn>W4ZT~Kv!FzynNpr3dBeNDz>y!ybOYRznuK>oU4s^hT<6b+k#Fh2vJ_IWvH&wWct^|qabQXeyI ztUDtR^g1}tWbhxSBD#nT16sVMXs%>M&?#p|jM)q-KDM}UL&29SkyM-1_rUq{$egW3 z^Y#bU_SwU0a>yu8LrA3R{VBtGABCIT?ztCu_$)p=*AnhKzw!N@=K$IOIJEa%xp$BP zp9(bcC(ud-)|d=+TB`%%ZmW;DrbY${%M&4_^gJxW|#1eeX;P&92Ao zi?b=4%no6_bwE@{=1Vkgf_TxmJ!lZ?<8)^2v)#Fj$y3fJ{Q(DQcqeQrP1RlSYO~1F zEQ?mar z%H{K-Tyz4`F3K<_2l??4;0_z=X$U^ThRydYz7!X#xH>7~dY&V!l`m|BAzG#7OI&r* z9P4(xeF_w^*X$WItUg>h0U-vL6W8Y1v*`Ka=}#yprz}GE>g9xo*I7&~heNSEZ&fKr zL4A81yme?kygo#8Nq5Wvpe;fD&u>>16tTU2po*Lc6~z$d4UW8@Kdk2Z#=c4Msb10Z zD|dTe8240k1Z78@;^2VtcNdtE*t2X&6dBrh068=t_K%tbHRmv#i8qdx?bU;mwzoC} zVVfZwAWyfH?u3E~tcCRAcGwY&51k@Z73S`0hyVxUlmino8ZuKjFikizYF16#L>8BI zk4w<<;Wwi*_9%Kq{c2gkMlz5lM_(vrZ{5k}H}h;qyf-5KC*GQg4K55@oUf~hZ5Xsx z$`Oqg5$(q<<$Ryhv$9@vMA|OJnn>{`fUAN}aI{{uPsdXB{CCs#DjJe!=SrK{#==D-orPei3zzuj%RQLcI=+Lo;tuwjL}mb# z?DM8<8SJx#09wfg?Aqat_CIfX8Z3p|Y$^U`V|59M39n(z#x*n4Cf;SQZ`14d@U46; zyzYO-3^v~w@3~|po=-cTuX86LZN5hSia9U6+2F=1JLN!)4=#ZMX+7Rxms-+|Kl)p+ zXo-p#@R}T2ZuWIMjkxUVd*8NacK-kDy$73|$B{Ic?aerN?*V#3^ai3gB0!2VyL$FB z_uT)xz1!7(aY&<0+R)VRAvt2EMnI-pK;CO8RB#@YI6b-_jjLP-?~w<( zRh1D}81ov05spHQ?C+;)w)4=SeKDG`bJ<16o0Z@&q(FA0lg9?v5I>;kf||QJ?JGup z{b}*yc~NzgWeC9n-V=c$uG^q%3!coh=7IJw+x8iB|BU#+uJ9a_U0idK8`?KB##U; zn_F{*)2Rj$qs?f9j8t2=B#eyLymcAh-it2zv3ofmSAeLodE#jXoPhFTPr? zq@WdaLY39Z;fLAQ6aru_Qo~wY?C+Qy?yc;zCk0ayY(#-{Td#)K%=&3~}xgVRtXS(FSnc9P_fIsk8P@>n4D!Ze~MI@c;lI07*naRE%{AkQPCl zk8C$cW7e|hb)p{7C2Njp$QX0#2`2&OzU5o4BdduxbR zNGhUd31UcfJXNu?sUb-1e{6q*P{{5xd#nPAV})4>MWtwzo$erN<8)u*u)AZ-&E4gD zebe@Pb^}f)y{9&0cQ2^fFK=34cMP;_S!x^-=b$+P%uS9pPxoe$$44q2> zCpl{BuBY|vlvlWw$WW;XD^%v188`{x(T*Ux`r+v&qP&Cl`EbilXHb=x?#0Op0QAVZ zs+N&;XzUBcYq=_2u{r~FH;VeY&~NlAVHs&|4p|Ti}HL zVj~nqSEOw>mr&HXvj9X$)Gf`kCnh}sCbXrH5xz`YhshA?f)v?*!IJs$flM8Q(* z@y9@1EsHA+*dv?nwcl=i+HPO4(R!N&92*oSodKy=47No-ptIu!N^CcfmmlPBv<1?x z)qp40nN=f@fV5dP9rN&Jx;CE3?e|!i+bw5r1*Aq}s?EvYi3U>d;QthKj@-l=w%-eo z5P$FJF8lrGJMHr`-=QvzbvMa`8nK!p-zKY>k`1&+RV6Z-%zl}*W?7y zip_DYS!NPk7TvSk?#4Q3i?0Nv&Cp_-hnMB5a#?jeEzAyMwW+5WH)uH5bu^P6#@gOH zma-QQRPCKpDLVm~^E#dr7Z70}49}cEkO%ds`bTR}!yh#U{wTA~_xXD%@-f)KH63gW z^B$}{CNRYFLE0Q;`LlR_2GA$)o@G#c1oiRmg$-L~!w8;?YhS07dj`Q2od=(HdT?Zg zM35G%m0f<_seR#p6t0l%h#ByCIKkK8EBSs))9>_EiXoAJN-DX)7UsN(bws-C-qF1M zarcP5e==cO*!NqnQ z+;w5SYcS%;C1%qIBp_`z&BlDam$1{sJ&0e^BVybaI{-}?FKv|(q{ZkH69CGKDWk^v zopBJx{(kB!`_El3*~cf)3oSF@Dokw$lrs1{y+=haS-5){<1LUDfFn0#SAydCVs)J> zMU?@@Hs{9d*&F)p=Sy3*K06G>r%@HT^S-0p{$*S;`N%99fo_nd{$Vios&f$Zrnx4) zko}tAOp1b=MziWP8b82cnCP=tcVDpgPd4lXjQAKF2D*BLNfIbWKRxx&VMag>LpPG= zby%lHCyxu6pp46opYdkC3PQlSNCT+Rhv4zqdc{^W2chEFi<+CFZ7v`?06`Lo({(Bw`B=ODtiB)%|<7UUeemAIF4jZvs3Ls19Tn2{9-3K`cLW!KLl z`|$Zl*y1!f_)FJDcbgRS-Y(?1R;@8c6r0~k+BZXopNHLGQ04E zJM?^3g8HBWhz=fO4VnWs1|Hc0#uX%!*VIO!6UYsv66$;AnJ?cj*@}U4L#UO56n`0% z@-phv&)KIC5*f@cRQ+SrUe?;cytD&R0{`5Hc}^FjQJ+8TxoQnSnl2|!^^{x`WG^6x z$~~0F68OU}$T#w~8sZ_p-uk5NxakpFonMNpLb(^gG>7c%CqZi``Z>N_`5g!d@-`g#Sv<(bjx2vP;!5 zQW247LpEy+a^i<7d3$*;Y9x*|>}YGDjX-s*Ds?dg54ai;&4-VuXsfbiZEBP|c3xvc z=Z;w~H`A<>5apNu4pCrlAK^|$x&|djWRo9VnFT;AL9hmrw37ebJTcHNo!Io3(1kO~uqz9>sp6@g|zXzw~yOYl>xwm;qK-$#TXv~mu z2I{KwW2VdZQKy7+9zCl?J4?mKZ6w&F&{=C0crDL7H9c)==KjCbjAO4{U+>U{!WNI zY10Z3DAwZO?-!6m+dF>L{`Bcidwc&!Xoh;;DwHl)aX7YBd_04+LIxgi1ICv~A<$EYfu3kb-7 zj>rP^3{}Dqg{AZ8wP;-Tajkiz)}yIj>yinX+~^?2nj9MYJTke98-sS=l8il%Z0>F7 z0kr_nN*NJ+3GH{)WYY1Wq;&(CJY_iOI7=KQKAOHxJ3-yXWU~*H$F#kAU=$R{EcSb5p8>3xvEWJ$^}jCh?=@)t9ALMV znxfYdQHjr+By;W4nWl&XoNv%7l!Jj|O==_|U>^5VtPb0zB60XHm5{*sM+<(DwsZp7i6p9qyT(jk$Gojbn)8de$|t4)6=oRh7}g`VsY< z^N%@3%WL=rMSJfQYk^1X>#<%NM3zhSgQSLQp9?jF?VUU}Q};bspq_L^X4E)jtfS<5 z!a9N)f0%nJJ~KG%n`OS4vvRdyH}`F@f4l#ewr$N_wipbGLW>%{!FOoaxBG4%c3S_l z9en%#93`H^+*-F+^KKK6b~Q&cIoFSmfY40o;xZH}BYSNbNUrP{s=YP2i3h4$6@uLYmGg)+*hScH`?Gzr*i+qD`5JhFVcJlFm@m z0EzR5VAOYP>b2YY8ny^j85$3Q!whA6S!;x^+byd_wwT%^*|`(4zzlBZgU@iTFREABCZJ6w}rK+tVP!eV`R5M zN$V`>I5<0jsl*|-qx6HD%b4EwK;nT+34kYJh`Ydrq-kbH5UYlY>n>znI7KoKu3Ia z>O7~<;+VfHubmbTiVP95?Dbcuc5}5l*5>if86&=yLZK{wvf{N=nbfRY}jM9iU>aAFo;paCDvI$URH5=;&J?$5bJ~vOQJ24K6f9J5lFN9IQdr20KaoO(ZpU}Ut ztp|6TSL;Mlr+w|@z!@C@Ied((Qi_||CxIeBGG@6L#APfVhI|~gD;LuJwhJ_^Kkgp3 z&xZ3hM0GJZpM>)+W6!mU>}s&SO+;Ab94MYogX|&+QDuzIE7vX8oB$lN1f=XR0D;qy z{$r?z>wzf9mSV-8-B7YeSLe}KwSpc#q>@2xl36=F1Ihu0vFr+pXkGjJ-Jj6E!z0r< zZbqjfx%eC$0S9RwT;RGFNCQAqO|KeHGxNnCQV=03f@f(2q9OYxvQT@h+8am4?NF_3 z6WIZ*VKl73p$()m>NtmLiSUzC){JyGWaK8%kfYjT6!##j!lfc2y;x2?o+rlhGC*=Y z^)b6;pk|LkNaTJ9imXAi>z)=wcSvs&2&3Q$g?#vRJj3mJ#j(oBCuuTR^IEm!HN6oK zt+AcSbfDZ}GH`by$fwwcYe#cVYgkjG2vZ$v_1lYk#_X?$t9HCmz&b+cil5~)N*R|& z#M(m_7?CI#&q2_yK6m0eggrcP9ki!<|5RSDf%VY@I7|cB<)Bu&uwH^R|Lyia@A{=} zU2>y@L{vQ|j(Nb+W*ZRss)C|$K7~fW``@!aeD;ccHMAf7bSeUGG|uFtJD=M#bUYXTN#!qQ8(a}= zy5qx5l?H%?@8rRw88A**hSdHYi_*3ob!d0PsIRa=L}MYful<#gJ|4qsdX1c`f+erH zHUdstf+K*adkYlW7W?IZM(f6z1?G9wnq_SW4XZyNDxeN+*giU+w&PHCtU+;%>xLo+ zaxzG@31SIy5?fGX1W;2?9b^U`nfogOojS@0yU^Sps3HRovnp@}bd2}}mHN(Cadl1Zn za-n8TK8Dk7Y2Q7|=hR(qy@F%#?;QSDs%C9f8a3*h?z3Ot_Ke*yuu1*XTCfFNHGC$7 z$M}kgRyjew_lL0a?3|F~uCD0_Bp~gY4)=9>vA7v&^NU8zDS&MrzYAxz)#k|kW`Qt! zo}EW+&AUfFMK83M?W=RUZ3r^SwLBwNz7c0ZRQE!1FY4w-O(QBA83ht1MdGG92aNDC zLPlnK13h*sXoNa!n@bb+EGUjYM-2oE;p!(F0w5> zX)D#BOh*Mu++#XJ>2aJ~l(MeuS#Sa_rZ=`nyX`&9g7HsoVa|_$uRQ`Hr}BE47bWx^ zRB5-w8fP|(u%?D*tAdQjStvYyGnBWTs89RgWZlj+ksr>IK1?7+Kh_0vNJo_PzK)I{ zEec3^=FENJ4oDMinV^e%a{y8Vi_FU9P-naZEiCR?+5q*jXm|Fb-z9{gs1e9VM?KdV zjpH*ZaOiot*nD1JPaus?eGo|zY)D?y837M+()yB>z^tnahxj;$ISgw{fqNJ*J;3!tHu?J?MnzB{7MfUvd&)6?+dfZl*mcv?Pv5xQwIVfDi-9OlHeDX{CKcBv0 zU!45LMxo?b&mfBiXBK;)oLvI6tm@7j1U5)T6YbHP0K3VYu90LGg;M40je;hqjUn5Z zAF&-bF0_XswZAq!1Zo+Ke>+uiZ*TI#RzB9N>CHzyKgk zZi76I?z$NF3=)tw*H+`)z2C^25Pet+kJ9-Ls04VhUNiW~aeX5|H-YD(f*{6lW}$tC z4E0O9&)GlD*X(Q>AT84?X?#+UGf?$qCPUdQ^(6x^k}6}&z0hqAnTf7USI5C;o`k9C z(El>jx#dygxf(51?q8m@r`DA1mU7+tp`0o@JHR0i;k`2~=T~4bCN!7VMo;>s2MO5( z*)wd(YdRwk8-z<5Uzu0$ai@_FLL6>g-Oe(j$_dJbI@?kF>m2s!zn{z7OM6D`s|&0h zcA!Qe9qlyt=!~e1?w$C#gMz1)lY_Lb)R)_Isf9*y8u|-7hYQmbs~J$y*V%9G-eC`I zy5E+eB|w>)k8PFSFd`nua7QS33JFM?&T5%|$0Q(a{>|wu{YG)~37e_5qDTknF!q@> zU_@#h^7RnbN9Jsw{h!ZYu@8@YVPg>GsH4t?*#?3*_Q#PC#JQM_$cfTLE;;+>c;6f* z612Zg6C}x9!6FT^$P5zBICeoG0Nxi&rXd9O)#f< z{aHGh*UfD?NMjiaodXucFdIg?6#yEH{4q4%-Fc{KI}cXuLLjtc_0X+jaHj1bbWd%3W-mJKx|#jti(csnxD)H^ zhzi&YgGyxEQ3M^G+HhXuwkCqhL=^1q?y99BwO5(WfdJ zz-OwqGLQPS6(xv66>LLq!}?k2)Py(`;2CXCgNl)q_2*O0_8M}~{pwD=WN?Qd%`-pA zYw9Bq6Z^4$8SN`Gs08(_OZ54U&8eM+*cQFl9^6DbhrFGH!sFYhO?!3UnC(GeZ6s9^ zkd_#YD$zXSnhya3r&FpTS?|XnYizOLfvy13>4)%IShHGV^i44DIRq01U?Xnq-(bJF ze}~<>YO5`=0kqjJiUu!i)&^+tD(x$E{c`H#mK-rZMj!!c^J5<8$hQa)s`jSmQ7Hu( z$;x8fpBXebt0Tyx?M5%OKYzB<{`=rZb~ZIEr<0Tv%HEPT#u_2kFwh2byJI$u8#KA$ zlFKy?A`}U3I|fnO*PRBhOW$M}59O`Ap?bSnd`vx-4RlF}j52%b~@~C;h+}9hi zyH02;fz`ll8tk(uh+Lmw?gsTRQf3%@@BoJTqDfpq@J{PL2Zyu|U8Qd9soJkL7VPIs z8jyKLyH>7KWF}l%8crw`Mp<*g;xqy^y%LZ%7uVoizGuNR)(dG}x`;@mi@7uH0SN-F z6asT>Ufl#ROMw{15LXRO?1e;ua|(d>8@kdq0#QE*3io!6g(A3Vc_BWrTfAi_ya~;Jrd4YrVCSZC!Sw{mZ?-w0oA_BE`od6dxJ5kna%KlMV<& z5lEz{M-VsN0ZfjY(<6|8v^hO}bK~YaaiJKQkAHG!>TtWc8`fd0hfsrdq;ban^vSFC z2Bh{+rcjlZqmm=HO=L6_wMtpF2B8k&Jnw80sR(gX73^!%A*Q#}G2)sXsKHUraU;fNF7wMhTD5PHXye7{>dm5UJfXYHjnz8&E)^4}bASkW21<$S zDOLeMqp^ScL>l!nW2i^VL)fNdO*S=UZ5e$83K0M_HG#%Ft{y-d>&0N1JzM72BIVJA zZCs++>5wjlqd)`e*rd`3^*ICvHsvnZvs?P?;T1Vsi`p6F?o@ZCAO->#azNo|rj#k5 z;~>v8go3-DgUQcChY}p0&o~xICT%XR-Pv-_u2{#1!ZTW`(+yb*F%P(dBG|>6PYF8U zA!s6f&F79viqI%U-DlDERr>7BgA?}d$(9{}dfo`=kaVKeFHPYI7m{!>35Q$YKaVAEcAOO8J`8z`vnk_PDQ|ioQ4>bmI z8Cb@dT|?A^&iqb#bdv3N8VhIs9Fl;v`7@WZ_M3D-T67dAz2nX!9Z^I?E7({M)lbN0*?qoWC71l2tRaxc~gCCEKv7E~M=g=cC_wGu%RS&Aya z;i!$+nnDFV`AYWK>Wr<+Rp3CPX}SO**BZ`?fC3!@1~GUSeol|g*Rm;e@WGN1!Obi`)uSpXv8t0}upx2}YMu))T4+RSuWaQ&H{p#si zH}O~Fh613MLNitYn^7}}Rbv1wWJcLSf$E@ah0+92W34c=t7**-=#Wx}!8~9sP2lgt znFZ*Z)?{aK*wYDKB0#WQ0iP;FPI2JMm61$%M;X7>O9AOJ~3K~!c_k8LiDz`&yw0O(*T z)IFpL1l3QiqWhJl$NT(U@=8WvR*gX1sCiR-Ug*&JPOUxI>0-Wf>P5#GPfn#(0#I83 zrM|4~+;_n~Ia`I02$~dw#uk-)Xqpz`Z=aekfXm@~W*Jz`gU zB-s+r4xd{*+ib70AT@3`^_xA7XYl?dW-C#j%x93nktXa$NP`>e+L%qNBm2#QW>p^1 z9);}TrRT!Gzd!d5=HmCi?qOS)FJ)Y{Z+re#dpDPd*ekB$>8hR4(mR+UCpNyPJ=IER znA2~cqnG7Nd(Ydhv*^JJ>R|;9u_%?xO17KeZ((b)Xxy5sq#+)%#GcvuggtlDW45WZ3ZaG~c@tPK+_&BKIK`7I zN0E%MHnoVloTs>C;(D3Ahz_w^A8cmyBe@BY zfgmGEgWOQ2Yy>dv?E@d#?{~dyU!L1*wK5~96WF}4;mHY|etgKInNhsK3)fu=otq-= zgmjxMHd#i(@Ka!u;QFZD)LXab*QV{^l_^_N;H|Re0MSxz#6p4{j(U4s5+gfn9ujwS z{71$-8g#tnv?vEbZMu}^)73m(;DBHX04xioxz+;INtV$Zb=2NJn?j@1UK>ZW-Id!Y zB*1eLoCU!TNq%#^Fq0NkOl7jYua0PsItEv#f+((=3t*1-%c6Fg_&lD0h4u5GH)iZP z&>U|rkJ;kZkf=OJGYE_^D8Or_P@kq69eIWRyXikQvt}BT8@WzLz<7C@PcMS-F&iZc6F;drX7($`f0Chi8&dJ&v?QFJ@l zCoshT4YSicj*5;Hfv7{8zh-w0H0?1^-|s;$wdD|x$}+;)yY4~Sq_y7xvzPZs1n|xI;9m*25J0P@%61xcjl0e_ zq4;>lzPOM=fEfFEu1Bp-vIyAaAQqN^z4t7dXS+J8p-!jedUCJAsjb}0{T=1i+*csW zLUeYvv(8wdUVw7wGW*><&)UOb5?#E(nr`hl2%av!=}?rRKg}_knGlg=M4WXaUeMo(xXSEHewpT( z|BC8!zV2u;hf_Var@6>pM6>F*4^P-}6oOX~d8N33oGTe{iV#pHTAm&L>nd{2vZMib zcgr)t?ky6edFGXl9l#x&f>xdCj4oeQmfp#5w?-L`L8X!k8m+v3J~E7gbHpp&M< z{y{;wfOH^l7|bj1eP-#Bn#iAKbtPy0sYgH#urk_AN_q3)3IZdinmzXJiH5y?aNNE| zkHT|sbQyGuHNl>7a5e+8)vg}tnHPT^W2P$RtOEJH{X4IDiha1<>88T(m@S1A|2<1{ z_KP(IyB+lRe$<6hZIHD^YD|v;C1ugMH^jc6A#2YocUueHMF<{tk7cwWKlS)t59gQI z2PYkPi#6>G&|-(R1_0R^WM|(wS+SS*oX0vUYaOw&FiS>_0=%>0hu1}mhS4~?_EpM9#*4eM`+m2etd(kkx-wNz@pm0C{hNL|z2^*+66vWBp*qI#w3(;E%7tld~BhicJ zHW6PAIpgz8R zqK;a}5!*9fM)0lI_kYffdNHkD7&(?GFy*MK-z4bnYnmhm+}Ea zq{o38Gf!TpL#LAU026SGcU{Z zEO#j{@(x_gp_65xQ%j1&YE(Wv0h#@$*XGfP5(3Z^ZD8|EoJ+JgX3(fKi8lz^T+ONT zBcp}&BM|}Bn^8c3**VXa@kcgVQCI%S^+zhAgDd_tuN5HN27z8fVA1O zB9l9r(gyw7uWL7*##K*v7H=U6d!|PU~ee;p|p`hQC#x41{KgmH(WAqp%C9#!3lZoZrMH%Nn zUGemmXjAoE4h_|Fb^^4N_l`E~Z-*;rq+5VcK@V0j`k|>E1V}Ta7HTChlSao6$3xMJ z6knIt$2GB@`O|jDv>+)ofPPSP5czvLpKt)v5Fbg`>sA5)T$3HQN6?#zefc(LkwJra z0i*RQaKQIK6=jePS9rc1$Y|HI1dzrof;ZEh-t+U5OiXgpWCSi}1XM@n>Zo$85y%jA z5kQFbX%||3kW}xnw+>AJs8#H6y=W8pGM+(%T=<+wanXU0)6+aV#()j`VyT9R&mi`K zENl&b28$fHtR1^4W%Mz!SK>P_;)O`dH!XuYu4xcoXD ze1~Xm!D6(Aj=V=OJqX!tn<53%gNv?28QuTO8MNdxaRhuMJuECH4>PRTZ`sy_fic?k z8s>Kp;OLv`fW5MR%-%g(x09%QtPpGiQMvd?1Ycf5tUBV55%o;0w~`Q;-*CKMV;-oAXon(|>{Z{D1Fxzf7Mmni`g&aYtcfvjzwEaOI@^`5&)=5B?5} z>lrx36V$$wDNB>zkLambBb33t%xhh0G-MVv;1g$Y|AD?a7t7v@s-g5Eo*-n73(w(+34e34ZWcu1QLNgThFe={%^l zOHyO@_}a2Py&g)A=*zSSN^)#i%?vJ|2{{RL1o=Gid$bLDc*v9?V3v?hLJ;Ul)<-e| zb8G~Nk(jk^)|kaYuuKUNIKx=`q!J=*VIvUq`SwE2UPgV|`{!B^7Ab=ejNWB%vc(35 z;mIhd5__b1L-{%~<@{02s(>2%5<0uW>pEeLJYc zRnE4p$fMacl_0&gHG^lKU_d}DI{9t5CM(yO4ec2nuoi)vyZr9xUx5jnW3ztsZdVYC zQ$T-06hv>-;}ZE!XQW-PpakM{qu0I~Dceiz#doTXOf7p~VjXGzcu$^TrA6<6F9+R% zf|_GzGDydl^^o)pxW*`cRtMjL`@K|vss6}yN!nx4mgkn+ueSceezD~d+fZ0$W!jE# z-jG(4?-XI1bV#%^{HL2;*oa z=k29$-?YDc`KIj~KWZacNQX1J#0`}ORdVQzoH{j9d*d`-v8XqKG&-zQTypxPzcScF z3)LaJt#{m>g~sv&%OI268bs~Egp7NPWC?Bs?m2}W2-3P=2}qm91YLtex?43cG9H~H z2XOe8RKEzcaxm7QIAZM$B4hU1pdo-TWFNx;Jk{!ltpptwpLd!eDJi6}xH23UC~1zK zwPgkk##hTXM(pV>pk{^UUGn@C{D|~RIudouhMwxihPww|gj1O+$; z!2)H=L;(gs)Zbl6j1giwmTtnMqt}sf*1Ak0@z-FbC6~C`BcT18v_-CUHh>p^@`k~l zSwqjPX3@@ruJ+M|ECMPc_Qg3vbNN2B%Rn{_KrQxBW0p+fQGpg*$0itxxns6B?BKSgDz5aC(D{f>hkLK)~ zN^9+3@7`h0Y}{t6pgfru9ln!!jem`I;g-fTX_o?NkwKJTwJTgdGkkag(q?!9=ECKF z45SfMamV3ipg4Yr_{gAz_dEpThVPUO*=u{>wf}=G+V0VVHj%CXy21F83lMe|rwz~u zb0dxKPkpuHFNc_UlL`FTa0ic8t>FV0&f17^7kou zT5Wa`ieKX})T|{Sbpzku%%JZ#j;^;6P+ggx)sRUbSZimVsJWPe4Jp}~dXMcoRkJq^j-knX#?GL2v;u*V z8l2q>p359T8mMMDWxt^kiA;E%8F1JH?%kewcBhwriM7lQupG!SmB(kC&U%JG3|G(L zx$Q?i+HL&+YEXQk1_*46j&tFB4lHE24W5z;oZ{q8liE><_ca8qk4Rk}L%O5>% z(pfssIHZalkq$QHb(?k2%J9oxWGL3AFW6IP5X=Jb)tO-!SMRfvhGWc5RgtRlV^>W; z+K-LUwg0`q5Y03IQWmvhRBt5pM42kt z0l@+~dH`m>-cYdn7F29e25lcGdZ3z!PByGfi;6W6At(}STp~d0)Zj2Ik^)@x5QQWy)gnS)(WjgB_$SqNY<%NzqPM3ijTaroC}=!u~OovhxhE;Q6I? zYaYRp9H0FfRT^2>=JNb{di4wikk)p%c~$NeR05<8>9o7xGfQeR12OcUbNF+4X2P~E zXre|f4WQPtrAVdc>C^)ZYVQaFCSG61y(hE?(7i`Wql*|tF%hq!_WXGAn)(Q|>FyXo z2GLlT%$|}SHuHd;nww*9rchK3`}$})Z$}%bMP`c!C_e6mIL#0;TTReznHA&wG%=^t zA93(RPAxeSoTDxZt8Os``z8o+FdK| zumP;!JcDjp0i7VWs}jp-xh~2@PMXKM6OcCb6*K#eNI=@`o0D00N8bZ!@r`(=+;oEB zNdjeBu#r&Mp(DR1Bqw$8zH3~WA!;sg1;k#jb>v$8z<2{Jb zqb4D&XD{{6J6%l1Pc*@er;(D~-zYUcmUAc}gHNqescn(H{Xz8^=Qrly)mf-QO_@PY7AO7kzV1$OW1JMH;9ci3%9ZicK#0j!>| zyNhez&8 zFj9L*4%mNu@JFa8eQGCDL!giaDi{qX4xw|&%!K4?nObv%7YcEwJ3yp-k(Qvg)%qbj zvkZ}j)va^(^W`b~V>07tY?8GE+9IT*C9~4 z+122jlA>A~W#C*qhe8O}nm~hG^j*q~*{=~OcmgVM%OM)l18|pBrtiI0)`2u%h3? zPO;_`dxX2wp4}D=GlWJ+?XTnCS&06u&5r=6rR*^TTebqI^=H^W4YoynI^7CIpe8|( z0MtC2<{oyENxR~uqZ4oo^njN865K1jxjFYy3dMMU4ya3|4Xm11>lLmeP#pJFicowU zx3`W|?HmMY#u2nbrMji_>_Lh1GE2${3t&&QRoMd4VYwP9G~@feAX-R>>OLZ1#JWH^ zJ{TAX^C99^K#k>s)Ixi3XghmQ?MRl-frvL4Ruu88j;H z;e%DsSX87=aRyh=3+8*SOuWzc+tCf><50ur_?(TRA@R4vS^Mw9Blh00aXZ#5 zTP24ds;yFxK@H$>PSBv`WK%g(V2zKM*QZH^RfFT8aIzSLtN954D4vMt6V5$rUh|+W zuR#yBM;4R%n70kRE$c(jCC`=}2*{8^uMiQlEUHiS43BpZ^(%JQrSYwV?l}Eb8XJ_y z`ZNa4#Bfwl4HU-EJB|B%lY%f%dNikbQxq(K%}4L)DrGF^r-_yi=T<_ zO@ENwAW~t8&8mCQ3+>hgX3uXb*aM5|Q0IbRGk=e0nq+w?ETTrHjE?e#=%`Qs>dBEa zIRb8|7%le*CwlLZfJDk608^LLtsj zJdUb3Vk**Zm_;KSlm8AGW)Uvwu&TkX2QipUpu_5seMX4+%urR*YaU|6e3EVE`}O)%^23axyuS?@*_Rz7QA&-#WP-l zjkz(0K;W{BJ-Di9n|jT9nNb5JGK2b4X4RNY^TZji5$n=?e{q`^sBsEbCI)C)>!)2` zNZ{m*2njVQI7g*iwqD>^Q*DvrQk-dIS|Pp9Alf+Q^;~YDeK80jsc%l%=Vik5>*Mhy-b61=>0M|V_DWC3Z(h(SPSPFHJ?xI>kR5?4ST&M%RU<1-|=T2Vj^oG z$N$?qpS8y~J!DHj+l71;U?Y3_1#84Vd2Y4@x(JeahA)7$#DSUC@|g_>B_M4!%)%_c zhsy_P4$RauDtxE2wLyDf_v`k;H*eUX(NieOt)T}M#TP&!VWbJ4^-Yparc9GuVVS3P zCZOXOPiLq^MGLh<{iuuEQW&ylw)EITh;pt#4MCAK2TCtPQeRTJjHq#QMHZ!|=5Fk< zLKUZf{z|HTer$wh;`cO%Tx-mtdIa5TxiGirg?0)Vw0BQV*z1SJ>>tBy6fMzibBhYJ8| zBlhXZVKk#J*k}$^W;K$}gHp^|Xf~WCNUK{N5e_~x3UffERrNo5yrW8^XUZx3!(a?w zS?nwPsmqMu&ai1@pcvePpUudOKZzjBHneqF-J7u@Kp;hea`=%PyS`Tkq{Wd^_$3Gx z#aguls7-wx`O5K{WM;fF1Y_D=0iP)Lf%hdWhTtt}v}p#mxYFo+@Hp(DRRFfrt)jhu zvW1o`Blgu;+0JDKu)i{>%X4}~A?w;20r+vP@>-rrW6dMCWY#)jO^F#1vZY*Ca5}0` zigblf(t1@UjTf@Am8{)Ty21YK-rv}R8}0^mw%|aGxK2#~{kw@isVBq(iS$<7&Ltpi z>Z@jU9g%>v*)<=t?rs8#yI%kRAOJ~3K~y3@lcC~&zV`+-_fv9o8uBs^~CYQy%< z-Vf~$U%iYbk$Y_dynM=$SE$aVMxS0tot88$&mD?y6*+W=STAKjLfrwQUEwCY4#=aY zZouNE)G>9U$#5gaW}3tOY$`+Ed`k)03j;ud)IJ*sGnz{2bVk|0F^{!GlE+n{uJ_vc zu~!1per$xM_xoUGLZ+2KC5mMD0*N9Ss%6wV@W!(~AF(eI{sqS^Md28%w;GJwnP$Ou zoo(1l`$z1vkvydLdnMUj2i=93y+8v>r@v^$L^3f+WE8rGjO zTa57Y{;+;&xcfo3y|-_|ezj%5?u4S_VyKK3**iz3mh>t-Bl>duK3wy$2U{@C?CPt? zEG70iCLSfuvgRd3PpLvl8kJ|#l2m2IL39< z4W-gWFc?!djv&m5%u+R_|L=om?8^%kI|<6#807g|aJW{qDs!bEmNz{R1(AM(78O;0oe4qP z5J689!7za)pr#S5g~P3d_RetvwNcw!?FFT_N5MOn)%Sg$tyx?^iga0*gdzBkO|U&f z8)_YcjZy#+_N9TKun74;`vQGvdYyyKT0A~rcPzZce)YgJcIT>FAtX{1P^0dYSU#a7 z!$Wz#loF6Ov+M3^UOfS6S93Jy;kn$+?L=sT=%RK4mo3)TB*#@nFjUHeaT)|s;N4@N z+V4Mk!M-^AE!2`GoCc=N(QD4!)pnYe13)*3-8fJYO{wMa#SN63p3}$teWn_`PYLs1 zUO$BE=p)RWphphuXSOnE>oVtU`<6arE=slrcUV?^01dKlY<@r7`P|v&ea0=%L0UwO z^KhbP=~vQP5GTkZ+5GW>Yv=h(2!PQ{h6V63Ds!PFv{ohij)BmqMz~Z|M9dr%LYnHl z4S}xm@wtY*x^K`vJrBSJsr?$F>@>2JVdn8v)M6Hl_rMGo)wo1)!9C>Y*ab=brWD?& zNXi-$7w2aEBbDT`T8JLarG&FJCQ$!4WVa90?YT`Q&~2NbJfasGqv|2p;FKH}D`@xH z5$!5WQV34)ji~tOE7bw12l%6+qaT#4+*!K7liRwC5pZ5c+>T`}Vy2^Q7hK+4W{9i@ z1t&>*h8iL9mkd8Hp z9t7mQP&|zRIPd2nwdM0r1lBoRCvz& zX3)ceYJwUdtwZVk7M@TXbwF)L2ZVT zUK)D_AL|;PInsuegXgo)_vt+A0se8@)efR`U7q_EE1wpi?)lFCG1#E2Z3V@7MZOLN zSJsx|Y80+emWM4jz~tc7aP1msb`&*YP>58#1gFi=0+v5P)oN1)_M7p3dvW)$y?Z)k z$6-sx2+}G10m=kzOdT0G5EZdqGrKAtMmyVfsc+C(U6c6^PIYI^Bbq;edb=dG$ez6U zF?;Tor)*QtYS@w@Y?Sx*)B2RcZ%oNDK}h;0L1JP%W@zPHmCGg|?Wzppd_ReUp0<-1 zqKI*GQDjKT4mPW16VZM4pXi15?x9_XSPsE4b}@zNDkKKY2ZSGo=F@BAG6=9wKP` z+WcOLb)3-!-W>^bbL6UPu@Ic_hI7Pv01`#~<#fk(EEE>DiVuwy7T9;y0ekV=v-Z*P z3To2O3k@Ozb);Jvxh6>Baf)n<-o#a_0sx$nSvmv+a2*0M)f~{NVtol4q0-f2W)J6) z5DxE){cXZ$dm2NwE;nY+-mnPukZ7Eqx?p{&QO^$Qs-R10?J*Hw$ww}81bq7qZG{*VM7{EPz@smRvi9eF6ZZb;Cc?i63@T;j?R^^bOIWWK`mxD* zn&$j@Z6a*}Xt}kVEy^smU){Ccp1tugTbEyAJ)lE^E7bPQyumg7F|1?R9wwC&vioID z_pJO_0@7yXw9KZP>fT@iO+cQbM=d**KL&U<4*Bw<0BA4T&hOp@KpV3PQvD(ec+uH3 zz8H@QnG8A6u8Jg93c;a_FgCF)9b{%L&|ivlNE8B-4ln?~cK1NTc5EK7pMhGo1deeJ z6!qA6v`I<=Rh&c`@Xb*40NrNS#wXfYltP)tS4a-IvJnVWKX1s)`HvFE)JtT>Nw7*f zTckIMUc#EkfUpUYDlo8WP+IS?m(if~t-}>NQ7r+O^*SWNn)c?RRL=4Yn$v52{kgCW ziAgyq#}!4Zbd@$VV;4o1u!{Z6a-f;ueo)J%>@Ey-0V&%O>LFLB2kmLB!^hW@Y(r+$ zdLa}7p=bGrq;Pt%IsutqlOT;5JAJ?J(SWaPNRy+J5x8zf0M8Jg=6WV$L&&6m2jPcz z(D&;7V^uV-FQKm*Ggcw{PUluxaZ=`;I;?EO6l~XIkmj{cd7L8y5VklyZVxVP*<-77 zc2j@dmY@uvAk{&FxzLXh+kkc-1wUOFq7$gPZf0#(d{OPh6mFv55$N&_fc8sam|L9Sh$T2*qsxMJGrt@+|yU<8jO(ETpB{-uK&SsSCVZ|z1I@>q zvKI<^>^t>Kh%-F6#B5n=7}T-}iLiU-g?}R@!O3Rr`na}&ScpJTJxmH>$!kVNAk<#P z{xSqma%cpO2%xEO$ht&&H{`oAA`ajlC_;4@&ryJ}{mnjmX^q6%N&bo-V22}j=nMh@`r)y3s3;&H0UB0Eve|Ay&Q-ZSWGfMW zeS9sX_BZy}rXq+|5Dw9A6{Hs@MF9wj5vaz+VP6b}B$jqYR$g+^IX(g|k?(;Js-04P ze+ac`dxkP-T3@rjpK93AdJ*qa1cE^xf9Abr+Led-3{J;-O{yU!*uzg5LRG6E&42f@ zls%4&+O2&xG%gS%d&IPOc5R}cR89G{9gdHW$mr#ZH8p! z+IRdRt?`vTZ`q%}c*XXO97JSk9BM^0GA`~g-9(gwG-lG6$)NMf+9EH~PP6Vvb>1%L zPr*Am=#WnDLmk?t;)Ff19!-MR7Hu6eXk{qqQRPt@fXJYcXd?AH`pBdPD1NE*2hFpt z;i%LFOOn^jjewvM4IObm03Jc%zG;R8U=nv>mPsu|T>vIz-PCu6YXa}l0Xx>{x19&a z?akv8w!czBon#NDxa9N{&N0OTB)UP6=K0|$nJO?6A>(@+`C+2-CVXlw``vJSQ3*HtZ?sB4}H znI25M{CiD4dFc@lRCgK>P(FaPgrOJ=Mz>4s@5dV@`|I(ny|RDY_Kjr#)XMTHyxamo zL`|VOsrg)Xzb+G`No86@d&UF_*7AUdJ$C!T8|+{2-eEsqaR+MdOHv>88huy(b&wX8 zPy*8C>=I8v+MJ!bYjfkB2x5#Wg{PjmC;YVnNAffP+WSX$*&jZC#lASR8^R%D@K~`y zVV|fI{3x1piAd6AeuWOz(20pDO5+NVaRc(EziG-};ZN2G6`B*a0wD3}^(A`>O@i0w zMr;7JKji$=D^JM~yV4(P5CqO7&Fhp#36=+kT$h+u9Q884T=KCgjDXi}2n0#sg&>># zk~p8VLV>O-phK`-2L(5Si049x1=Io3ChVIrMm&4bONo(c%r|JVjEr*5*&sB>wZzOC zPEk{nXsUmD=GNg8X-T-gf)=h;+ERfy8;asMtTAQcC^&)#WB@tlZOaUbqIsxt)ofXI z6u%$Ct+A&QsJ7~(=9xQhSWW6BzK`k|ycw#_eJLY9g^^1>nvB5pI06zJ;$8s(AN8<8 zZ$vuLRB%0CP20DFW`8}_w7;Lt*ik6vP2l%B2Kzu(X>C4_RE(Ui6^Kqg_Ym)6NK;j8 zjN67HsE@1A>>B&SO+7XAz+$g1{Aj=NEQmyixVud^%6UCb`qlo<4E}M=poD_rWceKC z1^agjw8s$y`wmw7!Op1IYxw!DQUpT-Eg&eTPhd{_B*5)>?VrBB2iiQN%fMY4=S$UU z5Tm01gMXtjdoMC*_pH0qes|lGcJHDaP~VKTD~Jz!)TYimG)yqsj}89p{e1$`X7Ak0 ziaT>?<{ONnk}?*~kw-27eEtc0@5E>JU!T8hAD{fnhQYaSf@Oa~i6s;8QaCr=MUil`O3TUikl$Hf4R+t&8jj!k`bV_^i^eZ$zc*d!R|puBq6 zz|!n5A`W*aixw#=t|-WRcLzP$=4Ng=`rLbPKy#rC6Rn;Ld8mn~ri!43bL?`)tXLa_ zs@uCKAhi!l%9q1M8_a^@sD5e8!m(jFpb$Y3{*ot1V_HoaI%d*Hqx6WR&wnW5mVCC? zp{ZXJf3RNI8?c2SK?%ncNw;l|+ii=p_T1)P^g@GRO=bl3C*v@%JeB~H#pP&(%isbW z0GEGeT^xVs%~vJM&Fhf%l$hF?TZGA#=i~@@P{(VExL0t8aGL=K7|;5JX30LjP_&(> zQTuqXWv7slXfV4?Dt#~puIxHpkj8Bz2pGwBa^K2Iv2Osja$|Yi9$A&O`vKI}7i-oF zW#pWIC50bc+F!ObVRFpK`jaS{05jH$bnW3QG+Yv4juJ?V$ul+Tq|I@f*BG4QU1z?r|M%0s z*as)SaH;(+6~|69N5QKrax&SFI)!McdWZmMDQ6;@n2mPKrL=_(*v2;&0_fpzGwvJUN7kLAcqMP zLkc4QO%*g^s|JZoOtOM9R7aHae0l+D2I}_W-V65mP!3SNSG~}@2`=UMu_jo{C`X7j z2cdZ_*MlbBgA1N5BRG`&Kv3Hvt;=M*x7vB|0&La#$%G@ltZZxDY4PU256FUcvB5tv&e&Y~Sn%cj1tY)8q0yzZ5S31BHcvPhiYfeeK=WfI2kk4dL(ewH-+QdueNnDW1 z>z(x+2dl$>=V6ojnxl3@f6cb7%Gm?U(zYRAF-TCrW_i7;egrBneGOjM>yVPyPci}_ ztEo9g@R|04&DAAd#Uf^aCDPglQIGcJc;5c9=bXKF8ekudud4uS8D`Z4(t?k{`JwAWps+N**mnHv344Ca!)Wia66>lcrzrY5 zvXaRX`AL??wK!=4(yqlQ&-H820d5-$ZX69niYoTa@B#bdXRp}b4t|JDY0#>OGI^}f zdv}PY(ar=+-^rvQ;+8|DJ95HBMU(UDlI5fz-Rv*xX z#(jyl=1#uMbx_ix3r?SzPOv-Wo*(i1S5hThBiZFiVKsWog{pxm|{LLm>s@mif5M}%|SGi5ZjY{K4d z(C!AD-$y1{F$7<0-j}fR{!EO2a?NA}=JE&#Itf_u3Gd#+qXV3VEz8)kdd}WCZE8}y z2O_-VS@+fIVriZT4pxHq zfo$ID@+$k^KigrySpR@6%`HNRfoze$21;C)8DB?Mm^T4pFa2FtrH9z2K zE6IgdZ+*n>D2>>!Z|H@gL*@cROtdHV+8^FHjbi{|1a72~2|&U@rqeHVK$1)tArr0A zon*dTyyQoy3YYgql21)>1RSI}h~e5IwK29#hyae6T}>5?VHFg@^AHNzGhVV+c8`FH z+qC0Qb{vOD2%RFt5rS$XEtj9$$-CtKd&FEYj`NQwrD!FjKT@G40QUgnJ-RLwPXU`0 zGH4AeqZisu`BB@xx!)dGVYVhuMNyEf5an>%tS?xt@ z*n%b*w4Z)`I~3yBb4PZ+A+|(tW{3MFv;`Gp&CaCy?1Qse`_tEu=0~fCK}hv;_s-C+ z(7w>li2g&LBsNN)4F03{6z!6)z{s#*29K(vu|$KmB4>qa!L}~A(f-%{zeZMet1W`} z!_RqO!4<5N*W4U|1fWt@`f!(52_LzV-{%B zx0UEaTfSf0ouZqNfeeMYp+RxT0LDhf;-Uv9S^Z9ueQxTLcg06|Lut)=s1Z{ZNgI@>q|>))<_t5qoY!k3F^`W$RFHQfLf2MFomnF5A!l zGc!mkBmZPZ&$ELbVfSZ+f2*@rj!I#n(fSn+WpaXK1g^6YaF7=3nMon$Gt8#<$hrd| zk@B2^O>5v8CDHKkM6bPZJY#=5(XxZ%85Kpsm7t z_)}Re%ps=mI3$vU)Etqb-P9OGx8=6FMX42^@KNChO=qG4p?>6mFEn1M@UN6?`9Rj4?=32E(P z^}f)%COAi`{N~?DTk#B7q#t_mN9cP-phS=sYtBN(EM`|jT)jLVbKMivI2MHwgG?`w$IG^nVE=af8(Iz&WZd7b zb7sCf^=Ur_l4KV}$@ff*yXfxpduHBk8^b{**s|rYr}scaWZRmY-7-)|E$f5_9K%u3 zp^vp_KX(18k5+QT#UtQeO9W~Tl4vg?1>UK&1l!!ZX@~N5q}gLH9;n)Dhbndg>uLhZ zi<*6bHSF~OXKa{Gkt;#J9{_0%=9La>muu*{Skts0>fHvKeHMT$2UylyFWWCRJz)QO z$5Xa(U=3C-TV3a{zSQU?ncO)z0trZ)gOheGZ`mtxnoz~6Lo;#0-aWF*{(aXA_K(3m z*m%$j4Zrb6KWrp)e^qGhesHIFb(#Q8r(qV0<_(HT*psN#m_v;ZCG{7lE9y0~9RTeX z@cIYpRC0tvi_Hrvwcgv9y=NG?3N>k}GLnPL%?|D|K^h!>NiWNoyK)~Y-GaD7phjNH zflsd09sxH}oGxEObhb1B2-rJ-j{hK;8^(4eDb z+}v4m>HesKMN{eE$z7+wqtzO511-R%ELSktgz*Gih;}bRqx2`&lx_RE9=ow;#1^0~ zEmgXgl(J85z;Smw-k~QgVXD$+TlSPq?Kr#YT9|3|ir!YI^ z*fZA>xdJDQAWaT7z#ExS%`@^|vkh=aD+$n;#~x5df6tYfA-iiifm+dS>2KL$*x3@;B4UPwy=3ZRkQ_1H z5peM;`ZSUD82ktIZ)GspTLR?>wnM;r5P~#cL7M+n^yYjUfd4qaQ!9(UocN5gYESg;Gfs=r$^rT@vm1=8k_L$u1K4OOlP={*IrhoxT91GOD_=X_ zn6^U|lI%U^XAA|~$Dzpf)}b+b>)@#Eo9My%>_dGT02t{cRJsynkOJJumT5tDi;!@Q zc$8fgiFCr`TzSnRKdVAT`GFedib9T0ww{M1;$f%9mhvy2Q_4nI2YE%iz1k|u!xCq3LSp|Qpd5KPN$H7^o zaZ_DZwcNOF4tA!eHfS44;(j77(B***if4Mok}JT8`NW8jppr-`>OWN$rdtfkmSeus!J}LYY0EA-=J?Z z$vKLv#hDfSY{!rCu(|v!{jl#VmM`p03g<0Ag1?CD@5;h*`|VxZ?TO9XAY8Qsy2g0{ zx#TtXMj!!`nCuS#03ZNKL_t((b8pV3e8=6-zf8)-Xlat22`YBF3f;&SvJ`02IC{YT z15*2M?*BW486dTf&c7k+FKQswi%5x720*~gCB)UBH*9WdIL!acxP>Oyx*tX-3Br7H z>V661X$K>f68vhs!Td*m%}Gj(2jwk^zPAdd;P$O?H)tl8UVB!-shTP)Y8E@^JW#C zqZ%?>tV3iLj)u#d%(8BgKa8?-9XCmF)jEZdB*ijBzGE$07J$AF>+rtCP20Yu&$cdZ z*rL`DfEya&qLzhak9;oDq)`GKdQUYE2ylJ5l(QD1pE=N?L~j(u(ZQpG#w%-KG407q z4opU1u8%;wm^kh=(f)8h@(cv+O9s!oXST4fppNJ?QWjqgr_iLhWuKfc*qKTOvg&va z;ehLzWDpWgwg+ya-QqR8{>S@r@^>nX4q1EUJVd$YpI(=Qy$I)}DlM~RCG1hX^$WHh z4X*D2OXSg&SxBpoBO`)l#xPv6sS=I|-$$Oj|G2%3_b@r^GuNkaChkA7YdC){E*6@L zYffF#NnPz2u+LoSm_AhsDx5wAtZ!0njM0(`i z`!)TtAx1cPXuFs4ObmK*%}FDWfV6qOAUfN(e^Hr_?lsP+;aE55=B!$TjQ|KNmrh9Ekc%!ANr%_w8Vdtn3-87t8d zUFMiC?@Q$w4Q?iN_7q`(Ebg%%J*aN(ov>#iwf}R_Lde_ChX%p?hB<*P6obR)I%w2? z!mi{O2$zW$3!4@VVC-q*k+WFG7Nef?e7RipuP0Lz#y?U?S>s2wM6bwVl+eKu*Mf_4 z_3s_6$UQMdK zuNoIU*IX8BLm6J2lSVfRcDR^~gZHTPsqz&$JvatSh^Dex1Iz-2F^h(#{k8J|W=(tU z#y-1iVcixYoKe6voc&K=$F)TIq<>S=8g*r^b>7m&0g0~BmzxzRRX&E3R_s-ur{sjm z2+aEt=yFac1p|X^U_gaWnJ8)4vnH^IoK2PNqjOpN8)}QbI@`2!fJ&nX08OZ_h%T=y z{&~Y}Vl_JL$hdJY3qc*J18Ya?IOI-s3@-+gu+ear$k5s6`Re1=k3i_Uo`yZLylD?D zPua$vl=YDIh}t!(1-cNC-va|p3@UlX-Gh<5fZMa=btNOv-iJdF&Ck`TEfmleD39U9 zsMec85V2q<(KGGi(@lGM?|J*jkl9Gq`*o&3ua!b%aHL3KBxZVGEE?D?l{IGsUh2YYS zRM(&Jy<`Dh$@014V-t{e#X~r|Przr+31a?We-EU^XHpNMNB-*A>QP~eXLWM&S(W2CAN8M6(!A$w|L$sSv2X#P2(!fGC@`XZ^}k)FtmnBQOQfp!rz zo81#PPwvhEx`Sk8!bBx?6~zw4j{ptwE}`#?6soa^YOovxXhxn42<6a)Q+GR+F2N-Mh=ZU3Bs5JW38dq6;=U^U!+TVb6G7czXv*3d^VUZ^^4=* zu`L5XiGTuIH2`nr0Q?F#e=k%UZ$lH>CqZ$%Z&}M$riYNp^(-9=!~LFJ#nI27sB6uW zC7pbYc{Tz{W?$rp@;!_6V=gsxI*t3+mSHrA*>l)BCixd;s&*?{%WPZPvU^q(ZGAaqy`WfU@k7;E zZZr(6!Z^ydIuP_t)2Y_VWGW9lkqKJ%(j{u~BQc31e6SepYK)HNy=~nx=iYbM2SR_pX?Lv{^6-KjkfSgEYE{3e<#XNlY#& zD8~(-ks^g@8qiOyq0Z;Lz4qNZ_LnbTx4ol>A;iJdIx-xf6_Vx=vs`?_V*p0xApAqN zgKv1+03eMSIERcZ;#M`z0i=x8X0@bMro=t9auDUg>RYth!DGAi^n7lH13qVEMQW&uvTL$dG6D6?6$ zXtJ^4sMjuZBCglROefzm8G*Sr0#RA-Qhmn&!E7YcV}~j^`|t!5ACFdT_ejakVgIQx z6Hjs^Y>oC2(b9sXx0g^$Cq0;Y$i5fnVSHkjqOlO zJoQB&&3i$SKMe{ZfEo>13IL2*5oS+Rt0U@Jr~|_F$^On#IF=v|Kr4^J=_RQ_duVOZ zo&rd_r3bwI7Bv0nysMZO0u7#a3)1YdhN-K__NN=>kNUb0Igz}Iy>O5M= zq%rouj21zf)*u}k33#w)T2%QA*YbF#Xpy8T`sW!$U=#xNB2eKfK%8b%X3(C!q0b%$ zKwFnaPd?n0XUsxPh@Lf%g338-KXl15Nk$+Ufw?pS1UOY}P{UAtJWwgv2Pf+G{?Uf* z8ACP%b!!wSiuo%KN%F@HpwkXXyQX2H-Mh4-eQ{-N6&rx6hCf!$pKO8<=m4Ty;p z?d~NRTbBhLvN43csv2n96zO+>=yW**QbXOE_R^%Lbw-w*f{n0Ybx`C-p)`EBnzI*o z57}F2ntlSc)Z5y;Lx|jcaQrj-{jL|0rT7+bZCv$1bvCtTZ4a^)JW{!kkSm|m z=c5axb%HVcEGZc-B*HC$0FA$=0bw>pzhedsnGBL3Ti{QpQ2bVCRcs-$dfQf}>=`)6 zH}^wo9|kH93I4#2lzXjufVKdMM>i!@p=->;$(;jVDHdMK9H=HM)Jt%!VfUx{Cf5Z4 zT26I`4(1dYRy3MG9y3V#MmA#?KtK8hN^39e8-em#)lR|qR1u{V7E%ou{!D|DuRb&Y zP89Kw(?Y<70)4#ilFA{I7aSPRmGSyCmTjVKaJpFI#)h+_P|6xXKfZ!Jg-q`H?3nc- zgGO4DuYd2IqdGUyop|rOA%ZurOG{qK2qYsgyG9^7xR-W?C_06#I>bUoQoZ)wa8`|q zKRDGucC7&LMmZ0v{&nX%7}SY%q_Rxf8~&M-9Y>@)t0%C=8Y3K@LojkdwraO6N!gRD z%x7@U1NV;+)Yq#B+KJGR71ZW$=l0& zhV0$bDLa{22nGnUX<@FsM%#b*mU6M}OxmSET3j~0vR9b3wF=b}0!&MCEzY=@-u z1NUC%^?D^a>QOG8U+W?|=G7kG+5oN5#i1IAiw zaBa~{Xw5K7R}C-NZwp$5 zpmw~fH;VAPi0{qhNM5hkPC(lAF!PfFFd;rdDpznu87XA6rjn}K{;?y-puGaA{SWM9 z{fyOf6cOP=&&Iqk6|6-gU!LPe`_aXLzSs|qHiC*pG#DB188dLgW6vjdW<^lMUc%@P zoM+L{ppI2{Dq27KvE5P}1-)#*?q8O%MaZZX0VH$azflw-_OGIItqhE!kDe__Bcd2} zDwAm9%q?{9D--Fqj1WT513LnP!7 z3iw~&N2*BO_Sbu3D5XuD_C7>D3$h8FUM{6gPyptQCW`Q%4er|t2LMY|eQ z+hMe!ppbG({7Rm}DZTtZ7Yy(^0taZGn@b+a2qYtLWsQJ?GzU)73`RrZvmiKsGhzU0 z4XE~+9jYPAhUZ$W?_nF7z~P`xiZc5ip!)lJKyOVP&*zReKEwTus*kX>%H~5X>yG6u zduXNEjqDE!wPgotaqr@1JTRm_TH5n|I16)S-Hj{pYRLj&@Y%~cTFA)O0Mw46>GXTY z>h{XMar$2-@Fg1v)VkXZY4$GYN;cWsufS-W0`I~zQNSnX0pSv^vAV~A9lM}=!6jHN8 z_2c%!m#^CkU%iRuohPl91@M6*t!x=LjZjJ26sYq8=iVsf4}mnVMf18N3Wa1zapb-w zK;_DNaMxY+PvQ;)UXY1xK*^&deT3kvJaQdSzm~ zz?R>On+~7vHl~hEgy(M1lQVGy+;8v{uB&Q^^|>IE8AEG&8l&%EDW29s{!g|2=OD)duHfhl{BYN*O(@l3o2}} zSDAMja+!RBL768hQN~sP1|`QDdY_Hj-79mTITr1vel)8_;2?)u5JkX6%Z$-)XYXf4 z+lxWjR?0y6;ukM42 zpW51ZK#GA&4;nd@Jdxp_?|Bz24em=Tlw{NZ_K!5n_ST^Zs1sN1yDEZ?sI{hF6#Ha) z+aG6j#2%VI^i6s*vAtPX0ewtu}=j_^{tq3m^Lk`bD zn%7VIc_TbaLX7h_hZ2xBe`7zlXQm??=!PE9^JPaaeGN|PX&bTayWWOS$adQ|dBmo` ze^;YKyx!IP`TLjr!N54=`rRBQt{_m8i4 zdfBG@IJOeV4l8Zp*B>)+F1hb@P0GuWdZLURpYshT0cmqP-QwAJPa6v50vZueBb!QP zDXAr@kPP66fCosc#SEHWWB(Y=iw61;=oen4Ajrq zouJr0xv9@?WYhF?)ynKu#HQL*b5sBV=TQxTH(O`WK<841E<_}gx{&#qfXP{t5xAHU zPEMpI^OxxAPij^VCMNR=DqUtrtT37ri|K1Jsk~lXeJzY5P9dwnJ4r1S&0sMA+g;%GC6e#L^&j)@|ENAB2ZZfHY;p z>eHAvI4n0b_V)gd?Dt>3YG0h)W#g!|X<~DC^+#X17ebf#F_7kJdUS|M z{~&O3hn7MPG=3BcNvYSFyV*Gym!+vGduUY_*^9DWTb{OIG_a;4O~>06h@7Ol7)hEvqjA?m?m3G4SQsH6B#uyP5LOZ z#Q+laTKd-t6v3`4NSfHdnUDUZ`GlzS%xVSeAZ8M55(APG2snOQ?X&H>N9?`hO*@PX zZ3VT{**t2kqaY~n-#K-P7k*u07P0Xbm#~Y6aVSL2mKPiGXZIrct9_|!@>DflU{~%x?-vl%tKaT3Sj7iQ(xMD z?|8vJKJ+D0?r@b^#{*9lg880)*JuCM$oyk11P4vZc!jKm3|0>%gW!!>Hbp5Z(0~lu zGU!YG0s!rajU_b@j;dR|cm)G8Xk5jl2krFrD$VNLzCn_X90r%6d{fZYaZcNc8l3By^HEs6dZ9X3g>wN?-^*0 z+I9VtwrxupjbvN42EEWY-`O`Q!z`^DYr9Mh=}o*6H)>u>>5=m!FmR>K*W`MW5%`-C z(B8lrSWv5YpJ%x-cgWIxQ@|j{ldZrh| zIg6ksg-b~NXE0no9e`j1y=MD2*uUNMtUbQr9$S`$;v*G_-EEWb7R@T#*|;rB?Ac65 z|5Cg^0cn?F6ff&z5TrrtPIWQ9*jQi2byz`BybzG)#mf%zB^{Hp+iLM6vvENR-dt3WTKk|P8gD77zkbckk( z_QB{PU1KUIsYjOc{&^g#^zl6ns`+7q^8QSN-%N~2a$A^fL*6i12Sn@&}0eFO0`kjQm)#wTl?)^M5)(8Dxj~0>@xM$ za1HWx1k!lE9sv?$rQ7TSsPn=IOME2Oy(RN+KIUI?&SV5Gb_8P0m`gv1CngEdX zL2}p$q;Srm#)RE8Z1x<4Lhe{xvqkwyP#@uli!S1y^?VtHCMXKx)!d8{ioT{~hS$9D z578_m?J)sq^E6LAyX0_;&8gJ^4>!tt<`FEZFq(#hjm=T(F_s#zUDGgFdq?fP6Ae&^ z5SdPcMnt1V4hTUQnyHiW!$z?V1bvPPlu>ww&8L|mW38F!jb0P!QB4|~Q02jhA)P2t zK(ctfTpzdfnNb7@hV9{X1zQ92$zEtVoU5hQ0QelKj#Ax1Zz9nqIpVoEppOyvZXOfn)@(yb)l1j#IOlMOUT)KeR7(><3hRoI*BaKlUuj^1pM;?7QiL zQUBH5a~BSpE#;m`6rDY^yrH5jStqP{BLK*wrh6%BWp9SU(zOMD#7U|*EZ znq4B+$sL$40%-#3p4n}IwvWmK2+`zi02JLjSKVa)>z3y*ceYv|=CW8XA%rQ0N(iL? z3~tC3_Z1S5cE#PYnO`uS$R_K#2#K(2YpDJ?**ar?`22Ny9!idf8z-%jW44W(KLHwD zSY|7{mdrD2Gub811!+!UBdv@Qv#cc|NFxQ49BG)iX2S--pT8C=RogZV*}Y4fXtsC; z260+~5=#23PAQ5#P-LCdICsh=6{`)%X#uerq*E#Vx-X=rZssGKeBvLEK)5I2UP*>H z+!u;_cqJL{4pkjXaCQc4_himq*>l?7J5{%Xh$v2?0VrQ@%eV#2Da=XIc!{@C>KN@X zP-<3ij+o6Vu-Q507Y!Zj&|F}K;moenA_s;u49}OEleVfoVo#xA`lIX1wk|sf$>J$p znQ8)h>5Qy*OC#^5G#$Yp&qa_1P^j~Kl5hOZOfOgKw z{t9tf346~hao zghlN^duGf1_AfU+X!97cB4ex3u(J$fKpK=d|9rGbj8hQ6g*=3JD&1=8MBDIRv>lI;A_mmlQAn#}AU!GAD)lo&&pgA_C zY&8NGk8Uj6W9##F6(p_)+K6ukI<2$WP_id%UA|(! zSemx`Ru}D>!L}{Spr!0gM6OeW#-PwpTdH_ejI{q!rUrdf>v_&vy0pVciIF8%f z2S2g@yW+e2!bax9Y4=N`lC1wdM- z*2jBMc~PxLsC*EdToRq;NcTuU+UzE~8;C&I3H4lEqjBz}i+M|*j!`7W&+Az$e?|W( z6Xr7ZlZZI)tqnoWx{gR<6}`|>oB_K4Xjz*$sa3sbmC_5tz3T;7-!eev-C49a^mUn6>vH3>9Rl zuE1xZ=!j*`79qRFGxp};mVE?4kwXYJO>i$GxFV<$)s5bBw3*HXh^ocWzD62%lR-+@ zWb8tsu4xCAqO6M@Y0txclLPH>usvxT0o3kVUa)&sm+Y#(x($Jmf)>i1J;+%lJRc84 zkk@0d`Bd;5+}I~O*Tqae?fSYu%wRb{i*~OCABPlHSu27x%#kL7l4F2JyCyUC2MCG$ z1M$mzowH$(^ zMF@$kE3CACzx`QzV)OmBJhK>7T6{)y#~*t5JnGt5e^-{eeo2qkw21AOGBbv*ShEaq3%SDJoE*^37ZM zDH)@9Y^R}lR?6#sB+!5#)|O>JXm&vmPvFM~-`DW{NY}-bIWu@III%4iQu8y&+98rt zLKbZWik`Qj_U8$3>8~!;5jUFFCPuz=lbIG=H=7_!Y(!MH2n@Txq37grztDF&Cxer0 z7_*wB9!d7xP!^P$NHb-0*}*a$4+mrplEOV=?FOZwS=-3$DTFx~kmkH?0u+%(!FizO zurNSJ& zoY%nlYYG)$Zk7;brdZ8gtIGBilpL=wPuVa4S{{J{T(~l3luJ&r$6GkJuR(X!x?#rd z8qj(Sz%eP-pVhQWK9r2WWitZGbzn`0{J*TL?>T%BZ1H#hi)}xus3jU{6>QhprhRaD z%HD_Y(cT8?Y5|p4m)iy{lA;mJy|rO~DK^AFm0E?cMG1|cf=+Dj!F|ga18&p3rd(nq z!5<(OAqCrt526>=q%A^5?W%Iq?pR*5y8+a;mMdr{f)+Ls>f-U80?9o%atri)2riuu z%UpCUF`%=bkX<0-5xan(0$6tSY~pYBj?F{Rjdj_5wriweFMV^;-k&I=SLkBh{~|MB zxZkAklWOlh)Z)GIAi3WAA`|98i=Vk}iCDUg1(s7i39fEpT21C9^7fCGh=uLvi1N%1VQdtM!Fb}MGA#y zyCNWzldDC@jo$0P^kUc;_%hdevjft&NzhqF^brm(0U9GX6h<#JCT%HtpWVB%2#{8^ z8zCdSBwdrNF#LIU%5mLHo%n)Jc+qn))6PGKXQ*6m@|@CJiIbu`pJGAd0+rO<#fT65fPUz)W?HVxYCOWL+FJ%)A< z2oz8Ngf*FxqrP^+}; zn=>{0^RbqFIFhjw=&9DopjmOND2F_wRyVAfh2t$o2!R&_jPM%wFak9G_`XNm>Y&PL zkI_CmJB4&g=J@#keGocY0%pKf{b>ZBN_G!gh-@rOSuqH8W$`Z^bOv@AfD!{m*%Fo& zIBUj3P;qaa@4Ij%pWl5b0VTBria}Dt7yzwWM2+A(SG>Ql$d=z;VZ1v$L)ChwisVR24*#;U=&l|kf~^;~pD;Fz>w5GpN5RYO4f(~*+B zynD=cp03zg&^>C%tWlIhbIiNQb_|a@D1u@-w}V2D4D$K3nsGWMNRepTFlNJ;$&*p! zWj2wggIG;{#BN%YwkNI{Lcx98mLs!Vg4BLa8AG<8aB7GG9*Mz8mPaxI3vvY9$)+vs z_EvO@7c%={?_=hl0V-%JBFI<(!7ytlYZ=>l3W|?MDz*dC>c>)p*blL{VNc15{>VLw zAT2oDFrHLoB!1&_be^3W?)#m?wZH~Y0F)aa1WfR}EG2@QMeJYs+K4TIO}%C)WA~#z z?RM0utuEE@+LTxG6Y;=J!W_KU1Oh7N+z*wkJGo4$LvPn@68|CGiI|0erTaG zIka`i!D9p12T(iF$gBU}EBhzy`>8x=kNucet}5(v(8KlmufrtqUZfJU67cq8*8$QP zcqA|MhYFH?wis8Rw z0A+vr>{WZ^tM_c*)G?bX)~%MSAtHj!TFx|$fP*N>*3)2c!>1A8IYn)ANpnh(Gt%bt zu}J&knLR?|(Lm+oaAeXsa0NP;*NbHV!up`1cjIu&e!00|cP*{kaEA0p=W2WZGpClN zS){G=F~SsU*?#&VPtMRY0?L3zkjC0T)>^UUf%kZE@E%k;dm_HRReMxceeeL%2+&%% zr+lUc#k0}WBKvwIZ!hhs*hlCwG)l(?@2iS-4+nvBlJkI6oB*)YUO{FlG?5NjTV>Be z^w1rONEPBWk~T@oA_D|$0$Z~(dZDr1!xL98vOAWvY$YlIis(5+x5O17u?AER=UGJ7 z&Lxjz1diX9X^4?`T)$nTDW`D?Z8*4*{b(47GZ6Vn1Uw*zro*cAl)-YhVlf zbv%!%@FMmWD8Dx86!TErYozO-fM;hPlZ~f64YWkrTc=hMNJUDwoO=e%*t8hw4LRpv zsuU1#T9&EWjYDbFr{Ohas-P!#%U2Iq-TZa+B0!9%sI!XZ`d9e^3 zQqm@(M7pQqc|>mMLBd?T_CU{Y`y#_3aHnkpQ5IYpYmr<$fssPLMn+x+U_3}|eEO<> zyL&krZ-QRN%!S8-m;r=91I-7sgF1#Au1L9@n*mSG(is8q-aV4*z?l(V-|U;L*@AIk z^Kc4kum;WVSFB4Dl=r{s1E5iQ6Ys6#kICGSeOFm*FMc;+e>qlz^l+cmvQ$CyIj(6f zHL5_JkU@*V0GBV0PK}<`T=i%$&)KV{=<+jJ{Fed0zHS4xG24Qu@-tTt+TAPCwgOGv z`&y9NXWuo>Ld|*7c{%U-9XaO{kd~~9WCRxC2t+44HokW*iwB_`z(kP7Ct(Y*Pk~zi zkj6e~bhvYNXgX!@ovhj0Cu;WXMBdJ}`Vp|o!_LXe6`h-u$Cy!5J+~;0w1W(AI%~lI zI6=q0_dE|8F{sHaQN1r6XgK!_h)T~^`xPYkv9GN}54BqsXYIi?1@ysc+X|>TlhUn> z2QoMATX$8Iz5bj)lR&}g>|{zL8Ijq}es|!UKI%41Fkcy32Wg@X!aveGaZd=28Qf%6 zb_(>z1C_k}VfO^uJEZM+djN`$B?U0?P8^LnR4`WXKF&7<$w_epW5sE-VYUXkE-k9+ z)yQJ!t=sI;&G*=n{33)L@($6Mfu&#P@e5C; z$@aP*Ct9vQf7X%T7c=o!dSWz~O-jyE@EHyGMd0<{b~d3U8LE$$gIPt^yf zTv0^7&>W6SzB3(NMQ%uWZ-UNP2T#7QZO?5g+Jh_Fwx)nmY8a6eG8?LAqLw+XBZF*P z2FKuLz(&`sC*pTX9`iE-0?*p`8P)a7nu9b31l-67r0MoY>3Iimd_7DH^}HkH0&Q09 zV6|Tvv^Nhn>{zpGRZtv7GK96_{G(%3ARUPGSJ8PnDLp*l+1{Qx8s;ib@7#Jf6#|u9 zB0Q%28dnqDoS(LBTZZhRRcSS@20WA#qG&NQXuJR_n=)G{-al(9lleD4voASoG6M5E z0_TG?uf>jRkpR?4d6fP2ESm(BNV66TC2QmO`M#RA4^G$Yts_nQb_`iIG%q$bz309r zY9lGuP8V0OQB2ek{>tAxaa0l+cpq ziDysczlC|!q^-^dqAQgqf!K=31Q)6qyLMoM{pa1!*}ZFSv&B%FM6L}12KZ^XPFGkC zI81X_AyS1_d5#V~OMu#}CvXDNW<7Ls_`v|u!g>(ZkV`?(iBt$Is$d)B6f;XU0#|tF z>0S2wov+!)M?SaHc&3hCX!W2ZMLv8EpJQJ%7ArFnC&xQDxlw$*&-Z;HE&NB1aIPKrhy&Nw#?5ZG)Gic{+|6ZY7~L3?CP);45DtRKo&%)-!%cLNn_ z>Cj+NijEMKP;WJ*^S$ONdCctygdm(op0$e(#AwKA0J_eC({DZF%9*J;MyZmyf>ch* zQf4D)@VvjZ$lf?m1BGMCj?^J9j7?uu3>Y0c7Y%LhZ7Xp;)T^5BEsB09n#|*Ho_G); z7Dn>|IXBs~Ixr$#Suzwxv!z3}R4qKkR zeXMQoA5YuwojI@e+VWV86#d54EgV0(>LO87Qa}K&Aj1gR!28Nu-l5W;S*~ znp-xf9Cm9O;Y$&038Y1;eGqNY+(1qgLNq7QaQfrZW`Eo>ZC_48svkf}xl}Pecn@i( zTtk3AQSc_DO8uM?!tzY8*e5(MeJ_@lK+vn9W3UgOCJ&e=IqQeo@~z9Sfi(X%yKBXb z*5B@frDt6wsIWXv0AStzw+_xUZ(=4b0co?IKnX~j_0Y}F2OXY;nlVKyh^hj9!HTIt zA#n8z1%p z%8TgQ6hvYgo;5@ek7y7`N^By2$@v-gg?iSQo$^`QyfA;`NFF zND)8*FjZk_jx^D%`fw8stE+aXQo>wCvuZgsFhm4NitNJeK=?2V@RVc2PaKCd$htW7 zUN9|yCW?+nlf6bQo}X@ut6PchZxt(`V4n3EcdzcZr#F@Cy3(W#H6gW+IyCxKEShEw z8k1!z1zIU{RX4fqUdKIxd!LH)ds$N1xMP{ZU)q|YOyv=XBJR%6vfX_d08_S=dSadpgp=R%vu?= z+(qbH`r!IoMSZ+}@zvIknUle5I%Y3O3$r(ZwD7e%@0slgF67T8Angjc`;;s9Oj%sk zZXOgF3D`y3I=tvF}jc;(&u93rY|R# z*@O@Q2~KWo%**F#M39e=L#z|Wlhc53i6a9h#VR}HKsm+NZ|WN8}`EY)2K)5$1FereQ2she^0S!rxDL>L5F}WNK*ilFbKuqw zA&T6#rGSUU`UG7g88olObjcB}hp4*6Kt-qKGg_mc)g4a0Ofmw=2>iVfh#-yc=>j#k zzix>=P^BD+obB$z!&n473|@g#0w%#YgdcW|r_k)WY9E|z*dg?$noO0ghSz9^DU_u8 z9#SYpX>kXhZEs|+14%7XA0@VheJaO)1NBj*24p30U!$LZV-?UsWl?Gp^|;e^-|9SU zGHQ;p(~#`1C{O3?2Y)XaE)po?=dmAml_it8GSd<0f_zt5^qNL5T8SQAd{3N9KG*nv zd^g+2K*6(>wMnQu9%4_?1LIJ9tlIbWLCE!Hon3GRrqX&V{nRHn^!3L;2TP~9P! z&fztcUW+Yzi&w~Kk(Pk6X;6HGO6f8Pi9CMY{r22-kJ;9~^_VwB&Bs8r@-;w4O6OP% z81U-`rq@gdE_r_((~zG}2IMjwftanJ`j0!sQBI+A!CatNPm`$%=wm1C`LExwSH64O z4on=jY8DwZ>VjxN2BRWB+QlHW8F0bM8Fq)&^|&!aBXCPJ@nys!ccw%{nBYkrDHFaGH?ZMl!>2NX)kHK`*rN z0_eB>0`U&Q3GxV(d>(qiJdH-6e1!SekWfizk{ycKd4>kg#o5$GeMbiJ))`nV&M!*+ zXWJ9DtTkeHuE;7#aKlg&&8kr!2>}si>Jt-2N62LLINI_0g4-M46`rQk%OEQ^76>~alSV;~5jfm`9ckLzN2|8u zY{m{Z5VWFdAK3t5PxQ7r{5#HWxmaqTx-!qEkPa6GkSHXQ zYfYjb=@i=Dm_3Z3)m@7r&7VW-5#(dqVl8xQ>{!mkx^Nwfd++?-h%5B$&di9T7aM~| z%3~L(xhE!XOm1ErZAn-m_(^+~mk7-inx!9TlIZB? zafOvIr$xmTpyRg+KAM7?;rGOCyQsOFWYR8b_~zonG!DpusV4=aY;sqRSdcV0#FP?_EjnYf#JL#pJ*Q1z*c}Cv5YQh+g_H?q0 zflE-wdd3W*&^Q+8v29!vi|uou_Y_d`IM_UEw=Zf!O>~jnvLtJZ+7Q6TYwQom6M8>B z0x@Rm2oyb2O!tP3yVXZVMlAtp$+}2JVBw9xkAXDbi#%}Sz|Hq1e{=yGoz)-+0a{uM z`x!G0t!&Ot0%1{_|IH&U+ksXjC!0kGdohGbpoY3wW+0TAa4MRd=nxpAJtVV06mjgi zDFjPN{dTbtr7zssR)ER-YBgB@jle1Us4b=9;~;?Ax<0#YiP@^$1b7Woz=FuCsZNQa zP3&z+)vw^>FT9(73BK`Sul!}gXb?O6062mR%s&3mMi0TP|QGaym?^Cp4rrA_dr!@ z6{2@p7N_F6bLfl4#>V2{BQhj8Sn;x*ZrNSnkqGG&kK{2wBM>8jQcl$U@mk1^G&E_m zjI^RJ58#rNLm3TjfXhCf9k#D0^Y+4?v-bWev!gZ$$`8b3;G{G$ha7zKN3+l)c~KFP z^Nhz1bc|qaoO-DYu7flwn&G{aEvB=?LizsGG#aLlq90$zp5EMVcP+`-P#Y2@a6hK(iXRdsI z2u`_dX~>K)Q_qYBGyV8se^Q#_8a{IbijNot zEzgWYnjf{|bjp#HX=9(3(yjL7b7`ClYX)5Gw~at89>+m_m>se&F|!tdS-64vhjnQg z)QHh$sd^0eq=u~P7}zPFooT8*ZO3RzbB6*WqShk&<)R=S2=$a1kM8x`I=|uy4i;m7 z+YWS$1iQeZVPzugwlkO$1C0VQu^a6_?|jDYU3D|qQGEbvEHPl23X=gmudfsL7Lv!s zj6ed?E@t%R;IqnLc)kn^gkUQc_R?V{5u$^cNNSqfm%xqu)@Rv}Yx? zpO*Y@A0u?lny{97T=Cd&)R}GR7$cq2`)<)$r^8GNnl_N02+tf0dvc1N5fE2h^Ciam z_y^}ykbK4qU>sr|;Qj)r5o*;j7sio0-3JA;SN4s=38{k8gW3yZ(CUcFrJ$b3UMniB z7o~=_gdiRcjPADABzCE{9z}L_QPxk;2!;8Lh;#;kpRGIF$S9Wp(8|>lc0ClXpT2sz z-Ln{x;?xA{CApFa`dsvedLR@u2{_C%!gzQvg6EEzH#WDCHF%j9!;DT#&VUUwzT?iy)VDtEUo%On~ZB@veADPbEjuQAfkcyDT@^--);lF2G=uWuHZ-Nq;QmKju=$(Jy8$s(IJB()&TZN*i?mg8#Uzh z>b3%cVs|VzyKiO6ZW*eoXJnRvT?v?Y5KHWaus1Hmdw*%ZbAV*QmiEpc1{tNWdCnvH zV}ei;drOPH0$M&3q5#qCi*~A2u)lzv^1`mO=)ae>>HK1=!XC=iW57}L#|Q!=(C!}F zsfxk4hq)pzk*898l5-aU&78N*CWDId`~#pq-o5rl`;S|mvD+4JwE?iGa=0FrKSX<~ z5*qq*{04vX{VvU@E`*~bAnh{0%Umaj@#`uD(ma*n01Zy+1nSVf9^YfX+wr2kdvK?n zv@vTUQ^m|is{v zg~|{PDFBSE%}v`AR}b5xkU8I!9>oH#x)LPm7WkaVWk|`Vu!#_$Ig{C`9clwgkcRJ8 z$D(h*p?7Ls63LtIsTye!ejNldK~0hOA2%tB0(9QLI%pT;*&#bnAF{XhPeI9X!uB^% z^}uGU_+*0uBg_kP!-t2VkbwTjet8h`P~?}CTA7dl+<8uqAQPmq2apFLoOa19vkU_I z?hTW&l_sWaQgdCMz7#tngJoPil#Z`RJ*4)r)v5q(@U z^F8v(`I8YyM&NQ7fgb{E5vcWEUw}r=4$*%>T#I{{0;3_bLDfFg^&Fhcpiyxf^89t% zJ&C?pY(E34II~%?_m%oM%6ht|@9k;02gm)>)ffd3>6i!GuWTIIDhzmXZ$pGs0wr(_ z3Sbv($WPi`%TxB~>Wtkm&;Zu~0bba0xAM%2xN>FknB55US`mf&0!xWUbLNnPC_yLQ zN`WK2>L>TC|v#h*>EK86; zTmXu?``zGVm;M;f?|z@xg%j(06Lr@DV^)>z8nU(o4cQ;R>R$Vo8=kPO=%rR>J-B4~ z>2t<18Ohd!=aQV-Y-Ugb(q=PibNCqtX}(w~udA#EaS@dqGd26ZcG&*s^Ox+kZ{D`! zjnl|rfJR7XQ?xDe-?_TD=$%e@K5fu9g>cZYxogu6 z7vqLChhv|dDw+x3Tw`M>rx~3 z#MWVZU~SIUrbj??gvd3H!MTJIeDZzdc(f5sR^3O)2u3y07+93rV^|-Fc}Z47G6D;8 z1R~8jI@p2W=#FRzX7*AbIZ6)Z0)0E!Ixzt#kIyzEq#p3WASIh!L;PXaRNmf0M(w?m zP1{q+p@SoUnm`)G8Msf8X@DIp_6)`6ShE}VN$s5Md#3a8DqYUs>EhlTg{HoaA5z!S zpwMMdpF7l?fZ}7t?q8X)dsk*{bBRC=fmKo6;gUfDfmZyu_mq+kej-w+XDR#h}r zHn{fIHJX#kZu#-u*YdytZLgo-<@>V{q_Lina|eDLr>znIl@>%pN}$XxvuAI5+@8DU zF$swjP{$Z0!x%`F^uI!=-K_3x#&IEkCIM-4are&+rRa=5w&nehGstD8MILKFvA7xl zNr#%J?D=p0Y|nrBXFF6o1};049I;80PC;W}$Xs}%N>VH0g7>Ud_YpUPXl{5i2WfJc z@xy{rsQ_!EV1|LmV`fadiJs5FNnZh(^ZOyS|MbRwyS`kpfhM;K8kWe{4-r4rpLupr zlCj(>1O)w?MrEo_4Ujgqt5se-x zzd1~h{zk=CLcQ#vH6=7nFWZ*>NgHgB0K756Oc#Zx^8i2!)<#ZC1M`!|iVZ<&QUcA< zjaSU@&d2B{=S)T*8G-p8fnJctYv}+m`Pe@mzKN7a{mWpa0;XUQXdmN&=oRDW*pR52 zJc6EA-%Moe^}{vnpKUt|Y5plV!gcn+qF@*^Tr6X7nI%!nB;plSa(hY^wAY0_t9i_T)j7C|pynA+S}pUqFp{eW7ao+OJvDu8WmJuiRPyZ(SO^(=R*3 zgU&Ajhy)-z-}iAo&L8b(ci#B?iDGNPfeIP5^RLjoMAn#5w1f0TvPDv?J_@MVH)nmK0ekA&W-gINE8= zH23@HfVM-Oc8+tap0+}xXqzb{@{8x}u?=_G(pDd6j{s`CW*%EP0$zo$lOJ$}|ITem z=1-V69Uk0#%;BH^IpeJKP>O!y)a!voopF!@+L_M!kjLZbBZ0=TOHYF!bnAd?;f=yA`&Q-pP?< zGG@P2{$4#r2MGVz;l*c{rO-x8r9~FO%Q=DMz9@#wNO6+~PyR%^&)z#zfKbS!eKnT0 zvoID_^Z;VE6%`mb0;Ha~*(-S9>W~ZqFlXv3!ygXIU1?E40k1eCx)QkK)FM?equ0Dy z^~(07-Ls-(Pi-24!%=~F2v`DlVbr#79cV#F zq-1v?tF{KE3jGuk;l8iN#iUYVzr}_v=Ua7l%*v5=8M1l;b9|rImB*m#5BWM*+8v+m z_5P3@@ww6Ue;mx6e+I8VlpT~`#!+-7VsA_2irwsu*FqoCQ(&;{7%}_PzES)5bPCzD zCGg({RGQd=qGt+rTa;JU`qS5<8mLOhP=bQfuvVONG6!cfM>=I-uyk4=$v5-BY zR3U@R*+8>o*Du**|8d7tb{~X9hGFw5kfT}0>*HLZsg>{Bwes?3!y0nG&mSE)7lQVp z>hz4&Z12OB`ne>N_EX=v-W4h*lhZs-NMEGqLX|jCqdUn3=J5|zrvadiq1V_)M?bgU z?$~aBJ-OS)(iN!sC`aHRFivob6-yo2^WwLJNAL>dUG22S>OaTJd-wiss*KHyvUgTVP7B#lN{{J3D|i zNA8c%VSwTzZ22;1kDZcR#pQfVeg zbI{of(%dnRq30yjI@6iw;cORs@xHO{NBO;V@RFv`3m$bSYac~c?ZY!|d-;0=Nk__d zriBVa2J8W>Wigq0V^)?0W-`LkZPYwry*7`@{%Qnj(h=aR1cdwz@A3KMfd|=U_=5Qc zl#|gu;=zr#+CSg+q}{maYBbsDqjyNF-XS`=N88bt4D;19y3yO^zYgB~o9h}CQC+xn z$poa$bk$tM`{M+S6VfA8fqd8#MhN?Eh@7~?${Ah9f0M`>e0uV0`^~2>+Kyx2Kz4Nk zLJVLGV-dy}MU37>utt!^1;xgfOhNZHsuuJMYIbs%xfpaU0B-<(jPU7rjIJBWifHc^5?unBST{_wtvQJL6 z?9GD{_Ss0*PBp{rMiHWg(C@L`0vcI8cS_p1=*3E-u zX(=qz3B(3A+`P$A{LJ(ZZw!3fm;?Je8SAZ>Rr&?}0s)yDBMo%=AdmEYK~Z zI^HDV#-#Z6a}JS^PKCP})ZgDw#*;KX{ZnTtP&kE|-4E_>K%X)G9JP6LaU z%LGxIEIvn7$1FDP^?jf?ZpuMwzlEsV6hzk%byJiL*9Awqp@2_<;=F(570 zUv%W?IeVzms4SZI`5D;PTS4MoISUNz0js@dFnLgAJ0ZUKC-xq z`T-mY049%Q1dy6z_WTh%fMaOH>X zU^Q=_oUGY9Q11I0)bX(v_ESpu<1-ET4NWNfHA#1*$V1p)x#2~cqXWXO+M{aNU`Fa3XyUCgTZ5XkJ67cF{&oF!Lw^IA67c8<_9!+&kOt?SfjZW=xueeS z=O8qKGFQD^sIK*;nPU#p9I~h^00SDcrW{}TS9Pi{k})F0l|}Hf-;Oo=ZTtQadmSME zaAOc+Uj6E;m&)>e@Xg@Isg_Zi0M4pXRt?9j!@kpg=5Q_sJ0ndoW`w0xpn!pYM`lxb zA!W1!SeaRD|8&E{_UyF}+q&X1z%RIy2Kfm{ zyEJR*M~`wYK#Ok++;L^mFaf;|ID`>?0Hg_^P1}LmY5U!0f3{b5e_)5}r)?@zLAJ^_ zVJY^6@w`1B2FiI9Xn15z-Zo?>u(>0H5i%FrT(F_n1Fu*Soa8YtBM?E_`3htgaxwa>Kn~|D zIp)l8dCwGXuhm@9_BIA!4663({+jKnp#}|&Hc5xfGRlhkPhk(vL8?V55~$ukUN1q1 zLern~60{$wR_WayDHI={+;;^Jyk}q_o4*xm}>u!JdzPeMj#o1xf=loX)cp5ASQY^_dvI+syC;@E4P^Tm7-s;$HX3L$*67l)B|Xg*oFz-4Oq#O@yx*x)(^Sl$ z@`g}1#`og_(#q=5p~kL>dh#-A%-0qgcGv1Ydw5OGt}0HU#uv56x<=*D!uN72p7&?- zK5brGPB9c$XO20Pxf}JL&za;u2G>ap5|!--6obD7*dc;dm-rUv5N&1w{Hn6;MzHjy z-Di-EZ9+(7354a)OO(_|h;|8BfjTRZenvhqH$;EMLxN!P`CM7siH#v)AYZauTc*CH z`V?jmKw4k3fVr~D{`K}J?ct5L!zK@*UYz}NnNbV(r5B`W9yw6+qj-`*XXRyS<}PfY zpMbQVcs+-h)j5-`qxz&-7-pjHqyA@SQSwRf)KgUmGMs^u<2&}J&)>1Vl@n0Rn?h6# z8zRL*1kk#ZyF0CYdTZlm?HOx(@P2|cE=Xq4nAT>RJo49lQG^YjONWxdh=gR>TodYf z8PFk$*x-lZ3_r8EXiu&$+QwW3(&y8lL;AIFt+Vz`omONl_@&NUnLqKkCx`Ejz{P?z zZ=%YH5t>(1HX5QKRbI)*SQ?=146CMe4st-XN zV#+RN!z`LwI)om1VYS5K`siF}HHdc81n0eCo3m54Z8Q4utCALZs=b}{77+4Cs zD+PNO{nOq%T!-yP4@#&&)}-7_s$vjxrvp!$ES=N~$3P9@ zaf>$Czu)nM-M9K?TLk6FEP4S7f@vLuM|26#b%8s`ENVA6KwP+w1f>1M_r5oirpXo} z6X(YW&ckY+e#ZamSV(8k_vy{Of3e?x@uqz_a?r-0V%LB?ZWc1E%o4PNQczUNabB@+ z&as|ISqQ2%idM$W+_PwmaJV6H>)>L#o|W?yI3s;%D$VR1UN2+gUeY)T^{2Ew3yRtG zr5d_&Kmr{bx9D$-q9KFU<|f``A1db(GZVkC;~_usMEeO3A2&!k6^^wr>ySY^T<=3+ zJEZm@`}^g17J&ma(aaQ_!bmzTXcYurZ8p_}BO*$SEIP?KFz2C3CIbj`E^;*VQkCK< z2;Mx~CJAC156rI|s+u$PFUOQ zl^i-5fn)@d5%_@-2>C6%;@PfFF@rKrJ#A>Pf4OivgPovtLoxRZ)N!el`|i;e>eSM< z7j;GiZ{An#Kb2inINB3-*RddwEV7>?avyH4RhSKDHYj3cBzU48y zW%2dsRZ7LjFwesfxNjQ%a92~0=nMB?xCErlaM~nqpWz7f=8(L$mNQ=A2t`3uv)eOq z#S+Hrq;^e#V(`i7FYW(){CoTG=r=YBienRwDjNfnUO;ZKXW(39A;#;R+U9?CI>&3X zjA~0UKEeJbF6nXCH1Rj;F1bjq?2b5Jh~Ms#Rc zJUHhSZoEdVz92U|!?8==KK~=2K6lvEW7L=N*Rf2$?HEHH+OBcii30btPNx39@S0Z{Gkdn%)|K~&*Tb{5lBX0VT?dz zF+`^}erxv$yd0s)Jq!DsTwlth;}w(+!Qn-w1HV_`aGz?I?eo#Ry?Y4$z$vpM5E5ZF zt;v0vwqEw$>&e-3lFEDtc?qb+qIU+x6!a1`GG@LIxK&1ktOnL1<(%e*>)@_kOxJ7? z$a6OgH0-f;S-X2#3c?~4D}q%+lB9BS6rE6wQuK6U>w#Ey(RI8R#$CUJ-|`%gMio#7 z!$TPW^RBRyEEvd;VM1_4*u@|@?kAPHYoH(=PA#%`kGG)sIAPz6XKXr)`m}5wVND*2 zG)MT8p`MM|G#;mo^LXu9&`pr-?iA7Rllqb0NMDifRZxJ49sScFB(fCZVcV{|-+q0= z)3yb@)bif6N%NjR9cp9DWcZTMT`VGLtW zp4Z|U@rcPdHpuU%j@tkE=#Td1fsfF0Y7#;r9_3&Rghicl2zQJiX+ADj0_Xq+V2}8YE7W1&rzD6&f z7j{qCM<>nB!hxs}pauGl&otJcd5xKB&w?loXGN^TXklW;qGf`!0%s7}iUG*gII%-7 zwk+z^3ZT?3Zl1A+mNo5ZWO1)XPoF`U8q#caBt`?dhM3GH?N$-N;0$$)!|cW=`BX9j z$p|DPFw+r;QuiGSqJY`of|lL@t2?lv*)aa4^E(M@`AO6meKVS|x6woGV>G)yfkwjB zY$?>HIb%SAW2_nDkCY?n@p>QBx`aNw=`;hk1Zv!wUDc1DcY30FuZe{~p{54*-HI*C zOxrEP4b-PWL3g-qtJ0I8vvadnQGWL23{ z-s>KK9qqr|HP~(j3N(*EgM~3=5R~(Ueq+p>Mj;ah0hoPL|1@OON)WnPo*A}(zHys9 zwe=xeQ(OWKXtZ)*EvDQI%yY~eb$ODTs0$G=q>s>ra|`$WYn0%W^@7%gJsLm7xBr23 zZU{nn28`JR%~7wwahgLDy)Bw{s5xrC+xe=!^zB<{YIy>DVw8ufS+&=dQ6e>qg`;ej zK$`FVqB7#A0e)E{EGE^UF-0!PbH0~riQ6zy9%y9Deqd8&3?qXmi`1hW>Ve8wQM2kB z2V3^U#sRwr0Bv;|WzF2AMQ8Npnc|-_RwDYP|9DKKyV3j;3lf?s0qfNX?G7htvy=z5KYDhZw5vy;Q&$g3$AvcRu&{&_*A2 zXIB};4{MsG_DCaxAJ8#sFcORumI1~VV?Erl*zA`Z;V3LZT^fP}>Yt{hv^zgEI0Sso zt*0?@V~{+O5lBWL8G*ST0hJuc2Z+3u2-4iqRa0Z`U$V(vpv6yg`cbLA8*QxND4(q7 z>{C!4-#OB-FCfi-vhDS0%7zJ8d7YXZU^?#F97VG1s5rYX>}^fx;CF=}0^=oQOgh;T z_#;J#OsoP>`^AbZDCVd+0tIpyb@6#nA0>7|KLi36WJj>RDN995^j9N@6T{{_n=;q; z;YvN9`)VFuCo9RRtZvh&tjU^g-s0F+iSP5iW}E|@V^C`Zm>UOWc5k(4uYEsiZ=Yz` z0W?XUhE;91QA;M8EPYY6K$j0ko6i6%87%Ct%bAiD_;Qd&-_dmtT;D*2H%vI_J~I&D zP1eg25?OD*zI~fLy5SC63Im=qo0ck(|+KrjB5IxiK zIuE!JFg3UUm62*o4et~v1}}a07yAR$9QRBe0=IY?3z9iEf~o+fLbM@NndvVn0QD{! z&3+daVRVCXs2=&E+9RowQ5}*?8e29lh7Pg;sI{=k=W$)bXjXk4WX_-5PyjDIW9xD? zD>bGC?r0AL5=FQ0b1Oop=$+HrM1x3*hkyFHHp?@_tXXdst<%?p8?mCT85_Z-egM+G zFYlYSw-A*(Tt%<4Y@ei{J97Fm{Z4~`wx1IMN!M?5{Vx^Eljnd;9gCXl zSQF^9CmLf3zYSH-*lqn))Iko}FP3I(S!x0eRvEOwiol%j_EU4Ghv+P-Sw<@FEQcrg zSTX|12qYsgyAg^T}; z!@825;x1jWT{{iwWeI5MZP0803%O-kDUfSGoP@d`EmFip zn59!T!Fj`MI+$)Tg29cL5j5vGYYV_4L_ST6Mp}M&e-5APtB*rPZ`z)^YS$|Ek{F&TyxTmN{Buya;(kX8>qU&!zd$J z@JTc4xt&eP*^&`RM!-$H+h;Wh_O!l$m`mV0K=PobXS`Sk6kFj)2!xCnzJPrbat}J< z6huSzL*?2P}6o#AyWc|0~% z^8EOK`~}bE$#O%zkH^T@r)*1M+8%`3a4h9lr0&AA{sICQKXQ-D1~8Y1tL2SCM;k}nu(vYu&k8yNc6g+S~3XQ229p!VfR z#zs>^DpioC0i8CrSqgP%%&Y|}tg>sQJ4!?()Kc;_Ob`#xN204Hk?gO}IZE^AY^YJT zhu7a~|8eV6cHQDl=$}@^XB?IZ=-rz z|Ho$4NGu~QJ#C+y_|pCWn&T(OzXP3N0)?QY4Dekpaj#e$BNyjU92x2G8Z~mvWA-XG zBjnNDAhR?bpkRh01p+QPO+AOBc9DXF$rMa{+vr}G6NQa?{ zP5dbw0&_V6o^^1#x9@{qALc539Iwy%-{eGPTN08@1Z%R)^Lj_o^N+=t!ik3W3HYk1ucQ6QK=jo^*f zt0FfCijZ~^VZFaKX;*>n_}I!61f24=vVgkaW<|P?Ql_M=I|I1%4+IhtkajV1&OtM2 z{0{WlN{PAzZYSy2IY@JrP5vz_i;vLPqo*1A*TL#eBeQi1B3~b(_ue0OP1)B|Wz;*e zo}8a$3kIr1x?iet0sb23mTp~{O>@*FK``ka_y^brl{ISuX(5B>j%wSAkmg^79NKd? zK5S24_pq%ktwIfYk;GVmG@qfK>(wJ1C%oieV}U-BOxm2>cn4`d4V~`5A2G-EbXys; zDg1mrw$J|OuiNb}2Y1+s)+jOq%Vq%Out9yeiuGM9>ulvuefp&o;M`s$j?%;Ex=@du7TzKS_m ztl1NrhU~$$eYUQEK0UQDM3m7F4R(p74A&54+SX}9d?*^NDd~=m@9z=L&1Qs>&m<#| zj6gC1GarFiQ{=%b3VnIj!Lw=Z(0VC?dj=BmV68X8N(m<<|Q`QHd zma}&bRY8BO*?}oI;b1(pawRYkA~Xk-iO78`?fc@*4PnaM0gzlc4 zMyIQ4?oiD*G%Dvk;#^WK8sDs7W!L_xwGw?m)Rh~9p$NJjhUmV#-FILeOcar0E|%b}SS{EFG`jxv zozK{#o9?xhXb(^n@b4{y@H6_u&$rMY2}qlR8Q}2yN1@q$M;EG1Nf+AsFALblp{y*Jccci%i%b8~3 zF#DxJC8`FhSrgBd8Y8v_q{|1FXYFxh(5~&TAqFxD`UE6Pv@x)mC6=BdCIo#h>q|f= zBfte7_|UvYrs#V~baOD|$th+y0$z{C&6S%oHcH$-g0$1kynQrYwCDFu+UKB2jHDOY z6y$XqEFvaGQpq}}fQKGDFyNM*0Rcvk9i%f4>=8CmY&cg!#E;64B=WR!loW1QnL;&< zaR`Ns+XEXG*;5<(Y-4uR`twjUMRu)SN8@yw4_TzBiRys|WrhPFV{IktBs`LvJdzPe zMj#o1xgCLMs~ITGF_1(CiolrHelvTK!CuNBs~)tmkhpb_7U*Se!96R*&!}!3Ay$0$ zOuJxTj+(uHv?j&JLybN-+yH4IKM|d69a=s}pjP_HK`WHomZYHMSG59a)nhq^Kpy=O`3Xs%%Gu03_wD>%dHITr zt>%W0Gl4aIJePTM`eU%OF{8%0rrJPaC+~?jo+{a1)R({d{g}Odv~C9*{YVmc$pY^+ zJx*{cWnV>^#d*AigZr?qf8bU=AVRULBml-M!TY=qsyd$GS3z|R7*hG1+5%+KzosW?>5$P0M8HBb3W^n!GYDBj;Y{o zY@bxeWA)Sa!Z&Z(pT2s-_STL;Cv?9`JgDUvHvUTE>VQghyDA~z z->6}SZ*T$%dOJ?H?5!hh`|C&!z62T>1E^(5Hz4g0pZCliJqK6g>tx8V_fk|MI^VJf za>8W_m8})r zZ&M#NJl!tz0pRCs*97X*c1_v`r!!Itoo2}kZj)>@^b1lt4;!B2bD@QUmn?V?L3B&i zg)?nLzh~r{ zb(Nxf>9Ri#+5W~S|Cvmk1f=~#)1hrPO!yF`=u9JD1}b`t6QXCPL|Uzmz@BD|jwuZs zdEx|4s6zt?`tzQ5?Khuqx39+cfwEA=hKPls4Vuw2ZkRDk5td#6fW4P5(589LRTvhU zqGL|_;^GuVl4Ns6O9yR4O*F0-?EtXL2 z;$|wcx<^35ch>R=zxxK?eJso^_8(5JIe9}A>u~xX0h9}P2+)Tt7m=CMYXFu&d6)og zW>-B6p^!87_TdI1w3ONhKvPyXO6mLNDH{?fjb1>^n;$k^o`S6%m`S5N8Paba{6m0% zR9zhbj)EK!s)<4U6crBhI!4_1U1B444lJDt z-{`}#n3K^?PLhm3G6Km6bVopTkQs#z%OKRJ2cZoY6p2oCj}fJXrK#>1QqP4k`{s-U ziYv9i!pYc?M&3R=m9w`Fx776dOuJtJRCyclJtWbO{Z}L7 z>kj1>^k*0#*0IUl@J?#pt|gpXd%Sq{oq+U0oLAAeR2`w;m5|MHKhB>Gm4}>5o$>Oy zBjrcg{tzsMsyFXt9b?VXh0n*z_Q$VA?Bla$r*lJ+?9XyOfHC6}hV_MHbcq8)W3Ssl zpy)X_&MO|eZ@|l1f>1LTh{~91emi#e|3$i%tR5&>79jjWHZ&pb{IzfwWAaE%Ki~MSSj07dQef{ ze++lDD|W_7M7;%DTMe|d9kjT+OK~gi?xjG`;_gn70>QmdAV`b5ySta-?hu^f?k-=R zbG~!Ezacw&&su9{ZfyPu%0TYFGd$;+tdd*>GrcG#V1hoML9UXf#oNWx!}4T^q0&sw zS{^0kDp-a08sF5?U)7rMWCMIoa>f?hUH7jut2cUyhisy{Y)E_=ZAr+$i;5F7SVU zxycXrBe$D5lXZmjvhp{7@+fK;zr3KXPkbKn&{lDsP%t9b~?Q0o<;SiK{DU|VPYA21d0!KChz3#44 zThPlAPN*sB;q9+wu=YQ_u899PtXfeJ8o zKzyFQ9Wo1g_Nv}dbIru^|GA=D!23U8A2dFn<gB<@JTFv>x12<40)rM2h z-S^xxvJPLQvK=tyS>&xuE#K&d>3W{Wh&I>~EVnqg0(UnOWV;fZeO~s;7u)*R8~n8# zDNqPeV>r*0v>1bY!G6e$vRQ@Y$A!VkxV#QSPiTb%ZmPZyiT49_nBGJahO^9j!+s9V z6RLg^$=}+oOJ@D( zepM{73WmPWO}_jFm*klPVjdL73%W^~x!j7DZtoHQcDHuN_dP@5;IszMtaidf)SZAt z46H&|e3|HrbJ%Kuu9&bc9fcEXIdBmPIXm7}|L~`f3?w7{UzN+V$Le=GPe1+7<(pz| zB~Nw!arf2JJ9it%1t!LN=A#elrcZjrs%lwe@1;cT^gs$Wd3-Eyh?y?5;kq}^l;bmU2Cz_f!n;|r4pIV7 zXR?r`=3|B$>=0Kyu_RrN+C;M4NON#}B`yTxkZf0+l7g45RgU&NqZVA0c?GemHqXCE zx^nn>@S1);T6C_MbNWVkSX5@M;T_ywiT?5>Z*skB0o>VQy=o+Gg@u2J+p=%qLg!p8 z^dy2L`aWmBc%IAM)S(iCMt*)j_!v4ybmkH3{`G)p3Ui!Bt>>Sbf40PFmF41cz}lm# z=U^1+r-+d&Ssu}YY!qk^m<}iflAbJZLX^# zdJs(YI;~vj@y!T(%JvOhh9%*L@acrdYjrZmppbANoC-F`c;Vl z{_(mh(wm2e_@{Oly2au6g(5%K8~TL$vn8K`M|BO0kcm3+R@9C?G+T~{5v_H3Gu zxW|{mV_vYFxQU*wFt6WpHxI=V_KsFAX{_D@{27aCRD@oi0rVe1rpEds|V`t zCbruATskZxwp_l}`9+a5lN#yEFo#Ga*Xdydrkv6ga+XQuOVek`&Wqd`3GJ8hnsF#u z(!E5yt0s`Lj6~TgTsIG%%H3%AeKYS~>*TUmQd7;?7gMnow%}Vmyg&b2Uk~L;^U+BS zaI3k<>{3Zi$yldV-n&_DyheBXV9q4)m2eLDjlmSCg-#sSf8mqFgTJ==IPcsZ|Kl~= z(EN@7@U}dbv-2c)11oYx?9C9I*G#2x&`U2qAA-d0|L;b7p`s9GVo4{ntRQ3jkj$nT z>T#9;_JG2d4}4}bv2eTxs>m(!j}rpZa7;`AUQYt%4@sXHCp_BW%8uLi>d{$@Us8-A zw9rfz>;QLg15#TC=O{8Mf2@E$4cleMAvTxo3lg28Y7zZOOeZCC^xgP_QToK(g>Mc% zd@k0YM$!-z&m_uV#eW(~$&}aAFP#R*FU6WcR%I`s)%fA-{?vJagZ?PKdpKn;PHEXe zbIh0$$*YcLcL8032-NoNV#!vVCNnjuKxC$WX$<+66Xb)5ssMQ?~mQ&tsd)S)TgVYzgUI!2>@Pn&|?+mT_|T zk$i8auHeoG4{@FBH={RiY22)g_bE%y5?IUujj&&HfbBa*yrUc`isqYB+*YtZaWtXsHcC5vT zgA=k?gaq5UB10ds-tmFp1e&wQ#D;;+Pcshc>*#dCFl%+#ZB3keP?{7?upPKStZIn0 z&e+NCufO-Hc~fo&NmKT%OYDr9hZ!2KaKrtca26?YmsbI=U6(uM*QYT>=!9I6PQh68 zJsWlAPkH8-$0Tw<<)L^K%H6!bgD`MM{I<;KS`-daOva9xYkogurQlvre0>Mpv` zVG7W+duZDZ@`hyT7&jf~JhUKar*40}Cf z357AO-XGbAtjkF+zb++X@~b!|5S3V_MN_p)npRh2hAS+Ah6-Mt?i>8n$ff)sG?x7( z9T|>a=eQzzGJB2GiRYsUv#XWzHs&ekxs#jI*XFAv0t z_yygLyrSqXfgCLDA_c{3ZOqme5)ll==Xi^dr+l)|7@~J2_vy8*#G|esq1JH2o`Y;u z6<;|4q4R-Evy)+CRG<+D=yyzNogyH|dEgH6{&wR%ly=@QJqCZ|$M|!T>v89&oAkC( z5i^C8uX~wCMl`@y^T!-)S;?X%%>Hq;vdML5)H-i;FR~o%$Q%-Y1lk|%>KG_El5b7j znm57n>9r_&figQpVOGmX~YISQ%GtLa`fLx1*q;&c8!R)APsdTd#qUU2TAo zyRE*?(;$3Owmb?6t$Mn>0PBLuz|^D;vCC}HD|bqf^Q#!V)44o0oIJ}8UwZ}E2#LkY z@so)TP|2@${Qk3hUvLw{Ji@NRA^a9uDhi(qHOnQ4(dD$tdk`ahrjmwr)C6w0!J|iS zh^Gegyf>Uuly0@sbbu4)!KF5EHSvbhTi6sqG*k_k1tK$B^!@RvRk7u`5F~+d);Zoj z`C+P*3j18!-1lJAq50g0lvEi%S7M&KV8>xqee4SITCZTDR1>Ss2Jdm6$(aZ=t(LpT^;sB+0&@cGXw=}7O|b%l^rL=URP_-a zIwzexUV=lqnH0u)}O37yNg%N1SoJW##laoYg=1?c!MiB%m@nksm%CsBAB6!O$Ua- zH%Sd~W?JCTdIc>l-4?MG*($VL#{|J*GMsA0#RD6Fz8nqeB{hy6SZ2K_R1iu=vvpa; zLdEhNqS;OeY#>%i7(G4Z$x5+ND_SV`rCv9fTrQRCb`)Q#Nse2{IZCRn{eqp&E`fK} z+2ktMrc=JjS-b4V?YhkLL#Z@CZhGuVKhaakdn{{B9cq`hnyTP6@A+!f&!L9u0F8c+g&mcmX-zrc3>5Z-@s)@WM0vQE+wNhO}QQ1o*?F zPc+@6)(PvIeB~vNgx)fR;n#*nSpaXtBhwYCWX;dhK=q24e7x>pS9a4v30{A5syJwW zYZ)Dti|X#0{aYZZiZp|CtUD-F0Wz|oVF29SVgu`MZqcLV;lEXUt{I{Rwm z7Mq6bpvkuXD==-dD?c5}r_NQ3nz|=S_PlzKK)m4;qa}|a7sp#vlG$-#{v*a6ISVyFSONcph_BEda zc$K@6$^QDb>!ZlB;AdX$HmhK<{rjS+Vw$+LdgY-_(V&6EIEgS@4QyZ6KyIfOO`B~* z{bB?5DwYV*)IS(c3ySoPa{2zP9m}*ynlR>btmQ~LNe1-`S6v`L6HFZ zAnGeVmt7VKlXNv1{P^XX~S{Q!CK_-_l`V6=bwKUwR@ycT_kkEf3m} z;7o46Li(YsiE+vK34ypfYQ=N(ov3zeOQSb@D^=@ zW#X$9G>%!C4z}NS)CCPSIr{bZd%yl`YIGKb|4U`0zTddrg2X=ijDaltdbVY7ujTs| zKKSeBn2(bmG@IRk0p)pgDI=25NRsRmGqAxBJZ?WUBbvCAgw%$L zi&?R@=Jv!9xk16pn(ITu{)94EfW2(yJ{p2x*!K5JSFF6xA>5~^-?c$j^L!1eD;fu3 zcT;H%j;w)!iB&J}C!OEZGX~>DQcl|k`#@kSiF0JB0-5v978ct=>+|eqm+zCJ&-#_v zbUsu1)1VIt7wfU-Sxto4y7SxsNgNw6KvGkK79jeXRyESh3?)3Ohn?3>H*pPLM(DRj z4bBqyasA5@OP8aH=~)(s&3beJ7a`7>5nb>egD0YrK;hI~GTg-)vG3`DNOOdVmLOaC zzV)SzI`SMzZ8!XI>r2-c@l+H;@cuH`3mwtH+t6x|h}F&e7BB~2B2^>>OaIbry^lnp z=uBq!W!cik<#n^of29UVQV^;5*UD^yrS&`Ond(hCS;4r`N+)KKwQB*AWsJ4f6n z-#+UnuU(!=7>OLpFu00DOGvkSPkBx@K+}=tBuZ4%`}a^@Yr50?8u~|UJkrBvd zjm^eglyVq0fr2;^$%?5xrQGLiKVECX1K%G(f-R^4*ULTF(5sCF*z@8HQ}9E*q$l*Z zh#ty6aR+Tt7?Yc`pvlwfa}ir(vL*OjFq1$BH_ipPfH7k)rI1QNV*{tM_oqet`X>0) zW>h#R9fQ)fpWfz?I*3-6CjJB467_N8R+%e*MHzzNqAjxG55I8Y@gws#xs`VXStx9-0b?l9}# zpS7Y^&wt13=nU$y0?bJ%EQOfD8df;F$-!Z#MDu@&Jb4{Onn^?1Df`xfI@2*9_bhos zE}{=->z`q5pjH~DraQzAW zsvDX&J?sHHOW1n(ifTHH`eTLBeM%U|R8XV>2HhvN2Q&~c`|c?#_SIZzO|0~8#oZsc zTu=6*Z_imh;2kTf!^HgO+J#{HvnfW*yq~r8U#}REU$Td8T&Y4gOhuR8?1UNC{I_Xo9QZ%XbJ$6ZL#%k5j}LuGUxl>CJcYy@RklE$$FEaYO;5?bRV zIKG2p1@mch0&$zP9YQmGCkBKppX-E7NSjqw(%U8bWUr5iSpzHVb1DHN)b*qNcxphW zg`}hTJ<^l6kKI3W@aw+$37jj~k5m~)QT3)p8BU8^USH1&1kC4GyYYe88rz&5U<;Pu z=V#$(RK8uz4$dMKU<;JX_XH&eAbcIWZcGI*J$-NwO|9Kj(#4sk^ajI`xw_U2M6 zA8DSv)@F!ycUqm3kL4L3e`37IX;#emcyfzf5awa5CEkK9I1H;%q0b;1e*|`)fOGix z8V^=gu6GTRYa@l!wOi?xmVl3Lg0xkyY z#gPj#qhRF0^wYmSscMejATHkA>Xe^pst11*swMu2@qox(>`STa>HsqDq1ae&h!IY2 zYF~Da@y%}b!-5+KqIxcFy~5;MFv&8z zj`-1Rl|HnTc*Uc;xt!1djWYNM<-rj6qd=JjfhC?afTWE|S%EFD@jxkiL?Nry99Q8v zzBaCAj8HM|4Ac_IWG+b+p)oyG^NAPmXMhP$ea-g$VaFROti$m+eX6HFLg!qX-MMM# z1wT*uXDq@9K=r6W%J^5N+@@x=c?cYX9Tzx4!f`pYQidEt$xc$+{+nQ`144>$olCW* zZl@NMc(!&BG6dfxpH8N-wz2GZz#wGQ-8A_~5b-GEZb!1vT=~11p;_}(YmVW>HYr|< z#oW|VByn1ugUTtW`4Wm zW*StPx$V@?MbnaQa~QPFBUQ4+1khnqc{P>8t>A^0V`Y(lDViS+BX>&E}%4zxYX>bsM0GZYU19wincRPMo>5u1P zmmdNA_dzq|&Dc|7BwC!bDHzO?@LDg}jQ@r-3J~6CK#wQ|!{^e0gx6v)9)ofAA$NcG z6rUMn2JRXGGr)R!lLC0@3MRDMW6o;JGHZdsFa5-J}Db9+2XbS;m(NzI-}!D>~m``=kk-w^~PN=)8G&+l+;=)xK-o8 z9D^*s&pkbsH%NDhyMIb}n^qpFfoMNoe5X%twPczcjGk-O0QiIQY8~wq*cFn2O=tuI z80;ART8}+P5&iOtm>HxVxPZzqhR8GF^A*Ck8=-W$9{wq^y0*yhT#T)Lat)hzVEs7b z$85PwsgP-45UonJ^I57>wU{=m*Uo~t>(#Y!=+7$!5FRhGa{F_zX}iA~MhuH?qQqx9 zTLKv0EiP}HXJ&nJ&EmAA{du#=d(}6H^{hxCNE!MhKvhF6Ef!oOb0gB5+)h)=j2RLw zON-Kb5Njy-(Tq2Z%Q#R4t*thfQ%t3_Msz5=1NzY>Y*JZHPNXB1RsM#Xov4@3XuBnl zd^6>-TKZueJ-}LfTwJ z$DEI}?L~ZH6Adu-ww&j>P+bCuI`1!|Jon*aLPQBSEJi=~0nx{m{PcqK=ljA0oNjOctzN!gi*%{Gel`43FeA1l{}9n!nRZ)&H)}Pq-14 zS#b8#H;YLfgC9R((B&dZ_6BhK{YP36DXROzbSN79MY^!qA2LDrlkVI&UI1pBEI&2Z zxwqY!N6*pi1hy*5_*JpqT#6O&(eF>vkqiA5sq#X3Jm<^yJED~i-8msV?>yXc1+gJZ z`8(gfoZIK(eF%!SAV~j~eJbC3UfzDRl*DkdV#~;zOZb^wmq!|JoX~lKmq1sxwS_Z* z79+jiOfem|QG%n{uUOTqQmPq{nyqn46!h!<>d;vk(vM#PGW=xGt#1_m@fscgNfJ1y z+c#P1Fr0BD*2+(mXt)0~8*Tm59Z3!{!xAI$pVru)L9#JKE5xc@|JgHiZ^!=ID0)v! zR#VQMQUb~p4q+PVMK`WO0clxP#EuR9*6TM~S*amhLM?|x80p{(?iWCNb$h;~x&^@6 z{OiV^W9dmHh(S-~_K%&DG3wLu?u2P%{0(bcFy~4MBO#NMT<|1mF}HwMbdrnu;iQNT z36hK0MuUygRdOegUtu79Pd-Q2ni-~Q!+`RvR*|`{4=Fv+2zymbl~g;NyaX7R$j*u& zdZ=(v1B-g?`vls?oN7A&%Sd-c_WXyWCU1?D-#0n%9K?@^HYCWOHHJ$3V%zSJlRkg) z+ANf)4>EWh7YN7GCthRATRu^1}bphS@Q$cRhnzavx0_ywJ^|TWBF}Y^pBiNIselv2!I-5zC&GYR7 zM4pxoOR61bMSrp@dJYNbdJc6IszZ?d&CAM{gMOsLF_*!+XWqN8>d=33?t8iAp$iEs9U_> zJ^59QxwJ6M_c4{acgzkjMb=oj^$`v80H0qRrmE#Ha?!M&#Yq_mNd<<`@N=}uhk^5! z3pg8Uz@Q#?6G+D}tuBIE(`_`NgN-AHFJ_u^DO((hOZJBrn)4@~IX-xJVZOD`ie4T1 z*uu~JCtI#*u~yE9Xa(#@W8JHk0aY87eK_;gt%GHNjL{=*R5|C5))CW~ZY)dq961vQ zjfUteYAjSBHALR^eN6Qjn&M-O?^}<0KD%u5F$c-iVy490r$ex zO?QsrgTXr@jfK-nvTcc3nQpx}G1+@r)hqcyKw|*CkO&Z^d}65_4F7cUbS9ZnP%fgl zIqde_iACl^KY2eAZg=fvj3F~|n;ha32DHR=Rr1ikoQ_vWNhxZ;$NW=<3>!hRS(;U; zps-U&t_8BwALrvm%q7zcZ!uTwJjbKYsjNZF((V=W>J1=}K;;`dbivwhWq*i&A^wl2)@R zeSF&U`??>@`oDb^D*eg5gGXTErza0M?URP`ko|5NIy>(*h|b~BDytYJs}tLGupjbT&gqxJuh;ST$E&QXqaGg3~Ou50}M18HZbNLhji3QferCpTlYLD9yV~^OsSmL7#}^bHpAZ^K@7W(`YOb|xS=dGkO$nR)xo24L!jcP&K=j%JI}1{5^*+-x3NNs`>R4&9kd zrS-ZZ!zvsEZzzAn@!b#tNF{#39%;L#6(8MvYg1(g%ElAHYcF#Jy-pRa;IF8kHwQRW zLQp~aO@!mq#cC?poxmWT8?$j~;so<`(*=)-15kpwQx7#gsZ~fVr@*O{z(Flaw|UfU#jz9NgWq%tY2oxZifp za?k|T(NVk_EnUo<^b9_7S5H^ZQEX)(FyzS%a$SyaSir7LVHZbPc;n!Lnfi7sLqnhu4uP5lqz^9!_{$1!a(FTOwKgV zAgzcLXB;1eAWJ@UPbv=Yi3|B~m5%I`9g*K`|0H5eF!td!iZRXTqPb8{ddtu1p4mI` z$7<+oXv6p!fU}*r} zHb!%Nzm9IrheeDf*(4_a}g=i0<+;MRRJ&9Knx`|5(Q2eEugo-ucK{% zRaFa>+OHpKN^#7bqS~XkEBrCucW5pDoTXSTR8g0?f%r%>M?+r77xu1h6y44)l2U>I zZVq_Q&#cA?KH5hyGoz~|uF6yD4Ssdu=m7+hmb&n^yXZ=v@1`LB3a4;6xs;Rz-^c*r zXlYq_NyExk*-*_2l^@yP;oH{PmoeF|dI|CIk#ne4OrM2b@78UwD|PMewy+t+_7JhX ztdJ(3OQP73d@P_$(LLf;X4Y+;cewJ1oF5}o?5!9N18HW0qXpaCSD2ll|beE|*i4}SxXCk?Bs!`T?Jaq#DOBB%HAE^-mgG;C^9k6NWp(fs;8p6zzk|c81%Es zd5ra?jg+119G7s&1+PODSUTR(qU=2I0$rc}oGxn@Xzf^}BU6okKrSiuKV@GfMZ2>unQUftjtMSqw`u*1*?FY0ur4Ceb#hzg3jB zD@YkoW7O2{??hUWVuFKYo20`mD|xD`#>dzrwB>&?ohLefm1}lyaLxkQ7@2UUcx&RJ z6XVJNIXTF4G|92L_6IM32}{Oy0dvk2B;7>u`an=-Dnx4J69j^{8b(a~Rs6p*t2G78H0EK5%cVz- z)Q7Y{xos7cG_}iGc-bTGJ5@$8u@H*1Y-LNw1mze>U5&uBW!6Yu@b&}=k7ZS`0N(J= ztlcXJPvb>z)re)VK$uxMN@cl@8vb@+hvBsMI?D6;TLaRF7PXW1 zeV{<*wSpN6)%Xg6>*Tk=3{ck5wr2U>=N`9FI89o@G{*O_{MTa<(O2b#bk_;aAa0^( ztESLE=YEWar_)_S?z^$yoX@|brom&2B4E1o$#T9dk-wA!imt)XAdWW#zy8}u$sRR{ zdYuwsRlT@@TlQMr4T*($gl6(2q2ZZRO!_x3>u!fH|E;Zb6wwuxx-J`XrV*^!iN9qVnhYSd{uICMHRo(=(l@rJetiI4FNWY;Gs>y#Z z3hUjl5>;>Iv?aWaS(YY5Ur~3H-xNWBAYC$s;_YPHGZJd}-1(C{4{lX%X z);6-9YMkj;*MsZfwOA0;WOD1edR$6`P)5f$j{^%sh;DgeyokQ!EKkw|%WQ-Xk1o?a z*Gr8l%Af$|YAs$#o4NfTA^25J0)vIXZn|56H2OxmYKys0Vo61^iB;$;24rEcrqieA zr2iBb5eG5DslgUTG)tF7=nuTSoyGVjMK2Dwp(HQ(b-aa=GjNETCGx|d*x)_V45Le- zD1t7}11CB_;*6T^gjyPy*;VFDauQ9wQbR?XGXTu{+pz2RNU_uVCr4mh=%j~TeNzuG zjSo+bCu54DzOGJRX`Q~fFfJI1IeggP!P{~Q_i4UoVmZnaW6~G&*JyRV!4V6GI?()_ zcY(KQIV2_#Ta(`#b2>lr9(O)BPCmq)KGj-L|L7lLH;Je*%fY43zpL_7)x~w^#mR0W z3e3MsLwbpEy|gC!BMoWTK2^T+7ae9C0JSS$tU25-A(T{8e__UC6|YuToMN?m=jV zeI+9C_3nWmua+}%Ip-byXg0;$GL8(EGdH>jNU(u!r}UFi zOg|5KVaP*umrHK)wv*OCZ#ionc^2hVwIVvw1n8*3@l=P56H=FSX?)25h%Hx+d+L8* z_laR_U|?J-TmO&a3xpxB&8)2%iV+@@7_0CCL>FER#oNkCQ;?ta{Q4>s^IT3hM~Oaq zNv~8KNckiNZ!1#Gay4x(KmB3BOC2p$*zFEemoiI|){!$h?NOxOx&r^-8(cv6zS-mw z*Gm$e4WaufaFjxz+hK9Se)$FVI9;LmBlmD8;l{o1{w0YW2hAnqu*Mhxl7EbJ@x2o- zEhBO7+bRe7t7@?QJf8Yk7zNzRkkCNd+~D{u{&Tf5?%k7V)BRyHvqL^|Cj5|?CsQ%( z1oc)Asw~0TYP1m0&4t`}Bxl%(@u!?I**b4a11k6RX>7EA^qqS1@-AHY6j3K*;90AF zD8`P<(CY)nCy{h3e(3i-lZ{9z=Nsqz`OH6{94z7U=&(eh>Nsq}lX5a@Gl ziWV_HyHQo#zSZKh{qNCZ&O##HqtB(=LUe%I-aVLhQ^kR|jv})~sA0LdKe6KkSdS+~ zG%ZN4kPnWeNZAy*_fI|?%C?8kfNa5XcJ->S#rH5JAbn#7Sc^9}Q{!DNH7DMU_#=gx zEZf!GD~B5AF0kr-oE-Ksk!^*&?I%=(Wo|a_FO;!2qH1tVmDWmaeXv{<}O`4 zhR<}-C%kg)q=5%zHS=)MF|HW8%bZj(&ZT!$fTnEwml^N>R@Mr%E-JBrOf#XDvG9f? zy}`pIAbAVEU0X)_9&0-B32i=B(1T~2MYUt~viLnul41G~=I5#Wz{d662ZY212CvTK zZo-Y?Nh#nUYq~ED&iv*aE*e+g)^m^&J0G1{xCEtUP_p~L>0TIHJ0)==uOB&SkPx5# zaLppb!LNa~kjn+gzXDuFW>Q|;I)IE zSk#+sH6{C!c+(e1F)p!lEJi>f8k&s)cvfBSnd zsiT%ZOaji(b}3m%5Hcb-v&W5Z(jV5=cXdCK*mp51)qfL{5bvs@9?QsPc>-eee6C8- zY~Ag>i~%4U-X)LVmNDK9mq6d41 zlAZ2RI7Tj(L&Yc-Os9tyC5rcGQxj}SiIMO6m|oqhHE8#YIP1;*@qb18jSwt_&A)*y zYoMQRN7CNUt$CE1l=MZVF8OENKbNbE;~y$96wx(Mz}+*4QMcFIb!qSIk= z?mJn>9=lX*ixuD?Bgp)jp;@xYGe>nwN_-<Td-gqB2Uvr33@?919{ja4Tw|`3c~&vTsRRoZb~VlK&$1(;67Oa zhO{MmFXQKl+pTQ}wb!=mzyF^XV9Wmr&Uxj~hTR~+2zsw|k#w7v8(GybjqmvoFeo=4 z*hy`T;4v)*@&~PD4Z^mr6{ddenA=OJJp&sCcbWcs} zm_f9?FV^Xhx~X0%>KW5|^G|9sWRL>jqeZt=showC!fi4!|EGAOrDJ;)NZaSpGacR9 z^eJ;UOHVXWqhf>$o$t=xn&n#tW8*H-2@rEMo`E`yd1YKpp+fFXA4(W!;8`Kgy1?ov zrAXf%dLJpk$U(NNT&;n@lgIJj#P8E8xDws&XQ~?9)=!f8k~Ca{fTQKKhE}SWrlVYo z^SJ$bCKpu_7C=C&Zk;`Wp~L&VN8Hjmfw5&ss@TKdv75tB_n8xBxC&IKL@T0AVoJv` zEtLmhh@ZD${-zkM+y;r>ZOJ`vPw@lC%S~Z$`XDi0vAiyqIYHMKOFid1l=vk42T>xb zO_*{u<2X+|9F;!^!1`n5@692!G7&PrH0J|zFGV;YbjX0c4-Qb z4~=?*wzAqV2JiEU;~by!DxYokPr?%yC-@+tNFI}FiAZ4A51Uw=Qxi54$uw>bgU!Am zlf*aqi(jR9il!epV-LJWhhcGl_~Y@lu-ffB!OT?=Ijo4|1IXx`g2se>B$}VCSxy!~x>_IZLC6k{Y!~(84g|3s?fO{NRNc4j`zv z!iD`bl(DObYx9kpC2y+TMjm+Zy08^1`gltH?7-@byCie07N&U{IekI&npXeNpLYZp zqLDx)fGXe0xOi@dtRuuo1zU_xVAR921oYQJn?Kn?WohzX|H&q$T!cnO#XhM;o+PhD z;@+oQ%D#Eh(Br=NKbx3J+Rf2w;rcU`md~`ySe)E>8z>UkqG~WRAmv(DSNw1L&%pe< zf%S0F&PqGug(vE9aU`q{Oz!itwCVIHG`_gM%w3?HZ00+D^SzMUS!Ld)Se(}^a#Q8{ z55a~W2}gbjck;^$RYr|rC3Rg^Mhg_-dKX%+yeFI<4w5jvQS1!ERgKouBpk&&m&y0&Es!Rrjc(qIHII~?+WIe5)C zfX3P=6jrkJRbum}8-euTMrXOMc)vJZ{-1Y21=R2pR&sB8!5eF~mEb+FsC$3r9Y^w- zll@4v+Gu28T`)3*x`6(yEpowlE%@Jjk)VE?Bd)@#zi55m+jB_qN#VHj^4kJ7zVu$H zK>->GE&5nK^^61^?Ncdh!YR$eIu#T*3nXo2q&C|WF<|{X&U8~ig3w=KifJfd!_PXl zb-BuV#e3m;bWxNYgWlp?*wLMs;xN_G#r`=3v{RO4&kv-IW9S0mRKsR75rkrHW z-(%fRsO*pxN(j1T}!Xg^fc|}cK@7?VCXy#AVP%X6-m!c%>S?- zW=p=BBdATZv4z?oRh?ifIsSdX6z*sMro!xHa^ngxjIKUM7SR5$MuT3EW#j_OJDWe7 zW^?y2A{_lufz2u8O$CLZ#4QO$;>k8yy1K^E_YfkKHZ6?g)Qm5UV&N%;l+ zJL~?IuRo456q#!BCSO;^@7*W1bb%nDaIp+#HIz+RNvIVv81<uwnc+|V*ChZ0f~C~{Uq z<(*#t>n=?KLY6K{p&-pgX|PgsT5?|B9q`s6`h06|gV8Z~gg``Bfhx!**!pw5WC~lZ zFAQw|>*+@*Pt`(CmXU~X>ym>G+7C4nyZqSjdEBNdgGLZLQO(NN9S0B3Rg|1Qj|VUy z$JMl;&PXzzc|Rk&Br!umPZjsJo@^&NmvF^%szT46;G;7G*7zzsLRCz<{OP>tW`H?% zhI&m7TpP8pJ_v1?P`c>(-|0BcH*$av%-Jeq;_pAe`b`hi)lHEnU8jkqN1$^D<#^e- zj+Lj;9oEx@H|=ptWW7_M$@ufX&@TJD&;M`#o>2vz(7r^AA4L)iXf#Fj#P}=a#Pv1< zOJe_EB?%P2=RMJOL{|{l&(Twrzj;@haY!T`Ww%p((W>t0&h^PYCl|2}S&1F_WKi-k z;$KQF?t{j)-DJ}+ZBVw16rJs*5&!wz3&tDUbm?YeGK6<-Nfp9Y&g{8zB#ERkzNA2k zzgW_@Uq1c?BX|)y@KM6RR~G_WeYw>?rIspDRT8F0m%nt zf}finrA7_q;R{RM?|Y^zHQRQP6KDV~0#gL!f?KZl?h^A@d5;~ChsezbhcTn|7u9FV zh1?j&Mm=OE|Diuz?XuQ7P8|65@R3sFBwgfsf(PH%l?s}xk9*-+`5mYjkym2t2u6Vl zpvAI;wP=5vE)bhI%f>dbz`VaLa-Q=72x8 zi|k!vZ?8`qE8+dg`Py9>5)h6JvN+{*s1%#aSJGtPpPw!L(#ajo7bXJDzluqUH!uJr z?h0e}?Q@di)g#eh0>LbUHAFLyiv|{Cub@8pG#B3uH$7-bUvQ@Wa7E(P18z5t%gr5Z zx}?*>H3Z&;XpuU_t)P!SpKkHOdGeC&B2-A*EC0JMAbpSq;|FF;tCxodGxQ8AQ=RVD z?jS|Qn)SQ6&Wa3v>?nS)1daG0$`p}L(Vefv5HQkOu0*p!SlY{gYh{q4RO&e-tQ`Ed zQ-Zvg2-MKfENXdu5Wjl=@g#mnDuQnP-S9DCS`Bwe+MB00vZw>%NnKDGdR`E3vW2{F zt|DJI;XH%u3RTr+7E#9qN!ZQj|1pt37xJ_Gun^<6Ac3#mo`w5B>A1pl(dw3FFtLoW z^e(9(HqV(7`+yn(mJoc--If=2rBTsIU!V8fAtnn;u>S#@+NsS zL>w8c$SbkD8-JHOm5rKrpQ?`m3zG58NqOk;f^ywKU4_lTc_v>7h{x&QELh6;u-rdX zq$AJecM8`}z1`hH4-n1aX!^($ynDnRw$K@GSAL@5fe+RSV}|D))&+_eJP=kI=Uz?L zM@}Saq2#lSVB4YU6`!F9u3R+G5^SDgDR(9QXa*s@gdK^RdAez@xh6rgn9b z{zoCyY$NqAQk!qv+GP=~k;&(59Pb1Ux@t&0{)p8@L>pEMrj-gLDRY-5^d2=e4ZQ(l z`6(U)o^)?{9xP%E=+RD+@c~5hc$KkiQCt^fUJA<|{UPSAcf0@7b-`E>;a${&wokjj zo-nIAx|L2L`Vl=xF&ArEO+g1v=-LSgq3?^on(CF-9gBPGCywI#z`k^MORkQ zPk)x!V-5JJ5-)z=5dtSr1Ka<5&D_KW`ocZJ7*vG)KA^Mtwcowl z&PZ_39uXj-KDNED`&}mNIN|gZZE5Ahc-9)EVUnI13Fr4tgGOfjHf0GT>i$O?8lAk^ z(>eKjd0$Gi1?6Y88^gKKrD_gq@`$o7%7EegA9sMHit3cbTF@j5QN$AiO*b3WCx!k~9i+VDbXMlpt%@H%J!EOI@_s ze4w_vTX_2|`Z)gaq!1o-7}DtlAl%W*RN_FWDy2AdI}cn*FBsGt$p4~qkF}ZjbUr<7 zHkBJWlbylF9=o)bybeDe-Y$`7h#)=?M4~lG3APv2c$CL1H+yAmVO;iJJ>rSPV^)lnL1JBxVnT;w~ zPe9oiY+kwaKRq+8*YtEGd~3h4^K+Z1;8Jy`-AhvqnL)?^dV^0SA5Omk>LV60AmQGQ z`f2HPTm&4d;_WY$gzD;lgJ9`Z+^{eOd{48t{y(11!7mf2-P+l%$!@akdU8#+ZELb^ zO}1^<|MtH3y05hsxJu_F`cCML;!> zFU3^}sFJ3(hjhF3{O)7_@L!4-uxEFJOmd0cxej&x0hdFRY zlCPmg=N!zusYo_U6m^3_LD1)n1?r}2r9mdX+?5`E{|}jDxdb;xSr}4`&vp~@HRY!< z^RIqs`vW z7vV>>Tu9P5v9E$A4_r%Xoy<6vx9Jc!J^*CQfXL6DfWvI=v&;N$qb-FCz$NX2m@8$` zrS#qBF~jqj&r8Z9m;@oCc`QZ43|wG_%HKC4hiHkGx9KPv{d7?-Kf{=8)fIt?Ul z{BD}jD9C7wwfOS}^XqfP7Ps}nwI*^D$~ zl9*OLQ2bL;fchM`)Jw119iA;E_uJ>g-9>LZ&b2 z_#&(2h?MHaz81A`$iG1dEe8@{8|6aNBN2x8kDZo2Tok9U7a(y2%(dAF=dr#~xF%rCLEEo~aS{c-!rWQEt@3Xm)i^*DDYu%g z8F6{HE9m@ZIMs_L>O4=Kvws)i!j+_&K+53XnXuslI2*^!jn~TenbDcGS6D7GLBuT6 zX+#Ibj{}sdP{N-?OcW)si5UGDvSwdN$rI4=%Q6w#bI`tdz!viU)nAh(8|_6_kM(t{ zUc=S|V9hI;N&ELBXLzrgq|ATL1K#b0K(ckvY}wCzTbH9jLfle8#$Uvb?_ia>QGP{I+t zcHW{hC)b>G!mLBRc3%t~7SScINOG27DIbENJA| z68yXxd|%6|&W<#gpxGEz1)-=2(y-n0LuEWQy`y+4w?CiB|tM9 zKxHN?XgPCXvr6Bk+vbQNBF3{RZzpFZk9-5;(-jWJ_P{n1ADYJS#!Y+kL?&(eEJYw! zN;M%9ELx&Pb!9qBsSSbovr4vr4SP+st%}7OwRRGe3rAQ-Q;ZdAAH6MmK$|uK;|O8B zsvbZJd3&2+@H-gthVbp%q(WP)1`71+six_}-@+UsNv^iIEY26^9Og%_3}f^8KOxi8 zD6XI6-Z!Jc9NhGM|Do49a%`g&VBJ6Cskdub#wD zYajcg2&92*Fv4%(k{>57uq3{?Ng4J{cYH$BzA4wOFp==7LtDIS?6q{BqI1Au|DW57 zl+p5`7UsCbsHtS0{f&Wl-p1cV!+I~5f4&cdm8R%xYxs?t9xLbLx$3Vq8ZFjJvR1QW zrts@YDAoRyXT?&9Wmey5TT6~2@FA7u-uQaI>N>WM#CRETWc2c*wYxp>?ky&ia;9n+ z)mxX-%4+)93tu>HI<+0sf=ZaOvuuKf4sB9)H68dCD=M{V>q%mk6hDv4>C68Ax8@5c zail2l3q~S(LD$;s%%`~x^s5F3`-$r_ePjiFJO6;^b(S}@M~hTTenppC${ zGu@Op8S=oB>ef$UV$UI>1Iq`-_}(!g$BOom_s4S4-tLDP1SxXi1UeKVGp&4) z(8r9AB52RBJ2b0BOk-lua|~d1NGfnvA|N^LFTah-1c5UD^p}iI+&gn65_&XMl$-+t z*BSBVndt8{dCUM;kiA|9ln&4h5%jPP{q7EV5}Z~Ts!H89#0KVXCXSZq5LrYP z`CBeJjaW$_@Y_65>agsIx207oImpB;A&GdpFUI<5qVpM966HF1P&Di*-Vh#cA3L=Uv!} zLw_hC1r8<#Imfn%ADp#pZ+8t=m?%4&;7AN*gP^_K)2WXSPQ35XqfOICfujwrgo zzz5j7Is7$4EA14H#G=pjpJ75U0qmU;wYw5C%{L0=k?4s|{R}c<`^sM+tJSit{VZ3^ zi@+AVBnZZE^hOa-zM&9oH|gND!TCshp$TQ|XiIY|XT%7#{VRhvh4#5g)9> zUeLrEsBf)KndQDDP2i&jtdofQfM^i5#2(`|IQnG!p4}KkP zJ8KL~a~qYpmCR?mN%t&i;-cmDRil4Y5?irhb8xwkZwoy0Z(HzOBp0;Sy z;!KY4TW{gQH@_boNzUXfP-;|sIhhTXTs=rxd+b(N-H=~~S6Vvg%7#?ZsoYbzd4(3P zDRy|h3~A^6&ftQOBWpL36Y4N%`2p&6Q*d$=O6g-U=VkwZoq~4<<%u)^O-VhZx*!<$ z(Iv*F*LxOopdH;=CQ`kkNtzf@wF=d_+-mMjEFgM8zw?@fZx4?-j7kLEj?Lyf3TG;z zb&;9`9T5GhTv#BdarA2`Jzxc{Oe1}6Dq@-q&1AtCOgFFVEFhAEMVM)dj5`}9lCwX- zf*B@`Tm4H11EPF*}#@zd!%wl#iqU=HE&NDcDoN@6q(w-p#^-kWCt<`g7D>&r;qihV6bU3FYK+3DOhJm zNgT43b|9q}{NV$lQc2Gs|FRS>er6#P(6rbKy$pU}|9bPNVIURz)#wGMaWnui=Rc7} zu`8&5xpH~wjY-zOB6zzoP3;3QP1plQ+Ks-xWS^t9GdY00#u%jQ2%@r>^ zs_n!e{|UwBlziFBLac|6RO87pv)_`9qT-wGjsZ3~!E(pcU$$ch62hlHR5z*^XoYt@ z_4tLTSSty{PPKYwWvB3e)VQ(5i9Ee609wT(eH6(el*I@qvl>OtSNcb&Kz*8D`l^9N zc_*`ggp_#1y+|X++md+MmXe--G<|&(3(#odU&+3#+KraXU!?{uxrb_Y9s=Y$EK z-_nNgH8KZt9bUHzizHH|y&KR9j};8AAkvxG`_k(Fydv9JQh`M(>)gj+3rB#qqR2jv z#8wvzj6i&|C6C3|^K(CYxF|qYK$DfK7Zes=lNddY3QpH6(djf6A60H#(0)a=d;xZe zq*jc0Vz?k}gkTf$_L8y_Mt&S4_cah9c)9u()BQF&c%!Yz1SbV-^XeHwRwhwdbyl@k z2^69*hv3cEefl|z7zG^jls5++Dcqr^d50i!o4148+vXQnMR5 zeWymTcU*aE#p%9@fcmudYTbgs~>pspn>5nqME=ksNXY=a93ro$` z*a8z6fIWyy%-0(s#jmAkgqlwAby9?&D5lSyLDC+}7^6i6KVp5}buiFrNTpH6>vtn{Ecz(iM4gxet*d-1ksPV{Ulu@l z|1hN?CwbwOJ-}Mt6xT9U7_371qZeNIh?LDHUo8I9@oPO$J4i$TE#Fpqll$v%^YkVJ z(wXq{el=F-jm|ZQY%3;zV&2l)!Vb>ed+@|IQQ2p#E;j&AI?)fp34wZ{o=VaPJB`!& zW@4u1(?wyHh|^l+eVCfX}ZS_PGeuqYFiIICZ_5U*F~T6e9I)dqj`JNzXdzROs9oLD<%WZ*rSi^L`wn!(8} zGPHr0^dBTN&r%7D=W;A5@;k{-p-YI%Oa60Kb2bJ4P5&wi0hIl~s)8@WWF__X1I$88 zAj)DS+iC;As?`q&oye8fXxT0YqN2f!Yb=N3;=NzNls4V7mMr=62ZG;-;)Kd}4i`rh zs;QtNwcWGe+|ro;EMghWUh@Fz??{^n0h!X?w=_$1TrGY(4~EOt=T3@cSY0!!%){#F zHo#+QaK(_-TbF0^c)^gk1XIBFPvLIOgJo|oPyZ?z=_8r{RY-}Y`cI=eRe8fUXx}bK z8&|Mw0~+dE5DJx&U47Uv`$Q_#3to-Y@VQqsYdiu4*-00{ZSIbXFZ3 z3GFVaG*CR;cYF^DlrZ(@jtB6sfdm&ER##5FAC(+A2|%L=7x%)E;?&KV)I8dU*UBu3 zTw5nOyE~v>?|S8?9!)jF|1oKB>>~nVea7m%nyeWZRVg4i%15#5nu~{p~1An$e12bpHWFjZm7(`ec<{1lK_%s{o zJmqhIWSj4HF<|*AKVXo5)^Mb%P3lV8ug#x*Cr{!vcU*axD!>7y94wVH2e$y1WC<*0 z#mV7p8)zwe5mROLYeJQ2gbdX(e+H%jK%F00C71sLuJ;3ZAjku(6|V&&{Itg*oK1^@})5uq4T!x9hsEc~Z0!tk$`D6D+r^72ZN=DoUmR-4() zXB4X8y?>E6j32ktyhdvXnt6hUE;aeJakHD$7jT_tGA=xP3!caH?1RpSFt+btL85z= zDT2M2Y`BEAH4tKZ#aP9W(1fA(8RJyW*U+&^&~rl-e|CU0cP9%KcbZD%y+sRcPcRyo zWi1z&GF_DoTC(mLR_)7pTHIB~gzE&M5j*3GZEUW;M!gG@2sm7l0HH!ML)rCQiP?9A zDR0SQ>i5K;XU8|?CrfBk>AZlej&XV{C2rvJDf9LkNmCh3h_6)-V_Cr)-4*sRBHY!a z)kn&duqJGet84(2yLBYP?aOevTu}M77O0HtN z*MP-K_ANY9@V@&?H;94L3v5dVfULQG|Lpt^2=|6XL25&`;;XVNHpRdEv+cq8gyI1n zroU4{84OvQb-$+|Nxy;FhSJA>t)wT6uhowW!WoVuP8lup?~p*b566w{zIKG1 zAFU}>;K8r2I&$UAXkUC->u?Y|+5u_Ra?>!FIXB~ULA&Mn@m?+MnsYsb4V_ ziy~Sq>Wl)!#oOFSbG1e@zAPEqdm&$JOr|bhX%5Y7a4e<{L*ni+l=MuVGgGz}E>-iF zdm9hzz|opO1fdF(dOC%*siS)!BN`@eJ&U;*+(>eL$-6s> z(y1}WJQ+1F1cbFqN$&lU2!#er6;Vm!8>IW<1$$_?y=wJV-iG(k<|?~=7yfMKbTN?A zpVaa2@sP|2jllKxew0G zW;u;yq*lb?bah~QG=_|icq_WfeasGna3IIKKK)Hw9jYi99$Z+1M;6iu0ZQ_p5q_1p z#Quz!{4vker2^Lru-RrDgV&L4kJi!u?{}Slg)-BkNKB=az6As=sK_YSn8T8ZtyvPx zq1}b$a;`zlCE7RuWTDOnvr}D#fDKvee)%#99DIr8%3smzsz#kn&$~l%jFdKOc07zI z!YZGulag5r?)PuOf(_X6^GDzXL8CLozEw#S6_8JVG)@R_z-ZiPRj~gES~pvGa5I$s zz5n&M$O&#(?yKz77D?f8wfyuyc?@3)(Ec;7+Uut9s)(fhx)6llCn@2jjWOI*U5pLs5Xk#6#snB{$(AELe(T!46E6Wb z5=a?@eLC^9w@V4l_G4R&Q@a{9!V<1!)D2R;ivVyg+44)MAkvPdwLQoLg{lIL+JcUAe>LYd zMs|Y?VAfR29n9+f9%r(+{ML2KlFg;nT^BHEuRCt{(YRkTe`f^afa3zR4B&xnI%WUm zK;QS;;)GCywN}8G2~rMZ=C*%%k;v9bad zLAq#zMpW#NTF>tX3yoiEtm?so4Oq9`fD7nU`_T+Pm8qas4hW6$0<3!kBiFHd<03H# zwTnKQ4!j3;8QXEco!&iv#qHMaN9k!= zl?p8ITVeJQKl3f81B7G&Sr+Ma$r9B3*f5IqXK^&f(JXQZwEyTXQ6qnbiK{W+$_KH? zPAoF`m-pnmDQYc2;{+_&>^6-muVM_`x%g6RQlC6*&Ri)NzXbf1Pjax?w%h3kUeNsD z4v<4LL$2OHk~B-TB-@+nXWOkFA&`lPvqq{Zlb16jdL)#F_#i?TjAyUY*yl(Z{X|j$ z9#29%Dv83vg+NOUS7P6WT&b=GuK;yG$QhGMZWFQef;MPJ4vA+#Iw?z`SEHKg!dErt(K$<=rWW`(tOlB57SqDaO**R-Hgn!P}`Sn&3GlBp`^UK0<$ES}lFAcpmj*Tc8R%U}6vT zsfg(Cnj2HOe(bQ$m3e%Vn|e|7(5L*q-)xdsxh>-i#kWGJi-)1jXVf@1o#<72bOdyO zsx{ouZ!K?+72Uvpf9U5Zs_G=+p?Wv)8K<5s6m;KWHF)BaYWmxYDA+f&P5&TcMPUy9$y@LbkYtZlBfSVKpOK@pd zAWDE)DBm0P8~RSR?*t3!iF3cPa#o5}3?cxwr_AE)^hDwH6jl)^yVVQ5G2|RcP~Z_^ zW993d@om>h35R4!OPHzUhCahf{2%1CRE>Y>n6|~%t_Bu&+IGI^{2R*= z)P%*<=2fuy+W$H-bBMqpNIhaZ%R5yXyYi>kcZ6{}1`}3^d^@Sj?9uWaL-5#wHuJZp z_s>gnF|7>N8|=?TvICv)!S&r8(6R>1S%m>%W-wu|_Ba*S>pKRX{&UZRwdg~Qk~(11 z)+z5sZVX|HZYzHUPTpd|Z7>L|6vd`I@jc-5A)>8C?pMJJR&3}DT1-stS} zPTQ88k7y9+8>1U(M#Xnw8I89_zh6%|6h={-KeArw?m)9GV=q~hUGD$P9~@T%Bl+GZ z?1(`!XcglGd!NUn5rM&V-`=tv{J)#|_Y6g@Qm~aC$o zC1FSB@1g}9L6<#r5*74ZBV3VO+1*>gU}4x;xp#IqP+7lRE&R+t4Q*=~P`Aqsb_MGC&<&z{K zIyM()GIQl@bYdT-4@_XRy`=c{^A{Yudx4EzN;Zow;<%p#aqo{j^XKKToKHO1?}1j8 zgN_4w*bi;8v3H7Fxh)%QPKj$0B)O@JH`6al!@Jqz4Mv~|WcupKM4y48bY7|t&x)Un z4vU)(^4HQ%2!0dhDifA?J07h|^8c@)n**Zn7+on5RgG)bJKhNP#hWkT_vu#)B4FWx zbWj62w>AU`fj+AgqJNojGP+SCj_s^y^qmK@cr7K1ANw5uBip1lTe+`o5*N^DZ&yuVY)n*n;Z?ClZF#h#+W2a1i zj?wIM|L%+29us;nbFntRGNYLQ*D-_5+*YF50&Gk;wU*y6$qSlfiRG%|t$5d*!)vgb_OUrT6@1WtscwB#n|i4DR?}-_1RM2k*8<^fb?j+!EUguSnCl zK6p{gGAty1;@(D^Cowp#gxf)(kz_u2LI`aG{=<0InM+dnG2uY&a*s~jUcLP~q*}}F zb&-eTUnC?c&v(3kX<2L*AvWw5m$9h<+ypJU>8Z-79C08HGxp$x^WW%s#Ad!`Ggeh-D6L95l`24V%=?WZ_#Le4Px_9@_WKpUKgCZ*Fe(L^>mro#Fhlut z8@5ZGcy6%t7~XTig+a6$_Pj|%$yWJ2P0A?nCpPWIFCmD;5ub<1^vAoso*`W8ONz{R zx&KwtT&1aCe@06N+N-0t?2OQ z6!1h(7))Ywzpd(*Y|Rh_bv7T0x|4y$dAZrp51?9CfVoUY4>(%)E0iU9EBkF0n6x0}WvUY7)iUZ4e$dR_ClD#Imnb#>sR=twTOdx#b7v^LHUxM58^w+om(P?1g$TnB0uOP`)StwbCE6dW+zNg9{1B{T z=ODP|1AanHRB86xaV~^uG!-XYtVKTjBE`ZF=Wd>@O~J*+(Y|#{Lq&7a7tNr4IGc^R z>Bx8`7-3!&m4AlNiH91Z)Eg6u0?!9E-`_*eu#d9O!S}QO{jSNJ&<$vwS$?Q(=+g`6 z+i3IdVH9t+uL4vJg+cIL`y?vRHvIE1z!ww8M5bgD!frOI#X04v2I#y6$Lm^>;4?q( ziZ`;%Hlx+?E{dvjS(6Yx|M@^fuHM@CfS>jJ=JHy=`)3dP9*v~T^v8@AtrodM)ferB zB3b%D^s`Nn{g7z!`G#DhTx|aMSe!k31P<9e{)v_W63ZZvRSk_*E7)$Nr#jmG6Pi+2 z6|X&LI)j`K%999RG;%ZY0R~#|!_$V6cdQ5ZsgjstLFH#SkVbK>>krn}&15P;3^SOo z(QqpYDnppbO$&1vlnzbCMf1!l#X|z~=-K(Z{2J<^FHuaq<&O}KT4GyCQZacP35$+Y zC?A_pnv?|wZJ!Z|aKG^m${lGeCw4Z8fdoRH^^jT$_irh6#5&w|D=6*u#weM(i-j`S z=|GV;+C$Dt+NRdkm^ds57EzcHM@6w735y~GjJNoZ@E>d<@_+rQKGYUhWk zlwH;`C~m-29Ay{Lq&Cv4IzUf+IzYxqva-%vL4UK8)m|9b{xk8={}{lsuR$<{_eUbpoZGG+is{8YH=`)6fwZDkq~}Usn7u6QzY~{)iiOIaC+H%imeX= zvde!X1%;_W?8iWVCl5%F$q7XKUFSVStISx;P4aODX3eVot+$w6yyqy4oEV%|id3xF z%B0ESD$|j=eQis~XT$*XR`wM)(}+jI%hfzd>=fJ$#ekDV!6jil*dKA05yGMHlhDjX zrROMhefcV|dY5_;%K5=`3$^3#uE4FjWXSfH^`P6?d73!9YEwOglVFT^ptGD~hxfj} zs9LVzaFG*R+`_XSY5)6I5fvjLwNFuoOf&~z4!Q&_g)Gf?nuVLYO-PgR?e`Nw=#OVDhcM*I&*DxkX~ z5}H$L)gYE`S_qPw-}~R~e~^GL`#MuRn1__b@G+ES1M`6d@@fAwQzgply`a61h0g|; zJbS(RTpl-Mc`RMr2`ax-#r`V*wC*fuAWUze;Ic|GPDK{8&$L*+5!mBo-D~lc5MJ@) zbopb{1#)1#Zbkz3_6h7-FJ~e7d760g5FMqdhe4W+96{7ammDf46Ra?U{5=h(>rB}g z|4y=Drfd$uieFqHZ=KDa*`XekM^!TI@@?@&^CwC{bw8nr7tGr$;Tu^Hhb2~{e|~ST zmJ7t^mvj9w-IX!hu4(O?eO+F&eO_9bY+G91HVD2C zPdp4+&a9<@6b9FKcToS?K{QZhYrZzPibM{_LRtTjW~1X9b+9J%r9-7{{*$ArDg7tm z;4;J9n1l}Bgkk};K`S(Aa`kP5tjpP8gV=ySutpLQ7%QXKNQJ_6uBpb(1*NeZ7Vi~H z!wM~DdWsyDUn5d7LlOY>TboKSQE0~1Fo#&v?+%(4(1s?+V61u~wp=q~u*PZs2_ORD z+>0oY3=Get-(7h(Teq`HtvG!(ShMu$CQ96LE%x;7HGTS z$qTN0t%BZdU(f|7*DzA{Q4)0!B^K~j&4}Igg3pio*^@fH)sG>k&X2zd#ahupVCx8c z-}@g&&Hqm_`v3k}Q1P*CW3OCXb>m7PJX?sMJ;q||d24h}NAuTG&>F3PTn^V$85vRLe# zL#lj&^79m`{LM%Bkn-EbaF_6@$T1ZehOE?(kt@iw4Zc8<1$KWq5SdVt>eTj0PSGA; zOc5APG{)>y$O#VsP+}P&$;UYD;s@gL$O@2Pe)rsJh2rVE`?Lg4wM%kU*d%Hsz6|GD z2{eSNG6$#D*3dIb(DO>)@YtzsYl{7_mM)XlVcZU?d1Hn-crLYaY&N01D3s_DlmcYU z2*HLK>J=A7EpPKEjcx^%BvJCfDTm^;_1Y%*J$3tWHUg>0rsoROsHq{*iBPnY28q6t zn=^dH;MEO&5E-N&Cinkts^}QyzR~&_IbYgK6FLox|I9v%g9lzkQ95&rLK@;un{xMI zZZGUzg!j{CBxx$Jxkh4u*1r3baF{q{<97Iq2PmIbHl$+2DE}>e=k2SxA>$S!HG11} zHGB8u@96}ohxqnDcue%}j^@X`NiYRs--_Q=Y!-V)hYw>3lT`Y~yA*pTj^bZ~>6(a5 zprLx7oFoEkwYiuRgIp6j174ikKzX#IxJFdKv)RaCi&KDuFAAfh1lQY<*chNg+?FQw zo$f)8LS)V7>=~7$5^CPNHRq?^e-yy!FaJa@GI(D$PO;hOw$ z(93G%PgL$|>2na%hGG!=)Gi<6MP_dESE--f54blQLf`gQm;N~~2#@hP799-N7gCj1 z_53Hlr0{Uy$~eK~Wo*d~@1$Vx0e#4V_!V1}{K*xfZQ;)=$~+w8v1;*j9y|)nWTnOw zY0Ki;5kidTEKtzqM58}~ZWeYlA5N=TAWW1CE0vZL(S3Z|>*45>q(xWLq2Zb9t4vNd znJ_lVb)PgY>E4R_gFnK2hz zaErj#S8gDbjT8PDu_uMWE(sHnkg~pmbp^G{0L+Zxkm$SvGDb9Bk40?yBLe}oNYSaw zFEQ*A_#pJkaj@Y*Z39i*)>nXYx1V`FqtvZkgAMCk>}CUOB&5LQs7N6^Haj^c^{^m= zS}ec~xoX8)Vf0=If*9-SEpui;j|@2hsgos=3yukHa)=H&eo~OFG6H z;0DHp-B%=x$VJi57&V8MG5oWe*+N-=5fU8%Ds)tcF7}th1QzbUU;7A&OsdCXS5|Ega*3S_Ug%ZOmS;{{_>NN09C} zp2T59U{=$f^=z>ZRq?8vbH1^rff)q|^rbZQF}cbaGGo z%xbP*K(6(QRb=|Q7GcBN0{!+Y7pN}f{P4%6th7uHcLz;*l{?e`{D1E}+m_JMw`z|J zj|*fellu&hdOd+f*a&w0JE zMM&MhEa^RAot(7!v5(_*gw)J_SYk^`!4d~B8eJRzZd?eD!bmnw~D?<>f^hlt#4o@dAARY+vUtQ^*{7QM2n7e?M?&|IfFN-Zks})J9lz*jU+1IXE zALHYK!GoLi6)7TF9Kt|<_Lf*O}!Ri)@ z@u!yuhvSTWZkuA^A$JyD@G-$@yjJl{a|cY2cbUXrJuquwy++I&M>5Xeo4=?}@5}#OouL*f z|1grTNm=@T0b`4A;lTpnV zv9aPg$0Eg2hFprk<4384vb8f1Bf}e1nEkqSWnSyBlBe%e6aRUV>}BJUUp2r-JY0cG zz8~*zJ=EQLogm8&@j~TEQ$955)J~GWILm`ge!P+0r1y2Zd^QA$o33g8`&YL2>Im}| zV8mn*ADaA3=}|(Hooe^D815`bx#S%yvqQ=aB9SBSjL?95)zx@rYC$=eB`9AwFAFiV)8P#6sEjG89T<<| z<^8632?y8krTI#Xd(e z_lDIPM?Mf2i@Q-@3zxH~2xZ`}#iUMbQSeEZF+| zv-!_B`{WiI2-~M_Omvcjo8!PH9k)2l@!?+~7`x0tk5Mk&VMF?JcO5#XI?eV4soAEw=8EUcK~~~ zrX$>Bt?py4i0BSkYcpw`8*F1GH;prq_}9rnOLOFuE7(Z7!r>;-^{RG#p~&$F+{F^V zv*!l`iiN7RXk1VCpAXM>3isEnEwX2}U~hj%*M034AV!UYPY@bNND6>Y!lW|3501Dx z8+AWGsbXJ<)(UgbE%q>}Sr5d_?=#7+?yAj`dQoi=<@-&H?3{QAU7Ce26uUFyP$mz? zNHh17$fV4q$NEZ-*4;4;_E`y68gpd1zxMEYQ`&aj0XMHrYULj24Hq^k7N3CPjF?mi z(QFQ8J^95ULwO7mlS5fE_(DxF{QUixXFb`VtbVhPXsNi<_#+}5{R$RHA_{BWg5frF zC7hZx>}zs8E?N_EmD_5eE`6SG0CQF>Cja`XS^RJPf`8t+B+r&j;m|wbD_0u`V^de7X3c&= z&TTFIt}x%q2Sbhqibl+jduYpzGwL zGd;*^|6e;xLF^t+3?|qWN$ewV4-Mn_N_rF}Fqj89C`lpcJQgeu-~M!P7$L(FrYF0g z7C~}60#jIF0Al$;>YuL-fX0f^ozQlnn_342EYXBK)qA*3+q?7K`dzHe_&PQ5fLT<6 zfDhyD;O#7)cAxY8XUb?ZMKbmroh8qeW|%kUVu|e(Almd#-qxF<&sp)&c}&zfmpY)? z#-c+DsiM%;;kpsJpcyql&UM;Y8TQoWFU1_sgslF$n0&OvfSGqHtsV~c4!M$uVm#-8 z^=mq(c^8o=Sxj@XOOe;*bWCZDQ1W#aP0%T+Sr z9*|yWn@Q$!n<0=xDAvwJAu(JI-xkTTAuzV+azfLp_vuf2gc4euzg4D})vUA=4F6E@ zoS8DiS=9WHP9RhP`BW+vDt4VWHZMZDXF{7%ISY@4!&h$n4=tN`(D3l!m#5>K9UruA zRD}`v!}r(ao*RC&hN*`zGM-zSLMeny5ePCs8fG zKd-oJhc!?%Vn>lOq_5;@LFU?zPB!#3^}sZ6+3ONm*~D&_LAEB($XI=(dbB6DwK9e5lrB27q^b&*)B6Spu0_bVbQZ z+PS5Ig_jMBRhdxERRy{cwnEb0A(+2KV*qUXC2u(QYBu1i8W3_#Dq*vB2y z=xM2KX&wz&Qz&9P|Fd1j&t1x=e?#6=IL)Xk8#}uAzDm7d{v%*> zo1o{fAgFQ4*X?a8o-y^3aZCQd_KR)aOfF4)^Y3G8Y*)TaSWPuN;DH*V z;w+X&A{w4(EyxgTxtuhSO(^m`?{{xJ_Q^*sYd4dPfkq8{_Hvs+9IM;3ab|ox|BF0L z7ota|u=yWo-I6>KJd4!~mLv-rGY6|tZxk>Z5T9p3Q+^@?Gh0|e5Fj6uIo#s1s)|XSTCkOV~?u~ z^_D!k~W;_H#H? zjojlN>euv_qxF|Y)2ZOa=$%1%bi|j#0`siBqMlJ!FttQad+)?>vjUu#IcBid>`K+3 z75p}j2g|dlFFw``;Y2+Ws>xEy;20^1EDv+tnj@xv@KQ}f@x&C}lps7YoSNqjsdhz( z?=#c=9~f%{bX}jI@dQ8Yc|78*r?Wb6`JU6hKve>SW264tQH8p)Y9GsB9#M~D6o)Bq z#cQ=Yz%Zq$kk>5vQCg=l7(L1%J1_kI)YoftrKvV85<9XzANfcZnBSSO@cch3WMl^O zIFX&J2jOh|oxX=04y!)wSb?{0U_}<(J=ffFX?lOYUPkt&$p(04a!<%q7zI|7s~Chj zs#`DF@#5<`YMHrX27=7Rknb96bL{XQ#t7S9b zVS;aQ{w;*w&-CbW*F2U_q2N?D2aYC{FRx6ChtCw@A_V3aQl1dRH3XhqI<5##4*mOK6Y?2H= zrrYB@ietu~4?Fe4!lMJ2l<_a0%svGEU4IOdIAQ$}3hFvPA2`m_Dp((g2jE**Z;U2p z(lBv(ztqML=lB`+5;6mmE5v+mou(i54?|G(2X24xeK!gBHp1H~v}a|PLZGx|g7iyz zKN}7!yXQro6Unlie=>oJYEwRwTYLM8Ep@E~hMdCKZ;*PeCRau6Gah^wmaXfnR>cUc z%=uvisXc#k&;!*c|FmsP#+ZeWX<}wrZ$* z!xmFz_4e)tTbd)Q?i{_^%pr4r!`Twvd;v~)yo@Kz9lD#G>b?;RKMR&%mZ3j=3Eogp z2cvgOgn+q<9$S_+YFKhf+cNBX#_TwQrPN_A(>Osnr^ypBxWo z^B2sGwU+_Us;Bf5wBCf}0xuiim9_pK0F*#$za&mUT75F+paei!e%R)10BC=? z=25$9{v}Wb1^5hmk7I)X&}5LoG`co&dCa|ey>b56y5F#NP?a9wy0FQYu)LmR8#2;Ti%#^U_14;*!sN6^E`1_z| zDP~=S?&SsbI<5boy*FX6tGcp9r%tP0mV1oBrVo8c2qAq)APJN$G}fj5*idN3vu~as$HqBtq6X`|Q2;+H1`@ z$85$VsRMx(&Kaq(0$p5exL&<8Z8z0V+jnjpMom!7ws+Z=iUv4O8QuXJ&k+^uy-wQL zX=)^R6bj}8CP<5L`$`tZ+1_7tM@!~D=6C7tawE#$O$N^z><6Dkjmh)S^Cr(ruay4I zMcnd7q!pCb$Xa142eEQKd++@&cYUP=@|may2h%0!olCvL=#}eQ6M|zF!s1|~ZjZh( zZBHL+*&#IMoUIH21Px%3K(Me-Rz5t>lTIu~u1q98T!|<$hc`2D$f&DVDe^A3`~aWe z6gX{nZCXH+^bxyz41c3PV2MDIkufPRrVgZY`W}*i>Ur)0YTA?z02N77DoD?|bGOAx z53hK?n1Qp-fL5O5Wat1IW+98^fQa5XG}h#`=KjjkalHF zNoM8yD6f&GeDbmQ1$-~MEJ(tA30O_1%Z$Qa8R@6-9lx{++dnH_#SC1s8OR(mzNTYw zYGum5DZ7Z1jQ^T4 zhRzU4u103QDCM8BhJDd+42dNcaIP^V%H2G&U|+eSZlBp!vfbbn7(gZz z?L3K(kRy~8B>>5^{e92o_Nh~{OR{JerpCufJfu|3MGd!Cco=EAma|bZ2S07xOy2b9 zX#xw$k+2_E(%~_%d^}5K$r8JGtqVubm-dWD%5oU%&gbP`Za;cGzT3lIB1DkJ)q zf^MITkSDG`~tA!grZl~?Z1Ansr zdf`!f1%1(GD|1>1>=sVrl=;hy0&oM0s9foaYh7J&yx9BrfEYPL?*)WiJ3#RzGP~ft z8v1K&@0(Oj(EYnhwii7&Mqn&6dg25S9C$3$P`b+-y^A+T4wTL>-7#iy`I}z`s4ezp z`_y~?xLC>O`0d7rPj&)nXPx;a4`yXg(3ytF>Yk|2U$Sd@f3NEMzE||T`P<1p7^n4l zX<=>5p!5CvXsr0#{ZokQ&f6RF12&Cj)#~%2{$xx~6zMR=5qAV9AQ+CU6+aA1b+&;H?0V$8Ck-C9iXate5=^c=TkWL2Rs&2SA zsF;BZHv`E~aDl)Guh)6HeDG$XQpj>lxu?@j94F^-$?2)N`b4tGk4Qi*2RV3`p3x+G zbSCbDP?E}%r;{bWKN=?`0;_n_`*QlZb(rd9V!S%WL7WVQp7%3)@c2+p#gO+JcL2)8 zGaJqs-5=*A&Yuj-UO5``5O)-(Nyo?JYTOB$r8&;+feZIki!&87a1mx8oE~gX)L~`{ zbmzXg0sB3u)_-@nZEtsmZL$KEWNgtI1O=N@bGs^LA}~S~m?CVRF_Kn4jd^NPrTvqn zOHA4eaIkuGu7=dO?a-m081349h^XDYwF|0susz~fZvnuw@p`oVqMn>rU>So-Qqs#M zmY4~{m{}>l=9ZGz$$5E0vXm)fTvjEyls?L2QD)e=Gbh>B`n<>JW6#!PIVF=ijnuEP z)G%IRhi2(|{w;la#&<5lS_s*#T6{OT?a0KrfSk2{J5btYzdeM=>szz- z=3GCV=KU%w>7B#1j}o&?qFiTs?s&tH@7gX0lW$*$4$c(gwG6FI>= zrUONN8WDqM-}}4$^!Z2ag`+QH)6Q6{!bn#{0n{kiyO#s-E<)pLeMnjutjU4U;AZTi zVX)9S0U$g*RrJ)@(LIjb)T({`x?vd3^ETR?4VI%e?=uQiUd7UV{1DO{`>{qC0pQx$~grm8%A9H;8K7wPx?T^~+Ge0Qx|o6W&wx7~xWv64*uhAWZ|-$=#{y-wd%9CZ*MXQDE}nYA zSMUB#q&^9jxWVJQCi#-s=Azd*n8P56C;v}~9F0siPHw#D`n>`<{^Wb^RpzuhXX^h1C2N5W@}G>oZk*;$QEnDO_&#>G3JrfTf6Gb4t>plWY>!t}X6;_|Py6!je)P9(qv8l@k6pI2 z33;SQiH|Qu`O~)dtsl{ScNIB+<3*F)Sn>#x2y%hdyH7*lEfy*9Z9mopV#uBRlSNl> zJQcfN_qq6Wu87`pfNb@B>U!+gbqb)A0~O*dla17)2at%?|G20J5fXDYu+0zGS z?NAG}{OGCHg_A8uMC)1q?$o0*v4pG-W_uuW7vQ}HTK;~!^NQQ-pYHya-M#H&s81V; z2HF6VNTn4whKeC`pzHyIaLlJUAPHp4ewU`t#52nFBA{G$LqC0JIK6*HZp*^HS=0IJGy$ zYb}o{AzY?8(gR#lB*Pm{Q?U+$EaX$8=!bUGh~2)ai-$A?wwE~^2TzR{`Y0&4bC+MC zJ{^mJQty%aBozHx#+{CJgU07!q&yHc5C`<$`hYnofVa@;t6*Z57`sX5id2Ac3wupvItB zpCqGkz~yz81S6^)X0}3jZKfB0Wn0!I3WN0i+{@?)t~ z{3j{?lv1A}W0~PXBaZowyoWFz zFToXn{h=~~g=r9Qwd`{{YIZMDANLM88JE}|Wi-3^NaL0a2^l1NRr}rFaCX8ZWtN}$ zJ~?Py@_02u>o@*n z$54~g^v=A#S@jc&P~Mp+O4P<&4G=l=A?j=jy|ZsZ8{tfhli^l2<3q9O)%98X{&fTP z#cdtiQJu%9bTR(q@c@~x)*=G~4RY>%K`5`8+r_Q`Y&t!=GC_P_HwNf~)zNYNXV;tHvc zNGfdQchrXuVL9|VKwtz&H)FHK^z&p1GnyPS-ZDIEamm0E{+?)AB* zq4>O*feSqY$*`e_kQ59N&wq36S4C#y#uGndgImdQ0ls@x#sB~y07*naR5b@2$>L}xO_)q4*Dvy#WI#>#eTL7H`!|=&YMBwoWT5Q~*|D6i z>Cwm;Sc>r^z@;HZ-hlLlgF|N{0kRZ5FoFarCJA%ljQQx_$*j5t9IJ1aK`ioOb4Iw~1+0GV98nlkOyP;w-O6 zbsa47654fga-go9I}St^=(c6!C?~iT^=bF*8L>}nHoF4ZTJ>mah&?4S;}IxOJ(1LJnDT+NzNp(k;PSXEN$h*57i||K9WUMV9Uj1dZU;+Uw%UU zD;!)d)$-5M6*Qi+#CpyZsawsGbRs`*86?{&qLlhgnauy;ce^@h@7o9(T=&_duTRd2^~UEcyZh0<71h!ydZk3uuS5 z9i)|5UvlbEDY>o*Dhr)acqdHD>`@8T{kQ?C830f^iaHc_pyqAZ__OOc-f78zUcg?|08U z&)K4=Iqr1BM!1eLC;QEv#{tBVZ`)k5Zy}2I8L)>E zpj8+}6OAoaI9M6Upv3bi_$^lwlC?Bc+N!Rr_l$?Riqh~ZeoCzvIam+5oF(g9?AFCIjL@5QD@rG_`bNC@kbe? zbp7o~^t)|=mcMHE?JC)ABTXBvIJW^y9r#<|Aizmt17B?4g$$ECStgT7_C|6b=^*?k zl}2#heHTYUc#lz%KJ(wXbjiQdyWu5<2pHl~_5w+Xy!fAl#~G5sg_;NL&Xgh

XNo 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μ~hcpR4N-hi|Own=w_gU^3pK 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 Self { let app_ctx = use_context::(); let game = use_signal(|| Game::init(pack.birds.clone(), true)); - let pack = use_hook(||CopyValue::new(pack)); + let pack = use_hook(|| CopyValue::new(pack)); let stats = *app_ctx.stats; let stats_original = stats.with_peek(|og| CopyValue::new(og.clone())); let correct_chosen = use_signal(|| false); diff --git a/app/src/ui/mod.rs b/app/src/ui/mod.rs index fe325ba..5792e47 100644 --- a/app/src/ui/mod.rs +++ b/app/src/ui/mod.rs @@ -75,13 +75,31 @@ fn HeaderFooter() -> Element { class: "flex flex-col sm:h-dvh selection:bg-purple-dark overflow-x-clip sm:overflow-x-visible", header { id: "header", - class: "text-green-dark shrink py-2 w-full flex flex-row justify-between items-center", + class: "text-green-dark shrink px-1 py-2 w-full flex flex-row justify-between sm:justify-center items-center gap-4", class: if is_index { "h-20 text-5xl" } else { "h-16 sm:h-20 text-4xl sm:text-5xl" }, - div {} + // TODO: hambuger menu for mobile (with nice animation 3 bars to X) + div { + class: "shrink-0", + Link { + class: "outline-purple-dark", + to: Route::Birds {}, + // TODO: use hover:bg-url-[highlighted] to use the yellow fill on hover + img { + class: if is_index { + "h-12" + } else { + "h-10 sm:h-12" + }, + src: asset!("assets/aviary.png"), + alt: "Your Aviary", + } + span { class: "sr-only", "Your Aviary" } + } + } div { class: "font-arcade font-semibold uppercase", h1 { @@ -91,11 +109,19 @@ fn HeaderFooter() -> Element { } } } - div {} + // Just jank until another icon is here + div { + class: "shrink-0", + class: if is_index { + "w-[41px]" + } else { + "w-[34px] sm:w-[41px]" + }, + } } div { id: "content", - class: "no-shrink", + class: "shrink-0", Outlet:: { } } diff --git a/app/src/ui/pages/birds.rs b/app/src/ui/pages/birds.rs index 338cc7d..884d4b9 100644 --- a/app/src/ui/pages/birds.rs +++ b/app/src/ui/pages/birds.rs @@ -107,12 +107,14 @@ fn BirdCollection() -> Element { rsx! { div { class: "flex flex-col gap-4 w-full", - div {class: "sticky top-0", "Some controls here etc."} + // TODO: unhide and add controls for listening, sorting, etc. + div {class: "hidden sticky top-0", "Some controls here etc."} div {BirdGrid {}} } } } +// TODO: handle case where user has no birds yet (or less than 10). #[component] fn BirdGrid() -> Element { let bird_ids = use_context::().bird_ids; @@ -157,13 +159,15 @@ fn BirdGrid() -> Element { } } +const BIRD_GRID_HEIGHT: &str = "sm:h-[calc(100vh-120px)]"; + #[component] fn BirdsInner(birds: Vec) -> Element { // NOTE: might be better to use form values with a memo rsx! { ul { tabindex: -1, - class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:h-[calc(100vh-176px)] sm:pt-2 sm:pr-2 mb-[8.25rem] sm:mb-0", + class: "grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto {BIRD_GRID_HEIGHT} sm:pt-2 sm:pr-2 mb-[8.25rem] sm:mb-0", for bird in birds { BirdInner { bird } } @@ -215,7 +219,6 @@ fn BirdInner(bird: Bird) -> Element { } #[component] -// TODO: update this to match the finished aviary design fn BirdsPlaceholder(bird_ids: ReadOnlySignal>) -> Element { let height_first = |ix| match ix % 3 { 0 => "h-40", @@ -230,10 +233,10 @@ fn BirdsPlaceholder(bird_ids: ReadOnlySignal>) -> Element { }; rsx! { div { - class: "animate-pulse grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto sm:h-[calc(100vh-176px)] sm:pr-2 mb-[8.25rem] sm:mb-0", + class: "animate-pulse grid grid-cols-1 sm:grid-cols-[repeat(auto-fill,_minmax(14rem,_1fr))] gap-4 sm:gap-8 sm:overflow-auto {BIRD_GRID_HEIGHT} sm:pt-2 sm:pr-2 mb-[8.25rem] sm:mb-0", for (ix, _id) in bird_ids.iter().enumerate() { BirdCardPlaceholder { - extra_classes: "sm:h-72 sm:max-w-56", + extra_classes: "sm:h-72 sm:w-56", extra_scientific_first_class: height_first(ix), extra_scientific_second_class: height_second(ix), } diff --git a/app/src/ui/pages/play.rs b/app/src/ui/pages/play.rs index e765280..3496a00 100644 --- a/app/src/ui/pages/play.rs +++ b/app/src/ui/pages/play.rs @@ -10,6 +10,7 @@ pub static PLAY_STATUS: GlobalSignal> = Signal::global(|| None); #[component] pub fn Play(pack_id: PackIdentifier) -> Element { // Do I need reactivity on pack_id? https://docs.rs/dioxus-hooks/0.6.0-alpha.2/dioxus_hooks/fn.use_effect.html#with-non-reactive-dependencies + // TODO: Enforce ad-hoc bird ids learned in user's stats! let pack_id = use_hook(|| CopyValue::new(pack_id)); // Typically PLAY_STATUS is already loaded with the proper birdpack (if a user has navigated to From 0fae1b333c227e5bba1648f107c179df1e0313c7 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 23:05:24 -0400 Subject: [PATCH 13/15] Dont check seed crate in CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3362c7a..3f29e61 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,4 +40,4 @@ jobs: run: cargo +nightly fmt --all -- --check - name: cargo clippy - run: cargo +stable clippy --all --all-features -- -D warnings + run: cargo +stable clippy --all-features -- -D warnings From dc3472150ab90a661bab9f0bc8e18c6ff7cc7d91 Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 23:10:31 -0400 Subject: [PATCH 14/15] Fix CI --- .github/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f29e61..179dd0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,6 +33,13 @@ jobs: with: cache-all-crates: "true" + - name: Install npm + uses: actions/setup-node@v4 + + - name: npm install + working-directory: app + run: npm ci; + # dotenvy requires this - run: cp .env.example .env From 0dbbfc6ab5726fbaab254f6e4c2baa5ec71e5e9e Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sat, 21 Sep 2024 23:13:21 -0400 Subject: [PATCH 15/15] Cache everywhere everything all at once --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 179dd0f..3e97151 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,6 +32,7 @@ jobs: - uses: Swatinem/rust-cache@v2 with: cache-all-crates: "true" + cache-on-failure: "true" - name: Install npm uses: actions/setup-node@v4