From 1b87b865f656ccab85c4b0506d3cfe4df2e6427a Mon Sep 17 00:00:00 2001 From: OliOliOnsiPree <29418371+OliOliOnsiPree@users.noreply.github.com> Date: Fri, 6 Sep 2024 20:45:41 -0400 Subject: [PATCH 1/6] Sprite Addition: Stealth Boy + Variants (#75) --- code/game/objects/items/stealthboy.dm | 18 +++++++++++++++--- icons/fallout/objects/stealthboy.dmi | Bin 0 -> 2295 bytes 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 icons/fallout/objects/stealthboy.dmi diff --git a/code/game/objects/items/stealthboy.dm b/code/game/objects/items/stealthboy.dm index 5768f02e568..07396a580da 100644 --- a/code/game/objects/items/stealthboy.dm +++ b/code/game/objects/items/stealthboy.dm @@ -1,8 +1,8 @@ /obj/item/stealthboy - name = "Stealth Boy" + name = "Stealth Boy MK1" desc = "The RobCo Stealth Boy 3001 is a personal stealth device, this one is designed to be worn on your belt and the battery can be taken out if you can find an ALTERNATIVE way to CLICK the back open and take the battery out. (alt click to take the battery out and recharge it)" - icon = 'icons/obj/pda.dmi' //Placeholder till ones sprited - icon_state = "pda" //Placeholder till ones sprited + icon = 'icons/fallout/objects/stealthboy.dmi' + icon_state = "stealth_boy" item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 5 @@ -14,6 +14,18 @@ var/on = FALSE actions_types = list(/datum/action/item_action/stealthboy_cloak) + +// Below are Variants of stealth boys that should be increased power usage and less below that one. However I dont know how to make that happen, so they are all the same. +/obj/item/stealthboy/makeshift + name = "Makeshift Stealth Boy" + icon_state = "makeshift_stealth" + use_per_tick = 800 + +/obj/item/stealthboy/mk2 + name = "Stealth Boy MK2" + icon_state = "stealth_boy_mk" + use_per_tick = 200 + /obj/item/stealthboy/Initialize() . = ..() if(ispath(cell)) diff --git a/icons/fallout/objects/stealthboy.dmi b/icons/fallout/objects/stealthboy.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d763b938540d1370f7c54af7c86e30d1cbdd1f3e GIT binary patch literal 2295 zcmV004jp0{{R3ySYHxDoeoFtDW>{WfgkVy8S4a#D432DF5)u+0A0I9^C~P`7Rw*Yz zAs{mq6dWTMEiX_^0{~faNIymSqSoYz__UqljySwMoz2w)*W@cust*zv>hFVNM ztH~vCK-@o zZG3JviOLBZpPQJSTAY!YRuT`@iCu>YhS%^IfzwuH1y?^8aO?m8?DTnrFvva>WOagT<;Z5O(r8gC- zuWx8Lbco)a^?nJk4plzYkqB|~`g-~WtoMs0lOLt0(wm|ho0?E_Gj86{&_d|iF5e(v zV1asbFdRNHT~eiL(tvh zYHMj%U%)=!AYd12?>lw6|Hm_MoIcg3xj?}mVEO$le?aXU-DbKvp@YG*=gyrSgbvjG z+vt<$V4VgKq4RxcaOlFtp+VGlUVDLpfANC8UwwNLVDVO035a!RXy_8D^RMM|adB~R zadB~RadB}utFNE`Rp&d9{~7k3%Kr@d&gFjwedJjFXUKOl|1;z}ng1E{9nAlX`DOWB zKO?{EA7J=Z=6@=mk{>#l{~7d=WBH%q_OhJL|9C#g#l^+N#l_{IgabKELY6SBNEkLr z=muHLR3V{22Yen=9k|g5vXf9K&Nk#1AP}&g4k;Cs={zPXIO>}i8}qsS00?yBlaoJDK1j>wt}uKgS5Tod z12{GD^Mubo9TdgjG@6_o4nitAN6Qt} zCnDFQzeeYOyD`5IUyLtm0Yha47D8G;-?S9FId|*!+|8IYtpPNU-*vXRbn-g@h%QAJ z=5O4YUs#AoLt4VHP+a10gw_7B!O27=fua2F!To!8Dft~9;%Gb? zl~30rgbEG|rGr#KQG_90eh5P>iol0Z1!2wk9bP2i(jw7TFjU4jtf{a(#IQ&nJ%U9d z1t)>8642Q9|ISdqKL{1{2+BIePlO73hRftp`^qAT#b#&WBuyhVp9T3HRA@LJ0mb2l ztXZYtm+ymwRV;5az$oEu2JjM^9t`DofBZ@F!x#`(Fb)+AQ+!-KqCW+Ic%v3Yyiq3z zc#3Ms@4|R)J&r^kiF@a7#=S8|cqy31|z7|5S z8|mhAUZm^08NS!+H4n(j=dALP$^4I%&spXpM*c_B)WqMq`P|gRKMbGM{$I6U9io!Y zrPI%zrPHK*PWGQ~ZoYW2N%vXp5B{x`eOg3Gmi&)%I*|8fH1^+A7O|oKC3+dO8cKA1u&qAub6;A z2`2gH&oIde`J6n&ut>gqfki^`S?wj9UCEE2{IjY6l}Vh*Y;9#S8A3j%EP`w{m&<0U zKC6AKAY%T<1k}&xEcdGgWaV?#`qlF>^EtbHrdau$mA(l)#Lnle^Ud)gc0Om7k2cKa zFRXmd8o!2sjg`+?;-gvuN>)BsyAOOd1(d9Ou0}tF{ck#;OeVkOfcJl@{{S!tyqK}k Rcy#~(002ovPDHLkV1hmRG)n*g literal 0 HcmV?d00001 From b826c62ff74a3ae6abfcda5236d7bd731880ed11 Mon Sep 17 00:00:00 2001 From: AF-Buyrcsp2 Date: Sat, 7 Sep 2024 08:45:56 +0800 Subject: [PATCH 2/6] Wasteland Flipper Bugfix: Fixes double tile when placing tile on road turf (#171) --- fallout/turf/ground.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fallout/turf/ground.dm b/fallout/turf/ground.dm index 9936a2567e4..cd2c877ee45 100644 --- a/fallout/turf/ground.dm +++ b/fallout/turf/ground.dm @@ -321,11 +321,14 @@ GLOBAL_LIST_INIT(desolate_plant_spawn_list, list( // step_sounds = list("human" = "erikafootsteps") /turf/open/indestructible/ground/outside/road/attackby(obj/item/C, mob/user, params) - if(..()) - return - if(istype(C, /obj/item/stack/tile)) + if(istype(C, /obj/item/stack/tile/road)) if(icon_state == "innermiddle") to_chat(user, span_warning("The road already looks fixed!")) + return + C.use(1) + icon_state = "innermiddle" + return + else . = ..() /turf/open/floor/road From 106ef45a29354380963461090de526c1669a8a14 Mon Sep 17 00:00:00 2001 From: K4rlox <118483925+K4rlox@users.noreply.github.com> Date: Sat, 7 Sep 2024 03:46:09 +0300 Subject: [PATCH 3/6] Tweaks plant+medicine bag item count, adds Bitter barrels, Fixes bottle rack (#198) --- _maps/map_files/Pahrump-AB/Pahrump-AB.dmm | 27 ++++++++-- code/__DEFINES/inventory.dm | 9 +++- .../components/storage/concrete/bags.dm | 6 +-- code/modules/farming/farming_structures.dm | 50 +++++++++++++++++- .../kitchen_machinery/smartfridge.dm | 4 +- icons/fallout/farming/farming_structures.dmi | Bin 29054 -> 34265 bytes 6 files changed, 86 insertions(+), 10 deletions(-) diff --git a/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm b/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm index d9d7931b7f2..0cbf5922242 100644 --- a/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm +++ b/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm @@ -32080,6 +32080,13 @@ icon_state = "horizontaltopborderbottom2" }, /area/f13/wasteland) +"hdz" = ( +/obj/structure/fermenting_barrel/broc/xander, +/turf/open/indestructible/ground/outside/desert/sonora{ + dir = 4; + icon_state = "desertsmooth5" + }, +/area/f13/wasteland) "hdP" = ( /obj/structure/flora/grass/wasteland{ icon_state = "tall_grass_4" @@ -36443,6 +36450,13 @@ icon_state = "shadowleft" }, /area/f13/wasteland) +"iTp" = ( +/obj/structure/fermenting_barrel/broc/cactus, +/turf/open/indestructible/ground/outside/desert/sonora{ + dir = 4; + icon_state = "desertsmooth4" + }, +/area/f13/wasteland) "iTu" = ( /obj/structure/flora/brushwoodalt, /turf/open/indestructible/ground/outside/desert, @@ -59754,6 +59768,13 @@ }, /turf/open/indestructible/ground/outside/dirt, /area/f13/wasteland) +"sBh" = ( +/obj/structure/fermenting_barrel/broc, +/turf/open/indestructible/ground/outside/desert/sonora{ + dir = 4; + icon_state = "desertsmooth3" + }, +/area/f13/wasteland) "sBr" = ( /obj/effect/decal/cleanable/dirt{ color = "000000" @@ -127675,7 +127696,7 @@ fcR xaY sQy vDY -sVE +sBh oXX skv xwz @@ -127932,7 +127953,7 @@ xBX xWo qqE vDY -xJd +hdz eov skv xwz @@ -128189,7 +128210,7 @@ xaY aii qqE vDY -dJF +iTp uVZ skv xwz diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index ff84bf5d41c..c462274ae27 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -806,7 +806,7 @@ GLOBAL_LIST_INIT(storage_tray_can_hold, typecacheof(list( * * * */ /// How many items total fit in a bag thing -#define STORAGE_BAG_MAX_ITEMS STORAGE_BELT_SPECIALIZED_MAX_ITEMS * 2 //14 +#define STORAGE_BAG_MAX_ITEMS 20 /// How big a thing can fit in a bag thing #define STORAGE_BAG_MAX_SIZE WEIGHT_CLASS_SMALL /// How much volume fits in a bag thing @@ -861,6 +861,13 @@ GLOBAL_LIST_INIT(storage_tray_can_hold, typecacheof(list( /// How much volume fits in a casing quiver #define STORAGE_QUIVER_HEAVY_TOTAL_SPACE STORAGE_QUIVER_HEAVY_MAX_ITEMS * WEIGHT_CLASS_TINY +/// How many items total fit in a produce bag +#define STORAGE_PRODUCE_BAG_MAX_ITEMS 100 +/// How big a thing can fit in a produce bag +#define STORAGE_PRODUCE_BAG_MAX_SIZE WEIGHT_CLASS_NORMAL +/// How much volume fits in a produce bag +#define STORAGE_PRODUCE_BAG_MAX_TOTAL_SPACE STORAGE_PRODUCE_BAG_MAX_ITEMS * STORAGE_PRODUCE_BAG_MAX_SIZE + /* * * * * Boxes * * * */ diff --git a/code/datums/components/storage/concrete/bags.dm b/code/datums/components/storage/concrete/bags.dm index 29fab386a95..69c2be3319f 100644 --- a/code/datums/components/storage/concrete/bags.dm +++ b/code/datums/components/storage/concrete/bags.dm @@ -27,10 +27,10 @@ /// Produce bag /datum/component/storage/concrete/bag/produce - max_items = STORAGE_TRASH_BAG_MAX_ITEMS + max_items = STORAGE_PRODUCE_BAG_MAX_ITEMS max_w_class = WEIGHT_CLASS_NORMAL - max_combined_w_class = STORAGE_TRASH_BAG_MAX_TOTAL_SPACE - max_volume = STORAGE_TRASH_BAG_MAX_TOTAL_SPACE + max_combined_w_class = STORAGE_PRODUCE_BAG_MAX_TOTAL_SPACE + max_volume = STORAGE_PRODUCE_BAG_MAX_TOTAL_SPACE display_numerical_stacking = TRUE limited_random_access = FALSE diff --git a/code/modules/farming/farming_structures.dm b/code/modules/farming/farming_structures.dm index 6b805a135b2..542c88be8aa 100644 --- a/code/modules/farming/farming_structures.dm +++ b/code/modules/farming/farming_structures.dm @@ -23,9 +23,40 @@ var/open = FALSE var/speed_multiplier = 4 //How fast it distills. Defaults to 100% (1.0). Lower is better. + var/broc = FALSE // Overlay var + var/xander = FALSE // Overlay var + var/cactus = FALSE // Overlay var + /obj/structure/fermenting_barrel/Initialize() - create_reagents(300, DRAINABLE | AMOUNT_VISIBLE) //Bluespace beakers, but without the portability or efficiency in circuits. + create_reagents(500, DRAINABLE | AMOUNT_VISIBLE) //Bluespace beakers, but without the portability or efficiency in circuits. + update_icon() + . = ..() + +/obj/structure/fermenting_barrel/update_overlays() . = ..() + if(broc) + . += "broc" + if(xander) + . += "xander" + if(cactus) + . += "cactus" + + if(reagents.total_volume && open) + var/mutable_appearance/filling = mutable_appearance('icons/fallout/farming/farming_structures.dmi', "[icon_state]10", color = mix_color_from_reagents(reagents.reagent_list)) + switch (reagents.total_volume) + if (0 to 40) + filling.icon_state = "[icon_state]-10" + if (40 to 70) + filling.icon_state = "[icon_state]10" + if (70 to 140) + filling.icon_state = "[icon_state]25" + if (140 to 250) + filling.icon_state = "[icon_state]50" + if (251 to 400) + filling.icon_state = "[icon_state]75" + if (409 to 501) + filling.icon_state = "[icon_state]100" + . += filling /obj/structure/fermenting_barrel/examine(mob/user) . = ..() @@ -47,6 +78,7 @@ data["tastes"] = list(fruit.tastes[1] = 1) reagents.add_reagent(/datum/reagent/consumable/ethanol/fruit_wine, amount, data) qdel(fruit) + update_icon() // new playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) /obj/structure/fermenting_barrel/attackby(obj/item/I, mob/user, params) @@ -99,6 +131,22 @@ else icon_state = "barrel" +/obj/structure/fermenting_barrel/broc // for bitter production without having to label + name = "broc fermenting barrel" + desc = "A large wooden barrel with a painted broc flower on it. You can ferment fruits and such inside it, or just use it to hold liquid." + icon = 'icons/fallout/farming/farming_structures.dmi' + broc = TRUE + +/obj/structure/fermenting_barrel/broc/xander // for bitter production without having to label + name = "xander fermenting barrel" + desc = "A large wooden barrel with a painted xander root on it. You can ferment fruits and such inside it, or just use it to hold liquid." + xander = TRUE + +/obj/structure/fermenting_barrel/broc/cactus // for bitter production without having to label + name = "cactus fermenting barrel" + desc = "A large wooden barrel with a painted barrel cactus on it. You can ferment fruits and such inside it, or just use it to hold liquid." + cactus = TRUE + ////////// // LOOM // diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index c54c59bbdb6..72c171c0454 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -691,9 +691,9 @@ var/static/list/alchemyrack_typecache = typecacheof(list( /obj/item/reagent_containers/pill/patch, /obj/item/reagent_containers/glass/bottle/primitive, - /obj/item/stack/medical/poultice, + /obj/item/stack/medical, /obj/item/smelling_salts, - /obj/item/reagent_containers/pill/healingpowder + /obj/item/reagent_containers/pill )) if(is_type_in_typecache(O, alchemyrack_typecache)) return TRUE diff --git a/icons/fallout/farming/farming_structures.dmi b/icons/fallout/farming/farming_structures.dmi index 260beecb04353b0593d3731b1841a4e0607527db..1f15ddc5e4c97f4888286f4f99beec3cd897e94f 100644 GIT binary patch literal 34265 zcmXt91ymbtunq1~oKmE?dvSMnceg_E;_mKN+}*vnyL<8CMT1+&%m2=M=Oo$P>}Geq zZ)a!jy)%hYQIbYO{)`L&0MKM*B-8)^C^E-Ylz@XSeDZu~LGiV45R>xGQ6s`d%-GPM+16ZHl;UA8VN>>y?~1KM#nh|AK(y{(C7 z(W9>vOgXo*dF2l^|^?DR7i+J-A3*pE^u=teR_+dsM(+spu;&yB9U9tE_SuI@SI!_t5H5ZW3eW(jF zyQNXOs=V}+eSql$Z2J5L1(RQ+T=4ld$nmd8AVW$eq3qLWg4B-A_X?=FNQ{=$(;}IH zYMgGR0ZZha$V>%4qa4IJvU+L&CmX~2&xAN67hI;bg{Ii_Y#Tyd4S7!>njhcOW(^YSD@ znYC@1PmURtUZ^hArc6cEK(xdh%gBD)Fa0dhmdMIW3|{9L-YKb|U#W(S=0oag;AYoW z{vRuk4Rd_}^lV2#f1#~g0Duf2DAt{0yoe7vjodOvpC3(*8ZvOrKJkxL=NGFmIb9PB`v9CRCJ-3DS)q| zvwuS=xf*MS<1O{uEOb}RHkx*X>t+`^v)wHDQ3~eno*Uh+I-hc?uRC|&1a~!8{``p+ zXeur(9qDm7n*2%She0CHQP$epdY~{zmmnZ?s&Yh_C=jY({qRducTTlZ^Jh>(Dv8KyVG4XLo*a@o!yitpf`q?!IKWCH*wbPDxPpu(nQqXbTOQFNlGNt0OPdchCxRU3osAY(|g`O%B0 zm5sY2%JO)z5fTN&yr=?PARk4x?{1+KFCZEQ;eGq|t)iwz!rlEFG78FO-`%$3L94b0 zy_E#yx&wAxrk<3jf##e5m4d9IU5b6yOXYYUivCh6)$Tv#&yRQG2Q?IPfr&eIhA&ZQ z1h?o1H~SQTKpW0zsu4XK4Jbh1q-sR+U#!yyJ<61=pA1) zQejgQbaNDC@`PGyni1g3E=t-26u{H6nAuV^mKL-`s{dO0}7Dx20L~m$Rn^V(J~6U&&=m5Rs!YFa+PABi%FzX zpjO3DYTCrsFTxuBFwXyLRk7{(UbR9m0!L|`LhJZSko-Zi&I%>n2oqA?;|WY)F}wWJ zO3TbVYp2Q2ZV9pLxepmRI6GvXaLYEhxTn*h8jQ?wG596#|M)P*DS&wrDKoWtlk_* zA7znjF2)gMYqE?1vEYMEIQT$x<8(~2vx z!-EfjS^^T1@y2YFAlrTOm~|6yCkChk=_FlaNX}sav67{4_(Uk4yGO5(X?}@>oO`~l z9&KqUXRxiU4v*$d2@1g6u?MZ7I1*@qrM^IS>h?QzQ5P;(OL{I}b~s7Fh3{*cURdQi zP9UXKN}ybtgju+`Q|Jqz|GfTEjkEn$42FCH7P*#>htYedQHN*X?FZ}kz2L01kDUe= zSq8|2a^0dL_CG)KL`O%n3UHzVoYMJt%Q(J;Et8-`NuUBNc{o3#weS%qPr&lPWFkjx zz*<>bvBkh99=6$U?J`B7-t+NE@kmoO4i%lS;f3hJgy@Fo@IXOUz!qQN zoxsF+g6}ELnUQMrkZY<(63id$cFdpwp8UaC=#@XehJp@Xrylt83zkX=BzW5mn{aWV z>6J2yR&0`Fs98BULOccHZ6x3{{}E`=S7=sV)8(o%;>l;7@uFnyUYDC6BB#iO#2X3c zjKDvOv8|)>omz87D$^9K*nwn#VNls!T#X)A{tBf39{xAD8_0_ zxO&{HZ*MuqRq>(?#@pjS8Kg~R$1IIK3mHtL#fBc^{DO|ah=;N*1r?}O9fnL#nG~v5 z3aw#Rp-HbWa*%TvqWh;Ed&Qh8-lPwI( z>q_i!SaXn70Ep+3ykG7vDTKGcjC14*xCB1}9k-5q|H)(ALyMT3o9{gX4}Jp39AHZf z5lw|VKL-6Rwnj%s`+a|y6q>f`eL@a9_2}Eh=-W;BH=>CcK~BqxXX5P*ub2D&NKLSp zHwuY6Y9LBL!TA2L&DMBVn;NE+i)kfpuL>%h-Z$hpZv}~iWU!xkBS#yY&+)6Z#+q9j zCDmr%c5-)FGt~rpxxno>>D{fIhb{CEYgdW&2rO z1piL~5N)U**Y<-G0^q{)b-|Sx$?vf_U(v2r4+j?)YL5U@6%StzWgqBiV_dvYar$e) z1_z*`*@O5J8|4g)5~vkn#YgU8ZWO2=6$ zBqu~I+G0EuFcgvW1F$<%#aBO^_=N9vDWc);8%9TYmbDm@a%hiSJCrERqv*C33 zj0v)5b=6|kFGL?$Z#l$M=)l$2N>9(E7Hcj#pTk}A<*x;Q`sY2~*o{t$Q9A!)`#mw6 zHQ0vpA3Q+25eiU#00jU`9D*BYc##!%-En?l#z}2U1VaOgl^&3JBMjy=?E@EVF38sK zND#=n;3%d~NQHd-X1O1y(=%=$hRYsLhSq2?y!#7>M}+Uwwo&kq47>UMx&tp%6|S5W ztl^Pip$%E!a1@?u;EY03P>W&9P^UoR?@(8-8s{=^BXJJ&AFJapn9A_v-9lM4CP^01 zNwReyEDz$3`!&%K^Qrwd!*;5vj4sMr6LCjxmENr|>$(8yIp13q)XTCi692Ccoj=Ex z5`G#ylp+9}kj`4~-M__0)8u(x)NYwMKIcRi~&>Ez$8N=bUpWDd&})G$=^h zn5rXRvz9L#*>is-P){_Ym<74&+@BIbK_6iACeVfb7of-$WR``T^^~0Uw04JqL_-1%NioHx_gAW7!uVWX%l>#Ck zvUMDtTJrKSKE0h)x+mgBK61Ac|HZhVbW^NlxmNc(@fCoz($4RfuZRiOV*dJ`jT6~IPX(cj3HBzB# z09UJo!O<+KKIp3hx%1B5zcG_4VabtrAbiG zWEltmsLw+pR`S}^GI=yD!IzM*RZY|fR*+&?-|^sY_%Mr?uKTXk&Y}crH0hhO+@yvJ zsl{2?L(I{12Lv9=z4XFJ|D+J;f6>%3bmMi%pK6;j(uh14_JHfAFt4CxlG0AVKyz2} zj0u1Xn!#D}L4dWI^lSdtD44K67#E9agENe|*#pLlfXW73z5(M4o z)!-^H$A;|v7a+X%j6ZmFdn$t4vXE2ZZaf|y4;Dy2G#Z5l_npXakWIb4Kl}HQ^5vq( zn;|62^cxt2+c2W~i9&H!O&=&rLsuC7hVPNyWcwx*8bx?DAS~GL5R|GnD3^=QGo`Ly zNpQ3CR^C|SrTSYOH4w`4`o@;Ai*@A(zzmy%^|ZC6&yg0{I_Xoy?h`$T?iK=~zZT=h z(iX%?$>@#gpb$XuN>AEJCGzcbLEMI$>%(m-MUI-@Lf~gMT9Ap#{q~RM{g!#(Qh-Ia z1i|qAJtrh&u;u(53xb5+nZKV;QQYRwTVyCxRLUt)$X{aLc*7ho7r%L)>^bjrcJ}KI zpE{$81dK;==lN+jT@xX^yypJ-&8JcBOP6~jHB8NZUMqyyakAr+GAeo{)aPP}_R~GS zU-w6_BWF@qWjc_w+w%(dY#W&WJGhpnXs ze{S}?2DQ-j30n-0-!%O7IlVkfn!gHgYB#X}YNw|bRQlqvxJju%@2w|(=4NJr16=(3 zA}SjNRor0WmrAkLCa- z;5@1z|59y1KgjM6t+DjV3i85iO)bzB&tNtJ?ev+t=cLt=MpqN1PRD zad1Q=BzQB85GLyPF!paVo23ST+P}N=Xl~(2P-GBa4w&*BgvB z`)i)hwc_l_$H^P!@tAP)!S|?)W)ak-n>D5!wU~USYU?YXj z)jaedzeTB{~|oeEBAlHd&JJIVV+| z^^oYK)eo~YUqI+xMG!cQ{Yb1VtS9gC*nr3KH58AP%Axy?aLz8UIhamXW_58fxmo|t zfRsy(D9_g;b-hroRG*0zN2GYQfbuAlAU`j-ClW>PA^$4KT$NY}Ek}YAFKnqI#6v(z zy%Bo6lIz{ziWmEKnkM1yQ`PFK7JyUSbaXZ@E{=FCfi%OHRi}ERXE#8q%@|oj+Pl|M z!eW5EcyLh6#?7umgFaL7*iGmZCwYRBd;u|0L$p?H=;WZrw39Vg;P$y9h`j)^p#7V- z=~((^UOf@nFLC9SaU4S9|FGqS&;NA9;y*x)u1v4xB{PuDj;X7d!!JuqzA8RDO?hkS zb^B~%Zbc1Ms|E9&?qu4woyVnbyd?B{*vLRDO8wYcU2s7{*OLmRT$W!R)DbXgY_yeO{+Mt?Pa6qPFf+uH8 zT`Gw-zkTpKc2FO9D)-)VYqkjuesoTs8zcnO?F&w}pr8&<7>5#QzneC_qrkxf%-r-*g_f zW-v;tjZjSn>~e(vc0s`UqieHlcb{`xTsIm-IK%k!($7)Jb&Bhw+wnsHc0sYBL3<6V zmqg-nD*!-{im7w4;!bdJJ@H3s49md0chZQ?_a(+y z)=Z`by=g@Fka?TvebW5RRndv(z{LVRxJq-^P_^9(gKd(M)Pce}if(YziQJdDpYfP$ zyT0;Dps*W~%K`|B1%q%PBv_w6*b?$?-WJ z;6RkL<`K(4rw8#@FriJ^3PG-nk7NXOCu`Q9TQ!1dcpMx8%wMQOR?S~I38hR`kpM>n z)tzyDH?fjPkf^g2*P0ehQUi&NBfZ-DH^i$yMn z!oEukY>LA;ofpjG9WwVz!bO>=K)maGZ(?Y8{CjcuJb)3fo`-_%!pA%J(`=y8a=c0e zrvb>5;mA*bI(XzVZ~(l?O#Wj(<(X^3iWvG5D_21Z4Ul&itXDFGP$Q)}045wO4^Jc? zg7xhcpVzN)*n0W{MlXp%B}zgrM=$Ebsz}ElKhibCVCar1MDn04`={nWPr+An9-tqt zt3r)8lsT4`5aZeKa>a@}QOn;DRBYPK8TrD11sDeh&cjyJh0rFf`j{xngLbB7PbKng zbYgA5IWEMz$~s1AvL7SEEpR@YkLI91D^1|O4;FATHg@#eNOE9KX#{JYy-8M5qOG%I z09w7UsZfnj)#6#;*ug%WU<&y!F;pq2_RYAulyWZx>2c5F;HoApRPR)_A{E+DTm~%_ zj&7Ak<$Dn*vii_;=q}K!t*z`^Rkcvpaeut<>>Jos_@(dk0j~MSIbNCud7<2(9UFzw z#bBMNNfyccoI=sMPT<)(quW19R6P_qg-^qSDeFXxu)(UQ#p)1Gj+~j^?#_1brBbNy z5eR)PdcjAKIrIHvU1r@-QU?{spk3_6L?dbS3LZ=m9zo5hF#d#XmR8)nPX@hj629YG zF=I78^TMQK^$z0Ge)9!KP}7_R0B&A}4m)IkYySznEbL@;vJmWO zzE^rw@W7GxhvE@y}tgUFq$Onf%J%8@5@pprW@$dl#kW2q`Xf8JWD4qA+% zZ#+4qTs68FWpKP4s}Fc1XYTG#1A+yO-zkj({AjqiSfm2LPFmD%g>flT0wfseD=RXO zrc~HH#X0^~r8Ma;%k{mX$AMTy{tr~1Pup%kr^U5%}^*Vh@vG*bIITm zm#`X52?}L!3~7|rrN(D)m%k=)mks;DzWN0I(Rk&F~T#+D$ zPBsKOZGHs=N)4?Pa%b`q$2ocuG*7gMUdHQROGpmK01I%J8eh`PW;s7LM)jqA1Jm@^ zwT<->s#$8w^TWWKJD2_c4MdQeot`;`DJ*DTl`N(%MU?UCmG;!^7gto5Rb8QHBsvv(w6#t}m zT9r{BQdNWg@bIta@4A)JP07Gc zwr0bKC8#65UL3yiFY{#v$dHj8^vt3QfHZ!`ixR1W9WF%3o$y&rT0C^&R7Y53zBf>|R1dza1aRwxQEHu4H4>D58`bB5squ2xv*I0!;lW3Ihu{25THM!F~EWFDUdXuZU8drd%zsA?sYg& zCIVUv%BQTA!IHcn+tt{jXU1-hFEBct-o)rv2%lTG22V*aO5H^LpJ}8D;wx43dlAuM zqMc9B)*$FwqzuThzxUx+5$Or_UGF-1>e)Usth%lfl&?N*EiOsmqvUcK`odY)4ISVK zoa+V(KRvD8y#hoGO6@VEYP6X%P!KW^Ht80$$H{c0CFnT1v2y}Z>4UeoV&^5n_ulkHhDKMMUngm&1$bB&Kjmn{ zk{q%P0?c^LldMHhUD(o2pv%QCI)5Rhd=L^SeqJ_%U66tPgT+xs!IoL82V1J=-!f2(6^H``-vAtFa|I)o%KqDYjkRb7m zRW;kmr>$urK4eV#FyIsi8YCzpXg!O8O20(($--3vmQtV)&dJyr7f_;jHGDBE&|O29 zCv-~ZDi{-{CWei9ri3)^TY9hVGR{E;55CW}*68VbX{U?|HXi@p&Z$M0RI%E}LRFz>Hs`RZT050TkzRJ5?F=`D$`7&n_yrUjyp}p9+P7iF6uu@3!Bk}G@8=JQwrg6Z;iR{rcz$$IDw8^RU6Ot+k6^M&d?H0Le(vu6cEu1`Cc zgfKNylfF3|wlwlZku)TK#7IjQWG(YHLmNE>@|LZ8iwnO*vZu=+iftn%`Ra^PjD*Tu zXi+yLqjgzYw3~>XNz>Eb&v5S!N8@gU6qWX~6Vjn%;*_*mGTx$|3Wy6N2Ex;yw%RF3 zTeI<}m0W5S$N%$pgR?s=hg2e=R!}`b?w`M{YNx8CybISG!~n_4-)D~(a%_D8k)xg9 zi(UQ?*&k?RWY`hvGuLQS^+p6Rk?KkB#(sLmX40u&|uqd=Wro0<6os>(e05)GdYC4 zS^yy=!p0Faq1{mb9dmd6eK5Ebk817m0S>6V>m}v3T|&b8k24VdrqqpeHX2g1oFfm1 zT>(x1OO~Myg3kSHSAmH*`YEoY?F;p+@hLe!jS#jJWN=5)GxB6h&#;i%RGF2Pt;nW^ z3p~8LHytmdclRRkucc?P9Fj@3N?>*+|EP_KA|S!%US8_479)UaIq$ROk1`Qw=5k2Hsef z;O!D=g$%$TU|NJRGtj6wT&g(ON-AvK4LWLrk`oW2K%fN=*b+E=woy|n#A-3FZ zOr4Gc<3q-}YS7kRdN{&dC8Kdu@~VD8gqyo0;f{zEjC2Egdt`N8SHBP295(Snks2ZL zq-P;VFqV}sV0~pGOaFvJD7!vOX8@0!;_sSpYf-MN7_6m`OROR;LRpzrp_(%E zSBa^VvKObOn@iQ) zx2m90VCzsPRnK9bU)I3N?Yr^V$1USoqFCep1l56#4kKP9D)kw7>El5WIoodudOsjpG z&ENY0t6EbrE6S0`s!6#9i*2d<%T1)f6db_(wc29fl%=v9ZYvO08|3)ST0Fv{@EN)TU zYF!0;F|Xtptjbb&4znf9qmZb=_$17mGqaS$N}uJ?t497AXdaCpziSiiaP6H$vg#xy(P8pWc0a|EBYWRsnWzL*fP(14dIbiRrz zHXIDWPLO^LmztQyX{2_m7Zp^b_r3ZEyk(#Ya#p4?wQ(i~RN=;(K>|xe)){44a*oDN zUruP+X)e72HFGyHFEihEpDTWcHb(SBpH`&m37KXBx!33QOTr-zi_(N;aix1EdwtrF ztUNfn*>SO1j^AdL`nLq8LJ|nWkT|QRV`F(|koaA&8e{WWjpy*-%rupK{O5odA@JlR zf5uWy*OW`&#q{v9P$soH1Krk2lpzXP&FPS8=q4k1U<88B66qA~uPJ z2g-f3AZB=byp*sx%r>-hx z@@z*YthC8j<4-26kwMG64tqIY#FJ<(H7NTyUla;{SJX*0snIycljnvEyujK0no0kr z7TS68sDJjXmEt^`9?|(X%2?3DXqBb!$aQV58kHUBg1e|nhxhAa?qh#0xsO90eC>Pr z8PE>{2Htj$PQrP;${*M-81r+a1oq4aL*!QkOX6a9KmSm2RUB<5RnA1VPe;6FgxCwQ zK7X^aU|aOia78b%imbFOutdYw%wO})mf`N;WKq#$U?i7>Y8-9)A7`;!n6M)&7)q!B zB(=6+#{2r;PILhPLg2@rBYY=Ui#CAVX#kj5dr!J=pI%Y`m>bX^lD!+e{bMY5O%n>x z`!Ll4Q%qa#ocBSVyg9rTrY@pQ+TaWVT}p9IUMN)pYV?aTMR?-Cn3oI#AjT zS7WUozk~~A$t9@vEB{e)xwVRhBX6;Cowg_zrUtbvD{KjerZccepPzS~3H;qhtb-Ua zX)jgN_wTyFBf^Ew>fjIVdVnth#_mj3zVV+8BtXZ@t=VL%|9gFYe}0?$g6r-5T---- z62WRG{y})$6mWjdgPbJ(=G6FtadgPTaaf+8-+8YCgNoYUu>DozH&#-zSM(i93{1ym zlNBmLvCVH^?D)%_XlDzLC@bef4wS}7Am1ZPF&CvK9Bmp$@O!%o% z>r-cGie#}wjfnSeW9MoH7wk5Z7RlYo_OeRXz5Ek%jrn9J)Vq0oPKq8524GZR!8I<) ziXR6;E?w$})7}YMUGrFa^yCTNWd1%X?|{(QTL^U}zfJr3O0KWA*#sh?Lq-CK2Y%tX z5-*(~Gn0cEntYGAy~ke)&@4`2&#wm^j68n?+@-YpU6QhliVN>%z4q`g1Vn@NeFR82 zxw++M6S{qk?D!*zR_i2kH{%}4WZ!S*9AzG@2dM02qg+ENl1FG_sgiy-DkN69=OPVC zD!;SC7n_lyEmB{kR4RI+m5PR(d>(u4Xy0&3>&TLmy#uUx6Pv_0zcHh-sdAPv|k4u2z9qKr}U=j9-bxS zoU(-CfWlPn-^-6hjwOy|j&sn+k!ZC&&cgyzo6~!Kqu)G`*`0jA^cM`HOc@zQh!!S< zN*V+u#g7Ik}S|DhXSwCvu1jmq=n5XT{U4t(-8k*$jl=SJLz(+#f&jfzxuYs7?D+A0}Kfm)E z8ved?pBKKBG~D%bg8v=!kG_5K4JIAx(-~@k<`dRB!<|6(>`%nR#Os@0Vog|8nAX#% z#$f!DXvK6m z^L7Q{MY6H)p!#J+>0#PD^7c~aeNxZC5TMb7*YIQ08U-S%+hx=aS7}!7xpdwfrYMu! z3P~kY4=U=`JD=ow3?2aY`h#F1-y(3XFJ*=BL<~TxbmLqpPCnT))LFZ5fN10nIANhu z(bA=$w%KCcdgYwokl^(DInmAWn?WJOY?6fX<5P`yXygbQQzkD^S{2uZN8M=FK!M}J2D{qE9WjH}Ps#jQv2C&tTeyWwj&jG*L)BJdH%Rkfp_@LC>_3dSba{YLWPT36U`?FK-h~37WX@{X;V7Wb%$%uy z@x*1BrWHW&MUJN9VgkfhZ1kEC!FTOz9A$PUq5_`kCL3RyzCd1 zGQ?vJ#ej?{D)E4Le@bflFX%C|6sx@1@Q8a`i===b-9?{Sx)%~!@mJU|P zazHtL@YvUwgroH|B?O2{Jbm2KPjB!J8=^Yv-gACvOW%r$n&8qmP(pfM|H{AIxg7~( z6RqQ9|D;7*k%d4;CF^+@Aa94|VF0Dxh{E%NE=a9$p^g-RS6Q=wn~&D^*t(S5w547#C2;N}WQk7G zj5%)gQlDybV$)vXwqn`6*+4nxeA`@#RiG@BNi5Nd(+qqk?cU@dF zUpNJdc)&o;grMw#FbxAi))(hFcphj2o2CD<6{L`R>S>N3mPD&pw=Gc%qm{x|%>USb zL(3`<{W0rDy8v*i9j-I%It8k&$)(cg7?&YTm&rOw?hU?^N*{Kl(?4_l5${X|hcsI_*BCBWLV_ zI%=4U`F_u#W5;3v039uDm;$Nvk3%#iA(rauLcXkKN$`RUYW3&bN?uR8IDiVVY~#?Z zEJ9`LjcJK+=csR9zzAxj&gb=8suDCn)zm*oN3M9Ehno}0jNH!en&vMrjQ69skERK- zxUT$erp>w%XnZ^CLDg%K8@dm-?vPsef8wzew)ga7d(_TgXC~7M9z1O_=Vsus|Hp`T4o6r0RYn zhh)H)%l_C>5=a?+*?>_~?L=WQ-xJsMH1zwCJNYa2{9q`l*elEMU49Z2Qku#jQX&_0 z`X`BE)q9B`K7_F>4$yjymEfOEhKZz&McVFUTK3k)xF}lYj%RdK#4pEyg869{e1X%u z;$JT{X!(QTXheI8X#((pXhd9lBdZiPIysLwxb(WZ%^cO`3+E608nMg*RAe!ZoP{Ty zz7Pl$$-dZ#xoGhm-TURSD*Uv1;$LAjetc*3#s*}5{wm974W*0kNJeL@UyKCQsuRpgH(LTLgrw) z9MfF|QtajqOMWg1Z$&co`2>Af`2|+N66|^0zTkEeTVviti||R^M}?C{#|S@;;|qCHBi{pXC(Z z71~@4RHx4i>%4K;1A*cxa9Lj3llo$A>s=CXdw)`5`eU1s6BGuY(<}?tHun2ZIGQ*y z_GEFnpZg6*k#dMgP>zj@uBNFK4Ey{hn>`agVDn|ev$xgl(`xO3#2%9}2;V_l?{gRr z`PF7;ZuZ?UWq3rV@9<#&_06IQJoG#?k1c<&d|4d~ms2lo4v~mnBmL0@O=&}MW=Q$1 zN$T~DTxxWU+VAy&Epf)cx4tLyXI~+Ko3t(ox$(}xttIZhr+g>AT+fSv`smYqTL)CB zq_mF_P5B196?#Ac=X5C}y0e+U(tWwV7+l!%0*c{1hhT>8TaA}*9YHMg&rv$w`Q4Bq ze-^E8e2u>w8IL-rw}yBN`XFFz&DbawG#24p0Ad=3+h^Z6RVGwnHfm5KzlA*9^wIbX ze8Sk{gRXqJiR^h;`SF%h>H9rTJ0Wu!T*S$V05an0<=59Av!s+mndQIZ_i(0EG?ifg z1mcVSp%=--0M?s)WsLj&jj+-&eqP?I7t)R(;=F=2{phL{yWvmDy_*VCICnCXoE#jx zmRRJ@^~yp=Cu01seYT_}M}E;&Ogv*M42CYjj)?3G$WRg>KvEtbi6RO9`>*v>xRD67 zuCytq=#l2|Ex&VXr(M4%;A7!MTO=zxR?8SW{nr|5 z3Q)CeN90qk13pR0KNLU%kLR>?;XzAea7$z3r%`v?5o1Vl%Tc0vm0HqAO{X3-=z09d zw@{Q)9I$(elcQ8_@Ai!_pqK2vZS#^fdq($cPAgW2_H_&-P8+>)_c3kN?DCo~*7!Q+R6fu*{efJ8H>`lbPd+Z>H z=szy?uSyQs?BHmPbGEH;wi*3LkG}1;hP8yr(&Y)#19Gf~X92GDNIe+t>H{QhV^Cp_ zZ|0f|yC%}hj2R#}O)R@>sNIoV_M2n;q~#hq4wfc)*VYwG*!rU)7qE)`izmBDseJeS zm>YK?f8~45_g6^fSLTJE#eg6d>43lCH#gfv!1e2A?=)9YFikt!4OUj8idaArY$_Tg zaYVP-Sv6hXMUHGx9xLZIe(B;)S zH89m`f$09Faws(wPk=~=dXTpWxbMcdFxIgw{J5tL6)7oahDWopp_9nyqL#=&F&OMu zo#^*7e~v~!w9W_25BMyxSw9qkanb_N#Y91i@gV0X)3|G-(mre=q8H_Q)i=Dn0nH#f z7UL6f+4n=Ts)@rE*`_gi=m$vx4Ff1+W##5{j*lGcHQ?ib0YCI(ES`91^!u;IJI4su z;(*C2MqC^|<5vp2z4z4ka^i0>)oYV^uGD9wX2+OyMlo2528$wTNM|O?jB04Ql#sba z%z^q;-{+b?o)q)$IVbeSNSrO04p4z~c=@#b5QVrlXaJ%Y?1#7Jtl2`?AJ3`>-w`|u z-jD;A{-ncu;%Vj=lIKao?rSkBN)}Q@iJA_|XnU;ETogHVqrd-+AoCp1I-4|^8rYFs zimBF;hXP_@GYm6aA35j7r{W~LRH#V(fap83h@dVmFs!m8-ZzG#fU=yeyF%f_RVYY@ zM@|c|C^%}H_I54b{gr5K#>DxCTth>{DepYCxK8b+#-xDh{M&z*wXC*nH~?4T>B%0knNGzq}k;?tkOp{f@Py z$z!$)?PCAScin}4l>8$X`5CbU|igoO92m;i`M$0*Q+I$$I z!#ht8%pDNegi3>Y=EXo97h!nJgy{utNRo_!e>AofnTks&6Jy|}mZ`hLu`Ks30=VTk z&m!%~acLWC;9h-B1*hRQPQgkR2zWl)3*07^->G`aU1h;S#yC84rvV)xCTjm!c`rWv z*XI9x5AkQW#pd(LQ^35G@cF)xYeMG?tn+To=(!|nloJ^W675)>nd(bnYy&4LAk80lNt80ecBCe z|2@o6L~K)m+>`k};cDqGsXhqW92Is6{LE zQI*3e%=J}PMzKeSm4Ijah^5rkv9Gz!#%3*N8F75X7$ocDX!(@nD5=ws;r%|m(i92v z7w7L0DB+G7E-7@>tA|h=@0S849xuBR{S{nH(tu=ymE?@)&eyQG*1u)t>&CM#_~$= z^{b_j00~ZDMt&sWC4V^fy(4sk*z;v01iq^{&lqValv3?g3E9=_4_ZZ&Rv^E>DGmc!Nb32G&i?}R<02K~$x9RZQ;XzG7I7lyWVE*f`)Wu2qgu+rBh%&ask^62A|nX$AhsD-2)&0odaN5x#lB&g~v4I1yG-o-Wfy?g9IxS z=n7o@K1SqDaYB#zv4Xm+&+)2IyU(coHJFLevgvqK(UZMgsJ>*aPgXN7kz@3xK998_ zEjeG=^TRTvj5N#)DPIqGZ>kY2I%HvKHZotyrKN}=)_xweIW-pg5VwP)82e2y6`PoD zkL3+Go8w&sbL79EI+9#8cFyk_(Qyq}54}hQkRKtc|8z^R>BMOwCI1f$vm^(m*K9@x z)#^+9r3JQ{;LdCqG^SDSz<2omc7@Z&gBv%9(L>fsN%A&Fp~9U&q%H}5Dx2l7$ZVy3%c{8oA0 z8Vs1ai~F!bX!zZj*?#2hbf>>HfWZbTJWN}`@Q|VwNYf%e!br8G)(=JK!y)_41DAtGg+PAMAAR{Uqr#>Mz^M{J$^S-aa-9ZeWU+T{*UD9T8e@?hU*Od{o!gQc@Ss$%}xozD25 zd|v~M8(hHxdVyibZo&gQN!<_4N3M;wSWU1zq^!G=PQ6Tk&d{3+n9TBk&t9+j#INea z^B@m{0S1rTz2kP1_D$y#cTG3e{}pwO`o{dna_1gV?w_1s$sjrq_B&Z1C49t4P?0S& zEqhTbdEKPZ@ASyl8XLLcV--sJ+g{7f&=ZJ;u3^}r!3jUXjS6_RK+QKcjL7(dZf0;& z(&tKxrP<_*^>Ur1sE0=i%n&RxpsB=b1G# z-UE6!8Xo$z%vUylezIut6GC94Lg6ijm@?3VG}R{Q7j zV4cANxVEpXvz=z(8OUg3YiVcig823uI35fET~|tPjyDTRP2ZqEmX@q?H4y+y(M++l zUt#Ni_bF46vk0{)Om+@(h(L4Hd9)cunCerjoYPr7q{c@7sAfmx`24GBXT}I|4$BVI zM^EQ#)@pwUR!aZ$r>HSddph%Wn?o@!ky*;*;Kxl8LCqe+=@8hMHhw#&BexJ{HKI0r*G9Ynsv4AGWQ!=%eqYGfu^6?XqiH5uLSY9z8-o0Pvn}%-@a0AnTuTn(z;?(r98}j$k{x^6sB~IXJ(}b6R;y zV-k8P@fUg)&A!fnurWZ(3r>tRYFvy2m=+7rmXUS9hup7f2LD0*W=*$=tvb@nx^5^Mi# zQ%77|dC^q|=K%3fmr;rIPjA`}R|0_8*@p93$g?5pGPBjX{taLe{E|#}{Dx_8>1Oxq zqo3pf+s$8v;%)8!;;w3P6Ah)!<_=6ZCE6Ux!}I~DhKDTv6MPXKH0T|26HapPjcV@~ zIzAOmL&Xll)CsUwBmc_&ALM%2)cv*@WXlYZS>h9o^$e`8SKk7Y$c!x}a?RALLEW^G z&<*Z$r%I8N@~>8ZRH8p$Zc(?ceh7S~`+*=v(R6|tSJH(E8l%9Y4OGpy&r(uw8&JPo zH90;)IUM4aF&IHNvW$bXERt^LDw+!EC*4ANqy4u(Gdp&4$!JQ*70WFzU`cQoj*mR* z=(i_i{q$_p_g+I@mzN$*FGTV?cclsu5{RPBy6GOiF*{(#4*Jhf-JiUWr2>ahyr);a z)|}>UlB3h2?=G)JxvuA-51e_)Vi7te1vjy}!4v~i*3op+e;aPY>8E2*M4#C?X_p`R zk*A#z(akzDy@T*c*Qj8g;B+zAidj39l`_ajBEEDdKyRYGW5jkK zi7U;uMo=?c4$n1y8WGCF979fF*sgM0k$lq!QDGZfSn4he|4DGk^2twlen5w`2P+-} zu7$5?YWg5FdHpqI!XPI}y&2nyU)c|xoaeD_qN~;OM5m|=UzS!&o>qHnB!9+H=Tx1+ ztwPf3(8Vn}c@Rn`l<^VD<>i+5?_r6%}O4bcHu9FoSdI#Ma-GtPc7-8q;TOv~>Y!crZ- zko_(^ztYtZQ&ygWkf+z$(Hhf40rE!8*|GCA2<#cc!>&76sBE7T2~sZK6p~U^k*#1* z8y?eMlADR?828#O|Brk4w<=QcbQ)EblT+YqGe(5P2Jd zHCSq8zxO#@l3*AC<})5Kvaoz>9@K^&o54{8Zh~3b4c2(VTH{z)z#cy>R>^?EJ}%-$ zybM`4SeA3#_z5+9gvg9aqG+{N$nRe92^sQsTX@KX9eIIBE|mdq7#|AYby&;n4Aq8^ zd2KMeUnIr3xb@TDUH>|JrcVYI3OCmOuK7W4?4KXkO+@$xc9&K=))D^Cg~=w58{N&P z`d$1XqxvG<92Xzo^k}X=ElERy7B*~fdj=~!vrW1v3musYBVe^Hhy>u78bN{8>uZ(Mov^t`T>= zU^qVg$@U+`pXJe9c`8yU!^YiMOFv!~J-*voV>5_2BxaVT=E&Y(;}e7fxzXtG(S^sp zP^Qvez%0+`v=JG2G%U{z$Kjw?yIXZ9AGDJxvE=Cs2?^0ycDs*#y~nU!ZbWlmA4xVl z@HxYb!(P{xp;_<4?fhMf+uP01c=xFKL;3Yw{B+-3etqqAQbH)0y8GmACGgW=OkUXm z8Ti-HPc`ZwNh=@d0=JMMbtp`B7@e<_;3R&}fScfUjNNnK8qxeNO>5>S+x!;T7cfY6 zjHyFf%SeI5xf}F#r`s=itgiO!l{w+(2t05YrS1gCAM2<@^SZzWqv@P(ndleD<(?7B z5CLSl#fARmd@Rv52MNOWzGOQ5vl~y6m{vup#4^@th=XB6P`1nRcd3PELr-WH3t0Z1 zk8DPvU>ic8I{zAo9+X*I>2$9=_tw$3Q}pcpC*08t3PFq(ZV>|4OukNL-!Ca1NO1Sd zw8n;!xSUS^;XwI9f49y*TEevZ5b7Vw0XfH1C@he@_7|uB6GQi&eH#w&4`AdxA6tM0 zylw+`Cq10aUSvlOac37TWZG-`O>D7|JdTfxyl2!Di`Up~Gh!EQUTz21H$S9mME?CdsP((H z88$|PUm2W1Xdg$L=f?$&jM_oZRBhAxaBWTh%cU+{aLyE5@; z-YoDPdGB|XSHcI1h}s)A&@eyeh)&AH?jB5RdKZXpqJVmXOZ3aX%z2_;U&^r4+l9$K ztx@&iJ{;HSuf7G%c;&T&e0rEBf}r5P)TvHx5H+F|*|9N4_K0HINXPOsZjhgK`|-nz zjb>#2GVdL4lmPm6Q~bFpgL8ELCX_)VLHjGotHj#DNcFX?@xqpe0?0<4wV1L z##Cg%Rp6ieb1w$XjE#jZn7OJQyJESCik%~zs^q?6E>1qyQL$Q-2GcVqVL}boY#H=X z8p_V1yhnZgw^#!hNI%fcpxacymCw<37`v4|CpGmax!<(R-uldpBtgVEnyj@8%6ev@ z0|jPoL(8!C4w@_rwvW$&vW`^Sf$lY|O8YQ$Sb(=X;Y8yt3H@99Wj< zLry92GxuINP$rr*#zjQU-f~Oeni%cQ@I1geC5p1#|3&f!nToTU@kB}bT3d6kP~a;V zHK`b|(?&R+F4M;l(@_w+i?uhCc^|V)W_%Eee=7SHbFOAQP{jGy0!l|k`FUfR8$AqD zOzy*l;$5NwdF>Ebo%wRQG8~DZmj4tNp!T>7VzOsM=R8047BssuU_$8G<;dmj0b3~O z95tXvgI|)M-~!*5{%Xu*g|Q_wO7TKAnWnMKqd5M9tv3iA9O?lH;&5=f3rS-5&C;L1uq?1_tTeWVHAi#s}9Yz<~2 zc4!S3#o#5@ExZ2^hw^-qY&C5ITCeb99at@31Z$p8Ha0d>%NYV%@^(x=i<_DVz$!;m zE@$wILbo+%1b+OgYCN5a{4^Wv*P~QYy!tOZ94?jiEch(@P0fjFlA7rz_WyxX5ngh6 z{}EK`$VwuJiE$lp)F?Q}PQKy6G+h>qF_t=wwP z;c(q>WU$)cP5_n|Qu)=oB=;{ajI3QF5D$u`nKTv=?}4FUVwGfmsJg`3vpug(&16XhwAxl-*WzGQ)J4Ac(z z-p*7>eRU?t*QLk$93HDsiLAW&brCy~*QSaBM${v%Wk8JiHCK zvV&qVYuNzX=&QwQ-!42rClF@Ne1(RD&864iV?klr=u9Pr{i4a^s}h~26QTzh|6xy2 zKF2}=%YQK<8HIdfPT@K6_6~4+j$XuJZ?QcT@KBhtNUmB;SijxhUHv%9RUQDpKuVPd zHiP(q{d%QURRjh$+}OQ>cc$KFFUkcAI;fDG*rElUsI%2qt8y2%0ZSS>!5sZ>q$nGy zaUw*$Ai~l8mcc#>?mR`!HEshBTX^K0*g6kJ7QAyGM{b*RD@s)(n{s-A zm7Zm^SDc0E}#j_+c5Y$lexPFvXZ=kBgHdygCD*Cx`3kJrm@${Vux{BkEh z#A}|TOJu!6bC~suX*v`|z#JJh5Z?3^M&HYqG!4?`gXlcYrq zn8|Ow)Iv)V*{C>bPH7ExIbht1-u^RwMm#=gb`U-d9I<@cwvHjG6hI%kVYMGhF^5qq7SGuBUz zR$egHd))ZE13u39$l6s@lp5NGF<6`!sXC?YBTzjVtF2EGME=U~r2q<>zMOU3T@vw( zOZoGo&`rFgvbZKQ{Q8-ioQ%iC&wmrC$bm&ZI_Tt#SEC}TGMx>=tus7pfZw{s?bt>4ft;4f{Edld#T|uo{wUle`)@{1Vf-g|mixn+KFbyIIk1OKdtDI8T z>Z+nDy-#hMvOc5nL3YcH;XN>b-~^EE=}`v&8D!qBJ;D1We0~z8O!OkG1@B|$8kKf- zKS%DJ+;*1^O2fpvHg^8?1fOpb{XSUNwidH!Z~ywcmMtyh8=C+EATewkel@%4D4PPg z3-+!6hpx>u2`@9=uBN zrm9q&s`*)A)R&(`M%H^ln3Q|Nqy6MQAB|6^)%Saax_(nH@;DwIUMg_}f_SJ}c&(XQ z{)7K5kDF8&h8S!DnxIIw2JLZ!MZm0BCZfwzdh2->T;aE#M}PLXm27JKmh-U@Dv6eu z$wT0fq-wc~zyOCq1TdaC8e&WNtH2G#pE=d_Zsn!O#t4qW9FuY>L#~mr!6E)}v7oUu zfQt;CtJgPID~3D1KP->N%2pAZ7fr5yrrFto8wkHj3r4#nW$p-{*n<&Ap*9lu9mEJ} zCUlyd!`Q|(_>F>9c8-dQNNs%$UYl`FpLw<{PNs_>Ob}#e<^x*Yj*sP-yRPC9Jc@~MyXqhqD9 zC!2bmtH-V^4rCwYR-3-DIoPxi2OW4Pl54^k?$SRv6W@iw%kviVR-NbeyJP9;r<%X> zY<`NSZOzhDyf;&KDaWS=)!GV2RR+&)lqtPgcw|8Hiug-z`8iPNzSQ8yMnY}RujB*2 zjY~S`eHM!3E>#jyRF7EKc5F#<9rkK&VWXOog;t;&d>Z#@G?y}x11+tP`sDi2c(Qa8 zd~}HoGZKP$$DiE3=hqK!>XWSVyAw?CvY-9UbiAa+_Tpze*!HdcS!xtNEKg>^Mfnu5 zL`THvc}XaA!s@TfQv2{Q`f}%;yAnMAs;r5eM8d(-9q!#Fb^$KAI|rw*Pq^fr8}*SAuvaG~>J;LZI2 zUnfURN3M$2*PCNg*ES*k$wh)ks%+Y>u*(}2Aj%pq(~w*j-oTOs731SKz2a_x!_Z&5 zK}GelhkCNzB2S;q$)R<98J9~2foh9+nS|C)4P6@}aHWE7=D$xOMRF6q_g8DP+#BDW z^%vUEZ0Z;UkxP*s4`1%$CG_;b`^U;aBj3}CJd z$L__u_B5J9vnLP85n0zpbMxI4Jrt(sNTtsWmM@MR39h+yd;1E+ z^cSH2yqX754W~|4xp1;^p~1RnRi5cKt&x4H85%A1i22M6&)j}tJLPBV18y(d3DLbY z%y(*`CAXO?e@{`Rfjw1e|7uuMvP*`Tu_uSx|$<$?VzHC&#$cY)Q(HA0K5l0++Ry_*z{;fr$dRr)7QRheok$SYL zumv=>^^`buPW6QF-xa^Q{}TDiVT3t*%C^4BfvfEqsYv7xf`sIr$<#ibddu!|ogGR> zD?Q}V(SC&Ff!)s!pf%BU=kF+4-WrCR4puAeuXmjvAyR$?DGBX`$EVN5ESY*}ecD$u zQ`7Y3?{m+P!dADTD3D`4R+Kyc;zz=r+=QOb^k%>fhP}z)bHI0Yc2?7E9ulN{gCH#C ze!TYP#;Lk91}4j=<~uc;0?yTn_VIM(OObsJULg1+KjvXk)Zoi0M$GnXmp7pa^T(%S zH|9NjsTB#hA!tD~RO6$$id0cQkr*;z;)eK3iVZ&uw4?k7wGo#NfU}@$8P>JMpTwL- zGHb-v@bqL^u2nI;29n)&Hu#1{X}`w4Klkk5MaGZu&xSb{#$@|}c^%O^_tU6*)Yg@- zH)$~+arm-NdDzW|PLOad#u@D6YFBQ+bf!{i9G9^p%n{ zX!im)ZrMnmm;ip4!@98K-m@;8m&>)gZL|cJ<68-gtdHZ;__@z5S?9{V(Ql%^s?62KvY-F!5<4`?2G5yjc2h z$SBktEn{WYs1w&Mr27d5>+K}2@n8cPxRtO%b&uJ6KIF~tK4aI`nFBQFN4JkVupA$s zB2!o)d5vVOfq}qK)j23DZFYt#-i>GDB$Ym1yb%GyxB`;rn4IwU^%sm9>XF@TJs;bf zx^8OR5*FD3ejE4vj!xDdO?WYLjr}enJfkF%y4_2csY4~+Rr*6&!&4D9-N*I>#{Hg_ z*)4%a-}NvATCS*t`c7%r0GQt%Vt|vRgRW6v0+IA}v2N{lD*@pg?>FO{geO$ugxxfu%$4Xw0%B}~}sHZGKv+hC$cuzv4XMriBv=E2_g zQ346a*q@t@efkUZgSNafTRDMQ=wJl0}P8jTu&?aIvsM^E{KH`JJ-Muk=1D1#fDV9vVhY#;^Ar! zMr_O$A?eQ_^PQwI+|Y5Y_45yi!XNINg=w(?dsgN$#`6@$!&yT#|E@ZdQUTC>O~iXVu*D%9&=PYtYOf`d`4~~CI*<~Bm2mKhY_nU>ucaa zOHMI%9gm(rcyoxp4rH4Ey#Nq8im@H%s^Dkwd~kkbNFR}U6&{o5zue_|{G+zEw)$*a z8Oocu0oo^Sw@N45qE-wVkPaIWAb#`S@5_^*?EC|dxom4BLkbN7@4E5zjah$9*j)0#wc3CHjB2Vi;F zSNM=!tnRf*HRQ+N>H7}fTwc`~NDs@KfXPE6xf>fHrXfA``Vrm_!~9xHnnb3-?qji% z0|%&$)3bH?W7ME$Ha4M)Fn-&@lel*w2=MT-1IQAU%|GK=B{ZA)7JTxRICl+obixU; zJtT#?+>SJNf@;4sMhVOOw-!K&Z!iBzGAosLe%D!UiR_Fk?x}o#Po}?*bVN~Z9iVvgc*C`s2!(E6V@BQmEK|Q%@9J_)BMyQftNpY zyvDjZtQ=~>W=9_&wce|p>(vHGl16-=wPrDB#r>(Kp{Z#)ku98$xx?(^*hs%;`3znr}*=yxX}{Ba(#JF1svs+lymk$>jrsmiE`F2 z{w7rA^A)(kF;s7r6e)8|-FO!3nFqeeJKEJ#R@hgk4Pyf?Dez<#fJEg~ z(BQB>ImW-du`0i-Q$teToUp)tAWDXFi^@p&c}4+2ZCq1c>s=ic^~CWAdi?%Y--TFc z0(s|ypoq8n($$ZOir`_%+xCy3k@oUY64lb8L=T#E*wZe0932zDDOPCG<6*|!JcK18 zN2#adQOh{cgO!>5f$i~Ws|`{#@jO7E$jm0XN;C|j1~L30?~%Fx7?XXEuKJ%$c03^2 zvK{N)iXOVuDRD_P*IQ?&#r6|6m7@~b5Pi1eM@4Mt**$q-ZBD$Tf9AG=AWhzG<{UBT zC0aIfMcr>%s9L_!xD zUP0xYqfS1BRjVScP$#g0E?WG?6%iKB%$gH(3>TY>zEy+>%u)wCk%3#Ezl^6H&rD@u zwiwD#b!}5psZtPUCnzc}spt+Sp|%q0T?AY)$?^kct;+aJzn3zjaCB?WQ(P`CdU9QG zx0v04RcouQ;vxIcy(#?>W7>LpdKL}31jT0Fs55hO(ph+5&?NlC zM8WN5Gt|G$7Ha+#SN9$so<=ypLn0IGukWcmMSTD1h`3}Q`w_B$T40M&+VK)cvjeZ- z^_-WA!mNjW5?Ij0Wm>|ohi`*Ocg-EHiopnO!O5Y;LNHzt(}p5KtPuve|B;Ntk=++p z)0w%4{2yDr-x?#@BFG9M{19TvQLuO^c}HaF5b&vw_3J(ZPJBi3`1vG{Qkh`;?mX=q zZ4ok@G>(+s7DAOFi+Fw#^gaD}4=b9`-c3bpeF#5^($WTW-=^blcmfLa&_v#5z==Pz zz8fyAce5}$tle0&mS4@GRbnNG{N!5F=5~V9d=OFvKs>VP3Q7jK zg>BHNT#RyJwdEr>NRdj?zQjBZdb3HG-%~5ma_w#rClv2t_@$iIOC3eM3EpDEkn496ZnVOCD=6-{V_-)gOD_)qAr-j~ltzd2jMzuUA} ze|??^z9X|wzeV~}{-f`QA4Qq6bk!HI=Vh%tNAs=glbo#sG`xFJ z;U6Y0a5Zb~Z*m%1p`r#({G&tPX|7_{1b_GBU8H^pwCf7D<~nRzRMQR0Fi+V6lMseK zKAm2xJXnk92d~qYsEYe&VV`Zs_cQG8k&i#vIX0^;CnlqlC=qx{hXK=UwKh>yJH$7= zo31^U>|%-H<|97lxytLIZJi=GUbpq(x9WC-9>>d>ynj7(kZzBy0(IcDBO;B**nk&b z+^bF@@~*EAqEYY?E4 zw8q}nps{uSW&D#?*J}s#@v3ll5NE!m5De_eLBk_JyiUKr*Cbm^S?PR&$vm#z9(b4N z_3HB|V%w1wHpzBY4woxqs0wG_8b5ROH5F<^=S9iXg?_qGBjk2?p{t{raAG%soqY|O4IB>Ks;c*c3JCd)j34KrmqWlIk!wLK zzb~}zQYJ^IxI21M+T3n(1p>6syOb!aN}+F+639Co|3KFmTG&vh`x(Sul56HY9M!43 z>`mw2N9{h-_mcjw$K1(>5jAB{pppB~JAc|PLlQBCTXC6OHgAF8I%D!ZS5tp)0wDI zhUQbGX3FNsk+ahd?l2P1+33~OQoMewxV@-OLQT${=M3F4&q-4V1XUHj{rqJ^`76$F0Aj%a;)PdabDVDjDS0sznKE`a$69oz9?yFpp!F&g{WtAKP6H2;(>Dw2aYO5Z<}KT8%` zlT-BOTnec*Ev})S-MN@}i>$aP&A#mNJcu3LF9DwfLXJ1jA!Q3jjR`dG7T%1!PzjJ9 zKC5VBSvUMJ9=p~Vq@R7E*z&F%x>U@j|lGVVnqO!1&dbOW_}@GSQPNfLyUetxf^^`}Q*Yp|>_?z^rc1Skza z9!ssfjsKnozPSU!%XffscC7cfusaomLxw;VYfCbf5n;1nHym_P#d0V~X z)-~c1u?Le;!V}{$4fGr+;O$-DY@DFHBPimKJTjpyljSwE6;+t<_@}sogtFlABgr~n zDE|B!!hco*heK{4?T1C8VN$P*xm9L?FG#*4nbZy=mht#NNl|9xOnuWT|GPg=d$(-9 zPkZXtJI(A{>gq`td!^(9lz4G?2O^nV^eFVo2~+ZJU*8_4KXEu{HZq9JCbyj5Ajrjr zzvpC6jD6Ldr17~^xci{%KY=T_Hu4%IYh%r zsutE*7783S9;pWqS=0N54Od$k;JrM~H_9o0cr%LRUAA1Je|$SpGBY#bj{7hF8Yk?smHNlLjVoCXB$ zMWt#Fl2>oUe)STuD$VyOv;hH-7OuJt*Qco!>0+-Ed}$_jF`?U4gKS54jvYxo;Wk3_ z9P+dJ0i_{?xPya02l8MW?bh1)Z5pEm!#4V|ZOQp{aAIYWk{W31dA(~Q4~|@YsUK6! zB#q805njE8x`cU4kX36dyk;dF336_hCPkba`T`xKdg$mt^d!OS^9LAASPD@s7>X7D zus>cAn7OX+x-Y;4GC|Es+v!eq5u> z{pRgBe7yHKj`0d|5N8`XEgngiSl28Cmsp%>G(lH^Rjj>|H?FEjb$g$lFF+~}O#bF` zRb5uz0hCIftsqcvX(TGd(g@fg};Nxi$Fmd5Fs;i~e4b`*)jCQrG-4_2#V^8N z^89Uow-6>zF2lCxQ@YQ;AEmt4>Jk0RBkJ*Wvwm!>SAj(xYYc`HAq|5E@)Ni?adL5mT`dy* zyvU{;%ZNuS;`{w22v}S-Oy%Mx{1QXOm%(2#rb7%)dDIqZ95Q+rA5OEQnW1SLu$(Gx zestS&dK)3Z_C+_#SH(FvB}X9y^uiQ?I6V6fQLtf2fNqw*Z3nS`E)Y!#1D=6vn!H$e z;V5IP;%Aa05Q^mZJ^@6|9cv4eA~LQY49dyfm_+#4YQ)m=z*&JYVF{Ehh4w#Le~fP| zK<{oZ0HutWZT6sthL(r&tYF%7%0GJNncyPJ?1oJ8jw@_*MrV>KIn^*X@T*23XoCOD zc{i2rEe=9Y#2Aw+3%M${wT;aYc>kjqKP7y@rB%b718zqQ1q(&X2X<+7rjnrvm#3AN z2V-)I&YbO>#3EJ=OYCPybqk)Gw%_4Y$Ubb>KEvUHu+yKJHZS5Yc3cC|{c|CTAK(Mh z#CyO=MvwAwYx_i^v^urV$Uozo_W5PEX8W|KrpD(71S%t_52Fc$39Pmxu0f$;H6al= zDoR<7;28LcEMOpQ^b~5zamiMOy9-ArbuXmYN*85JsoB3jWQn>!z+4u?<4Lzxn-Gli z(4_qM1m=b-ST%1%hEMLdsit~G7wtB-dN(u4B@r>fbTO0J!&LnLO%eB@i)(6BEp2Tx z>-pzM#?2CS6Bx(8_J>Y9lK|{bMn=jm3jCQh-EiRhSoAPTmJ?6S9r-_npiIIkZbsh~ zR8+98{@QRHKqbgUNgWs%%2Xj44~BIYH~Ptde%d$q?uF}rUzVT`#nIYw9RJh|7;L0o zQQeI=@e?4gAh`NZRd2t|TM##`Px^MSNqDO;5;cb~m{pwKE1-4WVN8G+vlJQ}GbchK zxEA~epI~HEb}k)w*AVTRT=DpF2o19$!FLMb=10NJ<$18tn>_1%iw;Z%A5bTa zl)(ov-bDs}j-5Vl1@!eC^z)xv;Z$~-!oNIKm0X-3IXGdphBY64|8WXH2Fd;Y5;gv{ z5Pe$20E}N>o+p%weKfr_D|Bg7&XyWb#15&r^PtVDJE?fbb)K>ci7#g+=039N`5AEm zV`*F#8#}{^0yuNI{Kq~AHJ6`{&TO)|EXIGfRP$+WA*m!bVgrs1x2RD95BsNwARB1O zO`W7nt-F1P%p?wf#4OH9B`IaRY+!S`K+0s(;FU7?-C=mTGmznC;nL%-ddF&Ar)4v* z75uloYv0J2b6m3Tf>OrW#A;~C8@sZl!85K4fxYFmNn)7JM!NBq&6ftxT^!(TBj``@ zX2}x8eHtJc|N1lN39>^aIchq)-r+MEO}WWv)!_B#%XOl+VSh{CuzV~d>2u|7f6HT- zGcdaQ`O>q$#j}1%c+}ltT@5FdV-!V%CjRiAF%{x>H0o~}i*SEf@saLNWAdZGt zu!g|#K+5znerVeW;&bCT3G;ix2}=9l-rk0hY?6#WNUK37l}n^iopI0-27El?#M3}r zg8G?I!fJBVEEC*vT=Q1_B8FC3VS?3SboZ|0W(T}srC`%CYZ_5OKDg1_Is>Y8g7y@F z#)hpQM)9svG-h_)voJd$czM1eknzNC|- z4xdN{^j1Zwrx7#^se7B-&TB$f!LZ%Yxpn%Ky20ZP@w+OR$+48Pg-2>A;E}}8lE>O| zCe85?)}vhnfG~0C3CSEyIqM<-LV4)ln0H9XzI-+Qje|vUi|lb|aTKH>HDuqENU$WI zRKXyjE*m#8G6Dde04P3X&?6Bf5ELb{U3JZJ+$(mzxF4bqzQ5mqy10KSq4S$N5#{sa zD^}Q$iS6V+xaC`O`r$ard6{wF)jvYM0 zfeZ8bQ1eb2fKox)`Q#Wp_h;X2(~$54FO55*&{N{6X^pO0gnY1?Tsl!6J1R=)7vFL_ zd%DKf(RU)9=EIkD#RZA?{d+s~f@3;61GbUSRWByQfN^)e{a7Qzd14Olhwq5bdwR09L56E?NcKEit(PZ3>(9so=mIN$^18K#`nSXaseQ!q7 z?uUzyf`&0EnM53xhT0xql5g0X!wEaA+K^u@*JA0HN48f@#qY1W9Z8CnGc>f>Er`*x zPP1Iw2&k>x#p$_F2F47fI%LWhE4AnUp49uig|xJOBhy3QAkdB0-7+io%@#`Jy?(`2 z_0XO&8HEMDE3yVa$8FvL$UjZz3fvb^*kh@@e7<*cj}g-vQ&nZz$1(^3Sk&N!8dAC_ zW^{a2cVOI+U>}J}D`EF46UQwY4v3f#O~2dz#kDyP9AIUkbatA3X%-GmpIQ(JWA4%q z=&wWm8ERS<{{?D<=fi_k103T-K>zoQk*|U%(vtp&a$UW#`rEiQTAx&y`%H-NFv=!E z+vluifPg}l8Iwad4=h;Y$po)=!b*hoAz@y9y&T7(zfPqh!^>Z-8qxAr6xU!*pom;` zxtBwXxy$-4^AbB$l*LQYHG^Wj)ffck7nnA>vaPf0DHmeNd{n#9yOo+60&l~>$4EE2 zUf$90TVL+R+x+jf;LcEHgn#G!r-7fL#*7JHpq$%QXIqLHyK<}ihths%a~Yhfng}p6 zl#K_dl4D}x!xmT*lCeE#*Aw$(ia@#w!knmQwVU+E;@S3S0U6aM)@r$r70 zqX_gSxVODPPcH|P5MVrM)erVGk+V9=Rc4`EA6k?Xc z+P^hN$z3^%@eCytii%hm<{7O;*Jw9RIhv&b!#_%YxWV}~cG#@vyxNt0_nJTN77j%k{D;*EZ+=9#czy{ z=De9?^pNV*p;*Rx5(tC1jx~9Rw{;Cdq1x9MSYQ}&(r(^}df&nu>g(69Kp1AjQ1Pb! zB)5jWzyu@kT2ui=V9;fy>ii$G48~&DHw`o%Q z%tzJ6GV|_0;c^wTSa~!@-00401`XIiPKXtpD74Pq!@ltaZ~Aqh7p6q=c9uz%XdfC_ zAlB_OAq0y|7kPF7x_ivOmowCQ1u|U}m*8Z-mGP_E4dXTG($ozy>t>bFMQgv!L5d7s zKJf)h6z3Z!a~6@csV=^|q;jh?$Yi0ce_DLqH*|pJCnMi)GfIC!1}6ApwiQ!_-2RB< zeVJxBuQFhV*2^#(QnI-$1oiWj_B9Yu%g)Z!f7|i5+>(zNP<>L#;|?%DO^%Oy498DE zXw~ULD{Ij^UL@)vW*BSs(Zrvf@@0$ns0XcS?U;B18Eu1zt8)ENYLr+ z9HF)x`KO&WZkoaL}@b zo`Fh{5`)8E;={*2un~y5WJ^=|;ugs9Fy0CzA`s-_%7p?$b~2;Gzvj~Rd0p#oH#=g- zbFHQETiXOdS7baki~w)oh@LLU$@4aU&jvsz=R>`$4) z+W|PaS8~99?*y502vFUq)5gN7nx4c<=yJK~8tQ&Noog999XYj{yfXe0{?j~`lq1o_ zgo6$$f)+aQ;k@q4G$p`N4pd{jfE|tb5xtT$=1o>eb=^5I=>#U)bxDAy(9!R46iTXDsd{gw5Rx%5oNMF5CQHXZ~*aV zq3B=AcUX-FM=lQKQP%(fvm+<@UV{-xeApP(sWl7V+UO1x=blO?R~}e5zW6-twC|zU z(|%q57L%yTQs`d@>v4RO2vD5f$7;FfpSaM4CRud<7J%Klov3(5&@!Ue)?5ioNWf+p z{)-4W(gd$upPZanu3m+542H*;`)%X+MSA`6`LS1MmNOAh^exFtY%f2w_auk>Hh3iX zUv&1RoKW5VF)BnDlZim7^tt4Wa!+yhck@DTqHzw_gTAAZ<#B*P=Glc%frqNWK6@?EuvOUhjc!_nqVXx!pD6a zn%@sM#$hlC+A{_Lg^~tn2B}aPQl#6?cBH(mZ%@f!q?e$$aUYoo{ zVNDB07QU}X5Fah$UucIy^_hF)RE0A9?=!)FhcllxF{Q_@EL7Y}`M3eIvstnmW71_d zG^59kQOT8KRQ-R?N<3&J*bI-eM}0{H_WumH(s$CIFAM@}Vhk5XD_qK*Z(R9d>V-Kw z?v(vCZK^vaK4JQFb_NY?ZDH{rQ>RYt{0h7zPvtqogEJSMAItso*;czx$ZGG0%nCmz z)cSz=r<pI_ON6h?4*p5DI=Vx903?eR1Sr&|0CXj6ze+T)Uw3Zg*0<{WBZhO5O(r z&pCFM{rPr%k+AjgjQY0~z|V{=~7qP85e}C7P)?P!$r=_ElySIfCWBi z7T?_QTfV00it=R{^}y8d_Wh(C-(5^58oL2!zb736>SSgBmY)~m&bxH-C;y)|;qP3| zH|u$C`fJ!N{N1-Zch1JctR0huLOPNRFCG#;`cIehjk>DMnZL)b%ANZG>M<{Q$TTJH ZpZ$^G^&fVZeaT}00#8>zmvv4FO#nxbWkmo0 literal 29054 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 From d4ddc6433c43c89eb7fc4b454e221598529c4810 Mon Sep 17 00:00:00 2001 From: Alexis Date: Fri, 6 Sep 2024 20:46:35 -0400 Subject: [PATCH 4/6] Uncomments out the crafting recipes for niche ammo types (#203) --- .../crafting/recipes/recipes_weapon_and_ammo.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index eace9775c9b..01a4b0314d3 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -305,7 +305,7 @@ time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO -/* + /datum/crafting_recipe/shotgunammo3p name = "12g 3p trainshot box" result = /obj/item/ammo_box/shotgun/trainshot @@ -345,7 +345,7 @@ time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO - +/* /datum/crafting_recipe/c38boxincin name = ".38 incendiary-tipped ammo box" result = /obj/item/ammo_box/c38box/incendiary @@ -358,7 +358,7 @@ time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO - +*/ /datum/crafting_recipe/c10mmincin name = "10mm incendiary-tipped ammo box" result = /obj/item/ammo_box/c10mm/fire @@ -494,7 +494,7 @@ category = CAT_WEAPONRY subcategory = CAT_AMMO */ - +/* /datum/crafting_recipe/a762boxshrap name = "7.62mm micro-shrapnel ammo box" result = /obj/item/ammo_box/a762box/microshrapnel @@ -508,7 +508,6 @@ category = CAT_WEAPONRY subcategory = CAT_AMMO */ - /* /datum/crafting_recipe/a50MGboxuranium name = "12.7mm U-235 ammo box" @@ -524,7 +523,7 @@ category = CAT_WEAPONRY subcategory = CAT_AMMO */ -/* + /datum/crafting_recipe/a50MGboxcontaminated name = "12.7mm contaminated ammo box" result = /obj/item/ammo_box/a50MGbox/contam @@ -553,7 +552,7 @@ time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO -*/ + /datum/crafting_recipe/m2mmblender name = "2mm \"Blender\" magazine" result = /obj/item/ammo_box/magazine/m2mm/blender From bab31e10c262fa6bed72996fede44893eb540ec7 Mon Sep 17 00:00:00 2001 From: Alexis Date: Fri, 6 Sep 2024 20:46:49 -0400 Subject: [PATCH 5/6] Lets stronger mobs kill people (#205) --- .../mob/living/simple_animal/hostile/f13/Securitron.dm | 1 + code/modules/mob/living/simple_animal/hostile/f13/centaur.dm | 3 +++ .../modules/mob/living/simple_animal/hostile/f13/deathclaw.dm | 1 + .../mob/living/simple_animal/hostile/f13/fallout_NPC.dm | 2 ++ code/modules/mob/living/simple_animal/hostile/f13/ghoul.dm | 1 + code/modules/mob/living/simple_animal/hostile/f13/insects.dm | 1 + .../modules/mob/living/simple_animal/hostile/f13/mirelurks.dm | 1 + code/modules/mob/living/simple_animal/hostile/f13/raider.dm | 4 ++++ code/modules/mob/living/simple_animal/hostile/f13/rattler.dm | 1 + .../mob/living/simple_animal/hostile/f13/supermutant.dm | 1 + .../modules/mob/living/simple_animal/hostile/f13/wastebots.dm | 4 ++++ 11 files changed, 20 insertions(+) diff --git a/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm b/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm index 7d16e087c48..d084b3c3a0a 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm @@ -131,6 +131,7 @@ mob_armor = ARMOR_VALUE_ROBOT_SECURITY maxHealth = 150 health = 150 + stat_attack = UNCONSCIOUS del_on_death = FALSE melee_damage_lower = 24 melee_damage_upper = 55 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/centaur.dm b/code/modules/mob/living/simple_animal/hostile/f13/centaur.dm index 626d10d0a70..2e296230117 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/centaur.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/centaur.dm @@ -71,6 +71,7 @@ /mob/living/simple_animal/hostile/centaur/strong // Mostly for FEV mutation maxHealth = 400 health = 400 + stat_attack = UNCONSCIOUS melee_damage_lower = 35 melee_damage_upper = 35 armour_penetration = 0.1 @@ -108,6 +109,7 @@ maxHealth = 1000 health = 1000 + stat_attack = UNCONSCIOUS speed = -0.5 harm_intent_damage = 8 melee_damage_lower = 30 @@ -176,6 +178,7 @@ speed = -0.5 maxHealth = 700 health = 700 + stat_attack = UNCONSCIOUS harm_intent_damage = 8 melee_damage_lower = 30 melee_damage_upper = 40 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm b/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm index 7f334ff42bc..cad64f9e157 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm @@ -15,6 +15,7 @@ sentience_type = SENTIENCE_BOSS maxHealth = 600 health = 600 + stat_attack = UNCONSCIOUS reach = 2 speed = 1 obj_damage = 200 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/fallout_NPC.dm b/code/modules/mob/living/simple_animal/hostile/f13/fallout_NPC.dm index 3344ff34c46..0c6851f7956 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/fallout_NPC.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/fallout_NPC.dm @@ -214,6 +214,7 @@ icon_living = "enclave_armored" maxHealth = 560 health = 650 + stat_attack = UNCONSCIOUS melee_damage_lower = 20 melee_damage_upper = 47 extra_projectiles = 2 @@ -344,6 +345,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/bs/paladin) maxHealth = 480 health = 480 + stat_attack = UNCONSCIOUS healable = 1 ranged = 1 projectiletype = /obj/item/projectile/beam/laser/lasgun/hitscan diff --git a/code/modules/mob/living/simple_animal/hostile/f13/ghoul.dm b/code/modules/mob/living/simple_animal/hostile/f13/ghoul.dm index 7802581b4fc..1b547fcf353 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/ghoul.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/ghoul.dm @@ -248,6 +248,7 @@ can_ghost_into = FALSE maxHealth = 200 health = 200 + stat_attack = UNCONSCIOUS speed = 2.5 harm_intent_damage = 8 melee_damage_lower = 20 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/insects.dm b/code/modules/mob/living/simple_animal/hostile/f13/insects.dm index 33abe48665e..da78c49ba2e 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/insects.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/insects.dm @@ -151,6 +151,7 @@ speed = 5 maxHealth = 560 health = 560 + stat_attack = UNCONSCIOUS ranged = 1 harm_intent_damage = 8 obj_damage = 20 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/mirelurks.dm b/code/modules/mob/living/simple_animal/hostile/f13/mirelurks.dm index 2f4a01f56ca..5add294a382 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/mirelurks.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/mirelurks.dm @@ -69,6 +69,7 @@ guaranteed_butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/mirelurk = 4, /obj/item/stack/sheet/sinew = 2) maxHealth = 160 health = 160 + stat_attack = UNCONSCIOUS melee_damage_lower = 15 melee_damage_upper = 28 gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/f13/raider.dm b/code/modules/mob/living/simple_animal/hostile/f13/raider.dm index 0b7eacf2d75..1319f9286b7 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/raider.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/raider.dm @@ -148,6 +148,7 @@ mob_armor = ARMOR_VALUE_RAIDER_LEATHER_JACKET maxHealth = 300 health = 300 + stat_attack = UNCONSCIOUS speed = 1.2 obj_damage = 300 rapid_melee = 1 @@ -165,6 +166,7 @@ mob_armor = ARMOR_VALUE_RAIDER_LEATHER_JACKET maxHealth = 240 health = 240 + stat_attack = UNCONSCIOUS retreat_distance = 1 minimum_distance = 2 rapid_melee = 1 @@ -200,6 +202,7 @@ mob_armor = ARMOR_VALUE_RAIDER_COMBAT_ARMOR_BOSS maxHealth = 150 health = 150 + stat_attack = UNCONSCIOUS extra_projectiles = 2 rapid_melee = 1 waddle_amount = 4 @@ -590,6 +593,7 @@ mob_armor = ARMOR_VALUE_RAIDER_COMBAT_ARMOR_BOSS maxHealth = 165 health = 165 + stat_attack = UNCONSCIOUS ranged = TRUE rapid_melee = 1 retreat_distance = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/rattler.dm b/code/modules/mob/living/simple_animal/hostile/f13/rattler.dm index 399c9ef76a3..4cbc3440100 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/rattler.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/rattler.dm @@ -16,6 +16,7 @@ using ant armor b/c it just kinda works here and i don't want it to be super bee mob_armor = ARMOR_VALUE_ANTS maxHealth = 150 health = 150 + stat_attack = UNCONSCIOUS reach = 2 speed = -1 move_to_delay = 2.1 diff --git a/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm b/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm index fce2af23457..7062359c144 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm @@ -13,6 +13,7 @@ sentience_type = SENTIENCE_BOSS maxHealth = 130 health = 130 + stat_attack = UNCONSCIOUS speak_chance = 10 speak = list( "GRRRRRR!", diff --git a/code/modules/mob/living/simple_animal/hostile/f13/wastebots.dm b/code/modules/mob/living/simple_animal/hostile/f13/wastebots.dm index 01f7c9d38c0..5be905c9e52 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/wastebots.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/wastebots.dm @@ -115,6 +115,7 @@ mob_armor = ARMOR_VALUE_ROBOT_MILITARY maxHealth = 100 health = 100 + stat_attack = UNCONSCIOUS melee_damage_lower = 18 melee_damage_upper = 64 attack_sound = 'sound/items/welder.ogg' @@ -254,6 +255,7 @@ mob_armor = ARMOR_VALUE_ROBOT_SECURITY maxHealth = 110 health = 110 + stat_attack = UNCONSCIOUS can_ghost_into = FALSE melee_damage_lower = 15 melee_damage_upper = 37 @@ -310,6 +312,7 @@ mob_armor = ARMOR_VALUE_ROBOT_CIVILIAN maxHealth = 100 health = 100 + stat_attack = UNCONSCIOUS speed = 4 can_ghost_into = TRUE melee_damage_lower = 5 //severely reduced melee damage here because its silly to have a ranged mob also be a cqc master @@ -488,6 +491,7 @@ mob_armor = ARMOR_VALUE_ROBOT_MILITARY maxHealth = 100 health = 100 + stat_attack = UNCONSCIOUS can_ghost_into = FALSE mob_biotypes = MOB_ROBOTIC|MOB_INORGANIC speed = 1 From de8f6982b18541da41a2f322e77d118a74935412 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 21:02:21 -0400 Subject: [PATCH 6/6] Automatic TGS DMAPI Update (#210) Co-authored-by: tgstation-server --- code/__DEFINES/tgs.dm | 2 +- code/modules/tgs/v5/__interop_version.dm | 2 +- code/modules/tgs/v5/_defines.dm | 1 + code/modules/tgs/v5/topic.dm | 4 +++- code/modules/tgs/v5/undefs.dm | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index 4766b3dfe66..42f2d5fc31f 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,7 +1,7 @@ // tgstation-server DMAPI // The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. -#define TGS_DMAPI_VERSION "7.2.1" +#define TGS_DMAPI_VERSION "7.3.0" // All functions and datums outside this document are subject to change with any version and should not be relied on. diff --git a/code/modules/tgs/v5/__interop_version.dm b/code/modules/tgs/v5/__interop_version.dm index f4806f7adb9..29ea239ad84 100644 --- a/code/modules/tgs/v5/__interop_version.dm +++ b/code/modules/tgs/v5/__interop_version.dm @@ -1 +1 @@ -"5.9.0" +"5.10.0" diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm index 92c7a8388a7..a47bfd78000 100644 --- a/code/modules/tgs/v5/_defines.dm +++ b/code/modules/tgs/v5/_defines.dm @@ -95,6 +95,7 @@ #define DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION "newServerVersion" #define DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE "broadcastMessage" +#define DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT "clientCount" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE "commandResponse" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE "commandResponseMessage" #define DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES "chatResponses" diff --git a/code/modules/tgs/v5/topic.dm b/code/modules/tgs/v5/topic.dm index e1f2cb63857..59e5e63e5cd 100644 --- a/code/modules/tgs/v5/topic.dm +++ b/code/modules/tgs/v5/topic.dm @@ -149,7 +149,9 @@ if(DMAPI5_TOPIC_COMMAND_HEALTHCHECK) if(event_handler && event_handler.receive_health_checks) event_handler.HandleEvent(TGS_EVENT_HEALTH_CHECK) - return TopicResponse() + var/list/health_check_response = TopicResponse() + health_check_response[DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT] = TGS_CLIENT_COUNT + return health_check_response; if(DMAPI5_TOPIC_COMMAND_WATCHDOG_REATTACH) detached = FALSE diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm index 237207fdfd0..acd19dfa641 100644 --- a/code/modules/tgs/v5/undefs.dm +++ b/code/modules/tgs/v5/undefs.dm @@ -18,7 +18,6 @@ #undef DMAPI5_PARAMETER_ACCESS_IDENTIFIER #undef DMAPI5_PARAMETER_CUSTOM_COMMANDS -#undef DMAPI5_PARAMETER_TOPIC_PORT #undef DMAPI5_CHUNK #undef DMAPI5_CHUNK_PAYLOAD @@ -95,6 +94,7 @@ #undef DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION #undef DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE +#undef DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE #undef DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES