From 02ee5608f1c2ad86028d332899e851f977e6a703 Mon Sep 17 00:00:00 2001 From: Casey Date: Sat, 18 Mar 2023 16:55:40 -0400 Subject: [PATCH] Merge pull request #14700 from Heroman3003/weather-fixes-changes Various weather and firework related cleanup and adjustments --- code/modules/fireworks/firework_launcher.dm | 14 ++-- code/modules/fireworks/firework_stars.dm | 12 +++- code/modules/flufftext/look_up.dm | 5 ++ code/modules/planet/virgo3b_vr.dm | 55 +++++++++++++++- code/modules/planet/virgo3c_vr.dm | 61 +++++++++++++++++- code/modules/planet/virgo4_vr.dm | 46 +++++++++++++ code/modules/planet/weather.dm | 21 +++++- .../research/designs/firework_stars.dm | 37 +++++++---- icons/effects/weather.dmi | Bin 36516 -> 37987 bytes 9 files changed, 221 insertions(+), 30 deletions(-) diff --git a/code/modules/fireworks/firework_launcher.dm b/code/modules/fireworks/firework_launcher.dm index 5f7720fa8c..c7662e6226 100644 --- a/code/modules/fireworks/firework_launcher.dm +++ b/code/modules/fireworks/firework_launcher.dm @@ -51,7 +51,7 @@ return if(user.unEquip(O, 0, src)) loaded_star = O - to_chat(user, "You insert the firework star into the launcher.") + to_chat(user, "You insert the firework star into \the [src].") add_fingerprint(user) update_icon() return @@ -67,7 +67,7 @@ if(!user || user.stat != 0) return if(!loaded_star) - to_chat(user, "There is no firework star loaded in the launcher.") + to_chat(user, "There is no firework star loaded in \the [src].") return else loaded_star.forceMove(get_turf(src)) @@ -81,25 +81,25 @@ return if(!loaded_star) - to_chat(user, "There is no firework star loaded in the launcher.") + to_chat(user, "There is no firework star loaded in \the [src].") return if((world.time - last_launch) <= launch_cooldown) - to_chat(user, "The launcher is still re-priming for launch.") + to_chat(user, "\The [src] is still re-priming for launch.") return if(!anchored) - to_chat(user, "Launcher must be firmly secured to the ground before firework can be launched!") + to_chat(user, "\The [src] must be firmly secured to the ground before firework can be launched!") return var/datum/planet/P = get_planet() if(!P || !(P.weather_holder)) // There are potential cases of being outside but not on planet. And checking whether planet has weather at all is more sanity thing than anything. - to_chat(user, "Launcher beeps as its safeties seem to prevent launch in the current location.") + to_chat(user, "\The [src] beeps as its safeties seem to prevent launch in the current location.") return var/datum/weather_holder/WH = P.weather_holder if(WH.firework_override && istype(loaded_star, /obj/item/weapon/firework_star/weather)) // Enable weather-based events to not be ruined - to_chat(user, "Launcher beeps as it seems some interference is preventing launch of this type of firework.") + to_chat(user, "\The [src] beeps as it seems some interference is preventing launch of this type of firework.") return to_chat(user, "You launch the firework!") diff --git a/code/modules/fireworks/firework_stars.dm b/code/modules/fireworks/firework_stars.dm index a276539424..31cb9d3c59 100644 --- a/code/modules/fireworks/firework_stars.dm +++ b/code/modules/fireworks/firework_stars.dm @@ -24,9 +24,10 @@ if(w_holder.firework_override) // Make sure weather-based events can't be interfered with return if(weather_type && (weather_type in w_holder.allowed_weather_types)) - w_holder.message_all_outdoor_players("Something seems to flash in the sky, as weather suddenly shifts!") - w_holder.change_weather(weather_type) - w_holder.rebuild_forecast() + w_holder.message_all_outdoor_players("Something seems to flash in the sky, as weather starts to rapidly shift!") + w_holder.queue_imminent_weather(weather_type) + var/datum/weather/our_weather = w_holder.allowed_weather_types[weather_type] + w_holder.message_all_outdoor_players(our_weather.imminent_transition_message) /obj/item/weapon/firework_star/weather/clear name = T_FIREWORK_WEATHER_STAR("CLEAR SKY") @@ -38,6 +39,11 @@ weather_type = WEATHER_OVERCAST icon_state = "cloudy" +/obj/item/weapon/firework_star/weather/fog + name = T_FIREWORK_WEATHER_STAR("FOG") + weather_type = WEATHER_FOG + icon_state = "cloudy" + /obj/item/weapon/firework_star/weather/rain name = T_FIREWORK_WEATHER_STAR("RAIN") weather_type = WEATHER_RAIN diff --git a/code/modules/flufftext/look_up.dm b/code/modules/flufftext/look_up.dm index 10cd25b288..ec7bf85f23 100644 --- a/code/modules/flufftext/look_up.dm +++ b/code/modules/flufftext/look_up.dm @@ -28,6 +28,11 @@ if(WH.current_weather.observed_message) to_chat(usr, WH.current_weather.observed_message) + // Describe the current weather. + if(WH.imminent_weather) + var/datum/weather/coming_weather = WH.allowed_weather_types[WH.imminent_weather] + to_chat(usr, coming_weather.imminent_transition_message) + // If we can see the sky, we'll see things like sun position, phase of the moon, etc. if(!WH.current_weather.sky_visible) to_chat(usr, "You can't see the sky clearly due to the [WH.current_weather.name].") diff --git a/code/modules/planet/virgo3b_vr.dm b/code/modules/planet/virgo3b_vr.dm index ffeaf4f253..336fdfc3be 100644 --- a/code/modules/planet/virgo3b_vr.dm +++ b/code/modules/planet/virgo3b_vr.dm @@ -107,6 +107,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null WEATHER_RAIN = new /datum/weather/virgo3b/rain(), WEATHER_STORM = new /datum/weather/virgo3b/storm(), WEATHER_HAIL = new /datum/weather/virgo3b/hail(), + WEATHER_FOG = new /datum/weather/virgo3b/fog(), WEATHER_BLOOD_MOON = new /datum/weather/virgo3b/blood_moon(), WEATHER_EMBERFALL = new /datum/weather/virgo3b/emberfall(), WEATHER_ASH_STORM = new /datum/weather/virgo3b/ash_storm(), @@ -118,6 +119,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null roundstart_weather_chances = list( WEATHER_CLEAR = 60, WEATHER_OVERCAST = 60, + WEATHER_FOG = 40, WEATHER_LIGHT_SNOW = 40, WEATHER_SNOW = 10, WEATHER_BLIZZARD = 10, @@ -135,7 +137,8 @@ var/datum/planet/virgo3b/planet_virgo3b = null name = "clear" transition_chances = list( WEATHER_CLEAR = 60, - WEATHER_OVERCAST = 40 + WEATHER_OVERCAST = 40, + WEATHER_FOG = 20, ) transition_messages = list( "The sky clears up.", @@ -144,6 +147,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null ) sky_visible = TRUE observed_message = "The sky is clear." + imminent_transition_message = "The sky is rapidly clearing up." /datum/weather/virgo3b/overcast name = "overcast" @@ -151,6 +155,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_chances = list( WEATHER_CLEAR = 25, WEATHER_OVERCAST = 50, + WEATHER_FOG = 10, WEATHER_LIGHT_SNOW = 10, WEATHER_SNOW = 5, WEATHER_RAIN = 5, @@ -162,6 +167,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null "Clouds cut off your view of the sky.", "It's very cloudy." ) + imminent_transition_message = "Benign clouds are quickly gathering." /datum/weather/virgo3b/light_snow name = "light snow" @@ -180,6 +186,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null "Small snowflakes begin to fall from above.", "It begins to snow lightly.", ) + imminent_transition_message = "It appears a light snow is about to start." /datum/weather/virgo3b/snow name = "moderate snow" @@ -202,6 +209,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null "It's starting to snow.", "The air feels much colder as snowflakes fall from above." ) + imminent_transition_message = "A snowfall is starting." outdoor_sounds_type = /datum/looping_sound/weather/outside_snow indoor_sounds_type = /datum/looping_sound/weather/inside_snow @@ -230,13 +238,15 @@ var/datum/planet/virgo3b/planet_virgo3b = null WEATHER_SNOW = 45, WEATHER_BLIZZARD = 40, WEATHER_HAIL = 10, - WEATHER_OVERCAST = 5 + WEATHER_OVERCAST = 5, + WEATHER_FOG = 5 ) observed_message = "A blizzard blows snow everywhere." transition_messages = list( "Strong winds howl around you as a blizzard appears.", "It starts snowing heavily, and it feels extremly cold now." ) + imminent_transition_message = "Wind is howling. Blizzard is coming." outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -262,6 +272,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_chances = list( WEATHER_OVERCAST = 25, + WEATHER_FOG = 25, WEATHER_LIGHT_SNOW = 10, WEATHER_RAIN = 50, WEATHER_STORM = 10, @@ -271,6 +282,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "The sky is dark, and rain falls down upon you." ) + imminent_transition_message = "Light drips of water are starting to fall from the sky." outdoor_sounds_type = /datum/looping_sound/weather/rain indoor_sounds_type = /datum/looping_sound/weather/rain/indoors @@ -314,6 +326,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null "Loud thunder is heard in the distance.", "A bright flash heralds the approach of a storm." ) + imminent_transition_message = "You can hear distant thunder. Storm is coming." outdoor_sounds_type = /datum/looping_sound/weather/rain indoor_sounds_type = /datum/looping_sound/weather/rain/indoors @@ -321,6 +334,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_chances = list( WEATHER_RAIN = 45, WEATHER_STORM = 40, + WEATHER_FOG = 25, WEATHER_HAIL = 10, WEATHER_OVERCAST = 5 ) @@ -371,6 +385,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_chances = list( WEATHER_RAIN = 45, WEATHER_STORM = 40, + WEATHER_FOG = 20, WEATHER_HAIL = 10, WEATHER_OVERCAST = 5 ) @@ -380,6 +395,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null "It begins to hail.", "An intense chill is felt, and chunks of ice start to fall from the sky, towards you." ) + imminent_transition_message = "Small bits of ice are falling from the sky, growing larger by the second. Hail is starting, get to cover!" /datum/weather/virgo3b/hail/process_effects() ..() @@ -416,6 +432,32 @@ var/datum/planet/virgo3b/planet_virgo3b = null if(show_message) to_chat(H, effect_message) +/datum/weather/virgo3b/fog + name = "fog" + icon_state = "fog" + wind_high = 1 + wind_low = 0 + light_modifier = 0.7 + + temp_high = 235.15 + temp_low = 225.15 + + transition_chances = list( + WEATHER_FOG = 70, + WEATHER_OVERCAST = 15, + WEATHER_LIGHT_SNOW = 10, + WEATHER_RAIN = 5 + ) + observed_message = "A fogbank has rolled over the region." + transition_messages = list( + "Fog rolls in.", + "Visibility falls as the air becomes dense.", + "The clouds drift lower, as if to smother the forests." + ) + imminent_transition_message = "Clouds are drifting down as the area is getting foggy." + outdoor_sounds_type = /datum/looping_sound/weather/wind + indoor_sounds_type = /datum/looping_sound/weather/wind/indoors + /datum/weather/virgo3b/blood_moon name = "blood moon" light_modifier = 0.5 @@ -428,6 +470,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "The sky turns blood red!" ) + imminent_transition_message = "The sky is turning red. Blood Moon is starting." outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -447,6 +490,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "Gentle embers waft down around you like grotesque snow." ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers start to rain down." outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -468,6 +512,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "Smoldering clouds of scorching ash billow down around you!" ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers fill the air and wind is picking up too. Ashstorm is coming, get to cover!" // Lets recycle. outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -499,6 +544,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "Smoldering clouds of scorching ash billow down around you!" ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers fill the air and wind is picking up too." // Lets recycle. outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -518,6 +564,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "Radioactive soot and ash start to float down around you, contaminating whatever they touch." ) + imminent_transition_message = "Sky and clouds are growing sickly green... Radiation storm is approaching, get to cover!" outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -554,9 +601,12 @@ var/datum/planet/virgo3b/planet_virgo3b = null /datum/weather/virgo3b/fallout/temp name = "short-term fallout" + timer_low_bound = 1 + timer_high_bound = 3 transition_chances = list( WEATHER_FALLOUT = 10, WEATHER_RAIN = 50, + WEATHER_FOG = 35, WEATHER_STORM = 20, WEATHER_OVERCAST = 5 ) @@ -575,4 +625,5 @@ var/datum/planet/virgo3b/planet_virgo3b = null transition_messages = list( "Suddenly, colorful confetti starts raining from the sky." ) + imminent_transition_message = "A rain is starting... A rain of confetti...?" diff --git a/code/modules/planet/virgo3c_vr.dm b/code/modules/planet/virgo3c_vr.dm index 705fcba2b0..bccd6d9a50 100644 --- a/code/modules/planet/virgo3c_vr.dm +++ b/code/modules/planet/virgo3c_vr.dm @@ -127,6 +127,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null WEATHER_RAIN = new /datum/weather/virgo3c/rain(), WEATHER_STORM = new /datum/weather/virgo3c/storm(), WEATHER_HAIL = new /datum/weather/virgo3c/hail(), + WEATHER_FOG = new /datum/weather/virgo3c/fog(), WEATHER_BLOOD_MOON = new /datum/weather/virgo3c/blood_moon(), WEATHER_EMBERFALL = new /datum/weather/virgo3c/emberfall(), WEATHER_ASH_STORM = new /datum/weather/virgo3c/ash_storm(), @@ -162,6 +163,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null ) sky_visible = TRUE observed_message = "The sky is clear." + imminent_transition_message = "The sky is rapidly clearing up." /datum/weather/virgo3c/overcast name = "overcast" @@ -171,6 +173,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_chances = list( WEATHER_CLEAR = 50, WEATHER_OVERCAST = 50, + WEATHER_FOG = 5, WEATHER_RAIN = 5, WEATHER_LIGHT_SNOW = 5 ) @@ -180,6 +183,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null "Clouds cut off your view of the sky.", "It's very cloudy." ) + imminent_transition_message = "Benign clouds are quickly gathering." /datum/weather/virgo3c/light_snow name = "light snow" @@ -190,6 +194,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_chances = list( WEATHER_LIGHT_SNOW = 25, WEATHER_OVERCAST = 25, + WEATHER_FOG = 10, WEATHER_SNOW = 10, WEATHER_RAIN = 5 ) @@ -198,6 +203,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null "Small snowflakes begin to fall from above.", "It begins to snow lightly.", ) + imminent_transition_message = "It appears a light snow is about to start." /datum/weather/virgo3c/snow name = "moderate snow" @@ -218,6 +224,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null "It's starting to snow.", "The air feels much colder as snowflakes fall from above." ) + imminent_transition_message = "A snowfall is starting." outdoor_sounds_type = /datum/looping_sound/weather/outside_snow indoor_sounds_type = /datum/looping_sound/weather/inside_snow @@ -239,6 +246,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null "Strong winds howl around you as a blizzard appears.", "It starts snowing heavily, and it feels extremly cold now." ) + imminent_transition_message = "Wind is howling. Blizzard is coming." outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -251,10 +259,13 @@ var/datum/planet/virgo3c/planet_virgo3c = null wind_low = 1 light_modifier = 0.5 effect_message = "Rain falls on you." + outdoor_sounds_type = /datum/looping_sound/weather/rain + indoor_sounds_type = /datum/looping_sound/weather/rain/indoors transition_chances = list( WEATHER_OVERCAST = 25, WEATHER_RAIN = 25, + WEATHER_FOG = 10, WEATHER_STORM = 5, WEATHER_LIGHT_SNOW = 5 ) @@ -262,6 +273,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_messages = list( "The sky is dark, and rain falls down upon you." ) + imminent_transition_message = "Light drips of water are starting to fall from the sky." /datum/weather/virgo3c/rain/process_effects() ..() @@ -305,6 +317,9 @@ var/datum/planet/virgo3c/planet_virgo3c = null "Loud thunder is heard in the distance.", "A bright flash heralds the approach of a storm." ) + imminent_transition_message = "You can hear distant thunder. Storm is coming." + outdoor_sounds_type = /datum/looping_sound/weather/rain + indoor_sounds_type = /datum/looping_sound/weather/rain/indoors transition_chances = list( @@ -360,6 +375,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null effect_message = "The hail smacks into you!" transition_chances = list( + WEATHER_FOG = 5, WEATHER_HAIL = 25, WEATHER_RAIN = 75 ) @@ -369,6 +385,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null "It begins to hail.", "An intense chill is felt, and chunks of ice start to fall from the sky, towards you." ) + imminent_transition_message = "Small bits of ice are falling from the sky, growing larger by the second. Hail is starting, get to cover!" /datum/weather/virgo3c/hail/process_effects() ..() @@ -405,6 +422,31 @@ var/datum/planet/virgo3c/planet_virgo3c = null if(show_message) to_chat(H, effect_message) +/datum/weather/virgo3c/fog + name = "fog" + icon_state = "fog" + wind_high = 1 + wind_low = 0 + light_modifier = 0.7 + + temp_high = 273.15 // 0c + temp_low = 263.15 // -10c + + transition_chances = list( + WEATHER_FOG = 50, + WEATHER_OVERCAST = 45, + WEATHER_LIGHT_SNOW = 5 + ) + observed_message = "A fogbank has rolled over the region." + transition_messages = list( + "Fog rolls in.", + "Visibility falls as the air becomes dense.", + "The clouds drift lower, as if to smother the forests." + ) + imminent_transition_message = "Clouds are drifting down as the area is getting foggy." + outdoor_sounds_type = /datum/looping_sound/weather/wind + indoor_sounds_type = /datum/looping_sound/weather/wind/indoors + /datum/weather/virgo3c/blood_moon name = "blood moon" light_modifier = 0.5 @@ -412,6 +454,8 @@ var/datum/planet/virgo3c/planet_virgo3c = null temp_high = 283.15 // 10c temp_low = 273.15 // 0c flight_failure_modifier = 25 + timer_low_bound = 10 + timer_high_bound = 15 transition_chances = list( WEATHER_BLOOD_MOON = 25, WEATHER_CLEAR = 75 @@ -420,6 +464,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_messages = list( "The sky turns blood red!" ) + imminent_transition_message = "The sky is turning red. Blood Moon is starting." outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -432,6 +477,8 @@ var/datum/planet/virgo3c/planet_virgo3c = null temp_high = 293.15 // 20c temp_low = 283.15 // 10c flight_failure_modifier = 20 + timer_low_bound = 8 + timer_high_bound = 10 transition_chances = list( WEATHER_ASH_STORM = 100 ) @@ -439,6 +486,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_messages = list( "Gentle embers waft down around you like black snow. A wall of dark, glowing ash approaches in the distance..." ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers start to rain down." outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -453,14 +501,17 @@ var/datum/planet/virgo3c/planet_virgo3c = null wind_high = 6 wind_low = 3 flight_failure_modifier = 50 + timer_low_bound = 4 + timer_high_bound = 6 transition_chances = list( - WEATHER_ASH_STORM = 5, - WEATHER_CLEAR = 95 + WEATHER_ASH_STORM = 20, + WEATHER_CLEAR = 80 ) observed_message = "All that can be seen is black smoldering ash." transition_messages = list( "Smoldering clouds of scorching ash billow down around you!" ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers fill the air and wind is picking up too. Ashstorm is coming, get to cover!" // Lets recycle. outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -498,6 +549,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_messages = list( "Smoldering clouds of scorching ash billow down around you!" ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers fill the air and wind is picking up too." // Lets recycle. outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -516,6 +568,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_messages = list( "Radioactive soot and ash start to float down around you, contaminating whatever they touch." ) + imminent_transition_message = "Sky and clouds are growing sickly green... Radiation storm is approaching, get to cover!" outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -552,9 +605,12 @@ var/datum/planet/virgo3c/planet_virgo3c = null /datum/weather/virgo3c/fallout/temp name = "short-term fallout" + timer_low_bound = 1 + timer_high_bound = 3 transition_chances = list( WEATHER_FALLOUT = 10, WEATHER_RAIN = 50, + WEATHER_FOG = 35, WEATHER_STORM = 20, WEATHER_OVERCAST = 5 ) @@ -573,6 +629,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null transition_messages = list( "Suddenly, colorful confetti starts raining from the sky." ) + imminent_transition_message = "A rain is starting... A rain of confetti...?" /turf/unsimulated/wall/planetary/virgo3c name = "impassable rock" diff --git a/code/modules/planet/virgo4_vr.dm b/code/modules/planet/virgo4_vr.dm index ed7e08d686..af423c1714 100644 --- a/code/modules/planet/virgo4_vr.dm +++ b/code/modules/planet/virgo4_vr.dm @@ -106,6 +106,7 @@ var/datum/planet/virgo4/planet_virgo4 = null WEATHER_RAIN = new /datum/weather/virgo4/rain(), WEATHER_STORM = new /datum/weather/virgo4/storm(), WEATHER_HAIL = new /datum/weather/virgo4/hail(), + WEATHER_FOG = new /datum/weather/virgo4/fog(), WEATHER_BLOOD_MOON = new /datum/weather/virgo4/blood_moon(), WEATHER_EMBERFALL = new /datum/weather/virgo4/emberfall(), WEATHER_ASH_STORM = new /datum/weather/virgo4/ash_storm(), @@ -137,6 +138,7 @@ var/datum/planet/virgo4/planet_virgo4 = null ) sky_visible = TRUE observed_message = "The sky is clear." + imminent_transition_message = "The sky is rapidly clearing up." /datum/weather/virgo4/overcast name = "overcast" @@ -154,6 +156,7 @@ var/datum/planet/virgo4/planet_virgo4 = null "Clouds cut off your view of the sky.", "It's very cloudy." ) + imminent_transition_message = "Benign clouds are quickly gathering." /datum/weather/virgo4/light_snow name = "light snow" @@ -170,6 +173,7 @@ var/datum/planet/virgo4/planet_virgo4 = null "Small snowflakes begin to fall from above.", "It begins to snow lightly.", ) + imminent_transition_message = "It appears a light snow is about to start." /datum/weather/virgo4/snow name = "moderate snow" @@ -189,6 +193,7 @@ var/datum/planet/virgo4/planet_virgo4 = null "It's starting to snow.", "The air feels much colder as snowflakes fall from above." ) + imminent_transition_message = "A snowfall is starting." outdoor_sounds_type = /datum/looping_sound/weather/outside_snow indoor_sounds_type = /datum/looping_sound/weather/inside_snow @@ -222,6 +227,7 @@ var/datum/planet/virgo4/planet_virgo4 = null "Strong winds howl around you as a blizzard appears.", "It starts snowing heavily, and it feels extremly cold now." ) + imminent_transition_message = "Wind is howling. Blizzard is coming." outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -255,6 +261,9 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "The sky is dark, and rain falls down upon you." ) + imminent_transition_message = "Light drips of water are starting to fall from the sky." + outdoor_sounds_type = /datum/looping_sound/weather/rain + indoor_sounds_type = /datum/looping_sound/weather/rain/indoors /datum/weather/virgo4/rain/process_effects() ..() @@ -296,6 +305,9 @@ var/datum/planet/virgo4/planet_virgo4 = null "Loud thunder is heard in the distance.", "A bright flash heralds the approach of a storm." ) + imminent_transition_message = "You can hear distant thunder. Storm is coming." + outdoor_sounds_type = /datum/looping_sound/weather/rain + indoor_sounds_type = /datum/looping_sound/weather/rain/indoors transition_chances = list( @@ -357,6 +369,7 @@ var/datum/planet/virgo4/planet_virgo4 = null "It begins to hail.", "An intense chill is felt, and chunks of ice start to fall from the sky, towards you." ) + imminent_transition_message = "Small bits of ice are falling from the sky, growing larger by the second. Hail is starting, get to cover!" /datum/weather/virgo4/hail/process_effects() ..() @@ -393,6 +406,30 @@ var/datum/planet/virgo4/planet_virgo4 = null if(show_message) to_chat(H, effect_message) +/datum/weather/virgo4/fog + name = "fog" + icon_state = "fog" + wind_high = 1 + wind_low = 0 + light_modifier = 0.7 + + temp_high = 283.15 // 10c + temp_low = 273.15 // 0c + + transition_chances = list( + WEATHER_FOG = 10, + WEATHER_OVERCAST = 15 + ) + observed_message = "A fogbank has rolled over the region." + transition_messages = list( + "Fog rolls in.", + "Visibility falls as the air becomes dense.", + "The clouds drift lower, as if to smother the forests." + ) + imminent_transition_message = "Clouds are drifting down as the area is getting foggy." + outdoor_sounds_type = /datum/looping_sound/weather/wind + indoor_sounds_type = /datum/looping_sound/weather/wind/indoors + /datum/weather/virgo4/blood_moon name = "blood moon" light_modifier = 0.5 @@ -407,6 +444,7 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "The sky turns blood red!" ) + imminent_transition_message = "The sky is turning red. Blood Moon is starting." outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -426,6 +464,7 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "Gentle embers waft down around you like grotesque snow." ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers start to rain down." outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -447,6 +486,7 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "Smoldering clouds of scorching ash billow down around you!" ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers fill the air and wind is picking up too. Ashstorm is coming, get to cover!" // Lets recycle. outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -479,6 +519,7 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "Smoldering clouds of scorching ash billow down around you!" ) + imminent_transition_message = "Dark smoke is filling the sky, as ash and embers fill the air and wind is picking up too." // Lets recycle. outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard @@ -498,6 +539,7 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "Radioactive soot and ash start to float down around you, contaminating whatever they touch." ) + imminent_transition_message = "Sky and clouds are growing sickly green... Radiation storm is approaching, get to cover!" outdoor_sounds_type = /datum/looping_sound/weather/wind indoor_sounds_type = /datum/looping_sound/weather/wind/indoors @@ -534,9 +576,12 @@ var/datum/planet/virgo4/planet_virgo4 = null /datum/weather/virgo4/fallout/temp name = "short-term fallout" + timer_low_bound = 1 + timer_high_bound = 3 transition_chances = list( WEATHER_FALLOUT = 10, WEATHER_RAIN = 50, + WEATHER_FOG = 35, WEATHER_STORM = 20, WEATHER_OVERCAST = 5 ) @@ -555,6 +600,7 @@ var/datum/planet/virgo4/planet_virgo4 = null transition_messages = list( "Suddenly, colorful confetti starts raining from the sky." ) + imminent_transition_message = "A rain is starting... A rain of confetti...?" /turf/unsimulated/wall/planetary/normal/virgo4 name = "deep ocean" diff --git a/code/modules/planet/weather.dm b/code/modules/planet/weather.dm index c354e8bde3..e815f2dd06 100644 --- a/code/modules/planet/weather.dm +++ b/code/modules/planet/weather.dm @@ -1,12 +1,14 @@ /datum/weather_holder var/datum/planet/our_planet = null // Reference to the planet datum that holds this datum. var/datum/weather/current_weather = null // The current weather that is affecting the planet. + var/imminent_weather = null // The current weather that is affecting the planet. var/temperature = T20C // The temperature to set planetary walls to. var/wind_dir = 0 // The direction the wind is blowing. Moving against the wind slows you down, while moving with it speeds you up. var/wind_speed = 0 // How fast or slow a mob can be due to wind acting on them. var/list/allowed_weather_types = list() // Assoc list of weather identifiers, containing the actual weather datum. var/list/roundstart_weather_chances = list() // Assoc list of weather identifiers and their odds of being picked to happen at roundstart. var/next_weather_shift = null // world.time when the weather subsystem will advance the forecast. + var/imminent_weather_shift = null // world.time when weather will shift towards pre-set imminent weather type. var/list/forecast = list() // A list of what the weather will be in the future. This allows it to be pre-determined and planned around. // Holds the weather icon, using vis_contents. Documentation says an /atom/movable is required for placing inside another atom's vis_contents. @@ -62,7 +64,9 @@ log_debug("[our_planet.name]'s weather is now [new_weather], with a temperature of [temperature]°K ([temperature - T0C]°C | [temperature * 1.8 - 459.67]°F).") /datum/weather_holder/process() - if(world.time >= next_weather_shift) + if(imminent_weather && world.time >= imminent_weather_shift) + proceed_to_imminent_weather() + else if(!imminent_weather && world.time >= next_weather_shift) if(!current_weather) // Roundstart (hopefully). initialize_weather() else @@ -91,6 +95,19 @@ change_weather(new_weather) build_forecast() // To fill the forecast to the desired length. +/datum/weather_holder/proc/queue_imminent_weather(weather_to_queue) + if(!(weather_to_queue in allowed_weather_types)) + return + imminent_weather = weather_to_queue + imminent_weather_shift = world.time + 90 SECONDS + +/datum/weather_holder/proc/proceed_to_imminent_weather() + var/new_weather = imminent_weather + imminent_weather = null + forecast.Cut() // Clear the forecast, since we're force-changing the weather. + change_weather(new_weather) + build_forecast() // To fill the forecast. + // Creates a list of future weather shifts, that the planet will undergo at some point in the future. // Determining it ahead of time allows for attentive players to plan further ahead, if they can see the forecast. /datum/weather_holder/proc/build_forecast() @@ -144,7 +161,6 @@ /datum/weather_holder/proc/get_weather_datum(desired_type) return allowed_weather_types[desired_type] - /datum/weather_holder/proc/show_transition_message() if(!current_weather.transition_messages.len) return @@ -175,6 +191,7 @@ var/show_message = FALSE // Is set to TRUE and plays the messsage every [message_delay] var/list/transition_messages = list()// List of messages shown to all outdoor mobs when this weather is transitioned to, for flavor. Not shown if already this weather. + var/imminent_transition_message = null var/observed_message = null // What is shown to a player 'examining' the weather. // Looping sound datums for weather sounds, both inside and outside. diff --git a/code/modules/research/designs/firework_stars.dm b/code/modules/research/designs/firework_stars.dm index 6fb4e6f70f..b365367451 100644 --- a/code/modules/research/designs/firework_stars.dm +++ b/code/modules/research/designs/firework_stars.dm @@ -39,6 +39,15 @@ build_path = /obj/item/weapon/firework_star/weather/overcast sort_string = "IFABB" +/datum/design/item/firework_star/weather_fog + name = "weather - FOG" + desc = "A firework star, designed for use with launcher. Modifies current planetary weather effects. This one creates fog." + id = "fireworkfog" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) + materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 2000) + build_path = /obj/item/weapon/firework_star/weather/fog + sort_string = "IFABC" + /datum/design/item/firework_star/weather_rain name = "weather - RAIN" desc = "A firework star, designed for use with launcher. Modifies current planetary weather effects. This one creates rain." @@ -46,7 +55,7 @@ req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 4000) build_path = /obj/item/weapon/firework_star/weather/rain - sort_string = "IFABC" + sort_string = "IFABD" /datum/design/item/firework_star/weather_storm name = "weather - STORM" @@ -55,7 +64,7 @@ req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_GOLD = 1000) build_path = /obj/item/weapon/firework_star/weather/storm - sort_string = "IFABD" + sort_string = "IFABE" /datum/design/item/firework_star/weather_light_snow name = "weather - LIGHT SNOW" @@ -64,7 +73,7 @@ req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_LEAD = 2000) build_path = /obj/item/weapon/firework_star/weather/light_snow - sort_string = "IFABE" + sort_string = "IFABF" /datum/design/item/firework_star/weather_snow name = "weather - MODERATE SNOW" @@ -73,7 +82,7 @@ req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_LEAD = 2000) build_path = /obj/item/weapon/firework_star/weather/snow - sort_string = "IFABF" + sort_string = "IFABG" /datum/design/item/firework_star/weather_blizzard name = "weather - HEAVY SNOW" @@ -82,7 +91,7 @@ req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_LEAD = 3000) build_path = /obj/item/weapon/firework_star/weather/blizzard - sort_string = "IFABG" + sort_string = "IFABH" /datum/design/item/firework_star/weather_hail name = "weather - HAIL" @@ -91,15 +100,6 @@ req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_ILLEGAL = 2) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_SILVER = 3000, MAT_LEAD = 3000, MAT_PLASTEEL = 4000) build_path = /obj/item/weapon/firework_star/weather/hail - sort_string = "IFABH" - -/datum/design/item/firework_star/weather_fallout - name = "weather - NUCLEAR" - desc = "A firework star, designed for use with launcher. Modifies current planetary weather effects. This one creates a heavy cloud of nuclear fallout. DANGEROUS." - id = "fireworkfallout" - req_tech = list(TECH_MATERIAL = 8, TECH_ENGINEERING = 6, TECH_ILLEGAL = 7) - materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_URANIUM = 12000) - build_path = /obj/item/weapon/firework_star/weather/fallout sort_string = "IFABI" /datum/design/item/firework_star/weather_confetti @@ -110,3 +110,12 @@ materials = list(MAT_PLASTIC = 10000, MAT_GLASS = 10000) build_path = /obj/item/weapon/firework_star/weather/confetti sort_string = "IFABJ" + +/datum/design/item/firework_star/weather_fallout + name = "weather - NUCLEAR" + desc = "A firework star, designed for use with launcher. Modifies current planetary weather effects. This one creates a heavy cloud of nuclear fallout. DANGEROUS." + id = "fireworkfallout" + req_tech = list(TECH_MATERIAL = 8, TECH_ENGINEERING = 6, TECH_ILLEGAL = 7) + materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 2000, MAT_URANIUM = 12000) + build_path = /obj/item/weapon/firework_star/weather/fallout + sort_string = "IFABK" diff --git a/icons/effects/weather.dmi b/icons/effects/weather.dmi index 94c1fed99244cd7032108e54e91f473fa3f5978d..2c10f216a6d845df08662a13df7dddbe01140b05 100644 GIT binary patch literal 37987 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 jK4p0119Do;N783&(0~Hk&lZLvgJ{1+j zn(~L94t#=eB6d?zQOo+?G4WEh^R)GFaPx9NyHZj4r1vLvJo_Zd`gE|vz}#zuWu!AA z%{fQhE2|78a?u4+&2;f}Q*~z3xk~N8J4NS{>%X2S%E)M_&%FH+@W4;~(P>%rg^I%9 z&$BkIA=&Jf)ZrKJ2fwJhbAX8klbb1Th&r!-^1i;>H&GqPv*J?UD#P7C&JsVqMF=)tjsN= z0`acJYSl{TH#TUSWSqB!a_Xb^A~>8HfxiV zE1=(J;pA84v(c~FSrv;}ayr{sxQZ)lU#qhHvwg=!PJ-Pdy0tduEUyhzO=WJ186Tla zC6&A3$&_xg^W{oe*HaluD;ExXtFinfmSEk}9u|jO%hy!q{!IN9+n+_1Rq2$uRtu}4 zLsj`v9ghE!KX2rA+V@~Ylc@MvcOnWp9pHx)YkVg8#jD3A80 z!pG#jKt#bYf`pHX$21Mx^vnb@N~`ste;L{Cz2ro~HtAksFPFEk-03pk9nK|IKre~? zRKn?D7?b;Gc`q)J1Pv9Imc%)n_v7b(B7F&(%g_6LC+-*XYX7l5>4|rrJa#td zU2%ZcFSC|Hmlyif!ma83(vm!HdkCTIbaM7l;4j@mAf{rPudDhE(+2z0Won@ z4^8GLiW9b7^r^xy@xxhkXj(b@I#+^_HenUpe>W@%nB=$OLVK}yi1l9ClB7g*uU=wef6u-?3)Cpx2NtYot$+d>T?I% zlVE&5d`l@Re2Z*;s~z50(`t6(mr2iJ~msYC_7*1KU4x}Q~k!+URL9i59R zw8=Z&yPLPgc27s#O=AK{gMh$?ua}qY%lLe+@av9Pud)I=Ya2hZTSbAEevaea)XnPk zSTrg7Cv{Pxdyl5P&1$y_9HUi?w9r>MtzyC-0^?`(=~iOwdk23ZU^+~rBM!T2iX*9$ z7`!yCPpvOCoiII)k2s&Q`V)DVmZ#!IFbr`eGhM)1XHaoVNlT?rVE}CBv%y2#xj(ch zOy+ob?sH+2D4jO(B2rKyop>epDz@@wBqqLs`tTL+5WIsa=HOZ{4ZCf7n0Xna3cjI$ zi4AxqBi(Om+l#!lBU~6W_z>KMYk0o}G~<_8_YW8 z>g3bCr|}cXEz7=}rSm|r=D5zaE#dAL6acUa+uGGEfA@X5n$I#|XQYh%2kiLnxh86! ziif~wu4J0?RHT++hy;gH%Ze8mxm+EKt_&`vmUZPHJ(1;qIW9t>r8|FoiJWX@=RS%L z=Q!dBp#$uz*pHzzTG4(=3kTPlukdbBk7NVqns&0<9j;c^OFF&L==6B|hLJ$b^nh{< zag;0Dh)DDHT3>15$cL&;Ob>V6ff;X0miM>sQU-0!hs+s`o?95E$#0d>!eE9${L@7E zId(DEDL#j%XUc-jkqdnRuO_{dZIp{Mk`|;M=pPd;+!#ntW-M0S@ZUCNNEUavQZ1}7 zX}vg*^Rb&1aIQ|RIgE8T+`brp@@*wgI+$xa2uUbgc47aqz&{u6|S~`;c>OEPij^U&* z@8XUUrWe{*Evi|FHb|)Av>O<;LJ^aK$wsm4{nB{}{d1RC#JEj#9++bepaSty7@Fku=L+%lFs<&TTc|xXnA~poLjY5TAVRv+$_d<_C!M$O948F zem>2}zfXE_!=SP{Dc}hZp|lRiY&XF*rxP=-b=z!{nS?;!z$jrnRW`2M<|VMqr|JGZ zz7U-|t4IgduI;P-#q+jMkJ=#n5rPA$Z5kl{>e|2JwHwD8&D2a4pKA#sv-1|950o(P zXK6?X1r%|Z21x5^OblTaEiwOLyZqgc7cuD42^>Myy}vr)ak6^ZMHF$J#VK}VJYaV1 zHuRgMuP$3d^0{Pko{RUb<5>I-4XNWbys!F?{cR%oYazb>h9ZfYgy1djt4_8$*eWho zxn!S^Zh`(%>nfhRPLH#SRfri2P|zD)KQu@Z5-4vQusIv<`cTAy9KFrC&C-D(*o#c| zDTPF00()PNpD5h*bKE=Ocd*qV{3J_?3IuMKhu@QWvmS5lBOQ(M~ zjvvmRO;^H<&;Z*2C5tam1sOQbDqlj%{q+o0M0<>$NXeSoG zbbDd1@7B_M+9RqN*%KATNX(QzF;Dj`@Q$uf@&JzkFTFm5qytZFrw0}s?w5WOL{(Cz zFWI2x#h0u<`TiMXeuU@mfM6~_?*o^l1s_y)>S4anr*Z(W7>{jKyhX_znzu9izJ7fD zZc)Ld_fg3L8o^@PXpS)rp#(>sdAowGP3-pb)RY@~Q*HICzG5aQfs}&x)rEhS&H?;0(#t2Sbv)-GZzPY8I z#V&1Mm<3cqN4TY3KL}rJ98Fi)U-sm<8bF#$nETRp;fc`WOv)#F=xZ@Ayx;xQryy zHVu{I_qoKGU-%FleYPE6cuuR7Yo)mheCMjFN<;=-RhZRn&1Wrd zbJhyKgcCx3OYp?Z4|4eb=;z`dUVLRoknk`@w^*6CP?x#gef<>VtCMy`VORc|U`xb<3+Q#0`( z=4bRANijmXc%3z^CKS;l_84y7>@9?S(m`_YrH{^KrDI?(Xy?s*O{k-CPaxS$0D@V1 z2-#z1Pu9kSC-qlP7{-gS1_^0u948@eTILqq#@GVzAKqn~H&bZ-pj4{YBDVF;F@{q? z_$B9j+Kf~<`MzQmKMB`n7!QIkD~HUUmW1aLVEY>3*XE0s1 z&SF41+ELG^iGbh($RUp+HutXGe1B2`cxqgzBpc;IjDW{(T)bJ|qnjl^8Qbl4erE zXuQ9xZqx2;_CL(i(3nZ@u6w#MWG)6c>=`I%E@p7PFnyL8Q z=>qi5D^tACJooe02howuYek8c(2|Nl5D54U^I&owV*z@r0*h~g&Ziyj6m~{|q;T0_73ea67Gzr0nuC|7hijj z#{@EAH1rCl(aE3TQV2OO(tJKGPa)=}%Y0fjgk3AEr+@+AJD7L4IWH&|rDu}|o(CzK zk{z|x$3C#V6_fl#n)7M9$L{f(@hF0EAZtWTUABGJ%0~g99)S52_)(tE>!gvQ?UNS0 zgvICH>b63 zvX1fFt)6r`w%fgv8(M~cmzcWedD67=45|0JfH@}vk8Pl!tg({u!j~Bpdu)Pm{2GFo zKq%W(&A4Ho;V6>1j+|HUsMzk4Q(kzm(3?wjrJ0H7eZI^tL?DEm1e^t|ZKn$othX9~ z%-2S^`Lq~w&6qA8d!TOw4i9Y%(JueN*H;|?GMRyv8yplTqw^zu8Qm5EX_~lGX>c$O zgr>i<@VuED)%|)Iy~iG5gG~8?2y zaLndIRU3)nL2P|vKE%pGu)S?(V>Z%0V8wElfU3`P-5BoK)m?Z7!5JYe37UvooplJh2I{Q$BF$3 z;fX@yg+k*9D@V=;wb~Ox%hX~cgDv&B8Rm@4{;#+cO=#ZAl=xd~LTL@QIKKz*F_8)v zgfrs(JyVoyQeV|@zqg*%2%PRpGVx_#}A)U-KJ11JY-Jxbd^X)Ba43zrhfMu|sRDoC)D42~&I z&H;m%DcA_z;ToZy=N8o{#Pbtj-@vYI`2)Pa6-6GnrAxx)9-|L+{V+ga03`U06nh5FH``LdWV#3} z-T`_9$iYLZ8$r1d<7UQ0o9E)b;p7=Lrpe==E=A~w9!-rn>uE?#T@B*%MW6boCCMv7 zD>&%pZaD!nrQI`w-la4m9bohRQ`3TH4f>@sB`|J=M8|oM!R7=D@sEY9v%Y(_v$(c< zr~R)E1e7FRC8ehN4T0_-6wUZiI8w%2Mb^h1ydtp zgc_^p;P1OmUZ;Ur?G@(LGBhNn6G%)iXlMPWKr1$loZ+>|o;Br?NVqd^HvgLo=m<(C z-OpfSK7$7L*gxYsGZiy+I#S4Y4Eut^WrrWZfQuj*DAZpd6;&nr7rI zdK$tlv|Bv2@4774xHeS_AFD-`V2Im2FK0UyQxy))cM{GSj+xqD8~MW{@e@AgrVq1P zKg`d|em=BbqPNO_Xmvs6QeEN7mPLTmX(GAqOs1z3okrpA*=yD17lcmxPfz`5X`ea7 zC%@K~YS!=XkQ}??9re7_#h=3p`s3DuFt4VK(}<9F?9VYxOsUfi1AkR9e{He0#8bS1 zF-}y8pJv}=$jEs)3K(18ON%g|Q>#^HQ>{LeehW@8zm(aXwmL-26A$P93)D*`0lbWh z`AJuw?o_CDv(#tW(4vMz%7(V<_2C(w`O_Mf5U7Yn9iMkv1&dQLp5BMplhqJV+n(Pb zPf++Rtf;8VIG$lnpfOhD^X4`rXzqw9g90NZR;@zMy0#q#AC|BI2apa?bsln#RkzyztWkHx(V0{PLz$@~c`4;eu{1 z;>J)BN2(+ny>r~4A}F-Lv`23FCS2zIV1JNPLrnDlU4n!LLk0yr=Y+3yo5wuPKE7sa z4}vd1Gv?UR!TZA5u$=7vsJuD+a~rq>anBUOFnS#|(SyH}`$8fN=Y4qkwgrQ_ zE8G+}r~;0zsX-LzJkSC^vd^N5* z!JfX*SG{q!KkIFL>R|Cg&E1OaM@G%4Vl+{kmu76<=B_R{WXW$;tL+j2(91cSD{VVJ}ww z$#FlHk!ybBI>`OQa`s%8%7#8-9ImE51V`}l-I|JCTR*uz zF421CgMH<|g%;s%p&SNrEP*;NQ7P%}+4{NgZZd5;S?&5I62h=nKUBWE2UQeT2~OPC zKR_~+i_Xz}Z1*xfW^T&OXmlz-S5eJnYBOX??ftRq#%cB&nL6^)l8D9dys^Lm1|fMl z)Wl*1driXmEzY!ipE5O{#T@gLk4buSlcZy&NC>Gr!gtwu-(8|M!J8$q|7-i%YGG=WZFQ}wWCzHA9qE<;$}m4k4py1*%y4pd)JN;Y-424zX{yxXslc% zijWp$o24E$H}{zYybDli89umwuzamKd|md?eu#EXHbD8(uXsNdqKpdZc!QN_CSD>y zTRn4R_}dkT%xpR}AY;JMZ~y8TXQr?#TM56|n^9{+ATW2E)5VLT;D_+mqX$IT5*po!H&150r1Pgq<83 zXeTr4^}uw9Xh{f_HWN}A*C(oGaM`W=^*hXZ7z74&Wk5}A1w*7`?+SoL!y=KgI9d@- z#wC5kUD)QMXey*Ba3p(0n#3c9uL)KWn^Gvm*R)gR-PrQW51 z>cVlf@2pP?x;?}aYN;vW*4Wiil|1E^Wxf9Q98-Kv9UfP7jz&DqrGdK2D00laA=nuc zOkYLp20?SslUyI=OfwVR2} z8rRq>h22zaMF)DRFm?ao0`xxqCKUqV04_)|#7mHsEBCW#Q4=$aK-6y*!Jem8gxC;* zZm0?K-X{=ajzZQN!x7#J2((mZrpK7;Qin-SiJ7_^n}K}Dk%?F3EP^1?`)9cMS+5%k z>~RTP0yP8#>Uu*6y~nqdsbc#G*FaC=%z|eF+p8{6@P;7 zZXJW_8d4dh{`)+O+2e0S$!cyO)vQXe87)J)m4bpp5^Caw>lagQN!4Z4#PB^44BKwA zg56=}=(adTWPjj4>P`%2SVeEz`@gwHDO30pFJ?yimZX=n3JJO$C$}PHQIfT0E8>Tqg2P(F z@uP~SIT*xhr=*U^18;Dz%v@&#l5!YikVkCSp@_j&>%rn9;PStwKs-}aw7)%3LOry> z?W$+3@Kr*E__5B*?b*9)v%F`!6eTiKxIZQ~55QDfm@1b{;qOg!AKU~HEhuoy7YJIhzIN&VetWR2Ld-nNNp=N3QQ zo%w4EX_ac=cG^H>$E^WKYd-$b(I!@wI{AP-Sy+r_tUS`40Tr~UM7=I+1%ZBL5>)#6 zxUPG6k9Um5Xhhb8+w(_w4!i$IGs(=ny!r0$DW2l8JlapI*0uRG@T9XoZ`UF4BwnuB z!|znbS^k{I-JCf2zaZv%;|4!!Vl)WC@j9Qe$ru^SM#oZPmTG$5?btuT_ct~iK|(Ue zx5EHhT!<{`b0dWtU7=V;gF!#Y2z>e!X$Y3+Njlk>Xolk+lHM|Jb ziL5|4HG_GBQZSwlW%6=a@QrhWZ)G!%os{sP!w*4YIGj%j_c-6BJ!LW|dCWckB+6#xI9JbxWn2{iAm zoC)HC@a8wu`-42O7X&c|1;&4X6MRtUeh^1y@HnnIK|a4K2J{8J%YRFw-*GrVQAtr! zZNm0{MVE5$dzycfLeLH|Gkz!V9VCq2Ka=aisu0i`;5emN38qB;b=j1|=0F+J0XEM=|IK%NgL{qO&|B<8@W^-0;Cg^C{~!nK zXxB#xd+2=hfz?e~g%$cyHbJ+^{}N~BaC+}zXYo0fVECb{iXW{)1MTwB5P*9(|4l4F zkicp&sl&4KkjzK4%K&RBF0~GUb^n5`TXkRTN4JrA>l_5404Pvkap4f z;L+zt%qe>ab?yklb~jJ(DP%B6)Rg`QWYWB2&{7f6!|>c|1FjTrag)WVO_a_>@4M14 zn5XZ7tpdge%?ueNg8cp+#f6rd{2+R{|H;w3f^Lt2>0zujz7F08R`kHGBMy>~OCb&nyL!QFy9br`n57FXDGO&r?L%G$m5?a zTH=;gY_~sTDY(}*yUfOnaWs!#v}U`<&wvsvd_AGr7?7f=9<-?Gkb8+XdCg2k-s9JX zX3KWX=q!m8_-rsPYd)f@Sdoa8-t_f0EX)&pF4EFeBVucQC{p#*eEUSE*oomovC_bj z5U-1gFsI`<7a7C*JdT+|)Y{9|Vu`d?e%)y=Qck4`%j`WBWN=W&|NBXOcQ(cIbbavM7EL`Y*)rRxZGsF0hlMLoeIVpd_hc7)G zsqEpv^<97(u%So1<-8ZGyC2{Wstc*rou?6Z#v*Y~YI9`nS;I*&J6kcrD&DWe>6$y4 zj=lMl-o2o>$uu}LM7XRjs`-_nV&IkMSPQ)aH*VgNk-CpFYkN9nP|4~ryoe3I^CUgF zE!y%^+sR!^_BRCbm*a&alD91Vj~gKwG=<#^)^(SV$DlkF0TW2Gd!0NLFL+puCy=4A z4#1gOwiAmhr?Vak{}S_pA>9bB$vlC44~T66jwEa}HJnS%zRJJ34KURHxC0p5jh}+@ zu*$At=dg*sIp->2h(uT}-2{?Ri+)M=hvEM4$4xk1EoI6V(UXCQ(6tR1*7D8EB%5e*; zGaP24`8iCS1L~?dEEektNH%T~fICM6PI_i4;5~q?^D*>(`-74*l0MyPG@`^bsT(adwoG3} zPrcP}VK7G!LX((%y1lSC9>ikk7cd6KQ}K4wX%%~OpR;;J>6lDlM6HmU)C?Z3??ec# z($@0M+)z*#>ID183ph$$kzx-3TafRgp*G3Bl)+qN0=WTZ@GWc#9Uv>H7Y4yPR^)uT z$%pLv0=)24Pb&74PiF(#3M_)Tv$r&^^8X{I*oq%+C6v|I^|uVrSr|?OPnE~;LZ#+~ zzl!NA9;+%PIK1enq=uW`m_UL{=Pe|I31>ylM=5I#9?2aE%FFRH~ z)cSTCxmLy1FQz%s@Kktx`xq)Uh>6dmf)D!u7ALpj_$(UGGK;e!hgUVC80kO{HXK@;@Hg+O zvi@j$%DaF?Gxd2Y`Z*&tZFaC<+vnCfCTJfhL{8(@3)z$#c$g zQ>%qf@^TG>KP#y3+Zz@Fr!fU?{5~H}@!uKXK8Q~(*ULhpA77B@1*roOCnnL_VPK!j zBLt>8n<{6ITMC`>Us=O@;=?0 zqsE%RJStXEuX6BiGkJuVEbmVbfpu;~bt-d~;1a+xVT`KCzp3G3#AoGn%uCl`;9R6)R&4J0IbUi=3P_ z8*HM}dUj@;tGjG?GaV0J?;*aLs>>HL^{U(YAKPVk$OIoM?c$BB39kOY zn5yAhS@X#YwJJ3O#bt3e6&emCr?$O#C)Yx|(JnP=VU6PN^;+bkt9d$7$G65i<5G^V zzUT+7QKcjd1{+i5{Tw4De6Z*x#K5F^u-xX^6wd>UYR6rk@P0G+-&uFgQ3RV*o2+~40jaRJe~GG0_Wan-C%G}Cy6I^8*x9CqYI zVxo8zRSgMl!8RxRA(W@Vm3-31vM-1%k z@qe_#;x!~XIrwK+au`ey8BCOE@8(f1<35H)l}6J4rWuSlaJr|-dzVI3wQGMTxow0_ z1QiXV0s|>LuD>7GU=yW<)%8oC&)~t<7N9XZDwuYfWt}>K^H{j~g}IIDfavs zC8*WubWezCqgC!9xGe*dT2VYASmXF4wGyV-0(0Tr)lY3%_@?F0!+q69Rh^)9Oz?zK zpc}S44vR-(v|^gwGowtGbtJLL ze?QI7fQXLz1Tp@j%#m03*`L|2Etnpcxb>znq=Ymk^IuaSF`jy5@E^_D)SRwzSh^Eu zemAN~Zr#=(#n_XR1@j8fV$Cic^Jb;BHz#YlZX&kx^i_=sGbb8UfO94NFHtJ<@Jw{p zM^4?0bi*EUxm3o1rwvAO9+D7h2mGC+tbX?uWv1=Ck`dH7aOrqoUmvr9LG-7RliFAn zpfPaylrO-pGb^k+kEl(EO36&W{P@0HSGfOF(QEcoZx{McqQjNISK~tyauih!bSG@> zVxBkNZNcwhMux(>^OsWBw;NiU@IqU-lbbT*_vR&~2VUFm=qtHv}GF1?sG@$e8p%+ zw!V+Mn%9o`c@6#N!`bzWIAxkQ_;;jS>4$qK3_=Ry<)+>b%D6 zJ)j;sLu{za1N0VOUl6vT;jisZSPx3_m*bX03w3Qs8sQpSg z=qE5H9*IGJWjXu1+teGmq)3~B06?@=o`+GOg%&Q~-seNCsI=9->9EM@)4c^s*TWC2 zJQA~1&TTOQgE~dc+9JC9XNL-a zhur2BgLS-+y90MxCIe4}Jb0nRAdfG%Lx?KPBRjGZtsUu!v6r{zhMZz4pf=A25GBy> zbZf-@h%cV{&>22FksqOS+B8#;66hP$6!xRyW^@cG{@k;!wX@eK|Mk{&K%ea1Zd0Lhl=bdWSW^76t}pYG;Yp)i-kQ^J_wq&Ds=J!DmCin<_&C26>4 zJaJ`SSl=#BM1#7;g)HLlz;v^X5l|yQ_B4eLg%Ls- z3xYYz*bOF%773wJ@`|8FbEI}w1-UurfSnhV zt;AYN-BtUSZ+8j9P#=Ga%u$k?sa2@Bv1|eU?ZH>}o|X9PS}@Gzj8FHk$KCIio|LWS zMQX6VETA*x4X0>S`(oG3-vFq3{VLIR<~MSIiQxDu-7KSqvKaRp3IHLt1x~0%Paohh zv~bhWjR~aZr6@>P+KhOLsu*}FqYma(5Kve~voxQEI2@ffYelccfa)2vE4AgUL4N_Z zm()YR?x>k;b^+N{cXVd+ijl6t357oI~o>$ zaHG2v-}F_niag`@4RzWa-!$vN%*%LGJ?>;kPa(}12%<6zndxRrM=2!C-g~qj)!rav zI9!NtlAZ<{j|RhVnf44Oa~NAJo-|7-Oei8#^+^-=Y-!a>TRwxD9uBU~rrWBRo-(GS zlk_@qTY!=d!jfXbuNZXO4g!y#3T`7`ctuWj-6z$&H zg7-&6SFud9(;m^6f$RVGbS+=k5DLkjJ)9bK=TmV^ z_1e_SS?9;$35ffcur~HdA5mTVz-BI37Uo&GDDyVUb2CK;ym6~-gjaI8-HV2h5<6aI z6vrbGbDz4Y4&{SJ4f`K9P%9O?UUeNiZ@V_m2p0d=Lp{v6x%*Q7(Dvob1NWug7uyDT zeKozJ<9>iYw)9yH%5;`~{nSPn+nb~&&6UoljCw6xpR-;nMCkqg6U|07bK|OXD(``F zf=C%-E)7B7SaC7uTq3doJmnK3=n-XP!xpw^ya;TI(KxvtWquBNu6&Ael} zUH1)fJDYs}b!OUdGtz0^Ors_y$r9P=!pnSW>FlMCv=EOsk3RqcY9)Bfz#Z`@25yqu zzR;Fq7>`)|%%|b*sqOAQ;DZeE{Vq2yk?a!DW9J$vWQ)xq=Y0&l!w7g%#j1bU6Eqg{ zZ3meP=iU(hoe$^-=x9|f1rVuxG%|PIIa6mBFa|!-iYrRQNq5+Bzwvry_GU&5Wm~Hi zua5yo4>Nxd1tw3tzy-a#ChQo-ZneJ0DSSD@Ak$jCUf6FtZl#uZ+poFD_D$j#IB6+5PUY zMSC7}YP*!`oOrcrhb`es^@f5qUzw1>${<^Ns8Pu9R!rfva;XMJI7UxKi@5ra?!hLQ z`46W8q6uF~J~})VLr*N@DJtn>q8d&~^+}^-|7VL?{ElzZS!YqR*wU%levG{jH;n@H zXPQ3gN5F(QusWatzmcZmX3+JZljWDQr*IK5`pd&|su2M9baBsU3jVd|{iWmhkmEbQ zNhYY?>hrf>!kBUZ!-dQ712P%-tz-gAMJUCf2!)2-ATbQJHgSMi!T)#X(|j4GOe&#V zSVvA+Y%%Di0Mix0%=u_TWy7b}yoygV`Nz|z7=piLYip3;=7k?p9)8^y%h3Tfk@MgM zjsKc{polzE!63f<49Ub(!FiTbTxMd11F)0-Yfkg_#R_-|B1prf_E=WbB#$v3F}3FN{BLr}Kk&H{!ypeJ6p9_@&GF-f7$ zyU6WK)qbb?b|=AnYt!R))|A+=oIU=_{KW$FIVi>Uwr}<8K8W<8)Vi7ZX$ViLzTGsO zH;D09e6dt4mpEJ*aJ)m>x&TczZ?>z1iK1y9lLJ()v0AsEbD$~POf>&}>)mM_PX$*H z`Mw@J0Y*{#xRGY^;8U(P`r)icyrP2ywb!%0y2mC1qU`b1Di|8DZ(!IN(dC);PYTwh zPf~_dXvzR3<^&y}r~6{%{*O>6l9$i;tODn{454sWd=@Ng1%m`1iNldKSG zw&1B4FmS59sA31+9=;IfO5pp*>Kfp3+eyj7sn&DSvmwvEcc65zXR@?%E5ROT=KTCT zS*=7#QH4fuy0lS6T-x%-@2t&*c$6dJk%+RTcass(e55EzivKbPKveWGoVV6(5kc#7 zfP+prk=y@-GR_sqn>+2EU+J1P&Bf){#476Y9q|?Tv#2WWvJq~&6TF&M<2GW?fU?Ot z8gm050m+m61a$#j?D5+R`vn6Yvv~p}osCLdt+RoUVf7mxQ8~#F@U{?*N}sP{QRQfD z!A*>oyGzSB@okdAcGkVI`?J)a4K93b9Rm2;Yg2^g)59PXp~={R-P>S69SsuVzAs|? zQES~zLxSV8*tI@-572{e@Nd05U-}f|*udLwx@`W(yv(#gPqnUHD)EIkpt|}KEjAj> z7IQeUF-p4T&1PREc{b+c1{}|yP}5MH?9&O1bmKj1TM{E_Wsus=&PX{wtBAVv#=TqZ z9C%Z0aW2?5G$p01-y_`^LNv}aSkq{4;x;od3l}9b^xRU2dCV8?m9y3PY)nm|uSe}1 zPil)9NLxkda)GGS|F~ZK!x*vBd^)S#=Fk~;lR6j2FI+(m_{SrH7UNt>+`;KzxX?nN z)-WyuuN(os>0$cNWd0rA8o`aqSh(?>(vT8|O#VMC%}6jb$5hA2(Qf$62T@O(w%B>T zSyJvxM>z-HVwGv(+gl|dz|@uj3BGX7fy;%~gF?mU5!CxVe$OEE>ds+#D<&?^&hRpc zEMZ1vG_v~_czNlztrFAx%?+Q>Z6@v0nW;4CqZMxGZDxWgQCe-IV?=FkeSm71ehQF{ z<>gV#yll9qRJX+MZ0o?Po+btD+!2_m_bfpB3d(0a)mN$2Dne6AAV8G$cjSD8wXEp$Hf@(w6YBbr!N~F2 zvN9v(#=A$y@ZdGFTwt~Vk7R&#a;8ofx)sEtS0oMU#*1?qMZv2gC|_m9To8ljFPcQ+ z@U>Nj2p7#K?$R(Dm`<(ygWO0Nqx^x#NxMNzxCHt!$seON6P3y1AGVt1L0d)bgVK-mIDA^ko%y3=`1I1di}2?unkyzFkgjy zR;@ljC6IbVI3LY@A8yW??(t%xg<7Xx7JZ@x+o2N`Ti~fb>ok|l*{44k?=hfXjZ$7n zwmlz#!E7`dBvg~!#Z?jBEu_ZdrH7ahOXNUBR~RF{jN5aj__0>#iyrhG_ni`qkMmqr z#nrgT8N8M|CV!Y!-%~a(FR5;lY^CN&oW>vY`w?uMHCWmg61h9tSIm44c{CB;Wx464 zUrg*0>vfbvuEq@3BgTxHli-zo4M`q#J-36ckOzY2?u zhom=4WL_qMgmaYW12*ApSqC4~XhH7sD)vft?F#6PV1tL(YYvjX_dN;)hX(wMeXrm5 z)X-Y3Vt)fQ2K9A~O*gUXZu^7Czs1g}Imia5Onmej;P)8ZcsU?KkP+Qpcof~Uq~BZl zWT8>PZ6AKB-hz(iZFgsZ41J*kRcEW`eSL$wwlr|f2Kx=Hx?^3Q<7FpjFlE#afouko zHl{BB0A4NF>-X0Qp}&~r1Sbih@1ke$pGhmsrHAfr`&TcF!Mva!T+r9=w}N5(%&XXF8hD#{>MrwOqioGV z%lCkN<3om?r{!u0$#}`}bkJfo@%o^C8T>6s&B6Xh5^tvI{IY)MU0Q3gSMN8q@8HLW zuinr=NHe_c8ZBE9)2!Cg89Z5fNdAi1?>bM#?bHX*YtYNIF6bvRQboruhDlD46tbYm zESV@Ng|IlhN%J;cnhWvzeYcnCdQJk~fe?BU=7VbfzKj$K{?|UuZM6)C2L2VAU8e2R z403`8U=)zUQcK3-BWVR*didu{$?g^4zTeVwXB0H6Rdl4&Wr!D@po6=>lXCN%jtw>j z7-=#6?%~kav>~c``sthEt^bioM~f!`?C5srLSQDaQd)|4TxpO)KsfHBXVNp1m7JeQ z4Y-`3dl1YHw696uM<3N3j5++I_?!Rb!n^Bz=2eCExU>O}rx5rva8>gq|8JLa+usE< zrhKF-Nz{Zqnz@3gN7Y$4*0H-E7QoF9KPR{*r&Hx|qw0KQNk^;+|$jF_F0VbXVJ53_!S0hyzc@j`=`{BUN-S+EW z+Ho`BPSwj9P2S7{bwFXRYh^+&n-6LaY&OMzK;(ri5P6pd1Gg}QFow}#D9xV3O;g>Q z6bBmqvY$h7Yy*mvNscuK0A0(uRX3W7z*NDoTyU}U_Xd_8`T{oyH?d=4AV_!z%^2r^ zVn4Bm1Gwx@`(;@WdX%#b^TT%g<@#ES!*S}N1nT*obE%>19WU}`-Zg=c8vr3Ufn2*) z56e|^Ec8Q6dqD>q6>S~twu2mwztyxjhciz>+Ih{cN|Iw zOiGWRI}d)JjMw%^f3dNHr{~L3%LYwV)wHxUueD!IPi;jkKMd{rIXM+eFLiWuJUyJ* zwDeo5Tt3q|TRCW%-J7rXsAbjNTiK+szu))!z5ZQS*X1(ie&6@G&v~75UgzBR`$i+75oKY)TT)jfU2`f?WAOgGFivN_ z8N1ooMT%eS@Jn|8-ncFcw}0;}25uVBRPn_492<;EC^OQiOJGgV3#MV-OYE$FM&rFY zhLYaJJG{4HcmStmVpQ_TBx;lr1Hw2TwbFb`h-Us}N3$`8sn{w+5EpwBXd{zZ7szAA z-Ms>ouc~!-dfXz=^<7Q<%slp!S3^`w(wSMiYpXHr$6l#S25r>%7N?_vLj7N$h{G*h# z^kOXU?)6mgGx$3vAm0=6yLj+7*+9xAtSTyvdl9@A*QFPly(TjrCTPry(A_>t4G~~1 zkU1GEl*}3DF=ChTozU(zS-)E&Y+UlpcOAbQ06D|?ejNrz(Ojn0SbUL`)yRkWi~CB$ zD4Fj;-QWa+ZDqL$J&jgt@Uo8&#gZfY>7Dy3Cur$x(MvOvFDcldg&@ybm412&hku%b zX5?i}rZ;63eB~MS^iIuezk9%_Thz^8?@S7TO%C||y z-MzjbOeZADktZCYG-4Ex)|rTVR1l$}(gUBnaf%b1ie~u!vE58kG!`6uxhz7mjPPfD z&0rux5~C51`PxR^E~*AjMZLt))_#{b)VN^GEXwdL0rtCjTA*ZX1G0=!kA2j#gImWVYMRuAcnCuzSon0667%P5+D zF3Y=rO~p!?Q$Iu8$@#0lRD8bI&*4&<**EbQJ!fZv`!{i-0+I**N&UBZ!%Q;h2jDZhiX3lFsR5b)y(a9@!Hfoj5$rF6m27z zfQ{_%0wAgzomz+`cw((ggdDB85DRBm{8z%^@8q@^QY2_z>@fecmWKNIB$cN1HFKI> zh8<2;fz(al*E6+s3rEPesKR2yt(h=dgX0+6p*$q0d5>vg#P$?z#Pcy{{vw)=_e*qJ z{9I9JR{W2qFLbB+XNi3l-+4E!Q1LcFNxLga@mim>eSuU8BO{a>IZSH*;M=ij2O5$* z*QeKNPTP-K7>5;wELtybB9omv@a{Zvo6@||h(%gS1qj@?y}m-&2FMnleZfj_@KFo9 z6SLW*0$s+%UBgSl7PfMEl4ahIo?>KjczPkWYb$t!U3yO~LlILPEf|hiku=6=9a+U6 zJ4fff^uVpEQ)TIHi_l0zB6r%=QcQDf%zO}D~LDsmoi^z=ra z0eHT8!pTDr0>{o8jP0{4sl7AIQ7km`Kl?>iUc`0u6Yqp%Qe{M z_%h`~va4>>+x>w{sNSE<+HQc?^MfyFfC)Ixo&lSJpvc5^WT<=Jejj>H zAS8D>@%I!#5xT{pu=v!KFV66L8~KSE=9Lpxa3_|GG9o99^Ltujd<|1rZ=i6D)2{hz z?t_OjD0wUN?OQuT)AHHV4uQhD2_Yd@^arMG9x%Yl39CWtD|&Dlrw{h=Ut`^rIbXFK zhjU+tp|UTh_rJGoY4oN?_gQUW!i}aJos$=>`LGDfdQmplkeffgH3>nv2(1zEk zaG47PN$L99`lE(PR%GvX_ZU9>?Jrb>V`95=uDyOJK$;eL?|cPFc_h-!V!`SR`h;ME zB|7%58&SQm$-kNn>?sY)?rMtmP4@*-tbmU9-4OXu3Qqy@aB1E@<*f9B)vS1pe>G1t zzZ3qm|X^iVXxbiy2% z$PPjQvh8fRC{NvRp*m-xVR0<`7nEP_q=JUBh|tM;$MxW2Zw@pZO77AwpK$3^$a>y$ zBNIN*!R)7bzs&&F86S2H;7gsshopQS>5;$EKs>NF^kFJ2m)8a2Djw!qW;)^YcaA7FF<(JLn*PB z=>5Ci5$4>$Vz!xf_y57BL*)&5+){mUu}CciQ}Jv@h0;xUmpt?@ChUfrq>Zx?=?c8dbsbvdkZ^jh=*TH#eGvuy%iULFCTy711FZw zLCY_bZ>RRvdCawc!*@zukhnq`DD0_sbmj2$cz4b<4)U)VFV=coftV#jLGl<~Qa##v6G9cONg!{Q8-7g3`6vaJ0WXE}PP`T-vCe zr=7YKH8q2Dlc01YiuE{jC_}3jJq2NKVIkK?C9v2A8F5(Y^$7$Hx`p*$t|^BeluhhFI?rcw zzKfcT%y%JvfAPFxR0sbieq`j+71gL42jiW}xsT_sZN|;j97-ofEH`^4ZqG|id$iTI z2H2C^0(PGt)r_De;HF{~k-O50d8Nz}?#ZD=p(7j{(D`)>$fh)|(f*=+dVBS%T;if| zVi97*dS`V!i@Zbh*=s+L(W%g}<3b#QnJd)#Z7=C@bx28I-)LF`KA}^xCk5r_1@*B+ zS$v>NP!47FI$l=qy}dNB>JxQyk9!Zn900<%@l>B*KQ7n8$=*AZ188?Th1?!5JdQU- z%Rl>d@^IUlaw}Ed_X8`B{P1CFM@@No`5Kvkt65Z4+CO!Q(2(BXw=HCe@_7B0ME4;+ zKK``_H9dK@G22$6Edl4t1eYp3!?smVZ|yu%gkw9e2FNY9`q6U4-@b33PF2%=LyKXY&1=s$b3-I?n~x;-aEwST{GfA0(1@qL|Kyp;GI-$Ve8T)lSAysi_xld#{|gL5mWV@ZH;(TTP;BKbUfDo2RX9mRuTcbANl;QVwQHUENTL zWtN=J>a)3NympGrT|9YW$I0IxLH!6DbulY7HMK-R8qBHb1>HC_K#`)8+i~~U&S6W- zgCXM-5_MEOP-G3&Xr3G(ATM}ZV_Oqgw%oWc7Z;Z$c~g804{UXH{}t|4&)jC?Apz>+ zHMfZh5Ed3b(TE2U3p|+N^_iIjQyTBu>Ce|6e~$Lwfg}=v1y5APBrBf!xr5$mSd~$H z(=)X$h%H-D;$fuV%#VVtkUJ%im5*KuRLKEgINIwF>y1B?R|{*gPke!P^EqxUJ=VjW z(&oV<>tUBD5J9!F{r%g;rKM+1dBqL_!=i2?l>(@NjAzEjpEa|#&hy_{{TX&fzzGgd zUBx%*sQAaSl&vcYE}n%V&q4gNden>lh0a5$WJwyS4jPVGaVe8BEgW7afg zA8&8!mleNwh8@LC+ynM=CG(K64?Nt9t!9UaCoX+KqqTXT@0}hGT;Zs*r9K4^5SFGW z#RD?XuZxNS&!@holm>~ON%RB=AO~O|6f#~rK(9V#WL#=R7~KRgLESzX3Yd@=*f?r} z4MbjvLa8k;FF%`Yje%H6Zkm{yE_N?a+MdZioJ21i&G@aad%WXT3_!}M9(hxa4nv<QXl_Qf7zXC|8|n8rK}CHV({B5`$m{=uPY*73~d zy^QTq*HU0Y>Krsr|7m)0+NX%ws57S|MT$}Qz=u`TF1W?_>EsuXc80QE%&ci3xLe9T zZ|bn=F-Wv~`u*$0Q(iC5B!+CxWQ2u?lrWwWnY~OmNR3Kf@TTv~OE;qA<^h(RAfm(G z9?j+OdM%a|72WtN_ds+HIG(LuF?2eBm50=!spc>^ICxLio~zv^Ib=G5LrnCq9F_j6 zov$H`i;POUUq#cK?}pc#c7*9O=y21l|AqPbw@#eAc-!$e0(7#vYbsqY7<9e|@aXJw zBU{xXrzrDkdkBHRPbV(;@&)Zqh1Laas*r~Ey|_>#mKaGVKO$zqnDzq@5y7wMR7yA)A8ZT{SqC);OXhVP zesejVXvts}z*BQ-=Twd0fe?!GUQ)2UC%<5o^d`!AW@ z<)_L_y!B9+SJaLtK$LNadw1Oz8n}t5%SgZ_W6z!XnRhgUe`Y@g6Dk$&-Wjld{*r3^ zz)0)bwPG5be1-MwtM0F-8Lx6*@@SCx z=L2@4-nZh9REDZ=$PLBzNaD5Inxe>hq_F&xZ8WM;T%7e!)42a?tF37L=G!iAH;--f z4CEez@pizldoVJLbJir*cMZjDv1u~1IkA;1?R8hAMsh(zWs7pO4QhA|{$!@}!s7C% ziYLu?|6-&snjS;KvJl@*znTK0GN=e)Wb&i3GU`Z03$m zfmZ%m=}nxagQ-U$qy~y#HE1jiI$W+prB##DNcR84f|#iwL7qR68lTFmE$EHy?ovTL zRq1J^{+P@|tzslhZteVJImqHT**)ZHuS2-Glf!Yqa~O+tD^*Rm%)G>n-q3&yL}Dj; zUancD%^v++mHsu*bwuQZS9pABxTv9^Ih6(L1vdbjg5UK ziiwP-G<78YDul|8<=?T$>ksG3>$1JWunZ4JFf*YpTCz*CMrmRqu~`O#dcqKSQDm{b zDKMGA?k_K!Q(MAW3bo~vH<#5|AIc<6-g!lL#rKA=;|gM$=0)GN3r1tvx975u>s`$T zW4l!;2H7BWJL37B{}~h@n60!1w9wT7lP?&(Jr&$LY}ADmL4K3=1LPoBi*T+QmKtHk zPbe_q-S|giNCi|7O2IuG!P#Fc1Syh927hpzlDgdLo79N?9puL^@rM}ed&RQp0gqBA z|H1+vScLdu1>YXXIc_R+&Lea7cnt0#!v*et)@DWGkIB*kaoeHnf5d3OViz`CO98cJ zaG-u2GL|;hIF=@b>0)-VJS)wklRMqw&UaQ2`3lRdBLZiFHm#C%i>)d^Tgb*~`$-t&Zk7 zq}TG`wIhV{->Z_LJDe}}ESw9Dtb;a!el{Z4@nT7@a$puhnz`%sJ*^PFzW4SCXP%^g zN_Dah+uiOE`vJXpSa-rJ&P$?05cf7H*4-gZ=~;laTwVXnR48w5H1FP-eF6Ng+==ZN z2lwPCH?jPeWt&aQfG|b!RCA#9$KH$y$6V>n>FNZ67*6}bK^KN+ z!z<@t+~VmatyQ@Djm?Ca4}au8GVvezi`pQ4H~EVd*1w-|92WRq`o#ppmq{OT`;=Gd z@f??HU4%TH^wr+!pfjfq*XM0dxSVXU8a1r!MTu}+9HnCu zZD5T%;#*XhrX<|G=$|I@<^8FL5&k8zKJ6&;{USp+%t$?Vd5r{&fx_|&K z2Gu&`!<{}UkmbES+_Kk@k;N`^_Zcn=YhVK)<>_vUbs$0^00L#r^*jPQ4-`b# zDE@F)DKL3LrhLS=(8Bo7gAmNf{ohQ6#4urV7&f8IQ^OmydHQgn>Yr#t1XlDlmN256 zxTt}btNf7$=aG|@0upR7swz>~oeXibn^aL5x9g^DooXcizG}?j zai?h^Ne+{%H#Y3n{Wa78u^t7IT{*r`7M6oN92l1d z+=y)cZw?}Qvn>ai%p=EvAwU%_tOBy625{(1n8>bqiy*`_c19|3nxFi7Q+v*{A|KN0 z=(D>vMO6z9K%C)Gls6T?y%hZ+_Y?sx_Sr6EA}>C7L}I%DNht3v$X)|Nt?H9B zICdq@n?M^o15N$slO4Ms_U+8iJ8(R-Z1Af(@yT~aTFi40npEO@oV-$7~@E?v5VBK{Yd}OxVJ1Vpih-0{8}kRuuvWKe?7&xI&eV_KayG=t&cA#|77Ui%iRU& z(7_=N<0{zEC$h|*5JcW+PsWr%jTuA8!XAaA%l2y$<(u`^V`=$x{iyUjh!?|g6``Vi zysK!zSQM^il5B6V~m`;URLfG5MuhpvFg@|O{ zw-1#=7+&Ih3cGCIbmeS~lF1?TgAin%sT1h()U8a<$-$7w8;Cc-#Fw_Ux0CK z48ts620$9U6BIYGM+Jzf3LI5;cPgO_*Gi7g4W;6+2e&MSlES$ttL4!Kzvti91Syy% zO;UFF8nzp^aH^t!S@T(r|V(cg)gsiof=J6hoQwR63C2J;D_#PYm$$rZaC% zKDo76fi!IEXkyQayJg8B39qYGI>7G{Mp0bk8uihA;Dr!e|s0X`4`Go!KLl#9QgB5^6T0NFr@qbPdl z-Rk%RSYJGeM9PMb1pxFem58)S$4P%PkRD+LzH3x#5f(#xKOOr<{H*j|L2oXy&Gz0- z%!ktZwt|rIRZ;T8QzF6;?*8u}D2YyGewZf&VM|-Xt7=EZb5mJccL+p#6x(GCi-m(U z4aE_>zI%97x^2%t#11tE z5E9J6dp$mEdTayVWcLs@W77oIjDN!}9q4r%{N#ZGjtU#q(QLoqK{+giCm$_crWoeP zYlC17lp)@q%|sSAY_N>VC=xnYG)1ZEJ2*i(+DR90uvSq?M^_BepWGPW);TEic2Cbl zHY_LR1_{J0rvO4(!P}xHr2t_uvQNbuu-?`@_e}d}EvhaKwZ5iR=`)I3S9v&#&W!9~ zF&ujytAoHsIz2ZOW<>Xr@2fl`F+MI-2cqb+mA((df!iX2P*HsBPoM9_{l71~5rW9c$%XJpXHFRw>&?Z4y&Y*L?XjrYOsx@6JqZFu2(X;NI_3P2h8+yLPix)j$& z3a4LRU9T`?-sd!`TQnR85SQauZ<}*CVzEs4Q>|M1IPkyTVH@)9JHBqS!gWAt7E7mw z6ae7suXAl6Q6)kwBg)}@4w#>Yu+43-b5tn@d(K2F>af*cX`mV;5)5n}4$Vn;G@ji9 z0o+95^;E1q9R8eFQ1&v_F&MgY|CpnKaZfICuSjUykP5-!S%uT{%fK^HYYZMi6fv}> zD^#Zx*;bw4<*hrW7a;6K_{zvDf8{LaV&rs_3aG+-#M-WmcE4!pZjcAjbCgM>hvAsj zK4y_Rr?#dKYQ?o}cQyx%t^f6kQW6oibCC>^hR`f|DmuWdf- zc#(}Mv-kbh2apAb8w-H9@&;xqBZ9#410XJOnW;}Z^iTYyVayu6nxY7*ehS`tEMPxb zzW{61#u>t9ZiYGCjf7bmw$F$ePm-TCfiD9D(v2x_Ln z`MUs1(1q%7qbd(snMMPU<4JC!{Gre6IrYXxDS5vK2jpr^-I4xti&@uH#pp-_F%T$A zoSZq1c>AljMk>`?JG#NME`TNZw+tmtPAT$&Jnsh~3)zPL5S|_}&AgAD@(edb=lnQ?!w-~h-xah1{8v)#7;X6$>uzg%WweA~%Tx1+N(pd8TmBwu`5Sep zVyGAjaH>=lE;DqONNNM9R5y&NR8%M%z0nB)-fZ$~O%V0yh=9@6 z&EZ+#pn_P2#DPWnt;qb{m4jSA@9=M&0`q^fI^&=}Wa=@@>i9)Cv{cHUrY7IiQxoHyNKo21~4qPlb}fwMLmp#_U|nfQ^& zWrxcJd3>rHPu(9|i`gt$RJlno5A%4PW)Sd(y(SKb8^r#}+Y$=ixfeJzygV&O`~W{W zZlQyN^Khk&0or1|pgM@$VqPKi+vhB1Au(g9hF8=jwEQmv%rrsW?3WM8J3c^PEPNmf zZ6aW~B`)MX>4^`9u-MZ4>hkTQLvmf2yl4se zVcVT4YGTJ;!$zs==`-db;Z@ZOZvA$2e`2&0AEDpLRnByaeOx%#jzZ1j8yKzX5G|^m zAGG&z`|BG>FM2NPkIy!D0><3i*4M%UL`*Nf0RYRq4x!8pHEN1oT>t+WcM(U;3pEYL z?Bu8(*|vr>8N!wZ8^1Nq{No8>G))h7<-(D6W&r)iZ!-=INh%%q#yITWXNbocQ(o$B zfI?xd+_p2K6~5pd*uXas1H(Dpjx&JDtx;QzKvE`? z5fg5$4%oA|TI;dk;1kF-<-J{d9TmiN##I6fRP+-{eM!WT0e`oEynTd;?;)k2Xz6XI{C;*kTQ({F#zwE z{qa9-1dC-e>mT%Cu`dvAj68W@5v*Gl3f|WYr1u_ys6NutIQj%dv9jP@bXl=Wtk9d3 zS>TE0U8p%|I)XZelI(~i&~yEDYJAKiH}U|)Pa|pN7oVqS>yF9%@Z28$lTy4L^VZT? zFa8enU@ujLFB}xb}oxB!%Pfl+nb+Ql5{i)SSQlt`VS% zVua4>D*m4wXsRtago`gz2XDH3?C(97D1jrBx@yojh1AVaj|Yz9PX>gemZN%j{WB$} zuoi~%bp;|I+}n4RSvzm8+fphKHoZCqS^@rWQes2VEFE8JQ!(0FQ*-l*MBk| z0;t|Tn2d!DGow5+$#WBIj=GcLeS)g>nI={pn7*gH?Q&C4pNGu zg4wRT5w+XV0-CP}0!7VeOUG}C6JoM$9RSJxTW-@E9JswSZN&Q9Nf_UwvYem~fN(ko zKFYH(yhhQ)5dIB}*QwlTbNHE`YvB@Umq4zZJ8gUqwEpojM)s29^{9r-`V?~Tb7Ap? zPqs1DP3=HI3b{2L|9?`Oi2{kfnR2vZeSwztLp_*3iD;QAW*G(mt8g@XNfKC6YVQ9w zu;|VXWxAu1MA`~RxVcKMbps9Jsf*7`^IOuFKgk(bKFP)S^XP*$-;yYMx5)#z!|edH zX2^-UiVEfQ!xhJ%NQtMQMSCGFaDNfs8Dkvrt_t6t99_TLlB}Z`BXroih?#8Y3EIVo z1^u#StBz^$kQB8qY&ekZYm3xDxfW-Mi40Zb)K(dAw6$M}mfsL$eRGxj27Gc(V{4Cq z<#@@TiTSLOX8!S_EeXwRHisnQ+8a>uEMP zS#&G;td4o=Z(LVfL=Nzs(5YSM&{8_%*J-so=_Qa;A%P$SYHnLYq~{- zP7tO4n`=ielZkV#%8z0tuWBnL_l$%P6vb1yYsagF+lXD;Xjt|b>7O4)wb zo2Z35>v_ocmrQ&YGG5u&VnM&1ZhY}$G}Ja5si?u{1-%!HVv`yz#pZ-37EXwLNlzx*RM@igR3r3M#K+{vm0 zuHZ3nMYS@){fi5ONs(3A{y>dhOi(P3m=SV!2VE@ESqYh_&%fusc6m-;y;$cCDr|i= z-*?RUI?jZ=oe#Zr{r)FxD0n}WaG1u3i&#+iv#YY~GM}OQ|KL#iP0vHEJKvAyJ$><9jPG&EB-bI#mP27==03P3lG z_lpk)r{#zX*Fs7W(ok<~a+(;QnaMRlg(m^%v2Z1ZTMvkrQy27l-bWO+kc97pTO#!I zYXd}WbrD#-tbL;jrT3p9MDtDwOo??#e4e7yO0zf^du|=eOEkLsQJtgEV19MyfasWB zufnUe^Y9q9R330#mqSRkYZFi~q7Pd(y2}QCyeKuzyqvPktP@X+r>4OZ#L9?u^2+ z2?O+N&D)pKvVXliA|UpYD)`AMP@mIBcWFWcpV#$p8ATj33O6!3*L~>BNk$JG2hyR* zeiHvS0o`-mS~acVfC_d=p#4QIJ!$KuT8;)E{INqY|DkFk%{7h-R?P687@P#YZ)^1)u9sx?bS~Fi+WI~$dkUcyXj#t;$P^tzab(!F@jV8cN z&QjYzb+od~=>MlVOec>vR%|+JWR4Yms)t z54~6T8>O9b^k=s)VzHo8Nrz`u9YnEUCAby@o}= z@h*RXwK=&V3^Oq-2C|Q)gTq6vp-hE^Ez|LV0bggXDOj#tuJhe=*pXv&-0+W4jDysd zwMsph1=nV1Y%^izkRQ`Nx;qtz6kDK3@GI*6BG?V^MnENw--6q^QV(_JbVc;bNo;Lf z*03cVbld*l5QIj#=#{)ZNVlq0pmpLzmG6-x>>7p^!yVtp6--<0bsFd0slL_?CD zTF_v3clWoQ3tfiM2MQ1K-C$3zDLj@4wjGE#w6pe`&d<2Gu95Nh5lSATweB^r5hrst zalH7JlKo)G#Blo@SAcVobaMwc~`p1yYSAD-!Fg$w?AIW++xtdv#P@b z{=U_^_AwFWDr&Ah|K*gemVN5W`DOZ*km{5c6LPBQUTcKo#NW}pPj;eR{anB;hBlLQ z@1soEv^^WO&5MPJJ9g!4x|)N4P&ua=QS zTo?JddaZ8_Dh;6RKVtpea!LMf_)k*m)*PblI|u&FGofuv=j+YA%}UdyeoPR0hibq@ z13#aD0EdflvnG{$8@x71ujFr6)aKjvA#j8Hew>o~5+ZuTsCnsozjO8-Wz_z@)F9ek zyfNAIw7dUN4&OG~zG};dS+57&k#8U6n(4we%-#9@a;25hBx8$mfQ!jV$u|kGPdVJ; zdy@j`zUwQhOIC)3@d+dmeQ+)gMSQsUKqvCeepNZtbZI=s_M~z!i=!9~4fB?o%3Xt; z!C&wQSfEfqNa+v1?4qC*vWk=Gt+CR8r}>UfYiF|>m3Gw*cZvinE1{+X;Mn=v>KJRB z8ci>FNkFPZaP3qF%S!t2zIpf+7iG8xJg~j;7QQC{oc~_p z(w$gVQ04T<*z-$1A>KHG$_{=!_ZIR6+WAlM5L@tvN(rSuA+5f&N-CEIlgZNfFIV*% zc6}qa$e;UKdCv|lS~Bz9oDJ|_h~}tgVAv-FGKo^-v-;3uMTUK@uX?uiBmMPzQOqM| zEfJ=#SHx$pKe6jM#{P44#pzvmnrOU)@E&dJi8byzVFXR`{aKN`GNT_7uz=~?alch$p3bdefUos$l0Wx;sB6yhv17sH zB7E7=E5O*(r(Zue7fqNYSAVQH&;Dd{3%+^a#$vQ=^f=AW8Q$a3h2K7BExdVtgFRby zJ7vm1*IUNYSCh1x!7>=4z!}hB!XYicv37WvnAp=ex*VFLXrnG*EFV$Iqv}`as!EHm z31pw{m?qEfS(ymS8!qX(EU1~nw_2hjEromGO<@>*n=m*62eh${X8yjNzX@`*V zdHw!H=@oEeJu8prkL+N3Uq>@Rvn7PUZcG1NqPY^&deuHUe!4GI!lMDaGfmy4g|q^V zvvn0jvx8_+#@DPpUG^!Fw&FIb+<$xJY*0e%ebcWy1RxVS6SeQLuT?(>>KuFuHZ@K# zLexFk@LOyvGd|cw7c+v{8exqq&Z)*1b1vaT(NL>*TWGIE3-|e?lT9J7M3Mer#um}6og^?9L zaFt}@gx(xbh2yFjK7Kl(574pw~4S-~9*Bb$fBVYSeD{^L_OF zS}2b$lDB*p4d2fV5}PDTr4LRQO0%+m$p+Wr-(e-anyB&2Y~k=4d(Yt`aPX7Kcm%6% z2p6`GI+nM;lt->QxG+z7jg%EKrF8xXvSfj)e*sye^prbSN%$ifP`7EY0 z3$u%!YjA&U(yonI?b$Du0k-T7MK`dohzKQhG&BwDZG~c7`jg`1De^hl^g?39$FWFK zJRt*pcnC6wuLVAeRmWQT^sLsv^(;W7`2UEsOc^b9_RHYXNZsf}oAiVAwjB0ISmZuB z64@jC-I@*!Z3NT0wS`Wt*iS>Yr((jiuWff-!B@58io8CW(T3Q1KQB*;d|k@1>2bxD z=Z5w*N3grL<=7g@MnRi2xaGvzxuWoaZ~6y^xGOxEY2>ABMo;wkU4N?H zFeF0Wae2_#<3PUNOUIxwG8MTaHwlz>`x6t|7X6<0c}tyMrMBYp7sS@vX_5I}o`&yA z+0ExvZnZc*cb7=RB)X)}Xg(O=3XfRmpT+8%E}2HCFX4oL?hqv(HLXrM)7Q(GnHw#! zE)NPYf<)*?ofp`w{$Fi7eLPx|YZup5ZZXj7RA*J$SE0=J67svPSwweA z^w;C(RCbwfXg~80kUCa4vz*V{-(PcXu2=vc%5*+na;({}6}z)zZKX)Lu$lA3a%`=& zISw3Y%i*VN;4u;A4moR8hDiZnfuiRZjik;e*j4hsZyR3l3DR&;{$ zyQj|b?1Vb5&nFlWvz7{qF&Ii-~I! zRJ19+ej}=oY3H+FR0jL@5uEKD0E0DnMMJlOB)d$%w1NZq#{Jh50D|J$M)yCN(srzJ zWhpAs{0fcDlbR$~3ykbgbj@a5jhf2IEk!)mUHT~)bE1f@0iJJ%G2wLGPM3$~;Ck0> z-_e)T+*U7$2#S~S6e_56!n(mZQm348g*jr$6m`s)hikYwV1XVlZM_D^#kw^>KPcEZ znxxd~A%gvlqPsSq#c{ZRSN%fYon@MEvbz5L+*g3g9%+%gXc5PniJC`D!$L(uju@tT z_Ho$P3npxP00eBQq71?0+pJ+`p3TWcEXjT|?^XS>A*Xk^p?97G4V5w(iZmE^HsH#%Cuka=A65QKf+*w)ZHL|zxt ze)t10nUufPcR%mv9;ALMK*vj{zR*uYsK)h6>j1;2nP? z!jrt2%4>WHOHe*-tL*lRVC61@FF%%Ne@5S5WxH|Bo5+QRmi=lIM?)2d#&a3L2+!?^ zaB~(^@`=6f6KE*fuJbEC2o87FYhq7FyErG;kIH17v(}v#_Xl88;xSWPzg?t!YnugM zvwi*h8(`@!0E{d9*-Ds9S_-NdqvcIfgkIW~lhMU*>Ycs@%r<{Be&+>imSp2s1fplV zt)4@9=*r_VZDAS^DKo8_)VzX*7Up+FI9eN@^YMtN(Vrv_MlZGLpRg7Wz(bx-@a8d@ zFgRKXJ@+_y$`2o~{$ZnOxx6!e{u!zpcABdJite9n!R>U_ zCAznm83#zOT*>l%L@LuW#H%M~HQnD+6q^eu^2obXk#b|~lV1=6T3ozsm0W#cgKko_ zGB&R-plQ|D2vyCmQ^jPpS6M`ZhC)?7HvXPtTXbG|+|;bI;5rDjb+^jD?R2rq(z{)g z95~y7Tb_zkrq|pP zl&tmhlqwmV)(}^81@L&@bxp>%wtV*j?0fV-p}Xk4mqf%x7vgJ$Z<&FQR^S!82UoU& z?+Vh>i=LRh#Ir^Hoa=M1L9o5)d%3aqF)g=`g>trl=D_Bq%QQ4@$C-vN{R~hwXuHt3 z-=@a&4^8l`gP(M{ySPFR-mrM6Y3_8EBbu*;IA@+)KS4{=#K8XLlF43Fzm>nV#C(PW z93)6IMPECCR-Ljg3Q%<^wIrKfd(Z;v4(+Sv3^ZTp%&*&U4nz*vt>x&MatLEz90R|6 zqd|Y8nTxo7u`I7@cPX-2GH^LF&!>p#{v{fkPWuy}Q~1R(M{uf=rs={_X>fjnXJH)o z5@KgTp|lv-L~m}BU;#8|Sjf8Flb(hq=;bknAHlVy#v-LlT))55seKo%w|VvGvm5xk zG~zY=du2OXrd?$laPzLEbVXVkZ>#~W{x9c|;~S|QI`|s@M@=*|gEj@h#i9%){cp0; zByMdN-}g07h8o)Ez5X{6qoWDl&i+NKeEg-q3ETFcW!E#h(K8|32mEOn_uCx=FW~V( zF+_L;aG#mpX>kM6G&E~@X0%+oXUm08>&`^nhJ2x;XQr`X8Bnyj!sSKMvbu~e+>_J8 zo3*$XcXC^bh3r><_*fFDQU)q)s&q#d!%6ivdzvm~aU~{YBE(l^iJ>-_17Vb5->kkku z56^!TV80G{li*txLN=dSeq+DxjNAq3-%=Mn`^AYXGSA~ntkBdrh%XYEc3#yGxoBv1 z`5r67REP`&RGWzfS6v8~BZ^z3laIsuR(*?4)j4ykF%}w{&1AjcZMX1K>4Sy)FKPpZ_E=%lAu%-=+zE zp0piYweNS){lW2HZ?F}_1+cIG^ER2b(cg^wzKx-Oz*Lhj`9As b5w^kGOM{qqrvK1@e`@!&RZ8yJy!`(FEK&oO