From 428cd4a8bdbf04d6f77200df66779a61196d0816 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Mon, 7 Aug 2023 15:39:13 +0200 Subject: [PATCH] [MIRROR] 'Mirrors now display your reflection' Redux. [MDB IGNORE] (#22914) * 'Mirrors now display your reflection' Redux. (#77202) ## About The Pull Request This is a revamp of #62638, which is in turn a remake of #49833, a whooping 3 years old PR, that adds one component to the game, used by mirrors, to do what it reads on the title. Thanks ChungusGamer for reminding me about it. This time with vampires not being shown in mirrors. ## Why It's Good For The Game I'm going to post the old screenshots here since I've forgot to take some during the latests tests, while I was busy cussing about a tiny little detail I couldn't achieve (see the documentation on the component path so I don't have to be verbose about it). They look more or less the same, except the visuals look a little less cropped now, ergo nicer-looking: ![immagine](https://user-images.githubusercontent.com/42542238/140630271-b002fe97-59c6-4781-abc9-02046c002dac.png) and here another from the previous attempt at PRing this: ![Bolshevik Spess Junk LV 2021-11-07 024750](https://user-images.githubusercontent.com/42542238/140630301-5ca687ec-153b-4f7d-9e37-76fa038c6299.png) ## Changelog :cl: image: Mirrors now display a reflection of the mobs next to them... except for vampires. /:cl: * 'Mirrors now display your reflection' Redux. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/__DEFINES/traits.dm | 2 + code/datums/components/reflection.dm | 125 ++++++++++++++++++ code/game/objects/structures/mirror.dm | 16 +++ .../mob/living/basic/vermin/space_bat.dm | 2 +- .../carbon/human/species_types/vampire.dm | 1 + icons/obj/watercloset.dmi | Bin 33839 -> 33876 bytes tgstation.dme | 1 + 7 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 code/datums/components/reflection.dm diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 21c44e8ea25..5496b62277c 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -978,6 +978,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_CHASM_DESTROYED "chasm_destroyed" /// Trait from being under the floor in some manner #define TRAIT_UNDERFLOOR "underfloor" +/// If the movable shouldn't be reflected by mirrors. +#define TRAIT_NO_MIRROR_REFLECTION "no_mirror_reflection" /// If this movable is currently treading in a turf with the immerse element. #define TRAIT_IMMERSED "immersed" /** diff --git a/code/datums/components/reflection.dm b/code/datums/components/reflection.dm new file mode 100644 index 00000000000..b8b51359ec6 --- /dev/null +++ b/code/datums/components/reflection.dm @@ -0,0 +1,125 @@ +/** + * A simple-ish component that reflects the icons of movables on the parent like a mirror. + * Sadly, there's no easy way to make the SOUTH dir reflection flip the visual so that you can see + * the back NORTH dir of a target while it's facing SOUTH beside adding the VIS_INHERIT_DIR flag + * to the target movable, which I'm not doing to spare eventual issues with other vis overlays in the future. + */ +/datum/component/reflection + /** + * The direction from which the component gets its visual overlays. + * The visuals are also flipped horizontally or vertically based on it. + */ + var/reflected_dir + /// the movable which the reflected movables are attached to, in turn added to the vis contents of the parent. + var/atom/movable/reflection_holder + /// A lazy assoc list that keeps track of which movables are being reflected and the associated reflections. + var/list/reflected_movables + /// A callback used check to know which movables should be reflected and which not. + var/datum/callback/can_reflect + ///the base matrix used by reflections + var/matrix/reflection_matrix + ///the filter data added to reflection holder. + var/list/reflection_filter + ///the transparency channel value of the reflection holder. + var/alpha + ///A list of signals that when sent to the parent, will force the comp to recalculate the reflected movables. + var/list/update_signals + +/datum/component/reflection/Initialize(reflected_dir = NORTH, list/reflection_filter, matrix/reflection_matrix, datum/callback/can_reflect, alpha = 150, list/update_signals) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + var/static/list/connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_movable_entered_or_initialized), + COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON = PROC_REF(on_movable_entered_or_initialized), + COMSIG_ATOM_EXITED = PROC_REF(on_movable_exited) + ) + var/atom/movable/mov_parent = parent + AddComponent(/datum/component/connect_range, parent, connections, 1, works_in_containers = FALSE) + src.reflected_dir = reflected_dir + src.reflection_matrix = reflection_matrix + src.reflection_filter = reflection_filter + src.can_reflect = can_reflect + reflection_holder = new + reflection_holder.alpha = alpha + reflection_holder.appearance_flags = KEEP_TOGETHER + reflection_holder.vis_flags = VIS_INHERIT_ID + reflection_holder.alpha = alpha + reflection_holder.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + if(reflection_filter) + reflection_holder.add_filter("reflection", 1, reflection_filter) + mov_parent.vis_contents += reflection_holder + + set_reflection(new_dir = mov_parent.dir) + + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_dir_change)) + var/list/reflect_update_signals = list(COMSIG_MOVABLE_MOVED) + update_signals + RegisterSignals(parent, reflect_update_signals, PROC_REF(get_reflection_targets)) + +/datum/component/reflection/Destroy() + QDEL_LIST_ASSOC_VAL(reflected_movables) + QDEL_NULL(reflection_holder) + return ..() + +///Called when the parent changes its direction. +/datum/component/reflection/proc/on_dir_change(atom/movable/source, old_dir, new_dir) + SIGNAL_HANDLER + set_reflection(old_dir, new_dir) + +///Turns the allowed reflected direction alongside the parent's dir. then calls get_reflection_targets. +/datum/component/reflection/proc/set_reflection(old_dir = SOUTH, new_dir = SOUTH) + if(old_dir == new_dir) + return + + reflected_dir = turn(reflected_dir, dir2angle(new_dir) - dir2angle(old_dir)) + get_reflection_targets() + +///Unsets the old reflected movables and sets it with new ones. +/datum/component/reflection/proc/get_reflection_targets(atom/movable/source) + SIGNAL_HANDLER + QDEL_LIST_ASSOC_VAL(reflected_movables) + for(var/atom/movable/target in view(1, source)) + if(check_can_reflect(target, FALSE)) + set_reflected(target) + +///Checks if the target movable can be reflected or not. +/datum/component/reflection/proc/check_can_reflect(atom/movable/target, check_view = TRUE) + if(target == parent || (check_view && !(target in view(1, parent)))) + return FALSE + var/atom/movable/mov_parent = parent + if(target.loc != mov_parent.loc && get_dir(mov_parent, target) != reflected_dir) + return FALSE + if(can_reflect && !can_reflect.Invoke(target)) + return FALSE + return TRUE + +///Called when a movable enters a turf within the connected range +/datum/component/reflection/proc/on_movable_entered_or_initialized(atom/movable/source, atom/movable/arrived) + SIGNAL_HANDLER + if(LAZYACCESS(reflected_movables, arrived) || !check_can_reflect(arrived)) + return + set_reflected(arrived) + +///Called when a movable exits a turf within the connected range +/datum/component/reflection/proc/on_movable_exited(atom/movable/source, atom/movable/gone) + SIGNAL_HANDLER + var/atom/movable/reflection = LAZYACCESS(reflected_movables, gone) + if(!reflection || check_can_reflect(gone)) + return + qdel(reflection) + LAZYREMOVE(reflected_movables, gone) + +///Sets up a visual overlay of the target movables, which is added to the parent's vis contents. +/datum/component/reflection/proc/set_reflected(atom/movable/target) + SIGNAL_HANDLER + var/atom/movable/reflection = new + reflection.vis_contents += target + ///The filter is added to the reflection holder; the matrix is not, otherwise that'd go affecting the filter. + if(reflection_matrix) + reflection.transform = reflection_matrix + if(reflected_dir == NORTH) + reflection.transform = reflection.transform.Scale(1, -1) + else if(reflected_dir != SOUTH) + reflection.transform = reflection.transform.Scale(-1, 1) + LAZYSET(reflected_movables, target, reflection) + reflection_holder.vis_contents += reflection diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 53ed501787c..21767551886 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -9,6 +9,22 @@ max_integrity = 200 integrity_failure = 0.5 +/obj/structure/mirror/Initialize(mapload) + . = ..() + var/static/list/reflection_filter = alpha_mask_filter(icon = icon('icons/obj/watercloset.dmi', "mirror_mask")) + var/static/matrix/reflection_matrix = matrix(0.75, 0, 0, 0, 0.75, 0) + var/datum/callback/can_reflect = CALLBACK(src, PROC_REF(can_reflect)) + var/list/update_signals = list(COMSIG_ATOM_BREAK) + AddComponent(/datum/component/reflection, reflection_filter = reflection_filter, reflection_matrix = reflection_matrix, can_reflect = can_reflect, update_signals = update_signals) + +/obj/structure/mirror/proc/can_reflect(atom/movable/target) + ///I'm doing it this way too, because the signal is sent before the broken variable is set to TRUE. + if(atom_integrity <= integrity_failure * max_integrity) + return FALSE + if(broken || !isliving(target) || HAS_TRAIT(target, TRAIT_NO_MIRROR_REFLECTION)) + return FALSE + return TRUE + MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) /obj/structure/mirror/broken diff --git a/code/modules/mob/living/basic/vermin/space_bat.dm b/code/modules/mob/living/basic/vermin/space_bat.dm index 6fa1fd7aed5..3ce1b41173d 100644 --- a/code/modules/mob/living/basic/vermin/space_bat.dm +++ b/code/modules/mob/living/basic/vermin/space_bat.dm @@ -37,7 +37,7 @@ . = ..() AddElement(/datum/element/simple_flying) AddElement(/datum/element/ai_retaliate) - add_traits(list(TRAIT_SPACEWALK, TRAIT_VENTCRAWLER_ALWAYS), INNATE_TRAIT) + add_traits(list(TRAIT_SPACEWALK, TRAIT_VENTCRAWLER_ALWAYS, TRAIT_NO_MIRROR_REFLECTION), INNATE_TRAIT) ///Controller for space bats, has nothing unique, just retaliation. /datum/ai_controller/basic_controller/space_bat diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 4fff061ebf1..d24e5f3d272 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -14,6 +14,7 @@ TRAIT_NOBREATH, TRAIT_NOHUNGER, TRAIT_USES_SKINTONES, + TRAIT_NO_MIRROR_REFLECTION, ) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutant_bodyparts = list("wings" = "None") diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 3358d1e3ea5f4efec9960b06fe88cd29df658861..93ab67c804cc841593d14a12ba385eac8ad22334 100644 GIT binary patch literal 33876 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

fk`omj|ota|d{KvkCHtjJNE2(FT zoPVt3<-ec#w>xpD^P0EpTqzxpDMK5Jy2S+NMh^g56DL0o?ktuxus0=p`4CHs61kY9bCo(cT{#jZFBN$8g_3x8g{Czgv5;OkBI~(y8>Y?5 zBYJfxce$Yz-U}YJxp-#osG(}3?2MOm`J(Wy+KAiP*?Cfzh@(Mc3^t>AD|b4ha|$q; zb%4d<`>n^UNv3G`ltfPVst*4MkVuVFE%o>i#G zA3EcuKLOG{x!#QxvijB`1>W2|J1@9HSIs!DHlh$)lvEoF@N=N!J*KZI?hRvb{M zWJL?p9KFOK6ykCyY?Z@TQ>J;^OT(pSh?nLUgs8v*INJfTt*K%pYs}bWuMR8??5x za8ZBp0s^_t%=Gr4{Vvt(z{&f8{b`|9Qq;C@eqP9iB*xu5fKdQIrEA%-?#-H@4a{FeHq={KrU~^43}38Ak&%CY7&5o2f0vv^NGZ1? zIwR73@y7$CTW!#I`TB^UZ0&wHDx-H&9sNwK|5}^)@HeH~&IfIgzK+d%k6m@*H}SnPj3*5hl0g_wzDQaX^Dto$2(&a^w^I`%6P7XVqCKV@%3Vf~-eMwYDU z>n`&sqfB9~077~c`A}P;0}X)&9XV5(Y#+XDcY2MGUr{o!DaHyhko`mUW{?KbJd zSmxXSIcH>a6z|igPqd6V!V>h8yD|aS0=@^;t%Y4(^jB-pZdYz&r%9A5Z&S)747(}p zUEevH{+(3wumRK}`9n9h27=yUUbz15jyOJWONdhMIab6I@)2xBSujl4}=Ax=-0~_RQHm2?+kJ0FMqfQOJ>46fw)Sf%OTK|;bc~TdrEcW5 z)U-Y65EpdQ5)sY1Bq(0U5pOcHRi50&Ys0$&ascstwj@*zFs`w{${LGEi)z#ObSYu3gQrdcc70`{el10t^rhU z-=F^Mt{uPGR{VE!IQaR+iobmEw0rPp@A4^fO>jTaK zmKTGbr^7--MSw$$Ej-YH6f5<6E$;h=_Uc!z49bQoB$GNDFke&a)|V_dqi}xx!^OtPERi>9Ty()v z$G6Ab`~f$&x86*>Uwx19)z!>^tWQcJ&Xx_NHg91E zuhs-e#PU$696;Z~TmW)Vw|wMGu0#wVgvTWJXl`y+G}A}qaq?4pd3o7<`$z@a*7O)b z5b|#aTo2oU86>?hBk}3A|K*|v0r{%#XIl;&K?a2)+fSQJ;z4^^NwW!-q zT#>4EfO>_lx~l2vC7ukAjfJOem;uib0-a;;P1>Xx25|*y)sdD0B{G|yCrI%8Op*sf z(ez4xzWjU{HuFzuwv~1VOLUSweSoeNy~@W=*WbUr0FLC4rpNTC*9g}B+va<0g%2_| zF~Jm4$;d64o1Dzw{{#e?8LCWKNy+sez{R7(!#yvIEyDpq`=_F^MhIA;qEydGNl&Md zy`o+BU;JXQ#Nb852 zd4+@B`R;p>tCe>X8^H0%9vi}dZ;yh>xF&KfFYuBI0)Z69)TooI^Y)j&FlD3OCJkgm z==F-JQ0g0m1xM3;Rw$~f!j(s&Hk}_2OEibfd6b$(2BIs$B|M508g^`6J>BSqU5ilg zTk!-yT}R1jot%Y0h=bbh@fSu$o9jKHg0=VA9~n=FPw^+GyXPf;nYy8rrBOQFtw)n< zq#9#U5R$B867pTuEW9=a_&jitr;CdV)(OgfghU5r04dAos;3cqL`O=ASngq%B7RR=zO$L-S~2(f`}>1K8#cj9Vrv1(IAWoR zxu#TaJLMWK^H*KxQ?H$|N_c0K>qAJ!DCn;Wvxo7^bxV28bCnE!5TQ~LGBeIGd{!OR zR}gxFL;MVu%Jurm?kn=T?+MtA-28IH0yLi(+1b^iurB?iE7Fn`XdDGOo>-+Cy99OO zh5fFUo`PYyf1LdLRu}>)DWI6rJdft*!R1xm^AM#D^<)(5pm+7-H4Xrsi%phY=s(Nk z)09iB2jWJ_)s=53GTO~EcxCeLM-`FzhjX_S9-81xJIc4^@0)8RDC5mECu1jc!o+e# zZ9?5~ahV9m*SMN_^&nMt!E>5VoyPc8;WZg;=qCJKjF6pzehz`qE~1*THBN>gf%UC_Ozw4&*1ag_y zggycb+V(H%H)u+ZLqeFP{oJK(TbDYGp4%*9=@ytqs;sVxnMxDh#M}|%IU0VWT$w#z zP4dIro?a!vCtXO<{8LNvTDFS@X_Db_i3IDdPa!jQq%t`p*P8D=$5E7|i@>HNQY0Th;GGcXT!Izm%Fonx@_eslLO zhNJ``o;2XFCp8=x!3O9uS|ToRJF?I5nAsyU2^d+^x8uUnO?o%)-q*#2s(>cbYFAzw z-exNC4i-7|zN?*UKG6FJz>+xE2i>bmS9EbA3}guUEACl;wir1+ldLzKy#=m3 zA~$6Vj8j|Yw(y~^3(o4>va()(QkX2h4)Gy8jZ6fH=AON9PcY|yA-v2tBcGC#_L=@CS}ISdA;bKriG0)jLmOn{ ze9w1kbWBYtHj?;Lw4=AvDnZja#ag`At)nG_h9Ut$wmQ*s(>`qXy3$yqPu05-lkXOj z@ZOid=}cjvD%g#L7VAF2R^-poCYWnad#U~^Hj>fs&Uuvp(0>cuD)5?nkBeI>Ip;hh z7{1A1rsL{xLIRnmZjB1lt+CByO@K(DrubP>Lc}a`OF3v){uKR;%R*~71B-+rZQ;CaMwN_W?M&&o)j*TS?%|3Qo z-zRq>f5Hw=k-1Fu1r(Ke!DOt>rW2um(jN$SZSCkl*7^hp(Z6+1LNcSJ}pKV5QOQ(^`-M_@(${ynJQ zAgv9}kJ($clX+&wFd`a@^(m<{Q*ZP_DGTpAULy_0{W!C&y2Q(j z3du(csWvJUJx_`gBHvp=FNpm1iDK9tuP6WVO@13+a}XZcU-ozAu}rxaB@vhro4Qgo znHD=y=CEcs)*gPos$rPnOz3o49z9!6Q~~>_RmDSjJ${zioh)f9xs$}jNdi$RXtq#m zQ(?hmnTZYjWmpQLW;lVvh2AV_FN{O9U(m>fS5lkEx)t4ttHClI&Q2AgG|z_#2@Jvg zmXKwwLoOJ4qiY_}9CV_=G$%B`gV_FJP;^Fe3eo8oQbX-n{d`eG-*oxm$7C!aTc8j< zr(+`20M3(0FIm*aqal+q{D4Npc(>cQ{b4~UvPu)S?GH*uGnu1_?l5 z99=zE4;(O}HDBr?07E`=)I4go?)-Mwr*p5+JpQm$YlUNO?VR?yu&Apmx3a3ru)6Eu z;GnOiJ9Ec2iUAV0g}XjbkBM-&4*!9QKu2I9z*Y`FdSV5f9Ey&=(!dF0Eve7jAw98z zzm=^(HOgcg`@7cbRtp{II>6?fPdaiXex=YO<5~|L*?Yf*t(NX{ViH@jI+tZp*TFbC zlkOmypv%TQPOCKlkgk0DMAJuaY-u^BEFPSI&4>Z#_!UZ_f`d$ZE9pn1eGwRS@uv7* z2ZO)PeqH4~E}XH?H%<`rx$E!cZCtpU6z@<6M!o!p4>u?+#&QoR#=02<@>Dn}b+1l(742-ECKSHm5ejorIfRdIr?8onZJh7F0 zG~Unw&0`Sv+O_viGTP-YvupX`gG>YScVvs50qb4rY`u$CgJ@8 z$IiWOvL<#v3OWo}L9+eesUuo3rE(12f07l zpoVH(=g)3qL+pY(R{wYe*(47aXP__5%|SqITX9mlrl!#=D=VqC<73k{7!Mi%?t#H_4v#N*yk*;r#6N z?q%qB1+(6c#$hQ?&M?WhJ3Tr&8Yt0BU-xV$-I7IaM1o*dhbZtmZ=49o2aoGM0zu)0 zSc(=`BIVDtrNR|?P$nCjgaFXLRe?nc>91{LFOpD7hxqyJWEDY&NdCFLv@n*Tj1?y=7zbY59 z2E1uU8NPOW5F!Wv4z@CkMBtQB!5NbkM2PQfPVeY0bJ#~)<8crDHz;hDxaN2rafD~& z=i~3M9`MDj_zWLBzuIoe$qa+#2V9`>eGEZSAMWP~K%gsREyMarBm?&H)!i;M|0aF; zMLlNjQWI6N7Mezfts@2DSgr8?js-<-!M1i3y}g@lx4wO%1wHa`$G30$0f__*sx+=u zwYM*-3q1bWSyoeHRB|_8YfYffR#6qx{@*ZpL+asBfse>M^q-z|X#7?Ei#uTc5rdvs z9wHa!X~>%BW}!eZh23U_z-`=bC7S?u#Yej~)4FfJ)@>H10Odsh#Pcw|R>as1>J033 zyjkx?jWZ|)5i?FPK2}R$!Gu{x#&RlH-qSUGG@RwR8tQc_U=j-;(DcQ`>XUQu_JZ7( zU0MqOtpvz6aj!jHghvdiJjxSl2Ou%8$9=m{8yBng=>>47zP`TA}F6wSE#4hIKkYGEM?6$2jxl9ZCtv#`JgZ06vXA#4x2 zd;d5iif9_l%w+I4OsMc#%@zEA>#Jxo>wSajlvIJfiBw(=jN|y--dX!n)?lO_A={ci zMk35ffQ8IfgjctE%6+d}Pd6hT*hU08iLKMmAMpK&Y~S18CmzWcX8xaZJk}9lpq61z zQ7DI{qVRU%kn_mDeqE{?p^T12HVRwAOGLK{km-78>>=n+B*4;Zgi&k@Ut8iku+bt0 zAr#jw&ruj2%yDfbud_+oN7HyUIhbnhcYKsC_*-fCyq6PGEn&UG14AQxh!WSYbvm)0 z%|ZU!-rD9LDh0r-3qca?#qw+eWn>q6mX)Xgx)7&obr}Jx{4K1p?5MvvAsS)o_T(ACXFILUNST=j&J(rg zxIM@G5Trp4F9^HmD>D+@tXG)-PQv%%?fnCb((?+Rd#`uYLQkK99a&)SgQ@3A>D$L% zHBR1}Vdh)qmt2&Kwh|8~I6|xYTF20=0-{;pg5)w(^D;06sob{^v7!?5lt?B=<@Etn zZ~t|4SvD|v|CO5rB`(B0k9Ri?SA;6<$a0*{w7P~;$BUGVtb7wyTStdreSd#n|6?qZ zCn*I*s2)N3!oriwZ{vwkB^WNnjC$`bC?xXv`aKw`P6ftNW3heZ za28GjKVHC<)y`0sr3_g1M3llm(m{n_w;vyT7k}a9UUE{Iaq$9 zYj-)$7Vjf+d0ef}7(j3Wli|-WK%lDdn9>!ZBF19fLf|mhYkWoEl%U=RiwTXw`p=Ve zh1i>Ol=TVgMgEN|ovHb4#5V}swAm@Tc_iE3nvb@#&tHok{(300y=w{b$A9_KnDcqE z03l8Rae-fA1h^vj@9u>CMsK(og_79+JIaM6iSG{-liqC#VhlP>T;bEPq+trxlMoFH z9IqN{;vbs*B6AIhNMUkIFbn)^2EBy?W8*o)-5(e`Dx?Qjav$jWGY!!dZZ zOE7=j^Pwv`bbh!h{QA|LuOcD8w6NBylNxXf2HW0D*%MT{wa+1NDC20^U*RN|6_b`~-p6H;} z#|-CFuQNCRnM%y|BOw+MD{#tgjwr4E4&px_nyfyp4w7=57Wc@c^)Jy&20-`riqkWj=_0f7Mv{PYkm- ziD?Qear0S(GGt>qAW!y$**QW^M;U^=w|Gy;8!kx@?Rs((rvqlV%KCNtJogwXh18@= zyxxprBDbzTp+{1-xxN&B{gLi{JGcprE=DY|4Lo-*Z^L2L@Q#E*_*ujg$Y*@I>W3`c zUNTS{3X(^JcuSM`EP=M?^9lPOrfA*(pqMhP4-3Ttb!YZ5phWm1(j z^A!j2HmF4FVi5~aGlhHN<={^Mus0`_{0 zD3m*>m#>#%C94QO4Sb+Ly{3jEUiBW+u+8y*HcSLRB%K?q=jr(_w&ooA1~c^2fcfD{ zQGz5(-rQNZoAuD<6?|Y65{jlaKpYHRA%I>hA#b}Mq^zKK-hBY*Z#Qjx_1KUtn#kR` zu8XA%)?4j9f!=o6ORw{8X>AQ&hlvzkjeZKDc*&0Be$xh2IZ9$m zGZhrau`xtwGc#u)D&>fxRxK8@zo~zI4FwDczT}6c?-fGM083av$b+Ki=J|Z);5nI8~!U00R)3IP^{wJRP-@(@3)p{a}6W6># zukaqo5EP(}I9iD$foF?Ul$4a9Zk)}}uXBl*?V@Nl0nyr|!2#<}`)+O>b2hdtefqXP z_>Vz);!~vGu$9{?a#)<4pBPxgsiXPE1k&JJpY&x9zmoN)s0Ayw*wQkyhEs z0E}bWAmm}vFRsA|F}yZ-?g<)4Fo>%1SSD5FL-`pjM14<-)Wb(T`N}N4UMijZ(P@8z zC#Cp>K-ue=D^-mjJj!_If;18q$NjQA94)k7ySMWp!DF>lJLSTBmQ1{SI zN{%1Epmbp0MlV_hU@B96z&}sEpPawJDBlxI%7X6E@j;@pcPVy!IrBjmnGV$Qk$vDn z%skA2B-@AqyF}!j9CDi><7;#<6Q+J2LvOyCA;1o=dgpjSuu@T%Unztez;)CVJm4FH zEYZ--!C#EgWvu{D9aPQ;R-o3y5-?5C<{}a{W#nH{`Au2a7k4D}gjc^I@Gkk_WjU0& zizaUo7c?}1lXINRL#8}AKcVAU737LTVhf32j52`@cc>rC*AisLxd4P$k6&YuP{QZ! zT2CTrz@~JY!!0nHc)K#?dU$$NdEW-+d)m(UHkRIKQQ+4bYRV{D{2G7^&(SVGR}U+) zOo?L>c4XioT9g`f8!$hHlen+s?6hvmZ`}@k|Bie8$s&!N$fQ(L5-hstsx1~t>I~@L za)q7>ld;oy`1sh%jlhn&J2Sq_^tYHhp>#K`mX5OiF%Qr>ikI^ipBmoO(EDa**FI>c zlhBe~-0jy`_C7d#{jn1!VcA|XOhuW51^A+qV|A)XE&NC`o$r&so+QL6>~GJjmlXMb z)_kxYMvp?9oB#Ts{l-85uCyNuyaFS{ak78%(I>F%+C>o@9UpHNTgZR}{?0{`LAL;W zv#LNbb*Hj=ObNw}(tr&YdI2m5{{+?8*tn>zP5cYsZ$*|2f;nI&S?x1VEU_4PTsBbT zhd=%nN6HO`J%qYYJZR&g;iSjT-x%-16W70gXr^6v(-Bcli!gDYA#9KS#*hg55j*_? z7_hER*8~-7{jNJFC+GS!9!l#j9U6eS8_Jrnj3Ff;z}TK+l_HS2l_Jk!{9KxkvSgeF z_w~=ponLFsic3mRL8@w&AXrnA7w#wV#8g}Ido#C6p(gr@ zt-bDzYp9jC*i~%D8r6_>{d!mfXdr(=>0apmG|G|r+he_(tu!uz!=(@F>#Jh>1?abb ztpT#Y-obIG#44>(0M=0bKmUJ>yHP4UqW3?NEq-fNZp*eV)19n32tA{J{l@Ku!{_%X z9l4HC76N+KP;m-f=?gA&=8p50IVEpe1dfZDnIvEx<%Ro@K&fq5Oo&IDs;!0~;$SBs zEe!&4|8V^z^q+)j2qmh#08<)qv`vV;??|Z-UriepPvQZqLFq zH3x9)yb?A#Ti2QV2nNk@d!foB(tR|INbVvuhb4DS4V$?w`u)Al+@G?@(B-Y3y5#Pn z+lW;J=pn*h@SmF(cI|9kVLmI0Nl&O@PC$9RH9|07#4I^!m+NP)JM5N+!4H+ zGku!q`YZ49e_FhV>E}W~dwJA1>c*0otVtnsQwm?KP$>sFDWXc2UNiJ&q=!z~$Uj8U zu0Sf`+8rUdaz7MZ?8QgjXLWgCZ$-)nB&Gh79hQL$+AgKYY-NMDtrll4RoG0ZZq z0LA^3|KW`PdKY^CIsjOo&j9d6*YzgO^K>*U49SSk5V}g*VL>y6TG<7!cbSCgRU$(v zjv+v8QdKCBPL>}6nYiiXJ&Ct)ghDCAM1QH|1xB@c28t(o@^<_s*V}m(*|!n$&Wlt% z3;UhqF@cY{hK+CAx>viq#GPB%mNqU*>`GqY8s4_4{^V;0#V`KwuTkXmb~_TP!BbU2 zxVTrKKIGwiaCYiY^Ks-@Jt@Lsd+Ex4T|d4qknuGugzt!=YnMEg$)$`6gz)bK_kO!( zAzcSlfIq$AIO@-^z8AQPW`(k`&7nHlmaxaaU1=lgG7Y2!F%>H9Q&uZy!0$2s_Qarz zWe{Ax{mVJ90-~a#qNJkI+nmu04l?lD-iUm$m4pLS2I4BKxUFhdyVFYwo(TKN?(5>w z-4D9~wO#n7n%8f%1Vgs2?T0S!Lk7e*%vA#tw+u40kV{xiWLmND%YC;`qX%BU<5Ag2 zfG%Dj3!Z|0=`9NZKbKXCT)%L+!oGcKGin+$&2vB0RPZYASaK3OdkATZ-d10qcyM^w zk4hj70xiJ(p9Uef7-(egueaI)LY+f$Cr@Qht3kyQFM{tL!E!TGPNW` zOT%rnbHxC)Ev!a1&5$CUY_K6?tb4dkP%NyhT(2)`p<|t=-)KNEhPypAEMFxO zTW`r6fh?u9>}|?UEv~7r1V#iV@74mZuL6<%gsiVOOofn%9CGm8E{|kAyYRjZMAPs; z@wKT?g?CtO+-ZHw%ke?Cgm8Pf%3Cc#I|p%h*q8)$20{N}EX-ZfQXtEJKFs%fEO5&7 zb2fKlp22nF=k8y-d(L~M1OBbmdKlk#%Ej~v?t`a6^EQ&6YL|WD!aCxu6eaF2A^5*C z2|1Kq*Ua$aw8VJ&M7vh%m>!td$0TuRj8Md5go}vERq+oPI%1dWZ#%KZ+?3I-r{aSg z7#SL#Pt;&=(u%u-7y?cd7PcN2nSoF8;lu+No1tUhzmtZU@HPec^A)-{%kx>+8m;u- zxwlX7y)ClD{6>0DUNSH*At|XHFzmAdojRt|PG9c=!Ge2i{iN-|wQFeU`n78Ngb&U~ zDxB7A8Ub4F@gxilIWUvx?W^qoH2PX_oSxhC+1hpI0rO_OI*f!41D_TVM<-QhKZvhj z0mwx0y}iA#XRP{zzk%?k+91dTC5!|oMr8vvX5gF#3RB3N03;aU;xMt5AkW;M9$T&M zQ;f$9hNxwq_@Sh~qaEYgs+PMA0>LlXB2rGmmUYIH->eY;9#m}{u@PiqOfz!5KQnio z{+Q>^-|hX(+7v0vNfZOwzRIm4!riVSZHbSyPW#+_dZLzjDn@^g`6*IP@yG38@7W-nS=GQG zSs_j&aR%Yr^_R}e$EUEfQ^v6?2Cxp`{zaXgbb!=i? zB^Sn|`Y^m^EAWBH!nIW(LA5VCjeHK9yf4FUdzB!xPr&*dE4c^u%zsOX^hcxRP-p+G zTqh;JylY0US+Jd-9`+VtLhPM7|K^W5jqs4?%J*$NHZm(-iHNtNI3d&;Cco`_@#dVc zWUg(pGBa_{)n0gFZSU@21P~t~L5TKi(%Qwv&+1~I*XjOZ%UTGPL9Q{Di{&p9x1ys; zv$TfB$4ULBr$d&lP$jrGfM8{L8$$3y=+Kx)EToL0Ii6Oh5DYhcjgC`yxU3m+A5?g% z6D6_%h<4$WYvbeE!zV)4-`$4nDbH~vzP!~exM}CzAc!FeRMOsl{rOa^@3lvOgY0(- zxn7&gLJ-bEh8?N$>~F7da$7E3Uip6hAhh`*!Wtd9*pNe9S^oZqD-7AKOe}X?5qsfE z+>*2+%DUSD)b$5;mfJWjUv;7e+^n#*8wqZKK{$nX2;81_WEkU`lG{ zV@Q(uwfF)p<3r&?fU=?E8v)X&iv=+k*%)ab(%qe&%c+Ap-MK5}T^(mIermTJpp=Bb zfGrYs7yGkGgL{Il;Z}ilW=hghx;0J<8ae6m>Q#TxR6A8IHttc_weRswK^E<65%ULR zibFiV&SCCC)W6x1>-bm2o=!UoGglsn-+YCsSXl)OJT(JD?HI-nRNMw_Q(m361GO}b zdHzp)^o7GGwEn^AlUF%pm;R08DC^d{n!LzOyiU4E)c(j*wTw8SDJIt5_V)HiaR788 z!B_0bxu+LE_09fKiGH4ACFv^JvV8PS%zD`_7q4u_zeIjokN(3g#Y)*cX6te&3FmyT z#1R|vsP)&@1XPBlIK!)bMO|li)IsBU`0`dTrwEx78wsBUJnTF3FYC$YlzV>~<+u)yI)SO&%(d#7_jx$=d_bvR^_52iy3T*tc_+lrXch`sZB#Cn6yf)N; z?oD20@7$IRe11w1eUqb$7pY_<)=il8~TDU@vsVON>?Gg_R zvfD7TyRM0*!NsWSH70TGbDtgWDo{a_-t81mRVOfaIniO@^@E3hPeJR;x$(BA&u7|g zXD9FmAJ+KWp8cC9M^04!`Sm_hMu75D?}7NRy)O38818ZIUSof=6`Mw?>4CDh2hs^`uerM~dP5$|r!Q?8 zcMrHm>5Ck}NrzZ$V4QdzKVVO`VY4qL@9*EJd*=kAzXq8SU*+PJs*~n zU?UOpCj6`tF4sw1y99O&zJDiJRzIC_(kfeP>#IzrW2V4*&JuvVL;I*sL-#RMD#Rzo zjD0AqGiwU=XlV0~rLKRsE^G$#{eJid$K zCR}vM0qz~UBZf+@6T)jBWE%#$^$|IJU;wr*+mDF>7bmMSW|TnEf)G^``?a0OW|rlX zm__Hr7Unku{J!5Jk7~sepctMjiH`V0#t*kRR>DgEs~z&wCVVpXq{trWO{BcE-v0*w zgb?Mo-w=0))KNt}!~?x>+5gx0YlMjFmd3dk(W=5|Pwfs^Y)f!{2Bs{ttyua<_TK4-L(2{q=ppy&^bw7(mPfX3K7jNKju%#V5^# z0hN^u7c82n!!1|RA(d!L3xUZ71iiC3d&?@;ND0q}dLsfLP1gBgQk%<+tEK&6AP)C% zIv3orEg|fk#mL6^jCpKEmIKbqm#TV@U4EGX!;7PlC4fT_j6pCzl}T3O7+OAXkE4Rh z(I3&`{tx`z@r*f!16jpe7y^VRg61h}!h&j_iWyKVcG!fHr|NOM7mg%9CccUPz>NlQ$)>rloLO!j;Pfp%D}QoW7>*7X!8~b=rhjL$7*z=(Z?8X0Dux2| zs=r@cWND93!)K+(tbd8Vsr4KC$#GxH?_7jYW$sw{wJrWhdf|z-{)d;4TF6Jxoq?xb z%HK|~W6A>*W$>Oi;hfhO8ZTB}y1)a(Zk=<||O zOYzf?{a4t!`?p3AZ{4?qwvru;)gAic$u}2UNi$u8@h;Et~H~7MjdX^Qj<#;%syTdHo;su1}!TCo) z1tPjI_I~=@@|Qm(Je}85XHNS6i$IlFz(vna=Sizh3Fc3dK1_BE`gmYJd-Z><-!6Ds zAPT%YmkD$*pqiR8hS9Odd;YFWfUP_pMJiUdH%|BNXe}QTLSQPopUvo_BOp5^8=<9; zonf_s=Wc^PTHpaw!B=!OK!SscgMmr@LQR4N3GD46&)I)A={yzsLQT~Fh2h;U@k2NgXR=EqfCu_Qf3FPioxabTn2?FrBp)#A&x!VRu zbVybxQoAnH_>V4XwZYQNjjZ02v=81@eF}$sg~R$Z2wR2a0Y-GNOzXuFHa+uLywq1D zQsNT+GA;NmF8e#9H7N$*G8PcnD;q-4zRIiKxb9Zg&$3Fl#{x@)iv@CMf-fHAx-b$P zs*v!EDOBJ$iXatt2@gqL*vmeb7@MO!&NGqq_hB^3cNU``-rR)*Blczl2!hN-jo2a74Ky{_ z-5;&L2gD2hEJ2LBlXAz-zHVSp86a#4@#cZSAnwUtJ#XoY>?a+;CqVYu+AI^#RQOh3 zFcubVJ3|oHvkW-VKxgZ5N?$M0U~SmNkcns=tz87u2=mJU92t)B4srtlwO;IdNL@ex zV{C5VjMvJmgGJ%MjSA@Auu+4L32m}JH%$o z?8RcM)uqvBa_~ko)ts;wX(A`&jvW}#YnL^{mDGHckw6c&!(#+9!O)Y@_4!q)@rKds z1S`V8=D>?M4veSg9JKu%$p#qCX_z(j&6!9$7MNify0u35LXASrTSf>VJk`{mF|%4l zUB){}&`OHJ3t?B9tLEG;0Pp>Hb_ekC>oy%gd>F5*Ja~G%ac=<(dbdB}h|6#;HT#7q z=j6Js28IGQNA3AiTyO=d0IVsaw60dd#;kH_%ipN8$Dso0=b;V}7SiqikPf1Z5gQ46 zssegSe?4Ki|y1+35%~CyvhSOB*Qq^XT55V~W4!>Q=v@AZS zt$u?1hMrjw6U3}vUb~|i#d>Xt*U*I4o-tt??@eO(bpu21&6KP)7%9on(9^D39&CT| zCOL8yg}|ET7ek_b)d*SQ7XauiuCDg*y~A8@>M_Q7$pSpEaI~12CpzWKtzZ0PK;T3! zyuH$FsGg#U1+G1gT85UXN3j$F9444+aHb>ky;3z=4MKbRhVyuPs&({GQv#t9jypSL z^j+iQlL{qRMZSj-z4>VA`rJ`|#5&XvN47SpTT=z(!(ds#WO2KVoWWd%=J zv%>8ATvf<5V?KT`V9+awQSHQ~on>v+q)_o0sBkg>UQb!S35OCo0`b@&ZqVo;L{Vzvs+vTYa;dt2pJ9h4S&ocRsopVD{Gx*D$^($`n z`W>AI4Q7g*dCI{)s!2NW0kAysx14_Xiba_0Zo>BWtL&9%Yz;3N0`A7!gFktFA2@-M zQp66C@w26_&oV>g%L~(ykX-Rlz&}L-ZP^2$zw}y#)E$UAM~AKgap~DZAOeS%M}`Uf zEc?272-;oUEW&^!sFi$fM%_xsgyD7Ifk`5G`_80`-~)WbbT8nzn^%YMs91t*{2bmx z2x18-|6u~_%gm%z+WqqUSYb6uEBLUN*NGuhEB`F51Sa`5)n@oCH2`_#GFt6wQO+fb z8T+dz5QRK(b>mAINX#$bOBygDy1?>Y6_ybY4WIRcJ5E9z=UQuD3k`rCzLPjDM|zHC zcfmMYdJtv+IGuL#y`hYZZp2oAuh{`=r4&MbkKXR(#YDf&PlPc()Kc^Dg+LhT z*nOXYrSAjy9zo;`nBFs$ z7eBxKr66N8I17Z$F+ue29{K$s{n`}ig$_rD$#>LZzei>4)vew zKm0xuX~_VR&8h*mE%SsblOV$`0sfMm&2R)TDd2rOVStF4l=}+RaEeCwr7gGihkXZL zJ%{LMSSxiSrQPQWJ9(5NOu}>^FR&0A<**bcW*GOVe%16{P#*Q+NTQ!JX3Y3QkFw;d zc_tRe&X;nI>JIC(KuG9}k+pD4 z8+R5G=ykHK;3j3zF_CLi+zwv5LIm;O+Oi4X213k2G<8}+iZ0`xFqTZ4|Dx82pc4=i zClMsX6XwFHlC8^FY@nK|UN4XLW?vR0Y9vPH<@IP(kqnp%hjTTaj~pM$lP8T@a^cBh zkbqO}4jZ)T^+c&6YJ1t2R*bEpYp!@WD>c@HfGjXf1*u(UzpnMjBjlf0xgV?BEhRG- z0)!;lABgQjuRN{rm2@*Q=dHs##2-_EfubNuQzz1M#i$x-tk+}j_NcO!3JzPCB$7UBvKdQ5umc1m;1?57;sX@ zWVZCH$K85Jg<%J*)S>9%gT+(oE%a9)4(J^wQi0;A%xd}DfF0b|F!Me4+lOO`vuID% zk2T0Fb#KWbH(Ku=uigXHnwVU~+TEjnKsN+50KYzv`fRX!(DeIff$v8v-!^pVMCBK9F)KyHVcTSQvkE> zA1-ePt@ZY-ifg&EF4!1!t-Ew=-#jKFA%?7@M#+CVy7JMiT@Ifc@maoQd-e z7y8tt@x~Y8ww-5@ee77QJITSCWbh^yP|OD%l&sJB1zSwVM>*qJ{4OeK(@;r%)8P8j zdHo$}&v~2A3Eii4hE@%3q=0~~*Jm84wsp{>dHYZ(Mhrf>qAK}-FLDSP6=vEpXGTP?G8|ERuW#k2+^J_Qk;u0ZZQpq z{`qs1qz}y|w+TW6n5xzf(ryc!p7p06OJo{jDL-E6KNWdDj=%ceTHn`;nni) zh?+WncX)IZ9`qUxPY3o$_v$?u=tV$RHyFr^`GY2BKPlg};rCb1SY|#sDfe6}vPSn` z{Pbr0==;0{cSfaPEZGC+;H3X*_5VDLWj=4Z8~Cv3yoi8rd+IMK@4(O{0ANrVuOXTC zBjs#gE5k?Pt-U0)Nt|zqcYHMjWE+TFo()2;^X>G6?72}doK=&PB8Jhy-eTZV3jfK7 zJ0G@cdf4{0HMR%kmuNa}A~ptAcfIex1t##MgJ8#OQX^b+-o5NR@T_C&2qGx?b8HA_ z0t#uySC~XQ-WS8{zkVti%Ik$975)+pq^31sly3EyFziXY5FlZM-tAduR%CNl3W_C~ ztJ~)H$&YWA0+e0VgtSkK*VyQdfR+rTr-0Dcm`D7dmO$q%UMn^~6qs3>nHIpo6>!W{(4$-7$zr zA&3oHL2WIt!PK!e$g8slk&O`*D6sflhvWJ@pF<)yV`@8cN6k014%9 z-S7O>DY$w|Wn^%uMY?xzBK7SXD(a=PDrW1%bX zEL=nwN}-EVp63r`PhZ2er;`h}E9&Yag37s`V#=TWXY;~ALnHQ<-@f7EW?%^{6OnAM zxp@bsI0*euXy2z3;6Pxh)S{%56=(rFlU=vU(!4^b$RawiC9ZdH^4-^gNIDNE2o8b> z`atrC&u31prluB~m4M(yn~o20zsdFM9L;j3K@15FLTcag_c6+{ut9&dOa~_j?M=cU zN$|89l9UD00 z>E}`Sk6Q7p+qZF%LtYMv>xG(&j-49fGDmfL3O=tS9o%>r$|*{v4g>-g7EqLQqIVz) zfn~pq0fhP`i@uG=OmuqF_fPLYF@1Q6tJ`idcqdn@KlFZYvfF%_h{wA~hPci-?s|vdH`M)HOVY!8MaH`>{OnsUCc}q4{h{4URMoEc33+;w{f9p1zaLP#P?+!kjbUhU*;RE znMMQ8azNF95%P)R{=!vX28!MhOU`!VigvDpVE18an?kA6sivBxX{KDP%YW3s({ONS z&^q^>b5(pRa;TeKH2M~Nr){VttPLj<%Q?jvi)!BQ>}-#c`lAaHm#>5>-EX*IQRyx9 z_*YFPu)s@+vJ-U~u@P^@!aKzWGFh}iT#6^1-w!L$(#AbJq>Q;}X-!WG zC9euzPN{3K`98RCQBw!}{!Q=O8O9qO7G^XMPjfn9huT0R6!Q& zpxk;VZ0hJUnK>3Fkptf^Uc-ynFJ-3lz@2o|hRY*I>Nn#;kNRDdzqp4zdl8@LG_R;q z{Wm^mo-YBT`!A?g@S#rJkTCoN%^Bhw3a`*YmS}{YYXN=%?VaeG9I?V{=go>H%Mz&A zV)f~o?5c1<#Af1zbq1re%p9(s3wG)f6+K#rV{>h|I8^uXR}9bLYIljy*4Wv4*F7zDK=GiQprBy= zL#p-J^|=uMpRZ0=vkp>88eR7Nv&vY5q@;$^`P9Fg_xiaXFXY2^_x9EfhDp-of6*DMH(R)RnC`Pr%bZ4vW$M~EhEV1;aaAZVz>*^rppX!hw1{M5dRK_9 zV1$B1!l(C&#>e-;At8&tDBNX=(-Lolp;dkj&b$0Ix`EhBp)hbD-s>JA#`bFg+Gm?4 zea@beFI7KMQ%TY;D21NbzMfHEX=AVGWAHELdAobv9`w)(2n6%U`{^z|+SooaOUVmr zc|VjyI&RGDRc-y#NH3sycxsT9m#@OsvF_~ZViw#g$rAkGT`*kO+`L4CGdeIrW84mE z71$UlVm(o1BJ=n&5_*Ql+WMR6NSA@(+xl5yO1d}or7yVe{q;B05D^T~wLbDc;Q4tE zPfvD-HBrsKI%W+eont<$xO96!YJ3&Mt0507tXpGeI3*9Tf=QCRK>too&JFkLw?9v# zJuWZMuvE_5b(vlNu$*hkg+KI+W&|FAQT(iao`UvvY3h~>hPA7t8??X3N_q1A1eVdE z1NPau{%CT1f$^FcyZ8?=Hpo4yMV;MTyqYdG4F;y1aT{YhZXl*O+f0~O!kL2tRFH44 zt{?U`-#_twe8p<;(Y9o?0|Dh=gGq7t&M20p(|KpOVJqZ(rRlV|6AqD?Td-Oy;{dvH zYSg`0DkRF`!9*h^DP`-f?E_ni!q&5CLuNTXFz~`s`0uw7aPdRD$XHLL*P`m=R}NOK)X~ z&!psq5)l-)dB%J$_-Nc5*gzEl0eq8_YCbTz=J||BgztajYaH&*JimYcp8oMx6iIgL zf9C?6YB`UXlcfj}YiQ(y>bOeitm~WX*@^T18Vh~tTK0_?Ac`^)`qGinowJv~x_~EC zibb2NTu!F{Db)><=Stpq$v)W60Ptpq%}%G3^38I3uFYI|$2ykXQoW;6kGJ{o*P_;{BiD9tGR;k*Y%#WB zyR;9&jpQr|JB)-zOQp8}7xwNk4y@Ioh#udp&idJY1bbDSzdD)uxY8H@3k50|$$YFa@et z8U-{0r&O1PwNdk3=Oc+ZK3hogc7Gn<}B zeqd#dQO%RC32o;=Vn60(qyN>@Y+yvkM&B*HCO;1EWQpe0);X&3!|S`ff$=+Xa%CNz zRF=<8nA)YxI0C%MCf5}cJnCx6>?Vl7xdip29_hARo?RiT6ke-}6BM0GjlE^T_)A7H z%GTxqU#|ustm(Lpj$Z8_f(B809R1>cBj(Ok4=#u)!86i8#mWhxsrdMK^S>}gTcs85 zjKr%)dA}qR63ffkp6mY_U8$s{!BA@dya-m)OSYd4j;j*QUaxN;#`d?`U;Lr>d2}WV zY36n{vx2}t)eT@-w)GWn=D|FGZ$iS0?>8Q+1l#6ANMBGu_yliqiofM$ow_0%UYl6- zjL$!Wg@rvZ2@7X-cS{1QDl8_ZZhz=uo*Y7}#5@wN9(6i8mk9eI?o)b!Ig~PjP;}N0 z)a3fwb3oQ}V048J`rT~;9TOG70+IB(9Y$ozJHEc-n72R7dy3o*;HqZ*&X}o+t ziHY2G5pK3^G!99(OxXGk-W^|8%GwvuTJcXVzzCgacBkEaeTNlmZ6mc9Cd6fLJx|IY z8c8js7*5;U0xzf7Tud5#f@fGteFk`Vc#h`drR=HUXi2~@RkQ8=DEou|g7(ADpHHl- z4?&Bw+|0fI;OqjrpB_lKZI_N}+q5@FiH^T#$C8Dj;GeYDa|BbPi;5{^J0SIDurDxm zQln#G?QYyZe6Bh}!~v>u#?lyNAU$O25=QtdCuA ztuEZ?`nR`>3c*pam7l-4Nt+b0Ou=TJXcMp;Ko6Cl-&5%F=gZJ-FWsy974%>)>l97y z&pDUo)x^^JC|p)qL|6HK*xcE7X$l6x1(x!Mcw`VSNm&g%VB^hu!rwGv9L9#8lM&F2 z&CW`Y@#R>ZBM`#Zmy{?7`OG=RjR9Ydc(~f{;usUmtF1<^t$j`uH5Cc{${{)wI9KiH zTs7nG7knn+;!-_QkZy|*mqOt-f-U&*UbUv7!qB_PIMgIAy1^#s99x@QS@j~@Ubmp_oT!Z6mzS4D z!hp6VzM18V=Skcy=#gU` zOL2` zIwobknDmK7D}I)SiDReqGeDcG^jVSO#Cgn4I0gM(veVgx7oZ>Ygo0&z>elu3b&Lr3 zAPZd5eIMvGRY~~Il@f${b}Vh=vc0Y^O-i2aKuVaM+SAkXbJ6eL4mV^AQO}9AY;3Vp zpKTA50IkX;Ksw^Zyav>K;uZkWmCrTQr|ety-j!9H_U@tkm;l!e!1dR-qSK}pjCSIp zc}VElnZwL!fak5Qog(}~LsN@^b!vDQ>;pwkf0rxbI!eTg`qAmUNE&cKeyUe!S)j1L z*;^zd-fZ6x?EWm;KJK!8Vq+WM{V!)hGW7bfx|&VKM%%knx`VJb>I*hs)yq_gg_E3L z2*%q2z&wgYg@?aZfpR;nHYE@TrYEZ-?vhqHJ!6S7VLO<}#Z1{4HBk!*;8c7a|J-6@ z%Ja7C@=|kN?~(7MgI~~)^v@fz#(HIo3IZcbY-9Gd+0QFg9K0F9GYhal84N`^IaFyJ zftJt9z2tL5wr;ZcwP{8 z@R-$xRjrrl*rXTz5jatvBJA6knpx^wzTpALtx})w$JY5m=!ex>+q5dPFYPTOmNAau z<@ENlkqy1sf14=4i4o1(GDASCBn`b}NZFs`2((LfB^lR%?JYd5dw9Ov$@&8^pcA-T`w!{u$2AoN}n9~PVXxT*JgIqU{9h`9GK@J&J92O znoMZ*)MrDIA(oXb0_L4HrqKAr4%LoZlH8Fc7cR8iuc&7wsl2Y=wHk4gNDEsXttIXc z-f6F0UxGR0fhfTr`u+X=<`$a*uOSrFCvZ z4S|s0%B%jwHycMUj^DOo_QO5g-P=wM%9zjP!Q5fpZ<;~H#eeQjLV1KUxdHfDba%!`-lcuyuCMRtQ6g{(^lqt!g1UEc1<2VKC0{gh0BrgI=3tg zlKxPh_Tc6Yu|?RlppE;)dBw@ONu~%%I{s>dpz_7JzwgVf5Z(Xig3^%IHA zCw6{JsPM&Eo)WtBF%kHrPa~n$#C36l-L+ld9VYpjwhxbxS_H=FXpjrxPGBAFe%$_G z3CV7uN-f>5Tc$Wp!vv&e?_0a;r~Auv5r{tPP`djcF9RDbA0PaOtP+!3e|WBMn#CXO zUwjZaJ8llgzrQJK)bbI-TmAx9Eyg3Wh>YVlD`a{bqfY*JY=%VNg!o`CV-cHRKI6~4 z&!*;xx_eLJ-s0Ei8X(ozoca2XB$ZXn+=t#Ot4(RZ8g&l)stB9_c@$NnoM zOOXz!D>$6W^`{5E^XD+4yO++)2A%P!vC23vPuHvf#zg;KVhZA2U^QKXB7 z29xRbYQ6{PU;6g2$+(L*doKM&C#^uZ>gG-mS5`h7?W_|4ZE7%ru!x>@*Vv4PW2Qt^ z&aO!j26_G&7c|MZDwYnZa4rl&hQ@nt&ID^$$4&DkZc}O6DkM3>vyaomYps2Q*naO7 z<~UDR3#5sE0FL|W*8c7Z3QA{S&i5Y6Tmnv}6Oh@esl}5J5*B8Wv#0TaHv$zce7$aW z#s_o|udlWMd^rj^t)ikI0|gzJCd3j!R2x9d0uE;!2kRO!sA}L*!mvAWf47jGwU0>!~M8<8sWb1 zl9Ligp^D)cjT z_a4Ia%1-r4VKGrEuveOPN4Jd~1D^k-zk{Ws`mjQ3rsbOzjSSo=G=B;E_b(WOAewX} z&%TW6*zkspJAp&F|uJ%7obByI704An=@&()vFlDaD(4D+V3B{ z&tUmMHNcG@Tz$QNnqEp#*E7y{CfyD>cdk(ZaBX5=k2W4y&w%q{ccQ0(eEPuWoZfgl zxS-=BBy_AFq4){JNogk+2rNYb>bkGz#G%rBS#fb^Utixz&BV35cIhL9qODvY)`-IA zpffPG9o7>cX+w(tp8m3|2U53!^s_`a8h%+!b&B7?#E3o_4L~}cFh4B z_3dcQ5K*zMnvG270v>?sHE9;sSX=4u&dDiqEwDNtviiyf(Z1oUX#8gDxW6>K2nny! z6Z8zXX+Kh;9OdK7C1?A$m}W;RNL)6xrj_rMqq%MTSDblme_t#EmHe~TCG(kt z;_bHx?A5Yp@JQp>i{j_c_yJyeJ;^zBsw(>Z#mj$)r#2Z&4|&l2Hk^BWlCR_RcOQXD z-SPysk{Mk)U6C#8EQo=DmlwS>ZbC+st@qwH3Ks29K~uOKN{4k=c%%(2U3nKrhB!Vt8Jp<6hD{}&xtOc- z^@>u``pM4$MR_6_`~g}~s8gb0DBr%d4<#(btCfBb8QM?PQ3Ja6;K|*^EaaX)ySS`G z=0iVld~*u9V4d;3vHwJFVXAifj_%clT@G8memJ;CK)_L59m{76 zekY2zx)w_Tek&5$CdeLA6r(&Lfpsh7zy$F$#)M=DWf1N#SL|CKY^uNWGC$m1ZDI+k zk7F0*D*RZve|?Qo>o#-49`=@4f_R*rDl!^>{LltP7a;p5bvgxFyswpS-40Yk=+@c< ze%j#}T^$ohJT&5OWPPfq@M^f)P;+qinb3^@KtaV84R8wteU}4fT6@dWqHC;49 ze*ZEo4|ouW^cq{fsngkY?7jq4s9IN)LN~2l^69QEJ zwx_Ls+K^lhx<^OS2JR1-T31`Yia^1SZo#zg9V&ix=VtEhN-AMeiix2sep-u2(w93B zHV(8i@MsIEiaA)ZhcZ1(RH(~@qekqnQ2$^RUL9E};~*j>58>PWt;N&bUppgap1w%5D~`t?Oon4;6!R+Qskz4 z{ZTKs&Rd}Nga^{Sb0g!AT)YN&x6`4urW3QV)t7kuj}JGy85e#%Wb#$BoJYdnmQGA& zzf(m#7|W=7FNP+Mm=|z4O9%|GlC9>l2@1Fui>SAk;Wz%U-Z;dAH`^ZXftR9L_!A+5 zpXeXr&of?;a^qXv9QOM}S}QABxODKBy$5KG+`lJBjY&5V9WhijB-zun-&0M5+UUiAtk zMxI95Lerg_jl2)4t2t#xKE0Qo^2hyMB2BnjYL>Y179Y8X#-R}zwoz1!{qEk9-N^EW zOrmDG=64~}nm?+CXo%XL3Sv*jT63X!;csm;iO=asQZNZ3;komru2Zo|SxHfBE9_Tp zuX+ejON4;ZDx+Pr2P8$}ej%%V&jJvESGg(dRhm5v(>E;%;c_%d?r^%Oyn~QK8b%Dj8QH^l7pd1W7 zW!7ytc+eeS5$V&IU6p&dK?k+IFl4dJBVAus_R}lSCXf-1vWOJ+g@s%nh)JzlDrp5R z)Xe`vYWB5F=XVlsR7=edI|V{{;d3Uk%_1)f>HIOgT!z1&(?=5*hLtXc3Y%f`3#2dE znjR!VFk_KiPSD?2aE;x%08Wel8b~ql*{7oqN$E}dJ=(}3Tx&C|G8RI9C2nzXwzJGJ z*|+D8LU1{>pZ#~ywEpi@P!^*f8sRzoQ6an@Y}~+^(TvOz`{&E6rzhV5X3oP|z?>es zf-*@2GM2=vPPR#gB0GhD_vI%s4i64jpXmsM1hH4Q`dGSfW^{E@a7-3_J;kB!2W~ak z9m5E8T38tzvg_rsB_(RcRsil73LJch3nlOSPlQ{o&z&|47Dvmc<+fti$rHbcv+%4A zB+Han1JcObq1v>L)FyXDjQFij@PLv0jNX9aXD5vC`Lo!sB0M^UjQ$q}g9waS@1dL4 zhtw;-+0#kErFm>~iGj%<+?)`p;Fq#h^h(PRG*H8Jon+@BFrZ zc*v_&DkPrvQ;PqQll z$EXK>u@22o&BzD%@a?Y8!4;0Xv_fxefrq)jV7H}m$l$C80`iJhc5S1dNn3oa?cKVO z>U!6q{Q}?tN0U^EQ^K^*`lO%S+GmBGoxtzd7`d4Q$ zemHp>%IQkg^z;r`!o3~!_WN`}FW(0;KsBlaFLm!#(RgVFPQa}+vGi1Y2+c>E{CRA> z`Pn3WmcNcCcMLC*q#!@LrOKw3Z1FXmf5MWR?b*|7`->)C`V19yO0uRBRc_R;j>m)E zFP8@T;MG-;u(pX{W|oTV{d#Lva zsqQ5+RyoK$0gb6TzyJ0?|IvOR#>Or6E+IGf?M_XBn##}geRyzTe}#!5U�OO{oxU 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 XpJ(A6loo%3fY&=&6`67=gMj}FT3AD? diff --git a/tgstation.dme b/tgstation.dme index 5e702e13707..449bcab7bfc 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1104,6 +1104,7 @@ #include "code\datums\components\radioactive_exposure.dm" #include "code\datums\components\reagent_refiller.dm" #include "code\datums\components\redirect_attack_hand_from_turf.dm" +#include "code\datums\components\reflection.dm" #include "code\datums\components\regenerator.dm" #include "code\datums\components\religious_tool.dm" #include "code\datums\components\rename.dm"