From 6de90ebbc65ae11238b60fce48f5542342d4eab0 Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 07:36:11 -0600 Subject: [PATCH 1/8] Yippie --- code/__DEFINES/xeno.dm | 3 + code/datums/ammo/xeno.dm | 59 +++++ .../living/carbon/xenomorph/castes/Spitter.dm | 4 + .../strains/castes/spitter/sniper.dm | 250 ++++++++++++++++++ colonialmarines.dme | 1 + icons/mob/hud/actions_xeno.dmi | Bin 54898 -> 55493 bytes 6 files changed, 317 insertions(+) create mode 100644 code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index 18d4908c9df7..e2ea5955c36d 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -381,6 +381,9 @@ // Carrier strain flags #define CARRIER_EGGSAC "Eggsac" +// Spitter strain flags +#define SPITTER_SNIPER "Sniper" + // Boiler strain flags #define BOILER_TRAPPER "Trapper" diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 7b5c8ee71257..5d4f27994514 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -171,6 +171,65 @@ new /datum/effects/acid(M, P.firer) +/datum/ammo/xeno/acid/sniper + name = "long acid spit" + accuracy = HIT_ACCURACY_TIER_MAX + accurate_range = 20 + damage = 7 + spit_cost = 25 + flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO + damage_falloff = -0.5 + max_range = 24 + penetration = ARMOR_PENETRATION_TIER_6 + shell_speed = AMMO_SPEED_TIER_5 + +/datum/ammo/xeno/acid/sniper/charged + damage = 10 + damage_falloff = -0.7 + penetration = ARMOR_PENETRATION_TIER_8 + shell_speed = AMMO_SPEED_TIER_6 + +/datum/ammo/xeno/acid/buster + name = "buster spit" + accuracy = HIT_ACCURACY_TIER_MAX + accurate_range = 6 + max_range = 12 + damage = 14 + spit_cost = 25 + flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO|AMMO_ANTISTRUCT + damage_falloff = 0.1 + penetration = ARMOR_PENETRATION_TIER_4 + shell_speed = AMMO_SPEED_TIER_1 + +/datum/ammo/xeno/acid/buster/charged + accurate_range = 18 + max_range = 18 + damage = 45 + spit_cost = 25 + damage_falloff = 0.3 + penetration = 0 + shell_speed = AMMO_SPEED_TIER_2 + +/datum/ammo/xeno/acid/pain_packer + name = "pain packer spit" + accuracy = HIT_ACCURACY_TIER_MAX + accurate_range = 16 + max_range = 16 + damage = 5 + spit_cost = 25 + flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO + damage_falloff = 0.1 + penetration = ARMOR_PENETRATION_TIER_4 + shell_speed = AMMO_SPEED_TIER_2 + debilitate = list(3,1,0,1,20,4,4,15) + +/datum/ammo/xeno/acid/pain_packer/charged + accurate_range = 24 + max_range = 24 + damage_falloff = 0 + shell_speed = AMMO_SPEED_TIER_4 + debilitate = list(3,3,1,1,20,4,4,15) + /datum/ammo/xeno/acid/praetorian name = "acid splash" diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Spitter.dm b/code/modules/mob/living/carbon/xenomorph/castes/Spitter.dm index 984a2d08bb75..d5d14128bc0f 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Spitter.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Spitter.dm @@ -13,6 +13,10 @@ evasion = XENO_EVASION_NONE speed = XENO_SPEED_TIER_5 + available_strains = list( + /datum/xeno_strain/sniper, + ) + caste_desc = "Ptui!" spit_types = list(/datum/ammo/xeno/acid, /datum/ammo/xeno/acid/spatter) evolves_to = list(XENO_CASTE_PRAETORIAN, XENO_CASTE_BOILER) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm new file mode 100644 index 000000000000..2f511f61a43e --- /dev/null +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm @@ -0,0 +1,250 @@ +/datum/xeno_strain/sniper + name = SPITTER_SNIPER + description = "You streamline the internal track to specialize long range attacks. You lose all abilities and gain 3 varient long range attacks." + flavor_description = "You become an specialized long range defender of the hive." + + actions_to_remove = list( + /datum/action/xeno_action/onclick/regurgitate, + /datum/action/xeno_action/activable/tail_stab/spitter, + /datum/action/xeno_action/activable/spray_acid/spitter, + /datum/action/xeno_action/activable/xeno_spit, + /datum/action/xeno_action/onclick/charge_spit, + ) + actions_to_add = list( + /datum/action/xeno_action/onclick/charge_power_spit, // First macro + /datum/action/xeno_action/onclick/toggle_long_range/sniper, // Second macro + /datum/action/xeno_action/activable/sniper/long_spit, // third macro + /datum/action/xeno_action/activable/sniper/buster_spit, // fourth macro + /datum/action/xeno_action/activable/sniper/pain_packer, // fifth macro + ) + + behavior_delegate_type = /datum/behavior_delegate + + var/power_spit_active = FALSE + +/datum/xeno_strain/sniper/apply_strain(mob/living/carbon/xenomorph/spitter/spitter) + . = ..() + spitter.plasmapool_modifier = 1.4 // +40% plasma pool + spitter.health_modifier -= XENO_HEALTH_MOD_VERY_LARGE + spitter.armor_modifier -= XENO_ARMOR_MOD_VERY_SMALL + spitter.attack_speed_modifier += 2 + + spitter.recalculate_everything() + +/datum/action/xeno_action/onclick/charge_power_spit + name = "Charge Power Spit" + action_icon_state = "charge_spit" + ability_name = "charge power spit" + macro_path = /datum/action/xeno_action/verb/verb_charge_spit + ability_primacy = XENO_PRIMARY_ACTION_1 + action_type = XENO_ACTION_ACTIVATE + plasma_cost = 90 + xeno_cooldown = 35 SECONDS + + // Config + var/duration = 35 + var/speed_debuff_amount = XENO_SPEED_SLOWMOD_TIER_6 + var/armor_debuff_amount = -XENO_ARMOR_MOD_MED + +/datum/action/xeno_action/onclick/charge_power_spit/use_ability(atom/A) + var/mob/living/carbon/xenomorph/xeno = owner + + if (!action_cooldown_check()) + return + + if (!istype(xeno) || !xeno.check_state()) + return + + var/datum/xeno_strain/sniper/strain = xeno.strain + if (strain.power_spit_active) + to_chat(xeno, SPAN_XENOHIGHDANGER("We cannot stack this!")) + return + + if (!check_and_use_plasma_owner()) + return + + to_chat(xeno, SPAN_XENOHIGHDANGER("We filter quality acid in your glands. Our next spit will be stronger but exoskin opens to disappate heat and waste.")) + xeno.create_custom_empower(icolor = "#93ec78", ialpha = 200, small_xeno = TRUE) + xeno.balloon_alert(xeno, "our next spit will be stronger", text_color = "#93ec78") + strain.power_spit_active = TRUE + xeno.speed_modifier += speed_debuff_amount + xeno.armor_modifier += armor_debuff_amount + xeno.recalculate_speed() + xeno.recalculate_armor() + + RegisterSignal(xeno, COMSIG_XENO_POST_SPIT, PROC_REF(disable_power_spit)) + addtimer(CALLBACK(src, PROC_REF(disable_power_spit)), duration) + apply_cooldown() + return ..() + + +/datum/action/xeno_action/onclick/charge_power_spit/proc/disable_power_spit() + SIGNAL_HANDLER + var/mob/living/carbon/xenomorph/xeno = owner + var/datum/xeno_strain/sniper/strain = xeno.strain + if(strain.power_spit_active) + remove_effects() + to_chat(xeno, SPAN_XENOWARNING("Our spitting glands clear out and return back to normal.")) + +/datum/action/xeno_action/onclick/charge_power_spit/proc/remove_effects() + var/mob/living/carbon/xenomorph/xeno = owner + + if (!istype(xeno)) + return + + var/datum/xeno_strain/sniper/strain = xeno.strain + strain.power_spit_active = FALSE + + xeno.speed_modifier -= speed_debuff_amount + xeno.armor_modifier -= armor_debuff_amount + xeno.recalculate_speed() + xeno.recalculate_armor() + xeno.balloon_alert(xeno, "our spits are back to normal", text_color = "#93ec78") + to_chat(xeno, SPAN_XENOHIGHDANGER("We feel our exoskin close again, and our legs regain strength!")) + + UnregisterSignal(xeno, COMSIG_XENO_POST_SPIT) + +/datum/action/xeno_action/activable/sniper/long_spit + name = "Long Spit" + action_icon_state = "long_spit" + ability_name = "Long spit" + action_type = XENO_ACTION_CLICK + ability_primacy = XENO_PRIMARY_ACTION_3 + xeno_cooldown = 3.5 SECONDS + plasma_cost = 30 + +/datum/action/xeno_action/activable/sniper/long_spit/use_ability(atom/target) + var/mob/living/carbon/xenomorph/xeno = owner + var/datum/xeno_strain/sniper/strain = xeno.strain + if(strain.power_spit_active) + spit(target, /datum/ammo/xeno/acid/sniper/charged) + else + spit(target, /datum/ammo/xeno/acid/sniper) + return ..() + +/datum/action/xeno_action/activable/sniper/buster_spit + name = "Buster Spit" + action_icon_state = "buster_spit" + ability_name = "Buster spit" + action_type = XENO_ACTION_CLICK + ability_primacy = XENO_PRIMARY_ACTION_4 + xeno_cooldown = 5.5 SECONDS + plasma_cost = 45 + +/datum/action/xeno_action/activable/sniper/buster_spit/use_ability(atom/target) + var/mob/living/carbon/xenomorph/xeno = owner + var/datum/xeno_strain/sniper/strain = xeno.strain + if(strain.power_spit_active) + spit(target, /datum/ammo/xeno/acid/buster/charged) + else + spit(target, /datum/ammo/xeno/acid/buster) + return ..() + +/datum/action/xeno_action/activable/sniper/pain_packer + name = "Pain Packer Spit" + action_icon_state = "pain_packer_spit" + ability_name = "Pain Packer spit" + action_type = XENO_ACTION_CLICK + ability_primacy = XENO_PRIMARY_ACTION_5 + xeno_cooldown = 6.5 SECONDS + plasma_cost = 35 + +/datum/action/xeno_action/activable/sniper/pain_packer/use_ability(atom/target) + var/mob/living/carbon/xenomorph/xeno = owner + var/datum/xeno_strain/sniper/strain = xeno.strain + if(strain.power_spit_active) + spit(target, /datum/ammo/xeno/acid/pain_packer/charged) + else + spit(target, /datum/ammo/xeno/acid/pain_packer) + return ..() + +/datum/action/xeno_action/activable/sniper/proc/spit(atom/target, ammo_type) + var/mob/living/carbon/xenomorph/xeno = owner + if(!xeno.check_state()) + return + + if(!action_cooldown_check()) + to_chat(src, SPAN_WARNING("We must wait for your spit glands to refill.")) + return + + var/turf/current_turf = get_turf(xeno) + + if(!current_turf) + return + + if (!check_and_use_plasma_owner()) + return + + xeno.visible_message(SPAN_XENOWARNING("[xeno] spits at [target]!"), \ + SPAN_XENOWARNING("You spit at [target]!") ) + var/sound_to_play = pick(1, 2) == 1 ? 'sound/voice/alien_spitacid.ogg' : 'sound/voice/alien_spitacid2.ogg' + playsound(xeno.loc, sound_to_play, 25, 1) + + xeno.ammo = GLOB.ammo_list[ammo_type] + var/datum/xeno_strain/sniper/strain = xeno.strain + if(strain.power_spit_active) + xeno.ammo = GLOB.ammo_list[ammo_type] + var/obj/projectile/projectile = new /obj/projectile(current_turf, create_cause_data(initial(xeno.caste_type), xeno)) + projectile.generate_bullet(xeno.ammo) + projectile.permutated += xeno + projectile.def_zone = xeno.get_limbzone_target() + projectile.fire_at(target, xeno, xeno, xeno.ammo.max_range, xeno.ammo.shell_speed) + + SEND_SIGNAL(xeno, COMSIG_XENO_POST_SPIT) + apply_cooldown() + +/datum/action/xeno_action/onclick/toggle_long_range/sniper + name = "Toggle Scopped Sight" + action_icon_state = "toggle_long_range" + action_type = XENO_ACTION_ACTIVATE + ability_primacy = XENO_PRIMARY_ACTION_2 + should_delay = FALSE + delay = 15 + /// if we can move while zoomed, how slowed will we be when zoomed in? Use speed modifier defines. + movement_slowdown = XENO_SPEED_SLOWMOD_TIER_2 + +/datum/action/xeno_action/onclick/toggle_long_range/sniper/use_ability(atom/target) + var/mob/living/carbon/xenomorph/xeno = owner + + if(!xeno.check_state()) + return + + if(xeno.observed_xeno) + return + + if(xeno.is_zoomed) + xeno.client.change_view(GLOB.world_view_size, src) + xeno.zoom_out() // will call on_zoom_out() + return + xeno.visible_message(SPAN_NOTICE("[xeno] starts looking off into the distance."), \ + SPAN_NOTICE("We start focusing our sight to look off into the distance."), null, 5) + if(!do_after(xeno, delay, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) + return + if(movement_slowdown) + xeno.speed_modifier += movement_slowdown + xeno.recalculate_speed() + + var/tileoffset = 11 + var/viewsize = 12 + if(xeno.client) + xeno.client.change_view(viewsize, src) + + //var/zoom_initial_mob_dir = xeno.dir + + var/tilesize = 32 + var/viewoffset = tilesize * tileoffset + + switch(xeno.dir) + if(NORTH) + xeno.client.pixel_x = 0 + xeno.client.pixel_y = viewoffset + if(SOUTH) + xeno.client.pixel_x = 0 + xeno.client.pixel_y = -viewoffset + if(EAST) + xeno.client.pixel_x = viewoffset + xeno.client.pixel_y = 0 + if(WEST) + xeno.client.pixel_x = -viewoffset + xeno.client.pixel_y = 0 + xeno.is_zoomed = TRUE diff --git a/colonialmarines.dme b/colonialmarines.dme index cab62dffd2fc..b22ceac5c3d3 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -2091,6 +2091,7 @@ #include "code\modules\mob\living\carbon\xenomorph\strains\castes\ravager\berserker.dm" #include "code\modules\mob\living\carbon\xenomorph\strains\castes\ravager\hedgehog.dm" #include "code\modules\mob\living\carbon\xenomorph\strains\castes\runner\acid.dm" +#include "code\modules\mob\living\carbon\xenomorph\strains\castes\spitter\sniper.dm" #include "code\modules\mob\living\silicon\death.dm" #include "code\modules\mob\living\silicon\login.dm" #include "code\modules\mob\living\silicon\say.dm" diff --git a/icons/mob/hud/actions_xeno.dmi b/icons/mob/hud/actions_xeno.dmi index c829821730c20066ae0397877c10579c7fbf16e2..f47a9ce5b81d3d81b717552ebef040d870757ff4 100644 GIT binary patch delta 10989 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 Op(v{+Q!Ql?{Qm%;@Qfh< delta 10391 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 b6Fk5s&ci~i3*2K6;7eZmi&WKTlfeH0F7>9= From 1affd6f53481f91549c35c472608ce333fdd11aa Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 07:55:09 -0600 Subject: [PATCH 2/8] typo --- .../living/carbon/xenomorph/strains/castes/spitter/sniper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm index 2f511f61a43e..16aa0b6adfe3 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm @@ -194,7 +194,7 @@ apply_cooldown() /datum/action/xeno_action/onclick/toggle_long_range/sniper - name = "Toggle Scopped Sight" + name = "Toggle Scoped Sight" action_icon_state = "toggle_long_range" action_type = XENO_ACTION_ACTIVATE ability_primacy = XENO_PRIMARY_ACTION_2 From 84cd751e7bed71716d7f56083b5bc5afa89c6171 Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 08:01:42 -0600 Subject: [PATCH 3/8] clean --- code/datums/ammo/xeno.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 5d4f27994514..16e5b12d7c44 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -176,7 +176,6 @@ accuracy = HIT_ACCURACY_TIER_MAX accurate_range = 20 damage = 7 - spit_cost = 25 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO damage_falloff = -0.5 max_range = 24 @@ -195,7 +194,6 @@ accurate_range = 6 max_range = 12 damage = 14 - spit_cost = 25 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO|AMMO_ANTISTRUCT damage_falloff = 0.1 penetration = ARMOR_PENETRATION_TIER_4 @@ -205,7 +203,6 @@ accurate_range = 18 max_range = 18 damage = 45 - spit_cost = 25 damage_falloff = 0.3 penetration = 0 shell_speed = AMMO_SPEED_TIER_2 @@ -216,7 +213,6 @@ accurate_range = 16 max_range = 16 damage = 5 - spit_cost = 25 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO damage_falloff = 0.1 penetration = ARMOR_PENETRATION_TIER_4 From ff063a08c9c7e85e1dfb54c4efd7c519209a7723 Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 08:26:02 -0600 Subject: [PATCH 4/8] bal --- code/datums/ammo/xeno.dm | 18 +++++++++--------- .../xenomorph/strains/castes/spitter/sniper.dm | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 16e5b12d7c44..35b7441edac6 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -174,18 +174,20 @@ /datum/ammo/xeno/acid/sniper name = "long acid spit" accuracy = HIT_ACCURACY_TIER_MAX - accurate_range = 20 + accurate_range = 16 + max_range = 20 damage = 7 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO damage_falloff = -0.5 - max_range = 24 - penetration = ARMOR_PENETRATION_TIER_6 + penetration = ARMOR_PENETRATION_TIER_4 shell_speed = AMMO_SPEED_TIER_5 /datum/ammo/xeno/acid/sniper/charged + accurate_range = 22 + max_range = 22 damage = 10 damage_falloff = -0.7 - penetration = ARMOR_PENETRATION_TIER_8 + penetration = ARMOR_PENETRATION_TIER_6 shell_speed = AMMO_SPEED_TIER_6 /datum/ammo/xeno/acid/buster @@ -196,7 +198,7 @@ damage = 14 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO|AMMO_ANTISTRUCT damage_falloff = 0.1 - penetration = ARMOR_PENETRATION_TIER_4 + penetration = 0 shell_speed = AMMO_SPEED_TIER_1 /datum/ammo/xeno/acid/buster/charged @@ -204,7 +206,6 @@ max_range = 18 damage = 45 damage_falloff = 0.3 - penetration = 0 shell_speed = AMMO_SPEED_TIER_2 /datum/ammo/xeno/acid/pain_packer @@ -215,13 +216,12 @@ damage = 5 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO damage_falloff = 0.1 - penetration = ARMOR_PENETRATION_TIER_4 shell_speed = AMMO_SPEED_TIER_2 debilitate = list(3,1,0,1,20,4,4,15) /datum/ammo/xeno/acid/pain_packer/charged - accurate_range = 24 - max_range = 24 + accurate_range = 20 + max_range = 20 damage_falloff = 0 shell_speed = AMMO_SPEED_TIER_4 debilitate = list(3,3,1,1,20,4,4,15) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm index 16aa0b6adfe3..662f47f7f4e8 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm @@ -146,8 +146,8 @@ ability_name = "Pain Packer spit" action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_5 - xeno_cooldown = 6.5 SECONDS - plasma_cost = 35 + xeno_cooldown = 10 SECONDS + plasma_cost = 55 /datum/action/xeno_action/activable/sniper/pain_packer/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner From 393900cf83c5a95dbad8b046749195f29314f1e3 Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 08:30:52 -0600 Subject: [PATCH 5/8] more balence --- .../carbon/xenomorph/strains/castes/spitter/sniper.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm index 662f47f7f4e8..2506b871aa98 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm @@ -38,7 +38,7 @@ macro_path = /datum/action/xeno_action/verb/verb_charge_spit ability_primacy = XENO_PRIMARY_ACTION_1 action_type = XENO_ACTION_ACTIVATE - plasma_cost = 90 + plasma_cost = 120 xeno_cooldown = 35 SECONDS // Config @@ -111,7 +111,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 xeno_cooldown = 3.5 SECONDS - plasma_cost = 30 + plasma_cost = 50 /datum/action/xeno_action/activable/sniper/long_spit/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner @@ -147,7 +147,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_5 xeno_cooldown = 10 SECONDS - plasma_cost = 55 + plasma_cost = 80 /datum/action/xeno_action/activable/sniper/pain_packer/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner From 00aa7abc5e69933e9443a9a3237ea9bcd4595c18 Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 08:39:43 -0600 Subject: [PATCH 6/8] longer cd --- .../living/carbon/xenomorph/strains/castes/spitter/sniper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm index 2506b871aa98..72ddf582a85b 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm @@ -110,7 +110,7 @@ ability_name = "Long spit" action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 3.5 SECONDS + xeno_cooldown = 6 SECONDS plasma_cost = 50 /datum/action/xeno_action/activable/sniper/long_spit/use_ability(atom/target) From 8266f6dc7e515565cba32e1efb211d5439d71e8b Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 09:59:43 -0600 Subject: [PATCH 7/8] adds delay, nerfs stun, slower and more unhealthy --- code/datums/ammo/xeno.dm | 8 ++-- .../strains/castes/spitter/sniper.dm | 46 ++++++++++++++----- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 35b7441edac6..c4f31536382e 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -216,15 +216,15 @@ damage = 5 flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_XENO damage_falloff = 0.1 - shell_speed = AMMO_SPEED_TIER_2 - debilitate = list(3,1,0,1,20,4,4,15) + shell_speed = AMMO_SPEED_TIER_1 + debilitate = list(1,1,0,1,20,4,4,15) /datum/ammo/xeno/acid/pain_packer/charged accurate_range = 20 max_range = 20 damage_falloff = 0 - shell_speed = AMMO_SPEED_TIER_4 - debilitate = list(3,3,1,1,20,4,4,15) + shell_speed = AMMO_SPEED_TIER_2 + debilitate = list(2,3,1,1,20,4,4,15) /datum/ammo/xeno/acid/praetorian name = "acid splash" diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm index 72ddf582a85b..477724081203 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/spitter/sniper.dm @@ -25,8 +25,9 @@ /datum/xeno_strain/sniper/apply_strain(mob/living/carbon/xenomorph/spitter/spitter) . = ..() spitter.plasmapool_modifier = 1.4 // +40% plasma pool - spitter.health_modifier -= XENO_HEALTH_MOD_VERY_LARGE + spitter.health_modifier -= XENO_HEALTH_MOD_VERY_LARGE*2 spitter.armor_modifier -= XENO_ARMOR_MOD_VERY_SMALL + spitter.speed_modifier += XENO_SPEED_SLOWMOD_TIER_1 spitter.attack_speed_modifier += 2 spitter.recalculate_everything() @@ -111,10 +112,20 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 xeno_cooldown = 6 SECONDS - plasma_cost = 50 + plasma_cost = 30 + var/delay = 1 SECONDS /datum/action/xeno_action/activable/sniper/long_spit/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner + if(!do_after(xeno, delay, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) + return + + if(!xeno.check_state()) + return + + if(!action_cooldown_check()) + to_chat(src, SPAN_WARNING("We must wait for your spit glands to refill.")) + return var/datum/xeno_strain/sniper/strain = xeno.strain if(strain.power_spit_active) spit(target, /datum/ammo/xeno/acid/sniper/charged) @@ -129,10 +140,20 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_4 xeno_cooldown = 5.5 SECONDS - plasma_cost = 45 + plasma_cost = 15 + var/delay = 2 SECONDS /datum/action/xeno_action/activable/sniper/buster_spit/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner + if(!xeno.check_state()) + return + + if(!action_cooldown_check()) + to_chat(src, SPAN_WARNING("We must wait for your spit glands to refill.")) + return + + if(!do_after(xeno, delay, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) + return var/datum/xeno_strain/sniper/strain = xeno.strain if(strain.power_spit_active) spit(target, /datum/ammo/xeno/acid/buster/charged) @@ -147,10 +168,20 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_5 xeno_cooldown = 10 SECONDS - plasma_cost = 80 + plasma_cost = 40 + var/delay = 3 SECONDS /datum/action/xeno_action/activable/sniper/pain_packer/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner + if(!xeno.check_state()) + return + + if(!action_cooldown_check()) + to_chat(src, SPAN_WARNING("We must wait for your spit glands to refill.")) + return + + if(!do_after(xeno, delay, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) + return var/datum/xeno_strain/sniper/strain = xeno.strain if(strain.power_spit_active) spit(target, /datum/ammo/xeno/acid/pain_packer/charged) @@ -160,13 +191,6 @@ /datum/action/xeno_action/activable/sniper/proc/spit(atom/target, ammo_type) var/mob/living/carbon/xenomorph/xeno = owner - if(!xeno.check_state()) - return - - if(!action_cooldown_check()) - to_chat(src, SPAN_WARNING("We must wait for your spit glands to refill.")) - return - var/turf/current_turf = get_turf(xeno) if(!current_turf) From 9941e550f9ef38067a408a63dc7c8eb636860e74 Mon Sep 17 00:00:00 2001 From: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> Date: Thu, 2 May 2024 10:20:28 -0600 Subject: [PATCH 8/8] Adds distinct projectile icons --- code/datums/ammo/xeno.dm | 3 +++ icons/obj/items/weapons/projectiles.dmi | Bin 77924 -> 78438 bytes 2 files changed, 3 insertions(+) diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index c4f31536382e..b2b2045b8c0d 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -173,6 +173,7 @@ /datum/ammo/xeno/acid/sniper name = "long acid spit" + icon_state = "xeno_long" accuracy = HIT_ACCURACY_TIER_MAX accurate_range = 16 max_range = 20 @@ -192,6 +193,7 @@ /datum/ammo/xeno/acid/buster name = "buster spit" + icon_state = "xeno_long" accuracy = HIT_ACCURACY_TIER_MAX accurate_range = 6 max_range = 12 @@ -210,6 +212,7 @@ /datum/ammo/xeno/acid/pain_packer name = "pain packer spit" + icon_state = "xeno_long" accuracy = HIT_ACCURACY_TIER_MAX accurate_range = 16 max_range = 16 diff --git a/icons/obj/items/weapons/projectiles.dmi b/icons/obj/items/weapons/projectiles.dmi index c3aa143def9ba760f7ea2c2d8b163b93e18df25c..b1b807aba63cd97e7555a58288ea0f483a29956d 100644 GIT binary patch delta 13991 zcmW++Wk6J26BbbvDV3B`>Fx$WrMtV4X6c57OQ*Ed(p}Qs(y=Vv-AhQb!jd2FH$QHl zd+#|jXXeZ^&-VI@-R&2#R4Cu8shM7oXJID{E{x=z{$9CW2H&2I3kiK;d3;I9<3v@; zi*HtI@#5qP$nZ>|v~aClQz@xyoKEvHEG)9Pm^ZK0e%`f4ME>4{^fi@UQ$IR;3e3Oi zXQ2H1Ke1S^{w{w#b*(~|bzlj4n`AUVg`#Nur+?lYG&Wm{;Aoe%KC)3SIsRxZZ{s!H zs`KT?fe-nYgQU{Ks}i+?oBi~QjFZ_R>4(o5%3~7dn!p!~8X1?e&Q16P@>c)PSLBr#nq1g!_{@zbLcc-1pymv zbA7Zr0k(UxeJh;+f4^7_T^zNjOFF|*BvJEuA1U4T*}SO|UMy9tSsV5%{lLIwb}yAX zM+-tANrqhreQbU9Pqc(wCj}jt|9r1IH`MIFG>cFckp&=Uxgnrw(*P<}R)~dhk(3*lAARv(mZPqghHTbkLH)ydGXEooI{ODbR7zL4RFdMBS7pX~Co%^2Xn)}(JTShF{ZP5NPR&BdoOt6Vm_pOhrN8XGO=pmt zusS3yOag)v5A~vt&%tgBEszon&^%eh%QC%zNiKCx%}mqN>ltfn6&4Gx;GF4zZo=EL=H|L(K-Olbukq&q z1~x6s*0xQ4E^I7hn)9VT?5Pz5=;vwTQs9AV8Gd}+MmUy3+l_#ZVXo`ym%7Ncc73op zrN9gw#M;#5r*0d0(AREvdm>j!+ z`}vI7J;cnlb|5}cdo)9bTA%x?M3gHjMT+AN{NXuvYVmLs8U+MNuL%#+cJHc{PXDgL zMCjfm*Vmsj$N^LUD(?&3-l%=jaJ8f?*5v5q?B+(v%U91aYVjj!8vJebj-7IvR={rTzpL+74wkuDxPODlL_@N;L|@)zt~YhUfF#4ih-Ep50B6Y<_y(`A^^jSn*ZeN(g2 zak|jB@Mq_F>-XA<+T*0RvKtr1`BUjK7X0rmw|PyQO*?>LxKXgLcgG(Wo`D7Xd}J;p zrf=FJL~^<_4ZTc}b@i$gb3S)ZQv{>m=HxC4xi$u=s-F#PwM8R7mYsJJn439@<$@&_} zHWO(ya9p z0JKYJY+1VX1cG}G&8xmY4)#(>roZX?jsiMI?son({;J6OQHtt%NKGnZ#60{^KsznU zgsFeqD;oWm`P$-9_tIqdiC{*-oGz9mJp-7Un&7>B?rX54rscZvs6%O#2uzf>YYL%g{$em-h?);6Nklejm6*x6)!%Bx z%sNHcGhXS!f^09_Ga`blc$(>82qza87b)2fzt1nA1w=R>g-3EkLk}P!zquor76q4@ zUBD4V*_Sv(qA$J(v(zq(wx6n-)cU_57yqm|9Sr1cNm(?p5^VY9Iz&y4W)BP`0=pa* zosO>*#K6{v#-eFlTYf5Zr27@Ilfm_?v?W z&hKX8+$49FkkJLj6si*Q4nJYvkgy(cpneXMTGSfy$)7U~?kN3UMJT86lHzQTw6?ih zg5ZVbfDk!e=*6-dN8}^UFG>|})~))(ndg>v1kt0|tHJ)9Z`b>x%JmY5=mEF8XU{%8 zlNS4?24&xINLsXIGW!Y_iOf6-y!$bswUX=?g+OUFdC)M?=f<8XCg}3wNv)o#E77u7 zv!>>8)-bRC_o<$|$0ReV_S2k6CWC79&TH+RHN&6u($X|(G70X@G8sFn^sXawez|mY zGLy}O9m7&VFtqtUL10bZWHn#`0eKDEbQM@wnj9g~BhQWa4pkw{mhmadc#3oI{a`Gf zZ`{FuT_(pTD2Hw>0}qjT4oWSr^CwB2`GZu)<_gaWI=@}Fv?8;A8yOyKqF($+ z7?*Rn@!5P?w$kYxEG#1)=wXj@qF*lj*4k!=Ohs9*aK0}B?ysx!zy~1QBBPTu3@S-x zVmzs9FuMqRYYVhN2@$#9s#$^0|C;*9i)y)AD<{U5NU;s}Tuw=+@H(7y<7NpS=8tw~ zTKx5R1Y{|`RRym}(a5?kAfHe9!ub)4k%+PA%1+Ho0a7jjvTJ!~-(~ znO0K&o{-ww1hgrp0zly6<+(3>82Yt52n)=E?$dYC`P$i;%TCP3PJua{e8YL8_{PXG zg0(6A4kDW4S^Z!#Y=|8pzKObYy=_hW)xOt{%=7uM&37gq!vWr^wTmXLsj#x0?`+97 zWIdZ^p&A?pHW^VZ1UJja76@cD-i&oOL0Y9(Lw+%SZ~&xA6rh;zm1PUY$gYiCqIMu4 zq*i92d?y^2PSZnTEH`(u2);sdM?`^zg3LRYBFMUb`ag+(-7 zuFjVpp6N60$;y|zFuPXFgTA}9%nNh(4X8*fFyZ^?6TJvo`NsA3)A)*Lt4I}?&ZeNd?{d)f8({gB(Mekl(^lyd37g*q{!zKQmsHt zat(G3nO&}Q5ma-o;|urv@!8DxQkqIxtkcwv*b9Vy7MtfNaS z*Shm+QjiC-Qopr%j4hU7?Xh6QfvWCIpsIFYOf9d3YpwH=gPaYM6be~;A1)SP@snbK zEO2=raE$x{wQVcaj%__r>NHTEQWtJw-O$@Y>}_^x!#Xsf=8!5F$5#?tU1i0s=2-%~ zvZGtq&neKz)Eym}5y`fZ0+ndSFF?+w{af;)T!Ft*PDX`~ozKlkatSK9qN@Gd9 z*vpqS@n%GP^X^vSCdTT$3X9|_eCuY&N?1BhO_5hMSSVwZnq@y&2#q!+7fe^zvzubenm5mb_SOXwvI{y15R>yXytnCIrsI^sR!106JH_a4rZxsP4 zj(Dq07J_iuctuqfuMt+ndpgpcmglCzG0l_SvE1rYwBaUs zSzjqWzmLZ(42N;aMv3Y|koCF#Rta7Ey&7Cv=cQIev17QzWIM-l8a~$Qm7RY8S2R!g z(XOmui}^|t>*}y3!1QO<;-A?$VBir}=&3l-d*rfd5bR48x2?M~K=BUIv2#hu&doK? zy6A-M7GfbYcaa(^K$3~8Ofo(=-K<-*RTnt=)cz8&^mz;*k z#XamK+}W-12rsPmd;g+lz~sitWham5Cn^ax|Bw|ZtC+bSC=Y8ZY>y%V@L#D@HeB3@ zC=~H+BhK!Iq&qT)IMjp{^|7m$K5x-&6FH3zkj=FaT{+6Q8s*6fbxvjzplKl2kMRfoE_&6j zxAz5Qb-owZJVV7EXiFVn;jKtTf0*8)`6PXp*;CDSD?9gXj$R@U>}m~(Ik@RJze_Dt zB2H_{vE)daVt)1tUnVfmxs>-a+_#@1uJl`Gr?TcMXvdoQ26Z-x(gKa=A1dI8LDor8~S*|8Rd+3dF6oI5Y;G(|bOI9D>-ipm2Ui3NgP;@LxSH96=z z4xP>>oB4fdo|=EytkVw4^|br^uMJrcYe8dZ)E#8;=4E}84k|=0cJJ6!SNBzWhyr^C z)uF>1{!~+)26n()v&kK;8Gg002R(CF^ShaWCF>kPRgzzg(9%LfFscd45 z76VP$5BYXpnS`NC+)z?v09>PHqh$L(AppDn9#3OGIWsj6sj&z7%eq=r~G$Th_%2) z-SyNcd0jNNflbO_O_ZLnBvazH0v>giiMGy(%8LtKb__{QrxrI zZr#QnjunDlgLTett|CqTbL5OtUvk3Lb?Da^1Au@jY5gRWSLc;?By~X5u6(sWjZRKB z--S|{Y?l{ilJJ#x95X6>g5549@*KDLsD?F%?TWJNpRJI?-HTc>vb&tI0sEzGl^FUS zKXB6NG#9X?G;am*@Ka|Ug+NP0i$aio1I%Eg5X4T&@^XA)vfq~cBP*Xv*c#Wn_$Bcv zV1KI3-60mB+m_`#XSlRTp3=nIn5sJnUT;o^2y>4Z$LJ0sg$k9`B2gM08tST{Ta;`9 z-Ml|3L~QK3@uPD7u0Zc~{3RBmS2Q?2rOH84%uihyx@hHaKaA>=>MIBRwz5v_B^!a2 z45&D7-cZ0B8R#vA_&H&n5So~RTDfLm z--Gn;%^4~yw9>xt78O3dz$orQL=aNZZ&BEnZ}nc*VyKxk-O`43ZKCUuLk@2tBx&rO z3^mf2rUwW%A9Qh@DjRzv8uuyD5IDOxiKj>G?Nwci*^BVDM(9~5$kv;MVD|wOoKsU^ z&g7lqrEks#l`9-daeSpzC4Ht5H4n@c6oMe0Wt#c==MvR}y_Z~%nPX0qhq;uM$w{FM zs$33ycsdfaNGVyyPP+ultjvu+5DFtRXZ1tZk8>?xg>u$o#)9Qpn*i$xKbP7?J`h^H zR_NrWUJ|E)&5?&;xy^$FauJy8=%3LvY~Q%&dO5#glU<o}OhpNct&~u8?yii6q(1MMzvV%8Vgetx8=FjyPKeMboO%htz0e zH#RySow7B;orI_th{#FT%M5T>W91#W$}VQ=#r%f{YffL1rZ{VJ>jP&uoLw3dM~IEN zH$=6yZ3SHe)L6a-4!f8*vhSJY<^S%3X!qS}MR~-nK{8}(d+dDBJAnX2^8C-qswZP& zeUEilXYcw(M@=D;&e{qRKMsJKdy_QdQ|~SUF%JbWYnEZ!hf&j+ryuB*aX)zY=`;IvAHAf2iQK@5GA85wsKR2zJ*5%)Dw64DgwI91+W5I2Ca zGBPS$q*hRa=UXttZke1=vjfY{8xw1_2rVranj=5;}|Ms93|9Z#O6|~b{PA<*B zY+{h}*yVW-rs<-;P8Lyp!hkX{2gnzQ1#{Osd3l;b!NCp%&a%)V}W2`DJrO zb}+|Fd|%pTc=RvvcOi4P^_6ZJ50OoIl#VU!jgCq=u<%!+?!XGqC)2{>raHcWVA(*{ z|K91okL5)KTRQ9M#X_u?C5vu*LbFCbr>>C>FOehN-BmAN<89kt=hpENil=o^(iP>JA~TLW!Y}N9_H|7t&uw4Da9rIsAp+jYGERYskkI z=azND^(ycdpm;N2rhW^T3`>USQW$Ti9MyE3Sb)9NOYj%{b)!a6#KLswdPxq?h!=GpgF-`@K#<2lR6V z$d=%-3=sU7LJXfG|JWM93@)w>O}lA9I#=rIbx5r-FFC-1K77d99vu9DINj?FK!)|r z{3t9Tz*LP2rCi=|bEZn%O)kNEJaEaOQa!Mw==!Dcm7MggpdR)+OIw1B`=te8?os*} z0LQ*6_$cGc<&|sg)SP^_zI$C#_zs)v9h>ce6>MFM zVJI$lbnKEMOFs&!gV7Ql2Xm5{YPu~6Yuj$0|@u6S(Gj#ck-M zvijwg6c$M|Lyt@OmQI8+IwQ8XS7XAg7tIHj}V|H{nTO9skK+A;K5 z8$0Ve9uVY}^$$lna@BnYbR@@|+(yP5Xx&P|wDn@LorKc>0c%X{+^5#W2qDBNw@`;zPR*9js9K z>zh|dSzKSoo7cRux`!*wi z)#5lUoI`HIdYP_@xw~lwpQhAu+F_w3FF$7U=KkM|+-BtsKDLrTBX^3Q@%u5;Y03$H z-|49yGs)2Fg}+P#ORaBVWNmN8xihesh1*Hpib@IJSXUQQ8s`p1l$u=}Oyy`l_|$Th z#mQa-WZDUPx`Z{FU08E)LGk{`=#SZa}uNqyNV{4N{??Aykyn%$I%iqKdmwakCnvaqkcM$Z*?6ijoORHjlQ+UtU567 zI`bG3YTyZPd==Q{d53vYKV)5Dc@F$_)3Ysa`xYNG#TA@S0vvRCq(5pMbHOAh5=dR8jt6D?^fqmM_Y&QR~ed%F^PV&6lmHq4@T|%9tZ-tZWkr>Tjf;( zoU{Hyp4Wr5-EzM}EFv9CU&iM{Qn@7WP~@H&qOK~16>-aFFjyX3hbIW}33U4prhB9*$D6@(?P3h6;G=DN`lr_jPg0U*OZAJOL(MmQtaUgwhV@lXJF zDgkWjks>m@<4I%XU|DiBWyLK*vbmaRuv&lJtR@q+bN-wDyJ?D;OUC6T)qq0gwi1gZ zMZ795bdS(N^e5tSQd8Uzx--`%q?m0_a^mhiUp|Ow6oK8CmX`J$Jbt(XL%j!gv?q!* z?(`Y)0PeoT-gzm7Radq@{v36c4SKKz*OrO?1=*Oz%*kGT6?rNXgk?0eotiq=%YJ#z z#kIcN5Tz^M-crpeuO34)6IegVDgXIp;9a4e!};{v#uO#G!=lLpoc;l%jHF;z-9ixV z*Qx36??ApHnw~<-?_WD0PG3L1RvP~>=aOk4*E9h=DiMDXKQ?R zAR%Sku?tc|eEGqu}RM8|Gly-^u=9n=-M_Vabh*cMB$7*j*g@v$8ZjrHV##Y|B5 zf!rT@(#hQ&>I)r|njNm|PKeTf`GJIJ8XLtGTKHCMSK zgON=a`Z`DUUB`nhrktDuUt)!X*i4{O{o|GwyZmQYS0^7XU|6-e?Z$=q zs$EAwP|Tf6h9lWf;JpX?_#{&s3!!}i)!hPVDvgNdrvyGvmG+Xwe<3uaZox?zt=HS* zZ%_12JYAK=|7c9j<`9&B99Gj+^P(4R(1F1eLJjE383@LH|Na>;Ga0M>uBv?FX;kXf zc#L<}4!@vjE7xy{Zif0l16Htn)BPwj*If)hj!pIViLn%g@QTju6uNtb*jqRse3K3U zlRKOKVs&wQ-NRPuK2%ZN;q4Vt0#cASb*6eI(J$rh7M5$Q2R5TVq%JCvd@p_G@T~`9 zCQq&e6Gxh7dFciz$2B@QU3ZP4T@m$e*vgtA4lgdi&3CPmWB)gC902;hIy<&%sb^YL z$p0ByAFk4};(;GbxT6a8z8Gt{aBL3xO~}J@ljCd`&e+>WSw0$Av}#S<(!GZwaIKty>E zhr|j95-I&9+Uoh4B4c~l-tfFAV>O_kFvn$-uHpc$`c#cC(aS_7nP@Loi6wlWX4YnH z1!4JRId5{%K5AB8trCkNbiE$9t0C5@(S3-|+>D9d^V?9lZHYc}YGQ~n^r^5}mb^=G z9}=w)&_iic2H4)H=QK-uP?5mmq_EPaE94E6Ky-0okflLi()iP(MQGpv&Y9p#E9cxc z#yx23zw^zl&};FW=mZ6xga(c3IhrZqFL}ahiuzDLZLQz$p0-TE1C(v4az}Y~Hsi^h zsgWWS#??XwMNOnH4Fw8>Ys7D`=;o*BUHhcs#9dbb+Mv4MC>OWExpdc*?_BjGhi3zw z=Cmsbsk8ci!+8xbFfbw`Q+;m#*&^ODG5MNlH=vEMS!(`$;fFEoS6?5Vyu(52Ea1^z z>5mecuxc8hHnKe`_iuT04kq6nDR#J=u48+48VT9(>B%DJV>_kQ{SsZC3y0VUJ=?+& zQff2+#0dT`^+pRHII)DEiwD*s4+x(n^?aKMaQsVj@=*{L z%DHeMNYSdlY>KC`=6G#l?6G!QWGL3i)nf%jU*Vof9J zhaouG!Vo-{?@eIh2g0Rljh;JzEaCVH_;@D1-$@;HJEo^%a4KKi;<}{$i>@|mD|SQ zAQ(xeaCT+pZqcMiB7!kWtG%DyzD>t}ww%LQ@Sa>rVB*9un> z70;#E$QK|tlY|?(gVZ6c2bSH#yEfH4_!7U#w~E;ey?5L5aZ%=WbS8TA@Yg#W>LMbPqYyrN$F9P11av#3+PPC zmc_9KOZv-&I1V+8yHh8qs@6m3`MJ2%8p;2{Q!5+CI`Qp4mOc>!Ogct6zq-nyuJ+j2 z1U0_4g7j@bMv96 zByN-g7w~*7}I9Z#|>&%p~7b0;%jW~|mvpIrKH^4!#{nv&tFxIN4V4(Xdb{eR= zRIKxOgPYf+<4j|OcU8x#n}_+0#tc~hz+d)D;$oT|(EVhOKI;4j)Q#=$>BPJKJDV}L z(s|O9)^sK{RtnX`@_d+P17}2jA@q>Uvpu)(5WlsJyjnh>LM*-{QS35cemwq(%46a% zW_O0{Aa^A3qeKg*%0rSm@80EN+l6|lPpqfc<(DMPaHSV27*XEH#zAe1bIu@5$A4_> z0G2eiOsVcJMp;GDw)dG*Dm;dBWF9bB{j9+-IMu!l`yy)2wiI1=6r8vK!fp74WZ?OL zm-e$IjqS-ZJh_G}>L_L1*inyk(B~LE-x03hT$>kd!fiYx@&+GqBO<{yCe%FA@7-b| zlbe>?zE63yXl=*VzSN}Z{`{=da2^*OP&c$P`i}tRco~}yK??O>vjJ1>QA;|{Hxb8Z zELRH)s!ZoiCB^hpcq&y3}xu;TIHyN;Rl&$gPD|GYdap!AF0-pw3|ChC!)5^z2u&{jEi zD4$?I_?tW|Y zj=ft#^$VOl1O5Fx&cGD`fd&6l-x}teS`iL&`tBLrhTi}F^26PFuz1H;R$%(>E9#Bm z^dLlO8ezbLMoia}hE|w#)2O9OKfJlXcp{xmIGSJy|68;Lw-p3y(qq#}CgIWYxv;Et zWHe}{E6T}V^aK=U3j0D-71A7Z3bAV-^wldXLC1LBC&ob>6?bP2W$l}23znPA3Iam6;F<^3Xvb%oH0IJz}Gt=_ZZ0+HmCZ-d&;_kVgCgIS< z+bezDn;bx4;PLxZafn@g@g=dUANMp^gm?Kt8Wp_;c8E>@abB;UxWS z3uH-WsD@FU;$`k3=Ho*1yQ1Y$qdIKUZQNpefrn?2oaa0PhE5I$C`GZcBapFp#oG6W z{PlQ6T}^F$Fz=4@JT>}XSt=H4bW(+7APUxIM%mtor~QQV!^euukzi5OFI^f2ORN2_ z&OQI`a;zb!(D7(xWHGW>4os%xwc6<$bBq5io7ZPoHL+Dk@uWK&{^wS#YhV)ZL>m)* zJvK9*{l!Jtgkh#fbtGDdyjin#O}Ce45U=4yd_ABUOJ+|d-Lv1uoO)Ke0eygb>%qGT@7`( z@DO)ObFL8~E`E8mMTV1Vb`P{b{xEhv(**lJ4Io3&cV;Fg7U3kT-cksUJYPM91Ov<} zCi!>6q@Z?%akS`tjiOkZR;5CBUya>H`deGJzX@y#8Ej4uu?<0{Of{> zI31Sf=8#xu{Lsz^oZu!|j^2iPYr{P?9#iHtR>m7dS-2yWisqNr6<~CF8ZS;N=*K{G z2Dkn|G#Tala5ir4V4spx4=iPOca)Rg-rMK|x%RK7S5&M>sd2UD)Yh*$4LOW2NTo_N zh$o-)Y`Q>kmz%rm-O{{p_$ft>t>{n=e-}=maht0TM>IzjqK7zEbQGS+ zwvNOqt4(>u!Nx+hv_SX?j4a=kRqa~#Y4*cuGuOLbeSGohefZn(UvleDx$q#aqEMGS z?@C>Xd3L(5U^Yui^pjDR99u~}Th(^&t9{oru;$70{OT+^6c{P@ynk8&lNk4D$0DCo zx)Jj7Hl9jaNL(wiKud-x?rP8(@V?H`1zB7l%0+ii*WFn16h$W|vvJ6Ou6IAx18`e! z+)rgXvyxkuFIi_VJcIHY(^@SouE)Zq5l_^{jZvQCK9q?TPu&&)}c(Tdx!^%zr0guylZCo_!3)j>2Zxx*nH}WyPq)P6xJ81b?DIG1x z{WhO>=tfYj>0fI3R*?UoCmDO{mb4G_YAkw)p}(=J=~|23kd0)MG3c5nwrVL(kraNt zuF$cAn6$-H{_8gW#)xPnlYG~8f-dI6OFcJQI2An*i54N+#V;_VsH?MIE8SFR!Kcon zR7n3sORYThn12_3zBcg!N9z4Z$aN{z*_X5+4Xzor1FM|l=AV)bhztI4*M0?@i`Fwf zMQ@>8kpyK)-kmUQExk`fwIaO|_YtSiziXX_EnCroBR!!wsM%J;w^t{Xkto+51EPgQ zUay+~V!97;A`E{yaf)B@=mS|q98ifOP|z^Vsb5Pg3r%s&@y~&euhdsS(obGUezWa$ z3KNE5t*!^O^NFw`6HlB>H8bt{GoZhEL3@>h6E;9g+jKGbd6k2|OHx((VdjJuel=;~ zUJ6fPZKPVhzi*@Cf`$iF6c!fFP~xf{Bzb0^!5#+2;{l( zE#F2Lnj7$Q59!x(E`NwQ3$)1Gz@nsV?+fc&z0QQ8r}v&PC^l$l0)D`6-Se)T%`gvI1;#J zP5T3z3|8sIY7l;IVQj1{ILdC+l^u&IDi1T8aY3?A;bBu!lPYnDD!jr{p!HIQpK;P& zOPNNWaB*+M3?Qw9WZGI|R(2L*qEOy}FvC`7?JA^b!XN(y=$8M@qc$=vPs(W{!Iz|?!xjsJQ`?EK0VMM+rih7 z;UneQI9lqL6*3SI{Y)MwWc{t7EY%?>R8Zi$7(^Q@_x?%ObxXl3@Ev{_3}j=SE6@10 z+cF7X!p3$nu1NW_r@ysZ2DtzAYhq%=0cI#*Y^QVzsjGN0ZFY zbeUm#&DA}%Tpu6)iU4VXhG6dhj_hX|N9FpCw4v9iIHn5sY$9mC>`%1JFWi4M3L<*$ z=ASML*~G~6AJpSdRAK~M*FGMsCUv{piGgYn$q|2S3k!pT`*y29SSdZC1ABC#H#hUE z3uDeIR-19Jf9!LmRu~uva5DPZH99trLDOQ$w_q7Z*YSW={FAcJ`5PASIf_DOB=NLe zE-xLB+jS|UaNdru4d{h-@v|7#!lVQnndJYkGDv4%x?Ef}3r&DCZ@Duhc}wf@fZKsi z!<(Y3&9ybA@WkS@W+GtSUv7+hPOU=dAzJlg%TDGw@v|af7YwzOkJ*L07I*%yIP{!h z^XrVjSVcP$`?&KevsN=h< z1H8BQ&753cke}zPsV7(?-y`f$s`XwxCDogoCPUh>h4lGGv2H6y$J1{`xW6qmM13h# zU`W&m?H}Num>7*DQ+S^9HtPwd=M=9(-n)1MLTyZMvwwI51wMP3@j;$;c5zU4C4OG1 zNJ3f#CI_)cqT-=|v0Q?_gJq_sf4r3U+3l6KBPH8Vq;x*O**x2!v?kHuQae>tGhTIBlZX-PSe0X?Ib7$-SNC%-Xe8#VyEAk;jFsMovXyW+b zqD_&PV@~-FQIaR==|Iyh{j8O&bt!OcD@P>B2=9|qNS3_9+1@4I*b_HIEncSY`l;}M zd>&)r^s_1L6y!3VQ{}}Gr^Nk#=-ZI>5OvUvyOM8aT7sM9`9WsDZ}aZr1Y{{BqU~{2 zKE_vFWhQ8b|GfSx^C`{k1_3MR)EECh@!)iQ3jRz?)=+KK*-55l>|nyy6_-)*AuP;K zAPz5{N`m1fsrb^w!zL4DiA>*!tR}r)xmvuaVX0DWy5ckNw`*kM-y-ahlIs(1Sd*Yq~ zSECZb`jo)}7?Bq5EU;3hqFb}sQ44Xqwq~h#n3I#b z2RJ_?44pk)!A=o^Ppgd?N{ls)XxoH^N$uD~n%}G3hLQ5~8Y3RR*^FJ;4ZTm0!y~zC zfF3iV$wTn}*)m2#ZS5y`E-BUv%fVeO*9f*aB^Pe3`+o?EL=8nn`N&Qv;ZS88LL8bT zsn<|5-yy{5#5hnrqs+>b#QkZ+%>qngh4-^_ul%^ zy}HlpbxwEh+Eumd?Cl`#{6&nVddFWw4M4=(0EqBx_z7}iD#VO}-hJgXV)GLbkFT>w zJpTu3_e`cV_pI_wl2OyvIg)Q@nVG5cY=dji>e*Tdjf88!hDSxla1{Hvhd^@2w)jcR zKe!+HB)$5czy_XRC`^2@hHVEMnsBAgzP&15yTZ4GVGbri@S$Bd@HY5Y| zFX*m!){2=t?X zAo-W0h6?2hy7&ry%&#EXvh*kbT9KvIz~5@_t?OTZ??_4RJS@~_UL3~6z-kGy8NXHnsG^9VQL^mnigtrQ&2i6L;Djg;{Q`riZ&}H z>Kb}UzaBqqVf{f`<2!&!R#rhSJjTtNT%eaN@MEM0w*7akOWnGpH4ltY_bCN=SIz zT)aY;NvjFYi{Eo_hx1=ytzfO9UiFAD7+j#$3}52|td|yL4r?ih!RHCNXKD8@ZE@fw zDVhK^rrC{dMF$vfou?7qUxZ_W+GuBGB25y_mb~~6)6&fV89Ga<7F4A|D6x#c6zo<; zG9)7(=GB8w02!e8U@0XOh^s?_CF}OxMSB?8^w}S4MP{{lPDYYVJ1xBN8tIPuf}|My zNDuGFd*mYQEZqotZ=8^aI}AH+^g_9W?jOMm`>v-uQwePgyPud9{7Fwir)@NBqe%=< z{BmYw8{{JB!u6hARfUI5|8vov!q-YJ_cCqZv{NB{*&&O$j0+#YJ+)q)zii6jY*GD6 zzw~fn z(SH#ia`0XXYf_GHdzNfL%Ia1f>A!@LbA@pjcGaSeJsuxn`IdiOy@6>gyag-^bB?~^ zXy;H)t&p%X%$yX0Hq+rw1ohobtM~)@?qY zs}hx4AQ=|gytFTQ|I{{iO5gt494Qh3@A?jf>pJyz^89#Ds{|)UE_86Uk^_qW=S9dJ zgV+6Z2lVJuc8pBl9l6T9j`a~-xcC97LbG1+vB4p16zaU~_@bkRI=0YQ-fW!ncda>L zg7E`Bg!5V%kS_`%T?k9lpK!2}Lr4G>MeQ0o~S&7=Zyoiy+ zZd?fx2T$<7qCy;eRT$6dagr@9X@Zdg_*=x~a|JTQ4N738`HGW0hXAR-+qT7$F9I1w zosSsEO>2KuEjT}_>tPvveexS~NyR<{AP3z(l>m~)G+-c-@=1Fre)8BJ?`k$@gAf&GXxPdxhUO zoq1X7w9H7a4n~fDmuw}9x-EX;ck>eT*dqrO)wzJ=bnVjZSU_8P*}o30;;1%nyoT?O z7Z2~U$9P0`y_1Mn^)oAEAbL5TPMY3*`vq(SJNBb{MVbJ~7ly$cx&n*E$_(9lqKp(e z%mS7Ad%+WW5pLn`$AN)n>9|7_F6V?J{_AJ){+QVK4#tGN;c(Uss2MEdC+m(wY+A;y z2pBXXofgiX0L*z1ywNxyCn4U?md(+m^A{Ihc}ilFKRDW33rED14~AUYfSZ2Cy7JPE zkF$5A8p9XNH3Ew+xVSEPm^BWc)y0`4L+tJC%GXP+sGIb9=2iifSFpas6htdMQi0Ue zd+Q`LDVR@IOs*(vm#p50QQ(t-C1N>y3kdR9JNUO&c|f+{vknJ@oqV4Wk{+*jCaj(Z z(cD}ac~B>H!=o^;p@vYF+aMNHI7z&L!;B? z0iuHFAtq}fis!TLjzhZVW?A1R9BNyHSf$0UF73g%@eAmZ)*ZtKjn?!V?`K^*5R=pV z2>XvuW5c_`YFtW{YJo) zAFt&;@wQ#RLEu@n0u7=a_)S|rA!Bs5vun2qQ(gbsip|VeaPx9fneev6EEGy{b-7&@ z>CeTTw}6y97d2DnMlC&ajf7PL(#pK@kmZ`f6OaF*VK{qUM435>K`2QUIqqOkna$Kp zp{mYV#_V57oc<6h9dEXaMvzA-p~llbx6bkBV~J@1Vx>*yhHQN77Alh|PPmkL@;L7N z^e0{7J1-^Gg_K>By;o8?seCtszN{*BwCozC;#1o;By0`VA?M??W{Q8apv-(YxG!+h z65mvljKy3NM{EHmqWc|@>lM#FH5Sb0QeDeO{(9W*j5VbsVOFYOcrv#_9MtiwZKQJ&(gpN7M5$w6no# zL8|mO&}~_L_68T{sd9$9yI}(&hTS?0OU6$HVt4IUdqIVB}+k_j^5K=$- znU|z#d8MSTd|K5U)FCSTSGxs$R++c!JeCzK_!`N|A^xmgZ)R5CGyF{$Kim>CnD#z? zr9Z3qL)7){zRHWEA^_`rrDqVV0_Vl_{^YN*;u$L2h7YM;uiwO$PsVp$=Ka8C-9v)C zMpEq&j|vyABbkFskIeb~K{3@))HM4J?pi9z3ObznU~H@$(EH3V>Q%T?(p83lGG2SE z0(PvN<7~R*1nehnlD!g$YS+I}v9*pUftnwZc_e8w<{f^7qk&@Ya6-h~SzcB5_fu+n zN7du>2p45YEW26S#3x(KU-yHwn7aTWmagpdTK16-WSelKF`|Tk+vAnh3yL!y`B_P*eYgZgw~ATZNrRu= zKd(MeWk0w6Ji|~%qvb~F&>;i)>b_&)rI*QzHMs74w>Fc;rv2lj_Ncl|{-v%ZYQ*mR zGe7>=E^N$*ntG2ye_l)_T2=^DiB*iPpA_@p5}Hy8%oO2cx&!{cCM*&YCfGSQft?Ht zfRVfcP7Y8EZanGtT$t(>L#*gsP`MJmWkrE5g5Z4w(zef4@h6I%9ULK+tfTOHQsl(D z99{t_7U}1e1ux0WUw55$p8YC`vv!Peq+MOvm4;@{wExEI4~c)zvALWBHot%R5$&F~Kp zIHX9Eidi~!*KJ0TGu-s*$;jz9i_4vZtmkF_)4!r)!vpH)-2QEt;Jk9yxA|#6CsoAl zyTI_^A3xYN@i0aia4~GHb`&CLz~b-ULd=v&cUhsOn6QF}#V-L4tEDCH%~uo9Ok0J;repI3KwKpC$5qCa@l^30wErfrPP?g7 zqkc!VL8?$@;ku-nn>6J!8}j5#Z~qdff+U4c&vuT2(*?Ym(8|-8?<)c6=EnFUNVRMj z>rg~++~Ce;)3}1EOb-xXEd$tEX6vQbP>Khz_a+SG2Mgm2z zWiAoV!XgtyC^6syO5kILqfsS^^MJtUbLZ}$7aZ?_j$Yd++$!t5#t2yHqzgJA0VyR zY}^BXZIlIYtniW`jTg#|$Zz~lKz`$eB7+4gC@s>=Gn}!A^)vLJ@Au@_3 z&lKwX9$apr&Pnm2@_wl?K?e zb)D|PI5?iZ$8)Oi^h=kaNFI+#obX-Cew|S5=t@RX!2O`@*!-R|<;&F4I2g>`A|GVL zFRkv1%9moI?8bVc+T{HRa$5z`V)Pm+J56$nd|qMAwovTb`eznrn!@5Q_r1#}Yx^0iqC(2UBKbN3ewczoW( znSHW9W8_$7CaL76wIteBr5@Dzb#fBhPhtyvS|ykTzy9hn@x~5?6~PY20G)FA^;tcK z6GOGZv&#bl@8B)hX)miSx1LmGS^>eA6}WmxuP33FhkSloFu zOHaYKQNIJ3ZeKL`LD5BZCF^wK3n=qe)qt-^M~i#6Sic8Q2C+!MRLL0EO;n#9eh^5? z%9>~5klUP#*;{W<$fIew#g6VL%TvQ7`JwLfRvp=Y?n$D5RkcR;nHHE(rI&)o54Y0l z*z`@3?{#!MA(jCr{yxzqs`1FV98W#0iXX*w97fDj9@Kd$K;I+5W}0B$4<7#I6Ok@k z1TiLLOttj9V(AIrD#Symh*4kHhn4NOOnRme{?{OmK ziyOQY*LO6mKe(Wxq*8?F;mbVub`l5Rdm3-mGS5affOHYR-4&JOk#D zIn5ctkylmAv9w6X*3zInB!SU9>dB>Pmrv1-X*YYu4+h8>*)k&uUwN&!m^ew}7 zHQ8(~W&tz>VAiItec7Qs_XN3$viAupt84*TK_4wqYM};FDmkJu3Qk)t)Gko?ElIRM zS25Qz#01nc2@0%_7d-**>>z+>*fY)yVc}?q>;ivgZUNMcAzHOqt8IOMpKysJrbwA& z*o<#-c?5!hu$nr08N6ed-5KNUqtBeksGYHFf&AH*;(r!K3}_9|DbYLiA(;k*Yb7RO)`xiwOHA2(nzky~UEktL980#s zE~hBBm<~yhRZ**EDmuJNrH|8$Q}D&|+wG+%rvDEP!>d&EQ` zEkO+T8mVAHBy-0aPF?AqMBfbq<6_Pz?oc%%Y-I%|D=jAE7${U5A0!+Ekmg1B_LPv&1P`r; zVnp@=AuX4>^cd3jM5)anBa2^YM?q~p0Ha}t{I9_eVH?-I9e%=e(!tlE+-*1O;25gJ z)MSl=PII70mh@%yX#e%VAk4`?`n1V+t225B-x7f#@I%2CyKO9Y-DAU)}kuI4i2+Fc4|N?S)B#F5s^ zzllf(ygcY1uPbxdPLFr@IrzS}>rV*~&V*8aUNoeyAWsW-WR&kIhSZox}x|eNT z?R~!#@oKy}drRU@Z|f*$`@C0Ln`(*@FkymQTb>VOO99>tJ%0~)k&&h95yXv)po2EL z0ybLO-SzbzR3oHhn8+%YFR?P0S;>r5SaJtQJ1@dD(258{=RAw^wUPO7C7{Ri zy_md>?RhS!u_)nGc;YH1W`o5`6`ynopdc64+`n5WoFJK&vboR#q*@f6bh4mzO)xH@ zLXLdj$rj<`#_Bi}M$u7yaZ9Rc+is4`Y{lV7bL1{3meN*MwoSzNW_L zT&g(u*|zZ??9n2hb|QXgwz_i>MM{pDNOGWwes$%)&9ksY+fJ)Tsf_B$s?QAaM;9mS{9vaSL0lK4;n$XJjWDD1zEC6X84uMM_oE->Xu+@E zr%Pmbg3BiEe2Q6@-@jFN%GUJS-1&RLMnBKgc7!a>ZM?@})~kZz0t42I2QVJb*^qd+Obx=$}Jer|Fg zc{V=5p36XeM?a|?h@{I83_*vMy#=EocFGogqNG74W+gRkYE)^*>CXyR5Y>p!a7!fx z-v|4W(sW>v!zIfGdDPN%tEGx+xcFF7=s_IIaYH~T2`M%uw4z=fXj#VGp^ZNG^{M^& zDH5quz%w?Ds!Cn10H|;~3}m*k+QSDyrmZg`^=$QgTCx*_pMvjo4B%XW8(co|3)1>b zEaJjh_^-HDn@If>dc#!6RMK^A`d>X)pE8cb{yjEx6K#6W;RVk=X-s?7#+zKiUiHi3 zG||hr3?Qk2dKIvextmQda3fDXHk%s)e2)Exd`4mJNlVQpk6tn9z z4K^#orub)gNe%AP+ydPhHOb(ba*jdLXseR$pLd?^_o}-m$~cD~Hy^%?GUJiNB#jw6 z2YIN_^&Nkg@@N&Gcan^JJ$2c#v)r4Dr_u#eQ}xc?^>05}G(YO2LP6-c0yw$GF2T=u zscgbIYy1Du6l6JU<5eSChzh~K22)B4>{JpCoQid^qOR7&!|D}w_A@r(snWsS*qweq zT3gjqOOy6LqF+u#Bv^Q}EF|4Zg~A%6?Swz0{QB-6@a;715)pGAb}(#4@G&HK=Z|N! z%2z)p(Z?ilWKVf(Mtczbf_K?Y8@pk38-2S~`IwI`arMN6@q9RDg>+J!8=TldA zQAmm=h64V!D%u+Y*ex;M2WrB-@cV4CDjcO~2JIe8|{$OAsMmC;P_%nn74s7aS;S z^jdY=Ceq1;TAwyK(0YL z2FL20yaKMTP?CY8cc$S4-umuktxDWsFP1GCCJz^)XUxRl@q-sk%$kGTX-5*o?S993 zr(FZsJXsRU0u4qg#9bPpYDlFmu1}9KXT^+n=rdbcVy%#RZbJ90cy3V?HNvb%@$71T z9}SGxa#Dh4@8)DCYJ+h;T(bA>+=o-H+I-6?&yukgAtl|lwyp3P+x)}~r?>Dy(g6`( zck|ZCnRQ4FA;{-*wjpaNvEZEU#G_C=Z=S3K)QO5a0tA~eDjPo69==NyLQi^p(56{u zX@EXms(PWi==Ayr?v+4P4%W!~IYl<2+ zA@yjOubPb|>Sl$sG#o)>P!&3m?O|q)PaXrj1~s}|-+9OgVntqV;4Rl`yjCcQOfL0T zE)n*0gW!rwEyDYMX+~11WSu7$s-s8&6+9ul5}kn0fgyQJwF%~X)4^pz_~BNx8pQ@5 zrGV$M;E;)JEGupUnQRsXd+_=G4MMZa?KK;gUW#WTmF->0^A@a`#L5|=>R_pdEc<0h zNuO34$5%KrDdIZzuuC`Jc&0Rt3hH6idGE>$3d?H_0B17UApN0~^3;v5_7Nshb~KYi zR+tU@3Tz|*Y>o_vN8E1qXca?H_}6rSBx`(qI}3?Rk(%2k$t%5 z>ch{<_c1yrXJ=*;Lnv9JCZ0W~->vMoLGOzaL>of9U(J*WQe->+` zcxu-9o9bcZmw?xg^z3g zHev2`pt|tME>XH)wOgl?My%yyM}NmGPUHC0aJu z-b8Tz+1wlP6f5}xe0G!3IoYH#37jIwE@=CB} z>Rg%0g60MXU%v!*5p^ve7FqBP6z4=|ef(Vf3?wK#-=jKvJLpKMP&L#*218KC z3nm8`|J#>;Z?07t^?Bq_n;{NoD$vhut&07y950bXY<+t4OjFl{mIlN}GYSb;_7c3u z3EAIK@v(oNXsL5-4JoJN+)zw;f%n%*I}#Ym}d>w1jGt;jB> zNCIA7Xv;l&nsym_zR#P-hmBwnmO*2*%PzI8MCRU!ks2ef!_%vAt3S=}Kh~H-QAY z6y6zstc>-HR5Zuh0%OC2FK=BlL_RL9P;q6&BW#O`i@ysW05UbE%q*nOzvF(uq1`)x z3j!;z_*6l=cJo`auTAMPI3ijfV5;FO@(fAl=h`k4W%NVN;kWGi5Kj4h8BQBv;0yVqb{n)aO*)DCsmZZefa7TIEqs z{np0Db=;M0S0hlez^JGwXkoPlMzZB}DK9Gg{-1Z&mY-RMOnFa~Jrg^lh36#Q*}qxM zZ{5k=jg2fsq4$JIT#x-$ukgJ0gmxt&WSy<7{Of>{4Vq24-p=X!Pd%P*RBKCc|IZ+X zpebAqSHD2X1eNPK^jo8{lTYin2Fo5p~<&GNr* z4?{Ygom$KPo7dV{2?0FeTw9O`dKvKd0Gp!n&GxAqBY?G7Bmgv2RZ_ZnbT?#zeOac? zKJ@mMe8V~Y>FY;~-_k$$#s_61OidGfV!0kys}#zjPpewXT5dM4lUq#RJbdTHJ^iFg zR8{L&@Oh=!ag4CaEZg&K=uT9AnPhqK&1~S`KKx=in3T}8s`M=_23=7Up@o=oW9nfN zwF%}yLfn4?FC5Wqt!nlliX)h^1$^^U-9-rBD&2Sw&(8Mi{IU*KirE%YWv=_7LN=kO zWt;{!*{FANGZ)FL+s!Nt>Y=}D zD1W5eXG;TZ$%eqkoUaZmki=gkk-N9{H;kORp!M(OKy*uU=jG&?77-fu1joJ|Dh-qe zHIg((@sI`#?wJLW%l4#2J6wP%8-+%aZ&{C3K6j+Tjyj*!AM87E=a+)j!u{6X7HQbN zhgZI^s%+Ua&-6ik&PVSc1g$-B`Pi-}Kc?+A!U;4hYv+lo7!fEvvYt*sxuznYGI=itUvx8Y|3!c#-z)}Hu4JZP-5hs9jzf?(l$)>O3fEuwfiN*n#6~~ZN=_2$ooe-$`hs& zYeuVW-JnSws!P3n#7RZtx|OS2W{M{(H}?RPXTxV4LRI@8N;R}t;lWTxDiAw#SP$P} zw~}y)p~U9+Y_E51ZO2DgE-T4j z|1XvQ3N?|Cog0(6A#)-=E_@sOm&B>}DoD024zcb6=^pWpWN)HbS~@$+$N6v#e$ylL zgwOW=B8`Ae3;S&$&x|a2Am}p3<@@8Mc1z;QVmc#<&o%LQve_SZ9;SyUFGX&H1q0AC zVdMBX(60Sf{n7hBXxGWTfnzwokai~hS8(|680XdfA}z4vD3B&KwRv|d(lej=#|B5{ z@Isa^A1zCB^5B!c9R}C+1Wd3w2pI;XzZim{u)t*3`@W^FIb2 zHJn-nNKcnLfPy!MYaKA6*md^J8)v#j-ZqpdOCnj?^?Y*-uyVMZuc#jzfF1NviLe|j z59iVHZ91XMVP`|yGdlVJ$TKM%*f4xCp74U1lk28tMK=_2S4T@9FuBd)?%5rNepzwB zDF6+rm`9HJ?7V1q(NRA`##u4G{wXzjjGZ@?@7%ftw47dq@1l(#mRU*}7^s)B9{Gx%+>}-v?+Rf9&Gq%Bu^Cgm-Pr%Zp4Zt(@6I z>)M3NA}=~BoIBqR3>+_+RO~3mH8Y3Ay%nKxCBGU@9(4LCBBTli$MVc;NiJKO46Vrx z4nQY+YNo!@43-*4?)BIIgvp_dd?;m`l^fC8_AQ(5&mK;TpCdQ+Vgd&SzKi92%27P{ z0}G7*%qX(H*koZ!@W$-KX?$;huuD=*OY6tTQaC};7E4W~BDUIPF(LfTKz|dDXvYI= z3~S`(srIcvurA&wOaTOy2-0R?wR5offu^TNj!g;QR0-4P2d|eR*_^ixjIxgX{m;Lp zwsjpHU%h1i=kJS)g3w~CE+XQP>GgqYHpllt^$buOd%G2k3d=>vKDqNj3(XUX{?5k zT0@7}Do(^hg9_9HlR{-n48{+HOWjEEL8|<{F>1Ibo|g;ScyjWN-cqzY<=-ED{{Bbe zhpV=`SU554W(q;e?_ zxR<{mHP0&Z9{Ed}&?6TZ2?pTDBLk7PuRJu59BX-&<%)faK83!a}S3 z)IBN9g!dMPhD?Wdu6~F1u6|818kK=exH6#Cf}u&I&kx(6K0$&tMWLdZ;l4h^DT_b7 zVVGI$dSRI4G(=JCY-|C}ITuZD8CVpQ5Re*dpjz*vLCXVE6&pt62B66-SsnbQ-vKp@#@O{0?~nQU=t_Qh>7JASh)1?Lv7dTd8c8^;I@AYcl@ ziEX$;8*s3T6Vq<*a^#&OX=L&%z;)~Vpg`>grI=;ZZ~$@)B$i4?%oF(Rr~)nsuKi? zitdLOo7|*2x2fue(=WP4cZ%qPeW8&>SCYCrfpM+y?)_j`1%5fo8OaT(!omR+~ts z*--JQz=EI$(6xDJ`LcZc4aX%_MVjmy_SSTtB0`DfK)a!$wyk!`B9rz=^=bwPLTdtZ z3TSBfG?)J!+7bn}O&Sc|i3Mm04abbc)ipnAP6ZlfD6TQEq!8>!i~56Tih4K(Y439f z<)y?C1kBAL8we)s<*hKHn1Mr!5A0-7bu-8M_I&>_ysQo7ESL`hf2C=(5*qV!B2!4Y z`RG|-0|s32`Hv*ZV>t@Hi2wiI1`FIMR%r?r!=JHO*@E%i9y+2Yza0YdU*i|gq3_`@ zc{`&Af4SdPgX-EIYJ};;Zof^ftqz+GQ(bBX_M)NZqr~i>`8e{I`<5wpVzm#=+XM`{ z24&HI&{3xME9;6y#17}hY|-8N{f|<5&UwtLTW!tmaMXPRs zGDZD&!<}ckQN;DA^X-WAZ>>EXVcEeBQz2Rber#<6)Ik{3bU8pwEwDfOAKkd7|J3Z+ zU_vV9_zT*=e&vy!+Wu3ujk91nG zuj?RetG!-fHO?05w-z%_m4(&L6@)Z1#Pij>)6N!jrq=daXRuL@^(iG{Wd{6KJ58kD zd-@U3ZLGHq?b$QiyKn8oHs5Z8mdVnbX017L{|6y%Yx5}*);Zag$xn~oUW?1?qtqpw zmll6ET~g(wcqXz^@j6}k-%_k?*Dw&qb<3Ul(=g|-;*TFN5}ou9DG3P6y%B)rmX;1jD$pfS!B$cSWQf=*uoEM)Xmfsp73qyrnH{Z{`Go0-bw#_ z1v=X(PwG>)Np2=+e|?c#nA6a3BLiKB|6BLbXh!aOJAcI8LoP0X5xxzBK57^Ut-i*q zwDW9?`MPhoGTbOf_*JCAmWc&Zo7p=k;fpAm?Ds_Xm7Z4_~z$FoYnBV z9g-DrT~13Vc;Vmiw}bTcKYg6$W*rjt5A6P9$GW0BaV-?DsZ#L$Ejy7*Jx2`0dH3X6 zAJXe1vjFKu((^uAbhINN+6j7-dW$aaw?0Fz)6t{+p@gX%6iT$~-q$T@Rn8%N;%eMK z3x2EyjD@CEAs81eG^l>>WFT*R%RFoN{_!y)mzOBr*lo}RtAKhkh7E_X2uYcUqpTE2 z`1=r4l%f%MGkAscpY&PU>%x_%yskDAt>(&b)zP{j^q?lKhTYH| zSGDHud#ZtJ20C`5OZk5n$0cuN|6B2)10<||+v}`^n|XXWDU40Iun^`jM6lGRPG?Uk zovJ^+of^eeVGLGD$QvoOd`vo!2W^ z0~ejF1Z{HX&heXIcjL0RNAwEQGPkiD@lYZ4rUu7PVy;uo{$N{=>1RRg1|_~XX92x2 zt^y^HkTnTg;hXsf8I{looygIV!vhVj)idRd{#&vgqhyPcl%~77lIpuxg%HT=*e+!1 z64mbfXa}zf@RY{a;A*C#@l8FoI%*u2YTv_c+;1F$y7K87@>p3V4}E;CDwP)+-x&Wd zo7r34nPnJCAqWfnc2vs;7LrVM`(eQk06j)gB+dhYauFaX{xD1Xt>