From 50b8c9dd35c95019b3c6a21f14d46e56cd26a87d Mon Sep 17 00:00:00 2001 From: uporotiy Date: Mon, 18 Oct 2010 18:29:59 +0000 Subject: [PATCH] Added a new disease. Removed GBS. Fixed mime invisiwall. Removed the red stripe on HoS's suit AGAIN. Added metroid jam. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@314 316c924e-a436-60f5-8080-3fe189b3f50e --- code/WorkInProgress/Chemistry-Reagents.dm | 24 ++++++--- code/WorkInProgress/Chemistry-Tools.dm | 26 +++++++--- code/datums/diseases/magnitis.dm | 59 ++++++++++++++++++++++ code/game/gamemodes/events.dm | 2 +- code/game/jobs/jobprocs.dm | 2 + code/game/machinery/computer/medical.dm | 11 ++++ code/game/machinery/processor.dm | 6 +-- code/game/objects/items/weapons/tools.dm | 6 ++- code/game/supplyshuttle.dm | 3 +- code/modules/admin/admin.dm | 4 ++ code/modules/admin/verbs/playsound.dm | 2 + goonstation.dme | 1 + icons/mob/suit.dmi | Bin 64183 -> 64080 bytes 13 files changed, 127 insertions(+), 19 deletions(-) create mode 100644 code/datums/diseases/magnitis.dm diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm index e0d9759f23..258c3bb63d 100644 --- a/code/WorkInProgress/Chemistry-Reagents.dm +++ b/code/WorkInProgress/Chemistry-Reagents.dm @@ -44,11 +44,11 @@ datum on_mob_life(var/mob/M) holder.remove_reagent(src.id, 0.4) //By default it slowly disappears. return -/* + metroid - name = "Metroid Jelly" + name = "Metroid Jam" id = "metroid" - description = "A green liquid produced from one of the deadliest lifeforms in existence." + description = "A green semi-liquid produced from one of the deadliest lifeforms in existence." reagent_state = LIQUID on_mob_life(var/mob/M) if(prob(10)) @@ -56,8 +56,8 @@ datum M.toxloss+=20 else if(prob(40)) M.bruteloss-=5 - ..() //Code no work :< -- Urist -*/ + ..() + blood @@ -593,6 +593,18 @@ datum description = "Pure iron is a metal." reagent_state = SOLID + on_mob_life(var/mob/M) + if(!M) M = holder.my_atom + if((M.virus) && (prob(8) && (M.virus.name=="Magnitis"))) + if(M.virus.spread == "Airborne") + M.virus.spread = "Remissive" + M.virus.stage-- + if(M.virus.stage <= 0) + M.resistances += M.virus.type + M.virus = null + holder.remove_reagent(src.id, 0.2) + return + aluminium name = "Aluminium" id = "aluminium" @@ -942,7 +954,7 @@ datum on_mob_life(var/mob/M) if(!M) M = holder.my_atom - if((M.virus) && (prob(8))) + if((M.virus) && (prob(8) && (M.virus.name!="Magnitis"))) if(M.virus.spread == "Airborne") M.virus.spread = "Remissive" M.virus.stage-- diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index 76ec670153..6fab1b8777 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -1170,7 +1170,7 @@ var/list/data = list("virus"= F) R.add_reagent("blood", 20, data) - +/* /obj/item/weapon/reagent_containers/glass/bottle/gbs name = "GBS culture bottle" desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit @@ -1184,8 +1184,8 @@ R.my_atom = src var/datum/disease/F = new /datum/disease/gbs var/list/data = list("virus"= F) - R.add_reagent("blood", 20, data) - + R.add_reagent("blood", 20, data) -- No. +*/ /obj/item/weapon/reagent_containers/glass/bottle/fake_gbs name = "GBS culture bottle" desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit @@ -1217,6 +1217,21 @@ var/list/data = list("virus"= F) R.add_reagent("blood", 20, data) +/obj/item/weapon/reagent_containers/glass/bottle/magnitis + name = "GBS culture bottle" + desc = "A small bottle. Contains a small dosage of Fukkos Miracos." + icon = 'chemical.dmi' + icon_state = "bottle3" + amount_per_transfer_from_this = 5 + + New() + var/datum/reagents/R = new/datum/reagents(20) + reagents = R + R.my_atom = src + var/datum/disease/F = new /datum/disease/magnitis + var/list/data = list("virus"= F) + R.add_reagent("blood", 20, data) + /obj/item/weapon/reagent_containers/glass/beaker name = "beaker" @@ -2029,7 +2044,6 @@ ///jar -/* /obj/item/weapon/reagent_containers/food/drinks/jar name = "empty jar" desc = "A jar. You're not sure what it's supposed to hold." @@ -2040,6 +2054,7 @@ var/datum/reagents/R = new/datum/reagents(50) reagents = R R.my_atom = src + R.add_reagent("metroid", 50) on_reagent_change() if (reagents.reagent_list.len > 0) @@ -2056,5 +2071,4 @@ icon_state = "jar" name = "empty jar" desc = "A jar. You're not sure what it's supposed to hold." - return //Code no work :< -- Urist - */ \ No newline at end of file + return \ No newline at end of file diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm new file mode 100644 index 0000000000..fa67c3435c --- /dev/null +++ b/code/datums/diseases/magnitis.dm @@ -0,0 +1,59 @@ +/datum/disease/magnitis + name = "Magnitis" + max_stages = 4 + spread = "Airborne" + cure = "Iron" + agent = "Fukkos Miracos" + affected_species = list("Human") + curable = 0 + +/datum/disease/magnitis/stage_act() + ..() + switch(stage) + if(2) + if(prob(2)) + affected_mob << "\red You feel a slight shock course through your body." + if(prob(2)) + for(var/obj/M in orange(2,affected_mob)) + if(M.flags & CONDUCT) + if(M.x > affected_mob.x) + M.x-- + else if(M.x < affected_mob.x) + M.x++ + if(M.y > affected_mob.y) + M.y-- + else if(M.y < affected_mob.y) + M.y++ + if(3) + if(prob(2)) + affected_mob << "\red You feel a strong shock course through your body." + if(prob(2)) + affected_mob << "\red You feel like clowning around." + if(prob(4)) + for(var/obj/M in orange(4,affected_mob)) + if(M.flags & CONDUCT) + if(M.x > affected_mob.x) + M.x-=rand(1,min(3,M.x-affected_mob.x)) + else if(M.x < affected_mob.x) + M.x+=rand(1,min(3,affected_mob.x-M.x)) + if(M.y > affected_mob.y) + M.y-=rand(1,min(3,M.y-affected_mob.y)) + else if(M.y < affected_mob.y) + M.y+=rand(1,min(3,affected_mob.y-M.y)) + if(4) + if(prob(2)) + affected_mob << "\red You feel a powerful shock course through your body." + if(prob(2)) + affected_mob << "\red You query upon the nature of miracles." + if(prob(8)) + for(var/obj/M in orange(6,affected_mob)) + if(M.flags & CONDUCT) + if(M.x > affected_mob.x) + M.x-=rand(1,min(5,M.x-affected_mob.x)) + else if(M.x < affected_mob.x) + M.x+=rand(1,min(5,affected_mob.x-M.x)) + if(M.y > affected_mob.y) + M.y-=rand(1,min(5,M.y-affected_mob.y)) + else if(M.y < affected_mob.y) + M.y+=rand(1,min(5,affected_mob.y-M.y)) + return \ No newline at end of file diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index de43da8042..8090a49073 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -233,7 +233,7 @@ /proc/viral_outbreak() command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert") world << sound('outbreak7.ogg') - var/virus_type = pick(/datum/disease/dnaspread,/datum/disease/cold) + var/virus_type = pick(/datum/disease/dnaspread,/datum/disease/cold,/datum/disease/brainrot,/datum/disease/magnitis) for(var/mob/living/carbon/human/H in world) if((H.virus) || (H.stat == 2)) continue diff --git a/code/game/jobs/jobprocs.dm b/code/game/jobs/jobprocs.dm index 18bcc57d62..6dd2088e93 100644 --- a/code/game/jobs/jobprocs.dm +++ b/code/game/jobs/jobprocs.dm @@ -597,6 +597,8 @@ usr << "You form a wall in front of yourself." var/obj/forcefield/F = new /obj/forcefield(locate(usr.x,usr.y,usr.z)) F.icon_state = "empty" + F.name = "invisible wall" + F.desc = "You have a bad feeling about this." spawn (300) del (F) return diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index dd2acb3a34..7307435c48 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -92,6 +92,7 @@
Plasmatoid
Space Rhinovirus
Robot Transformation +
Magnitis
Back"} if(6.0) dat += "
Medical Robot Monitor
" @@ -250,6 +251,16 @@
Notes: This disease, actually acute nanomachine infection, converts the victim into a cyborg.

