From d3dd525e08c1471e06b7c45c94eff0f858ceee6c Mon Sep 17 00:00:00 2001 From: cacogen <25089914+cacogen@users.noreply.github.com> Date: Mon, 28 Jun 2021 12:14:48 +1200 Subject: [PATCH] Cannabis has more believable effects (#59360) Adds cannabis reagent and replaces space drugs with it in cannabis products Adds space drugs to rainbow weed, which fits its theme and might satisfy the people who miss the effect Removes lipolicide from cannabis products in favour of the reagent consuming nutrition directly Cannabis reagent gives you messages describing symptoms of cannabis intoxication, makes you laugh, makes you hungry, has a chance to couchlock you buckled to a chair and put you to sleep lying down Cannabis no longer references hallucinating, can't be overdosed and has no addiction Adds Stoned status effect, which is applied by cannabis reagent Stoned status effect slows you down, gives you bloodshot eyes, makes you clumsy, boosts your mood and gives you the drugged sound environment Adds "stoned" icon state for Stoned status effect screen alert (sprite shamelessly stolen from the Smoke spell) Adds BLOODSHOT_EYES trait, which is applied by Stoned status effect Adds examine eye descriptions for bloodshot eyes and player-chosen red eyes Adds cannabis movespeed modifier, which is applied by the Stoned status effect Adds Stoned mood event, which is applied by Stoned status effect and gives the same mood boost as High but doesn't reference tripping --- code/__DEFINES/status_effects.dm | 3 ++ code/__DEFINES/traits.dm | 4 +- code/datums/mood_events/drug_events.dm | 4 ++ code/datums/status_effects/drug_effects.dm | 38 ++++++++++++++++++ code/game/objects/items/cigs_lighters.dm | 2 +- code/modules/antagonists/cult/cult.dm | 4 +- code/modules/hydroponics/grown/cannabis.dm | 10 ++--- .../mob/living/carbon/human/examine.dm | 7 +++- code/modules/movespeed/modifiers/reagent.dm | 3 ++ .../chemistry/reagents/drug_reagents.dm | 25 ++++++++++++ code/modules/surgery/organs/eyes.dm | 4 +- icons/hud/screen_alert.dmi | Bin 112390 -> 114352 bytes 12 files changed, 91 insertions(+), 13 deletions(-) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 1d6cbfb87af..aee782b58f1 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -135,6 +135,9 @@ #define STATUS_EFFECT_SURRENDER /datum/status_effect/grouped/surrender // gives an alert to quickly surrender #define STATUS_EFFECT_EIGEN /datum/status_effect/eigenstasium + +#define STATUS_EFFECT_STONED /datum/status_effect/stoned + ///////////// // SLIME // ///////////// diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index d60d9586b63..c1dcfb07e85 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -294,7 +294,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Addictions don't tick down, basically they're permanently addicted #define TRAIT_HOPELESSLY_ADDICTED "hopelessly_addicted" /// Special examine if eyes are visible -#define CULT_EYES "cult_eyes" +#define TRAIT_CULT_EYES "cult_eyes" +/// Special examine if eyes are visible +#define TRAIT_BLOODSHOT_EYES "bloodshot_eyes" /// This mob should never close UI even if it doesn't have a client #define TRAIT_PRESERVE_UI_WITHOUT_CLIENT "preserve_ui_without_client" diff --git a/code/datums/mood_events/drug_events.dm b/code/datums/mood_events/drug_events.dm index 99e48ba9291..03e0b7bf94e 100644 --- a/code/datums/mood_events/drug_events.dm +++ b/code/datums/mood_events/drug_events.dm @@ -2,6 +2,10 @@ mood_change = 6 description = "Woooow duudeeeeee... I'm tripping baaalls...\n" +/datum/mood_event/stoned + mood_change = 6 + description = "I'm sooooo stooooooooooooned...\n" + /datum/mood_event/smoked description = "I have had a smoke recently.\n" mood_change = 2 diff --git a/code/datums/status_effects/drug_effects.dm b/code/datums/status_effects/drug_effects.dm index dcc45e5c5c2..224182f16e3 100644 --- a/code/datums/status_effects/drug_effects.dm +++ b/code/datums/status_effects/drug_effects.dm @@ -58,3 +58,41 @@ name = "Seizure" desc = "FJOIWEHUWQEFGYUWDGHUIWHUIDWEHUIFDUWGYSXQHUIODSDBNJKVBNKDML <--- this is you right now" icon_state = "paralysis" + +/datum/status_effect/stoned + id = "stoned" + duration = 10 SECONDS + alert_type = /atom/movable/screen/alert/status_effect/stoned + status_type = STATUS_EFFECT_REFRESH + var/original_eye_color + +/datum/status_effect/stoned/on_apply() + if(!ishuman(owner)) + CRASH("[type] status effect added to non-human owner: [owner ? owner.type : "null owner"]") + var/mob/living/carbon/human/human_owner = owner + original_eye_color = human_owner.eye_color + human_owner.add_movespeed_modifier(/datum/movespeed_modifier/reagent/cannabis) //slows you down + human_owner.eye_color = BLOODCULT_EYE //makes cult eyes less obvious + human_owner.update_body() //updates eye color + ADD_TRAIT(human_owner, TRAIT_BLOODSHOT_EYES, type) //dilates blood vessels in eyes + ADD_TRAIT(human_owner, TRAIT_CLUMSY, type) //impairs motor coordination + SEND_SIGNAL(human_owner, COMSIG_ADD_MOOD_EVENT, "stoned", /datum/mood_event/stoned) //improves mood + human_owner.sound_environment_override = SOUND_ENVIRONMENT_DRUGGED //not realistic but very immersive + return TRUE + +/datum/status_effect/stoned/on_remove() + if(!ishuman(owner)) + stack_trace("[type] status effect being removed from non-human owner: [owner ? owner.type : "null owner"]") + var/mob/living/carbon/human/human_owner = owner + human_owner.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/cannabis) + human_owner.eye_color = original_eye_color + human_owner.update_body() + REMOVE_TRAIT(human_owner, TRAIT_BLOODSHOT_EYES, type) + REMOVE_TRAIT(human_owner, TRAIT_CLUMSY, type) + SEND_SIGNAL(human_owner, COMSIG_CLEAR_MOOD_EVENT, "stoned") + human_owner.sound_environment_override = SOUND_ENVIRONMENT_NONE + +/atom/movable/screen/alert/status_effect/stoned + name = "Stoned" + desc = "Cannabis is impairing your speed, motor skills, and mental cognition." + icon_state = "stoned" diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index a443233fa4b..d2423a2bd30 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -461,7 +461,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM starts_lit = TRUE /obj/item/clothing/mask/cigarette/rollie/cannabis - list_reagents = list(/datum/reagent/drug/space_drugs = 15, /datum/reagent/toxin/lipolicide = 35) + list_reagents = list(/datum/reagent/drug/cannabis = 15) /obj/item/clothing/mask/cigarette/rollie/mindbreaker list_reagents = list(/datum/reagent/toxin/mindbreaker = 35, /datum/reagent/toxin/lipolicide = 15) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 034fea9128a..643f223bc18 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -134,7 +134,7 @@ var/mob/living/carbon/human/H = current H.eye_color = initial(H.eye_color) H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - REMOVE_TRAIT(H, CULT_EYES, CULT_TRAIT) + REMOVE_TRAIT(H, TRAIT_CULT_EYES, CULT_TRAIT) H.remove_overlay(HALO_LAYER) H.update_body() @@ -274,7 +274,7 @@ var/mob/living/carbon/human/H = cultist H.eye_color = "f00" H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - ADD_TRAIT(H, CULT_EYES, CULT_TRAIT) + ADD_TRAIT(H, TRAIT_CULT_EYES, CULT_TRAIT) H.update_body() /datum/team/cult/proc/ascend(cultist) diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm index 97bbcb2a7c8..90144b7c003 100644 --- a/code/modules/hydroponics/grown/cannabis.dm +++ b/code/modules/hydroponics/grown/cannabis.dm @@ -18,7 +18,7 @@ /obj/item/seeds/cannabis/death, /obj/item/seeds/cannabis/white, /obj/item/seeds/cannabis/ultimate) - reagents_add = list(/datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.35) // gives u the munchies + reagents_add = list(/datum/reagent/drug/cannabis = 0.15) /obj/item/seeds/cannabis/rainbow @@ -29,7 +29,7 @@ plantname = "Rainbow Weed" product = /obj/item/food/grown/cannabis/rainbow mutatelist = list() - reagents_add = list(/datum/reagent/colorful_reagent = 0.05, /datum/reagent/medicine/psicodine = 0.03, /datum/reagent/drug/happiness = 0.1, /datum/reagent/toxin/mindbreaker = 0.1, /datum/reagent/toxin/lipolicide = 0.15) + reagents_add = list(/datum/reagent/colorful_reagent = 0.05, /datum/reagent/medicine/psicodine = 0.03, /datum/reagent/drug/happiness = 0.1, /datum/reagent/toxin/mindbreaker = 0.1, /datum/reagent/toxin/lipolicide = 0.15, /datum/reagent/drug/space_drugs = 0.15) rarity = 40 /obj/item/seeds/cannabis/death @@ -40,7 +40,7 @@ plantname = "Deathweed" product = /obj/item/food/grown/cannabis/death mutatelist = list() - reagents_add = list(/datum/reagent/toxin/cyanide = 0.35, /datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.15) + reagents_add = list(/datum/reagent/toxin/cyanide = 0.35, /datum/reagent/drug/cannabis = 0.15) rarity = 40 /obj/item/seeds/cannabis/white @@ -52,7 +52,7 @@ instability = 30 product = /obj/item/food/grown/cannabis/white mutatelist = list() - reagents_add = list(/datum/reagent/medicine/omnizine = 0.35, /datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.15) + reagents_add = list(/datum/reagent/medicine/omnizine = 0.35, /datum/reagent/drug/cannabis = 0.15) rarity = 40 @@ -65,7 +65,7 @@ product = /obj/item/food/grown/cannabis/ultimate genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/green, /datum/plant_gene/trait/modified_volume/omega_weed) mutatelist = list() - reagents_add = list(/datum/reagent/drug/space_drugs = 0.3, + reagents_add = list(/datum/reagent/drug/cannabis = 0.3, /datum/reagent/toxin/mindbreaker = 0.3, /datum/reagent/mercury = 0.15, /datum/reagent/lithium = 0.15, diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index dd1cc38ac62..15041561f07 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -81,8 +81,11 @@ if(!(obscured & ITEM_SLOT_EYES) ) if(glasses && !(glasses.item_flags & EXAMINE_SKIP)) . += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes." - else if(eye_color == BLOODCULT_EYE && IS_CULTIST(src) && HAS_TRAIT(src, CULT_EYES)) - . += span_warning("[t_His] eyes are glowing an unnatural red!") + else if(eye_color == BLOODCULT_EYE) + if(IS_CULTIST(src) && HAS_TRAIT(src, TRAIT_CULT_EYES)) + . += "[t_His] eyes are glowing an unnatural red!" + else if(HAS_TRAIT(src, TRAIT_BLOODSHOT_EYES)) + . += "[t_His] eyes are bloodshot!" //ears if(ears && !(obscured & ITEM_SLOT_EARS) && !(ears.item_flags & EXAMINE_SKIP)) diff --git a/code/modules/movespeed/modifiers/reagent.dm b/code/modules/movespeed/modifiers/reagent.dm index b7108582d93..ac2f3cdd4c9 100644 --- a/code/modules/movespeed/modifiers/reagent.dm +++ b/code/modules/movespeed/modifiers/reagent.dm @@ -22,6 +22,9 @@ /datum/movespeed_modifier/reagent/nitryl multiplicative_slowdown = -0.65 +/datum/movespeed_modifier/reagent/cannabis + multiplicative_slowdown = 0.4 + /datum/movespeed_modifier/reagent/freon multiplicative_slowdown = 1.6 diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 71d02f917d3..361cf8cdce3 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -34,6 +34,31 @@ M.hallucination += 5 ..() +/datum/reagent/drug/cannabis + name = "Cannabis" + description = "A psychoactive drug from the Cannabis plant used for recreational purposes." + color = "#059033" + overdose_threshold = INFINITY + ph = 6 + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + metabolization_rate = 0.125 * REAGENTS_METABOLISM + +/datum/reagent/drug/cannabis/on_mob_life(mob/living/carbon/M, delta_time, times_fired) + M.apply_status_effect(/datum/status_effect/stoned) + if(DT_PROB(1, delta_time)) + var/smoke_message = pick("You feel relaxed.","You feel calmed.","Your mouth feels dry.","You could use some water.","Your heart beats quickly.","You feel clumsy.","You crave junk food.","You notice you've been moving more slowly.") + to_chat(M, "[smoke_message]") + if(DT_PROB(2, delta_time)) + M.emote(pick("smile","laugh","giggle")) + M.adjust_nutrition(-1 * REM * delta_time) //munchies + if(DT_PROB(4, delta_time) && M.body_position == LYING_DOWN && !M.IsSleeping()) //chance to fall asleep if lying down + to_chat(M, "You doze off...") + M.Sleeping(10 SECONDS) + if(DT_PROB(4, delta_time) && M.buckled && M.body_position != LYING_DOWN && !M.IsParalyzed()) //chance to be couchlocked if sitting + to_chat(M, "It's too comfy to move...") + M.Paralyze(10 SECONDS) + return ..() + /datum/reagent/drug/nicotine name = "Nicotine" description = "Slightly reduces stun times. If overdosed it will deal toxin and oxygen damage." diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 63b400ac3a8..c971f1178f3 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -476,7 +476,7 @@ adapt_light.update_brightness(adapted) //traits ADD_TRAIT(adapted, TRAIT_FLASH_SENSITIVE, ORGAN_TRAIT) - ADD_TRAIT(adapted, CULT_EYES, ORGAN_TRAIT) + ADD_TRAIT(adapted, TRAIT_CULT_EYES, ORGAN_TRAIT) /obj/item/organ/eyes/night_vision/maintenance_adapted/on_life(delta_time, times_fired) var/turf/owner_turf = get_turf(owner) @@ -496,5 +496,5 @@ adapt_light.forceMove(src) //traits REMOVE_TRAIT(unadapted, TRAIT_FLASH_SENSITIVE, ORGAN_TRAIT) - REMOVE_TRAIT(unadapted, CULT_EYES, ORGAN_TRAIT) + REMOVE_TRAIT(unadapted, TRAIT_CULT_EYES, ORGAN_TRAIT) return ..() diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index ef05d5f7d7265c098822f74e8c1acd81202a9e1f..3ba3f98b93c78ab1cc645d4cb71de10086b286b0 100755 GIT binary patch delta 13810 zcmXY2bx>Pxu*KbqQz*eDKq+oTTijcucyX8Fe(~ZIcQ0DpDGmjS26v~pd$92Gd+%lD zW+pTDpKs5eZ_l3Hgq@<*JfrMJ(yRxAQ7FYU9HFy@cfX{sm3adj6LUW|DZMElg)F45_@Y$QCv#a#8o!Z4#pk+MDbEE^!0dy+b<29@% z7oky(uyRy$K8eu=NgqSI4gy!$b`a%pnWa=qoQYJH(A{ho5R+U#r1(Tqi_hMjHB$oH zs5I~IMu`H5ToGzqmXCamCm*xIM5vJKyWVz9sPto%s$FMdukQ7&3TX1KY*qx|$@3SY zESTU0-V09ve}rauu%q%EUo|dq-x62~pvj|cg@K%sv|b$ETg!QN92Ipxw#(0sS%clbN1F$Ur>7kwZ9Ws9saX38vj$rz;I{|$Zg z+M@tIc+LBRVd)>a#J`xDZZ{DBuyxXJK|3f(eIW=?hIIX*U|T4`G>KuB|dMqYYqJ>8aB4W1CG+@ucp-db6YXa@QqL8YZFw4bX1s%s7IQ<%Q6{>&hjdo)N&QLUwqP1Cs-!dY_~lRXm1p= z!)}G*)M%hy)@m{vM-P^kRbEl|WM8K%at#c6?%!rIiQZ-x2UKaJe}P(s^ynR0x4Qx% zKI!4^Bihu9Up&`omtsLEB%Iup`lwEqUy(aFJI6biL%4F(7J&~x1{CXsTppcHT~q*( z948#hBCJ1};tsGe7&cQ&RLrubMK;+2uc5Hi@R??UOEaj zre{6=k-3onW&|u04$9nFYWraqOv;AE8{`+>MN=yWhM}^2-u!+{|&1N z9iP_j*{AM=J^4HM9gvKR-q~qE())-2-`J=&;TuYzA)=U>j3gUDsTiSZwRvQHRuDp! zCIZPBE-WYq|29-CtrBxwm!f|wz)U!mD`k9yp0Bo*s%MDd&SA$_WDWk2Lc$hxI&EWv z87k$wV^p=X3)0uC852dN#D(yKO zXx*mvfgtmV<3S*98&i^OF(;U8fT;Ygl--5jFcwKimVVx+Rkg4tf^`r(7HhG!1#fom zN<)qD$pQ41(w_wWBgyiL3nocly_UUKrcF&4`aJ)?_dM{9$iQd zL^^gzWo8?WuighF7Jw4kDDF5}hK;Tt=23;uult$VeZ<6|wXee7kr$Ze z^_qV7krwqje!r%j-&@YlZju{&16P_P>hW$waV)95a0R$1`F34SB;=o5uWM(vkHFXH zX6Q4I@A?p$>hdhmiPf#S-ZAN8bO=@Ck|-=hzbZ$!)!p2p7R$}K5oeJ_Y~=yEM_L2R zl2t7zWl`TC2FDWqV2=0%=0z5}>&JL6@J+=D2h#h9=jFHLH-6j>>j_b?7U|?g{V{ZQ z@2^pE3<1Xb@hsnJbG0a7)XhpTVp;Vz6W@ZVmFB(=D1O$NrO<~R%_3I40U@_$OBaL#sZiKMjQ-V1tGC zwkB=xkD*-qz-h*vdX#cySE!jYK5j3HO*gf<64;?TYOFiPGa9+gz2@9N7U{gk5s|79 zVM@mG=23McLR@UHvjaVRfX`v2F=8LYmx1*$RN4Lc#lv@$tZY&`n>4R>&8y+2HW+;d z5FXiraA05JsKwAJ9^oD1Mzfaxy&)cxXDs@Wp1^IjQa8|`i^YH(x@Y2I85aJgTFyzOdQ`nP5f8~2kC_1}ZPu=rZs zMM&R4d2E@6+Mw)O=1%hgRL&d==bU)|UX)9ibi`}&d+3jY@5BF$Wa(oP&vUPqfm>@- zx|YH0n~hpjdV&%uc`vmM3JUG}CvV8w^>*|3x+PrPQ_H=kdFJPr)Sm%{YfWP#h#BQB z4sHL3<FsZSw5%C&|S^- zy~2`g42k_`v`IGJ3_LUw_2JKXsdpWl>)Th$0oR*7$XF6CV8&k<4qipfj*%d4W$T>u zgwB?)5ym@T^5SA+S$>%m4tGH^5-*p7I5W|GInmsF0@D++qSTk51^}uHoPLuw*A-`< zEtW@5K<^)~ayYG+h$np3>ZMW{BFwlW*6|;2PfT})lTm?+>W- zZ&j;K2iqO#mVW&way;fvz-ac3^4mr9u9fqPHJ)tDU6X2cNG*}ADxG6R^g5cPzdaVc z4o5VRtF{oBRfl4LA8j_Tv3}Zid_KQk*`v#OVbeC=F|l%*_^d)XQPO{=Wwq!RL;_%0OmoxE#5{&?vB@>AnQ_jKJPCCr6nrUS+D#iTT7#Mim+U69( zs!F1Yk~(n~2aRK4#3R_0$}-U$pv(#_MAwilvUYt)<2SPbc4+Fai53RPzpRVikRnCP2O1RPQU!?6*5r5dUoloM%2ldRUU>jJ22Lf``z&=FR5k=ZAxj z@3LfF;Obc`wfWxFb{M#-3tLUZx+|qV9RxvO4%Rkv0FM`Z&b3#k=Uq;d*I<QCLgfNix>a786C_ssaTm*t=D9N$TmZlO@4;g@OnrN)9<;gisJb}-vIj4tdqf%L z{`NT!xYd{A^B6Qi+Sm-Ru#u8G-BV(b`l`otdtO7VnN;x{N3Rn%52;&u$`gucNech? zlWSI+*X%7EFK=tzhNQm}hy|0S&GtHDf95C2mtsJ163fSeq5Lh0!66MZH%m~<-(&9+@Q!;AR!RsIbYoyRr!@3vFLevEI!Zq z4@}CFoDnWXNyV;+*y1I-QHp!^1R)U(oyTvkB#TIuX~p_e`Gi2!$=rp=t7r&=@&bn#}c5}V-jbg z#x$Hr6<8sdJ z5@`|%45XN^WJy`=5(LryGKB_863o74qLG@3N2y%J93e$3m36Lgd}|y}6D`9~o7f_E zfrS(v%pH}-BIW~t1@QZs4~}#EFs6o?ulbF-^El&*S< zbik$L!<(v1dlwtQ_@s7vc0O+jBR=+H{f!B7NfCFlm;(01?!0?UJFq61Lt2Mj50l|H z&2%ybRj~Fr&Wa|2HdpE(`DOW6kIGb0)Qz<`B(E`2lfQpfLo8ivl}_LG0HIsl_P?p$dny01UTL=Rwo%PWlxF^1Nkf#S z%3uEjZ#JNSu|WKq0W7))qf7KXqy62HJC5JbW#8LsOSeQ!mcF#4LkpvS`$(G4T0`~B0XLJXJ9 z8-}o41Dv20j7~3<5*^D~H|u0U{)Hd$_9Dze5ObL~hZXlfJ5fJajo zsb^~|BcwSI+oucP0z%sVK1BOuh1Ap2u%5!!s^&w2eiJ^^=bn}`J*|pAuPB=Gv{%MZO8G2N(wqRMOPHQe?z?6!QJZ1 zwwds*)|Pwq(5Z_Bvgd4_%at)$Qv%Ke)FY#@E%&P!{p}gw&?~oZZ02O;N`~+x#}|I~ zAW^^VG@Ujb71!pv;aOF{fV59$lG)$_M6Vp*in*GFub0?dF2UQ)NKIbob4u#{chk75 z%V2H@myT#lpDv>OYl1z3phdcIt8$Re&2-2ZzxmrQKAy4fK!k+1p7_{7vib6a!c3${ zxS@+s^#o)pg%dMn%eo_HK z0Zo`h#Y(fRS4ERkdbY>l;7(HrtpNGAgKa+%Up>Atn2Q?3X4$UzC#q@TRB&LPs35m4 z_lpK}p*(Tneu>oaIhTz3k?&0Cp2+Z8uL|qoRP*jK<_MC_1v|*o2dNbkdO0_`nBMu) zQvBEDyYpn?o~X>sYYO`30!Oof2dqCLvh!4+#`-sj%W=3T!UIIyZ=yEK1uWb}3;sjl zVp1dJa=7Bps^>wtwpY)u4+8x-zF_~m-}tMi`qOJ<%no(w<(6$R$zjU6nyrW9ogc~Zb z&>u^^iF7@mo)#=ZygC^f-qF+$SNOZ@pj(?GRyOtQLrD*3(RNvk8RUEFWaM?fzpKFb zM(iJli4)|F67^geQkyP5Wb zIMqKp_{;;dI=v}?io&1djJ$!{hAxae+T^6pHhb-jRF0_8oJHJ}<;sKI&6dNx*{bhY z{`1bwekUVc9~X$0*S{qbq^Z%V$kibWaAGj|a#zs}ML#%SS?g=);x7IQAJeL)UJAR7 z$Z)E9_;v)5+)TfBE$3=`6`1Z{sr)ZG|@0Brih#^UfoEfF_=0;#?Ij6P2nzqG$_1%%uc4C?T@Fpi(^F%4O_D)vQt?63RZkAtq z+ACBbX|XfOUgwQqG|2>^ym>W1LB84^vOzCJ7w?(K$R}&cGmcIot~%=)bb-`X;dfj> zTDrr6gc48j$4p?m8$*t%R5s9^7t~J|5=URQt+s{Avb7AfS#GpGF@@XO*b>bjFOZgE z&YgePaZ&o5@Q&w6s>hGppI6DRE^xm9xB2R+--qGe=!uG_EtedCX*~F*0}ZOpC<>)mEIe22Klp%dX8tw| zivP|9`91W#zt>HIo1_{oyDOzGux5Qkl8n&KL=v@1IYKSUh`;p*^^c2#z8RI0$58%^ z2I;gv2T2?08wv?SqF+yuCLwd9e*u10jLY}uoI78NVl9l-qDJX>(Y82$)I`mnd&9#R z3N560Yip;X&sPHhZaY^G4QDy$AUTOhYN0=ZhJH4D%`*~vORcQ}ieX8R_?=(NdSCI= zj5Sx`-lg`YU)A%0fa^CXZxsP zOsjV#pKeZBw*%8xfVC7rO3sSWLj}C)&E~JUi`5^5d5SyvAU73Or&* zyXazJu-wajsX}rFe7^&~kjhh$8tC_@V!uPD-_ywmX1)`13CQ>uK;I~R%rri<@DaK4 z7?V98AMsWYgVGF_LHul>_?0B?J8Td~uPkpT$;j)XTnTlUb2ZSKcKATHEg-2c?&B_1 z&r!xlom#chF^&K3_$o?fIRR$Pu;rs%-S`5T9ArcxW>$e_gBTZ67pKL6H%>!C^&SZ8E$3&7LQWcV8n( zgjj{K*VMX5(*9yPTRxgq;QpHt^Qk6lOf8ct9?8{7e@)dte-U4(<|k5rSS@+6=)w4u zZc7-i9$~yk;RfjN9j=I-bkXh`JgzjR4ex-K9$5mK%dKfYX#72I8Qj_3(BOtC{d~PS zG=E!ys}^6rEKRIN3u8yV9-v%q2n%bKq1}=aA2z|Vs?%AUm_zrDq5U+l4EqZD)7dk|5FUN2wx;XN{ z{aXAf$Fcl^jp?q+H`(@M{nd*I?>AiV4hTKQ(h@*Gc>PWOqol@b*Q8O6xb5Od*UWLK zs2SXjk=tp}ewxTH>jKu&UsGnr^z=M0^#li__BEXTzPoK#$HfPY+WK5UV9GC}tz@Kp z`3Ve@3k&+^vM~4FH!r!ir|Jm1-n7Sl?-OS)DTYldElGRRwOUOr`xCOsWo2lC{M!(ON!(K9(fDd`?}h?afRHP)K+qLB8{ z71aCsZ3QUem-k#^+n6Ly1FN-PnC@L80p(w>vpYp`(Z%@Ua@ve`3s7SuZtvm2S=f$# z>@L~$GF4{!e0}yNpr0u2--=j}DKF;|--m70Lf|YW@iZ4}dgtyPApct&`Q8sj>|^QA zGov}>!ZhQS%_e}Oh05c12N~*KQ|r;%ax&Z7``u`Ui)X$Icgg|qi;-nzl00-Bn7bhR z&4r+kuAjYvtz@?3bA)oAxp-+zVc$3u*njoq`j_$Adt1^df4H{PYgRlB9xze{8VcD`{}Rus=seK~{=xKukyISzb3X={_&&imWg)ya6Q`uOxn z{md1*>s>H=ET&s;xj0=aTYBPqHw#?{w`^Bm0_D(*HAjxFq+LL75af!eRjUv^vE!9I7t6KK8knVreBy;=LDJQ4zvD0LF2|r^e={90u)EMO%Vco0 z^FDUvNF8f<2l5R3yCks@AbN5n!9#~7P-iMxC@FC9e%?IkMAW!w+I~}#Vu_WVovmi( z_w%zM=aYXOB)_+4iwW3%JDeNwX*_eeBz+6=dKqFF)qsfRb}dGy)8+j)?7z4SzJWTTNz3&8Jm5MMPY@Q$X=e&D%&(+v-d0 zdwg_%`GhG>guM>-5thhkb~d?$5CWtT?pk)r<)#u|87YkFF<|+`w!9#+4>bqzHPuS> z?EL&^b{syUR@$;1hEzOUT&v*V$HoiCMpxvJ8dvkgcIjM{I8 z>ew-jv1vmXLSpQ(?UqTK>`it4`&w>t!cAbHMGf`_;O+cRPkv_-&8IiUx{VuCe>1K9 zkMxYD5j(H4LAxg+S+?Ia???8!zCCI^|2h*c|3?!v1dXETD%8&2Cr>T`LADQ0ZjS8j z{*mforYALn+{6xi{Ha)I^ zr$NOli~N4I(_^32WY*`pvwM@)Gv+>5D31{J{m!CrH*0RYxEA=%^`7SuQ4PGObk)}4 z=ajp~-xW&P>^RG5mnD93p=yB;XXHj0&DPK7~<25`%WAE{4F_kOWm;>XRlaEzW7YiMe$I~b3U4LGVgp04h!G@hc|bcI&8YW|rs@KSTMx9xxTd$RY$?svU3`hqL- z18QpQK-$(WH_^7Ez00t*<8Pvl>gKqnSP0_8vLCwk`W!*qX+nO%ys-?)#71X@siGt! zRw?Q};3AuYynbW)p5Iz>#RN?aL(;(D4Idw0NFOaPM?m>Q-Avr^ z7lw~Ae*%vIjqSvHNGtv4-ikF|1*59 z0IjGNUwnh4M<`fs991bDRN7ZsZEE#y@@MGwgojM_zRnAr3?_Bh68_B$Xws9gA<%mM zn`d*Q|0MhQC|!ch%GgR5Sw{S8%|(^N8yxSpwy5&NgY)Xgu(D=1S3q!?sxQvF}?*aV$ z^jLBjOTw{?R1T=U5=2(YA(>Q0b;j2sxs6Q1a}BkzBG*k#?!cVCIb;-?7qao2^UX}( zCO<|qqRc~bj8n^-fF?YQ&?d5fEU7QQ6~nH7Ic5{JohqW=#Hv_Y2g(`YZ_eTI^5RhC z`nNP9hZ97&`s`iCLexI+6bEq6sP0~T&i{nk05^uTa(-*Acln^d+r-yxbt;=5C-=Ba zUzK(FFBF&fKF{dh| z$EHOowuaB!d%mh&-fJjL6V|aS7F+vFI%{gE_v3)`EUlvaBu-~R&=Qrm&tsHX?n~)B z1qjrwSLCZS3H)NQJqPEId)_L=)GhvtBfDKY)YwMvZwE5(7#N3 za2Pq-gs$-#EhAg$vYli$9{V?}B7Vg9zP!*v{hY)D)1N>{;em~G{uhPJM;<)Z56Gz6$6V0;9<1b4cE>&6wIdQL1ZVwJJ_4Ze&4W;jjW0@-P);)?Z&=Ws=b?|h@8O{uh)4yxBBZh`{t@BU)uyGSA~nu+P%C*=n+%aKJC5;Y}l-gVTk9 zw%A!72=>IH50k;k>UGwl!Xq-p^ZqlHfxUoN7#;Mp>&v{#Fi$|yB{KjOd6QRmBMxMJ z+q*6-Y>POJ_4l45Z?H6sTN^pBc@|E!#n0nwB*eKkR($!K5v%tdyR&g);?S6B*UGuGR9 zjIZQqDdwBIXhLyYW=M$G@(Dl90B%-aG0-VCgR4QR#aIU8$&zNfzCWB(qWN1S>Z=nA zPJQo#B(s@MyNHaJpX7y75-Z6p{-9sT9Vu5Fw7q{ESf2~kVu|@^i&V&JJMA@q{C?tA z$lJ%K9hTGwdOC3NcJvT=lYQ@-F{k^FUD?&ceR6U(Vs1v^@_X0x_KT+!Fh^gLa6b)* z_;9NH`b9U<`%jc`CSzg6pUBqx?OtG}_I`=)tu+K8b=U|abS5t9lg5OruS6BraLD6= zJyQ^kjEsyL@gkqZ&rhsKh~gO*g)CsPT*w$AVR^ZN%GV%Mr7S9%C^K$(?)2_DyCL4s z!`-n(R?+Ya!pNMAXg&v$9k1ee&FZazh^ZfyD zqVIokA+oY}^>7#$c9d;4J@y`-aenZi{;?XTFqj)Lz6J@LQ-Qn&3gyJ3v;6f{zPQ|0 zJ`b~*$8}BEa&K=J*!yEQw>tF}>e_(z87qzQGzMC5NS`qzR|8Ixv(hh!jqnjd#**;a7X)c_Oo37Qx?78a zyC=)FZ$;zXpjMY;_&Il2GT*mEGWg6@TN^tk9(S!ReR%IJwfOX3!7&=-@-#RRm5yV@ z;K-V7jP!jcMRRj!exJtM&})P46vX4KsYZ$4U^q?z@N6K1`=KpqN|>7E0lHchGnr(& zl%Rl;(-&#GoibZDtsU(h!N-yHDZpc%<1?DEU}vsiV1Vg64NZAU{6GRJXI}}XG7W{a z;!p;83LE*$6v`BH`A?dfEhI#rSWEO(xzl^!;S9aoVo{hy&{Rj&C=Hmpsev!t{e90* ziWO=CSi+{~|631(UpibKdJmd&IPGwVtDA50tSeos4>;xhTwR+1JoviSVXVnv-C3fd;4temUW1O>m@J2R6p$)R3MDn!AAA_>kme%cOQZ6SgkYr z+uP#ylPj|oGK)Yb9SbTxTD`6J@*mT!-9381c4tIYM@lgHcL*$6fP ztg2AVE=ZK>3*PzgrIPMN9(kl}&*IG7Tye6>yOS&RDRqZ&2t(l%Vv0GfJjO^}JcFWh zZ{w^hLsl5TE+X_HfkCm!9($y2%6L`9?ZgJGMxv=y8E~0X*49ir|FZoMFfb_d|0|5n z_}?JvDM*4lK_w=cbDR^{WGZj<)fV49^n@eWuQmDflJzlqHcl(-7(GXT`dj`Ddarx= z9VE&+nJHub{nr1naMIO0#L5ecy)Uh0+eO9zIL497r}+cm(cuRW3)my|mowyrkfBOP_u`dQ!5S$cTn2umwHB159eEV52Y zD7#_;WbZ>l7QYG-TWNWa{YZkjPH!DMd^`^>FD>9j{Wt!V*}%Pr9JF2b2yCtqN5WkK zS;XwSWRBXuB$eK`6=FfgR$ewg&s+jt4SiO8nf>MaSn8^EOUQ#4sSww8N9?l)6UB!l?TKcx)oUZ!XCeC zdxOCb*W0yl(*0^X8Ik5fwp!-@U4;!8RL4`H5_j)i(T5Pg{%p(>}^qT zlLMX2NtGVg=Q37IMJ#2*2!mnYl|hObxu)rgdr4qdiq|DS>W^kl1&j2F304j3yR*qoDZaF6&_vbt?%%a|N1r9G`eDX zr8bV^YkJg}<<@#!vvbN5hh58k!eSvu-G32;vM z`1tJacc$r+pluc$TDlxHUcVOA_dCj3SZXVZB$0!5bx}O-a9{&Buucr+O56SYL-vg; za2^`usJN>-Dl=N7<>54poP?!D$(N5fGWiJoaJ4zLy7Q>?OH~AX3$T?veVCbSGt7&p zJfK@g>f^j^S>-Gy3KGIW5z$Xq@}~20+JHpoJQl1JbNJO0NtbB&;jfWz;d9pfE{%vVG^%y9_e+2OuU)30*S^r&QlUZ#+1g&_UNb26|g~08+O8beGuS1650ChJ+PJ3|R2Gv?u;_}`XgLcYhScet9 zLaj8NWCGNZ&j$U})Y#0ULj7~`OJ(YDeMORm_>vHDRiXPP-j(+y6MQA-$H7p3D(ZweVkBL8Vg zI1vL0Cpp0qGy(Q{=67vyAxO%Vj5PcS|Jm{Mzda#lp&yvraE5iC=YMbnst}E=-!R6BJ&F!~Ek6H4mUjg{qZc5)lQ&=(|X-&?7&XNIG zw$F7F-giB04{twsR{cxD&WWUr8C`$^q8Nb#wFH6wS^ekUzq{}yZ1vdSZiI?a*RO#& zzwNJ+eDTFc$j-?VW{=pcxu2j0$k3-gO4HLl{RVjdWXsn`yev)<$wrfYaq;cR9~5wY zufZBGSHM!Y_jvK>Cxzj3^n0->X8kOYSlTUhmDJ76ErG$y>jNFNM-bk?;Pw`<(G$D{ zf4#XRwR$_5|K+SGU@$C;?mYU-9M*oz-5BwPj4DM!$`}a!*pN1qPKg`d~IJ8m@I* zv(0%^HVcNCC7?KKzTchy{%%|8)P90g28ohjQAh~bRCab!D^IHtqe`oX6r<`Jsd!Hc z#T(kt2Ab;xgqUN}hNSyfps6I3!!0=0WQBORcfy@cM;#Y+anYit3FJBn{VLr$dqbir zCFngHVQ5e#(A4?wjUJW-9hNQJ;Nq-CmvQ=q^VA4sZb6h0+)2E9nT4)$kv%?XU8#~y zmxZ15YDx@N3rBQRzc=CsXpvb)R2Wf4xFZI)r8G5JJ1UyO`v)%WHSF|$$T55zFme4f zuq|M`9OUUs)hCx{4Fq1(xfYXy;&_CG!C~LOOSAJE@`-6`#LMI$Aw{mDTvE3^Jut8D zq>WD_3SP8FUGIU`(puZBXorU^HWJT$SpF@upz`z^v6eq2UXfuru!dOjufBQgrpTR2 zrSh`V@y{EI&LtR+EX^n`T2|<7vS%MLFrj75aZJ9OuuGBZzN4}Mr=lrC$P3q%*Q**kyf4!oBX4HQx7z6Gx%Ff zuTpg!ehk7+ovJe_YI~PvcswY^%bQ1%iI~!DM99=Osd0~Q1k(VkCyA5ky_`E8!`BHe zsnJzK^Ya7S0dB%r<66({m=jniHW?F%w7hm5f2c8eT5-DO*_aNxoJ>k`Md)Ex#Rl)S#`}>O>S}-s*<(LkT!&DQ&%eBW}6(Oli?|D9L+vL?64|0Qr96> zRBs943n9S4JGK1!)#${?bQEr{3BnETR`JnhY)u&WWx3y8hqSTLxKHOmLngrv2~oPV zJS9Hh@Z(5PjQVeetoqf!#{n-5W_huE7G2#F!P)vy0?iwEt+kdjFfgbvcr2@J4))z1 zXcMyy1Ov%0HCrCG9VEe~PTaVv{8=CRlSrxs9NOEO>g(&T@wCOV delta 11833 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 PFlr9O>AjuPN|4r@!g#3%&icW{zZG{+Oywz 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