Severity: Major"} + if("mgn") + src.temp = {"Name: Magnitis +
Number of stages: 4 +
Spread: Airborne +
Possible Cure: Iron +
Affected Species: Human +
+
Notes: This disease disrupts the magnetic field of your body, making it act as if a powerful magnet. Injections of iron help stabilize the field. +
+
Severity: Medium"} if (href_list["del_all"]) src.temp = text("Are you sure you wish to delete all records?
\n\tYes
\n\tNo
", src, src) diff --git a/code/game/machinery/processor.dm b/code/game/machinery/processor.dm index 5b9f1d48d2..160afb9a98 100644 --- a/code/game/machinery/processor.dm +++ b/code/game/machinery/processor.dm @@ -47,7 +47,7 @@ obj/machinery/processor/attackby(var/obj/item/O as obj, var/mob/user as mob) new /obj/item/weapon/reagent_containers/food/snacks/ketchup(src.loc) return user << "There doesn't appear to be anything in the processing chamber." -/* + /obj/machinery/processor/attackby(obj/item/weapon/grab/G as obj, mob/user as mob) if(istype(G.affecting, /mob/living/carbon/alien/larva/metroid)) sleep(40) @@ -61,9 +61,7 @@ obj/machinery/processor/attackby(var/obj/item/O as obj, var/mob/user as mob) newmob:client:eye = newmob del(G.affecting) del(G) - var/obj/item/weapon/reagent_containers/food/drinks/jar/J = new /obj/item/weapon/reagent_containers/food/drinks/jar(src.loc) - J.add_reagent("metroid",50) //Code no work :< -- Urist -*/ + new /obj/item/weapon/reagent_containers/food/drinks/jar(src.loc) /* /obj/item/weapon/reagent_containers/food/snacks/grown/berries diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 61ba5b60e5..1f0b313253 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -139,11 +139,15 @@ WELDINGTOOOL /obj/item/weapon/weldingtool/afterattack(obj/O as obj, mob/user as mob) - if (istype(O, /obj/reagent_dispensers/fueltank) && get_dist(src,O) <= 1) + if (istype(O, /obj/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding) O.reagents.trans_to(src, 20) user << "\blue Welder refueled" playsound(src.loc, 'refill.ogg', 50, 1, -6) + else if (istype(O, /obj/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding) + user << "\red That was stupid of you." + explosion(O.loc,2,4,8) + else if (src.welding) use_fuel(1) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 80cb59b3f7..0f28b6eeda 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -146,7 +146,8 @@ var/supply_shuttle_points = 50 contains = list("/obj/item/weapon/reagent_containers/glass/bottle/flu_virion", "/obj/item/weapon/reagent_containers/glass/bottle/cold", "/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs", - "/obj/item/weapon/reagent_containers/glass/bottle/gbs", + "/obj/item/weapon/reagent_containers/glass/bottle/magnitis", +// "/obj/item/weapon/reagent_containers/glass/bottle/gbs", No. Just no. "/obj/item/weapon/reagent_containers/glass/bottle/brainrot", "/obj/item/weapon/storage/firstaid/syringes", "/obj/item/weapon/storage/beakerbox") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 98b55f38ca..667c1ac62b 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1122,6 +1122,9 @@ var/showadminmessages = 1 if(aliens_allowed) alien_infestation() message_admins("[key_name_admin(usr)] has spawned aliens", 1) + if("virus") + viral_outbreak() + message_admins("[key_name_admin(usr)] has spawned a virus outbreak", 1) if("retardify") if (src.rank in list("Shit Guy", "Coder", "Host")) for(var/mob/living/carbon/human/H in world) @@ -1491,6 +1494,7 @@ var/showadminmessages = 1 Spawn wormholes (Untested)
Spawn magma(Untested)
Trigger an Alien infestation
+Trigger an Virus Outbreak
Ghost Mode
Remove all urine/poo from station
Make all players retarded
diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 67d2e14c99..3477e1a81b 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -40,6 +40,8 @@ set category = "Fun" set name = "Cuban Pete Time" + message_admins("[key_name_admin(usr)] has declared Cuban Pete Time!", 1) + for(var/mob/M in world) if(M.midis) M << 'cubanpetetime.ogg' diff --git a/goonstation.dme b/goonstation.dme index 682008dfbd..bc91349987 100644 --- a/goonstation.dme +++ b/goonstation.dme @@ -173,6 +173,7 @@ #include "code\datums\diseases\flu.dm" #include "code\datums\diseases\gbs.dm" #include "code\datums\diseases\jungle_fever.dm" +#include "code\datums\diseases\magnitis.dm" #include "code\datums\diseases\plasmatoid.dm" #include "code\datums\diseases\robotic_transformation.dm" #include "code\datums\diseases\xeno_transformation.dm" diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index fdeca47252c874684a5b28893ae7b2fd2c809952..27bc3493b8da1813ba7c7fd4f769f39cde8429d7 100644 GIT binary patch delta 6700 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 delta 6804 zcmY*-by!qS*!E$m1(xnca_RU<*OG#SAdPfOmnag45|l0l1SA!tLmCk!7ocvK}~Jj4}Rb; z{`yt-oZq6=xFPaIl%cAY7Gb^XblCE;jq5@ytz2b86r0}4*Ri2vgL0QkJ^rD?B5ir* zmrCXV^Mo{Ft~6A9#=xNDoV)l3K9jK6hzLdd?8;-x@}3-I@Ni#WXK?{@`nC3hMI&6k z3v1c?-ark$mr=qUb(`&?=bh>bY`PdCpQd zy>{MBCZX5tf1;4#r*{K5bFVtM_2;hCANQO$!A|aSZp&taN)5|@$;@RvReIfDVo;hJ zB)5s`i1NBPus+>K&mx#N4K+vq32{{24mN{&s(HT!V4gGK5^<9y-ab+z{uj?>@xKR_ zO4|ckd;%xr#)L}&-6>*RjQ~L7tFEk|k55<@X=w3?+GsUzo;l>d{*hhb-MbL?qn4G>0Qw0Z zOdZ?9_UUUCkDI)=Gen4P%yY4P=QZpgsYf|5gsv_r5wl#ZQRRLh&i12=RJ{%R!{siC z+tlhOiO*VJ2`>cf%ZknwxbN}XdCzw#i~$#>C{q6{tPTp*~M05Dcct;Rdoe^=f>uu%yf_Lq3cJ^MiudL}&> z^nJe|TP^|khA*CUM}y(ye|nYn#|IVHOmwNd@FI1D(Y=BGG>2JbtifZv7Vofl;cQ{h z4P)1DWtivX)3Xz8)jZ4IY)DSepZ$uib;(ajcky}$b_Z^tX!c_{eH6d(E zE_@V%zYLb*(pR`x1(gRs4&cwtmVRlo(j5ngWMckl^kVbdn|t0UGbkAy6QgTk5#QV_ zW#%&=T3lMHcW>B`mbTKdj5NMf76oie^OnilPx^!kop3sLrh+vgjuCb>WRF5{;P=WO z^aXy+`6CHH*}sFCQ5^4MVkr_bY8_Vgq}N{}v6b!PTlTa570~nikiN-NGkq@+)HOCr z1j6(Co33Oa7aK=UE`QuUado;JS<5+c@rtM4rm`QJ`fNR4ZPSGxcv@=N^{3hv z<=1jZx;z{Hu{Jx;L#TUvn20vVZl9Uz2@WuK#|387C&t?0|NMZ_gc&>Nt(mo%0*iwb z-w&nc5JB0}F%0D{VZ}V~B*N{fji% zk@uqRo$Nx(SJXd#FSe~P!vMn^vu@CHyPRgZ4~JwsM-vfw=KBoyUnzCG@nErAkgO5- z*aaiV_p*oqz$YL;4^`LDFmfPM+*bE2umgm~)U4O;4oFK502P&$J&!KNt4inxCAYS> z(JiZ;CwTZQS|v8GWuwkf`&}uAPyK1#1NLw9x-&S}*HD;WZbZ<@O<)GeB>6*(emFK? zzxCUEN<`qCWs5v{V!jq%&o>jWv+%x>ODyIsdV)P}0n#UieLvpFy$RW?F|7Ldk&c3j zs-%zkEjLPYa>-?_Y2Lj~R#a59vEMXrdw>g?Z9YB*4Z*mWK?OB>Y~BJe3wrL6S$X2` z_o0QJgdQ3-+okhgvSBZYl=|dNplU6PPBpGn<}Qb09NA|l{#c%Abzz|F`E{HO*}DV< z`(M{neXkvkn;To&ZK^jaZbJV+Lxic$O;CW6BP9vIAp4p^MMVYfodB6_BIK&f$a|?L zMa|HkJ!-&h$AXik#%Tm-sXBsL(}{UJEOq;Yd&lmT4fQ05%xf05Ts_KRgpxEwO^l00 zk1fRKU8*ADr3o*M2x#lt!jXbg^yLdqme2V3_)=|0&hm1#Z95I7EzHQw3)|V*`G0Om z6S8MHYPuAzSCirg=@@RC?i0x1cS`3k&; z|0o4ypZT+`+-JL~X~UBPGw@~cR94-|+ZjW3a(;k0hM2M-^QA$5ZI&tk=w$e$UG<;| z#%nO-?_Y;9lUf|WbG4WB<|u9ARaxU!)=`_LrlyUrBUbD~IaQ=MA%ZUThfE5%)~{FP zFhJ)y=ykH8TV~comOv@*$^(*Q6 zg^2jfK$^^Jx87!XPISPri3~yiLUT}W)B^ukCpy@9{%_IMyR1IaTb@M*jC6F!DoV#` zM^~@PbUg(AS*~-h7h=GJU6&;cXp6FnUD0!s)Q8+jy*!pHA#ee?xy1DFneBO@@UjAv+UUDg1zXV*p@@@Ro)1;A`XK52LH*!BR#2+9SWNG z(}EWZHn0?$yYLr%_u-(}`7Ar%Jvd=KNAFBl`Q1q(n&<9$dXnj)T;{rueA~)vN5tHQ zN1b_(EFZyfRwd!vGn%f89xfk1?aPKb9_`n_Z_(PxQb7$)4@-i@OfTOXK0#exULITq zmdxEfZ5(G#W`7_kNX(SrILv*2_X#g+5^A+4{U#92hP0apMU2=-I>6(H_@MI2Ikpmm zE)xVWyXrK$n5Bm2f5N}`H?Qp{cs1WT#&ddNnEJhL8SwOzE@nCvQeZ833i$bL-$J*y>@^@zc0ZWZPKujhTgdW8b$>DKP zf?_he(kgjDN%vt^76Z^8Q;9Qzx*&_ky-9Sfj#_RT_XMkiAX0N86AZH8yg$Lw*fA+mrFEEajMp})B4l-@a1D%d9mNy9BbQd z@wE4NDV(7cZD;#=9g+WbCOs!5{6%^B#bpZDnERO0dp3z|kEzagfYkS(oFVG-jNbnK zjyzB)%9k)oXCrErQOXy-d2i2(_1^WmC0IU{QTia0x3Y6GEG)L3jnO1r1nV2B8Rsn2 z7OT?KA44_a+s_Ppr55>!uccfE^900ITnVvD?+eC$Tw<^=5Gf_IL&Jb>nleLP!}4=0 z)UMLuQ!CCiIwCtHZVZU!8&mLM2?^y|*+E#h~oEylRfNyBoz;~8@h8t58 z^_=>1Dk|8K{Fihu9PLhsSPqXO|9)MH$u&JeV0$nAdR0fF)^*FPpy%y{)eSWG1&b`3 z=V3vbcgsAHNxX`FJfn1E65FFNVKCD2eiB#ZUDv$2HG{Mt-`<5VFXzD!lUk6zh=WQX zv#+l&3mPaRPMWCbe5fwPgf8HJA1nN4*U#)`lQ$$=RX-Jqm0teYdDBsN3A2)kcW_pJ_S=wAPGc)60;YKmf?GcIT z{^H6Zi@ZED;`a)OdP6M~bma@Qe!8$pY6^bo>qe9#JZ05V_&qK7hNv;FvmCW$y+oqI_5 z=%+Bm|K2dBxG#+z&##4%C<+td8j;UPn|Om@$)ywcu1f)88>Yv4Y`TVMc-2!;Aaqj;aY`BzkA{YZj4VG-=t+D}W>gB=J-%e|te_%*QN3n_^bNh} z{?1h}&s^I1RTd6O^g7)*p~LNz88|!h`-lD7ni?HTOJV@+&Ae4+MK3rZA>mS%ZExZO zxT#!xOHKLK;n&D8vIJgJrhaVY0^JF4_S@{P4uy&+1mQS{ppPFVAC$ZamZwk&g-7=e z4(^E@36qtV?d-Vz10o3&K@#!p7b2SBKj$PhEW~dXot#lnO-sj1EqjLFxrPfDr^z$Q31k&7QEoG=U$D!7q$%FKU$-$q)W&~g6uka;CUC>AXtdf+C z%lw48o9Eacvf|-{SDApe=5$1CZj}Vu z#)Z8WFJaT=on#;$E=keGV&GXz?-1n@vB}}UY;amLZnw>?TeUGsoNCg>#3R-u3CzUI z%oy}V-#G6c(P2G7BG@cTorM|3{#o|9ke5WI0WjO(VI&LgI)buFfGl!slEnHS7)zDMcby@|P)^1UY8cJ~Po|>ZL#oU7PZip&gdy{EAr=NFSR}_sb^G$e zm0o!|(EC4zp(&pL2mU`eMPpxi7SRL>kIuh4z-Zs}wYf^Dx49;$tqSPZx|rEn%=7A6 z=jIOSrp)1`2Ib6PEdyawlfT<{uxDBNMJQA-*3Ae5)RGJ9k(<8x-@h|fR%V3m8|}4k z))QsFWM_<-VNs~dNAW-Rxbfm0y|6oS5| z`TEUc0fni;qj(fFGL!%a`Hx1@Rz?^rReQra*T)mwwD7CH@T*C0)%E3ynMu>;v#2r_ z3ck6JWAw?bry}RnQna;Y3kG*pBVF{8=Hy`;pIO+|!{mEee5y6nILO|yki9FmD9DFz z-7DLX76t0sIhv$o*H597!|NhP7FGi2BRdIp-uw~xj-NDZ5>#Tn%9zi~&6aO+fpNPn z3M}=wbu&Fm`Nba6@8o)>M7pdb5S^dfu|H+`msV;p;?uW?0tj8Ew2qKjY#qN!@l{kT zK>M=fjJ#%9mJjLPz z?12$(BHO-Mt88=0o9FcvWwO!0&`PlmOP~Hz?x-5u)(9gJE``cZ{_|T(l&7(1@Qj== z-NzHv#WbJzXL|w6hNTAO$S2rzDkkNIy*06Dz5XGhuLh<|@j(4)7Kowto4m{;2e~d8 z_a8(cjbH%*AiO!2yqgk@Rg1YeI5;GHH%Pu{Wk%{2sD7O-(#rg@w+K2ImMz@8SjaI( z>tb!Md*AP_vdE#Kg#Jf5+ANg$BTi|a7GEBTXB1A^=Uz5x^L;fNw|}-w@YVoB)?ayX z^PtcPxjn@bWp_B053YSS5AWhm+>t3P47tFwewc)W3YZ%H3Qeym%BaeRqqR?|H$dpsDK@}ge;}JKb)S|^>GUkn>}xc~YU)$JYCL2AUR;g&1*d^UsUVM&1x zK^UN(JPtC1cG>7Y3eXSZQ78LkydFB=eF(}#I52YAjEO*HA3z~!5+0xNx-ER!=i%zA zte}8_rGU`ZCNdMCe*E|`3ltJb%!R44KVp9M!ughUOD^~$O zvh~PQqKqdW4V%)5689<0WF;n$+y7GyUnzOoH;$O-lcP_-b(%(?b<+=|c zBCk@na}$aE*Jq^e+Va0wpmRdZ$PtUNf9(2lf3D>3+i&FK=-rUJtGu7M#eF5#<@ilx zvQK>G54-Jh=Q}7)IBoXH1ohF;k&cc|q9IcR1AhtD=qHWLRZcdgZBX9&K6qR^yX2ZR zP&MW0q)}MHW^mzWFxXvPZlcR(Oc5A3`f0n z>Kac?U#~+p0+Nh0$w!??WtzR>G_mv`=`g0Ql{!@Qp0|i&I1CzRM`Mc~i1V+sSGUvq zKUw=|KDvbR&VKZr2BR7ThwuGiObL&6XVFiYz}rkrMVdM&3-Vk{T&c=<>Gbu=YQT33 zrM0okT|a4je0-eL2WZbpkINR4?Y7H{R+T@kgf6j_aGj{`T(W2EJlPYINDE$8w5*aoX`ny2ryg5kH;ac|%0pS_KiW_|qmVFX8f z>96~F(KH938t2}UP8b!^u&XNy(Z$K8Lg#s(m5WGGuaYwd9w;x!sQgE=Gv&Q4`uB#K{JL$2)Q?*`A8Pc76dyYAjXYqm{2ZTK32O^N> z0bN}F9SZzBFLutB=84~+lg_2fIq@}xj9i5@6an;nU>?2o2gY&jF5nDn$Cp;s#^?xp zM&_?SA)!rvfX2Ww*^z!6MVu;O%Doo~Q?eGM`aV61N+=I5F}T?*yK=S}H5z=sjsd%H zgp7H&=ff3~C`0lzj#6@!Np{D!Lxp_XI{Sd+A<2X;M@g2qVOx0H)*;DtMMVb0al!1i zFOhD}dS96EOb*(+AS8NsXfkwNvggp!d>#56`2SB^SF^y4{Ld@xv})^SK>)x90Cg2@ KS|bPz5mn