From 37e9aa88797f9f917c707239c41b96e763a13aa5 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Sun, 29 Jan 2023 15:46:43 +0000 Subject: [PATCH 01/99] kinda works actually --- ColonialMarinesALPHA.dme | 21 +- code/__DEFINES/callback.dm | 1 + code/__DEFINES/colours.dm | 3 + .../dcs/signals/atom/signals_atom.dm | 17 + code/__DEFINES/layers.dm | 44 +- code/__DEFINES/lighting.dm | 103 ++- code/__HELPERS/_lists.dm | 26 + code/__HELPERS/lighting.dm | 11 + code/__HELPERS/unsorted.dm | 88 ++- code/_onclick/hud/fullscreen.dm | 31 + code/_onclick/hud/rendering/plane_master.dm | 44 +- .../hud/rendering/plane_master_controller.dm | 1 - code/controllers/_DynamicAreaLighting_TG.dm | 406 ----------- code/controllers/subsystem/lighting.dm | 130 ++-- code/controllers/subsystem/weather.dm | 2 +- code/datums/components/overlay_lighting.dm | 306 ++++++++ code/datums/effects/acid.dm | 2 +- code/datums/elements/light_blocking.dm | 43 ++ code/datums/weather/weather_event.dm | 16 +- code/game/area/DesertDam.dm | 1 - code/game/area/IceColony.dm | 1 - code/game/area/LV522_Chances_Claim.dm | 2 - code/game/area/Sulaco.dm | 2 +- code/game/area/WhiskeyOutpost.dm | 2 - code/game/area/admin_level.dm | 5 +- code/game/area/areas.dm | 106 ++- code/game/area/areas_event.dm | 27 +- code/game/area/chinook.dm | 1 - code/game/area/kutjevo.dm | 3 - code/game/area/prison_v3_fiorina.dm | 1 - code/game/area/shiva.dm | 3 - code/game/area/shuttles.dm | 2 +- code/game/area/space_station_13_areas.dm | 6 +- code/game/area/strata.dm | 4 +- code/game/area/techtree.dm | 2 +- code/game/area/varadero.dm | 5 - code/game/atoms.dm | 28 + code/game/atoms_movable.dm | 77 +- code/game/machinery/air_alarm.dm | 2 - code/game/machinery/bio-dome_floodlights.dm | 10 +- code/game/machinery/bots/bots.dm | 6 +- code/game/machinery/camera/camera.dm | 2 +- .../machinery/computer/area_air_control.dm | 8 +- .../game/machinery/computer/camera_console.dm | 4 +- code/game/machinery/doors/alarmlock.dm | 6 +- code/game/machinery/doors/door.dm | 24 +- code/game/machinery/doors/multi_tile.dm | 4 +- code/game/machinery/doors/poddoor.dm | 38 +- code/game/machinery/doors/railing.dm | 2 +- code/game/machinery/doors/runed_sandstone.dm | 8 +- code/game/machinery/doors/shutters.dm | 6 +- code/game/machinery/flasher.dm | 4 +- code/game/machinery/floodlight.dm | 8 +- code/game/machinery/groundmap_geothermal.dm | 8 +- code/game/machinery/hologram.dm | 10 +- code/game/machinery/igniter.dm | 4 +- code/game/machinery/lightswitch.dm | 4 +- code/game/machinery/newscaster.dm | 2 +- code/game/objects/effects/acid_hole.dm | 4 +- code/game/objects/effects/aliens.dm | 2 +- .../objects/effects/decals/cleanable/misc.dm | 2 +- .../effects/effect_system/chemsmoke.dm | 4 +- .../effects/effect_system/particle_effects.dm | 4 +- .../objects/effects/effect_system/smoke.dm | 4 +- code/game/objects/effects/glowshroom.dm | 4 +- code/game/objects/effects/overlays.dm | 6 +- code/game/objects/items/devices/flashlight.dm | 24 +- .../objects/items/devices/radio/intercom.dm | 4 +- code/game/objects/items/lightstick.dm | 8 +- .../reagent_containers/food/snacks/grown.dm | 21 +- code/game/objects/items/storage/smartpack.dm | 16 +- code/game/objects/items/tools/flame_tools.dm | 46 +- .../objects/items/tools/maintenance_tools.dm | 20 +- code/game/objects/structures/mineral_doors.dm | 2 +- .../objects/structures/pipes/vents/vents.dm | 2 - code/game/objects/structures/props.dm | 14 +- code/game/supplyshuttle.dm | 8 +- code/game/turfs/auto_turf.dm | 2 +- code/game/turfs/floor.dm | 4 +- code/game/turfs/floors/desert.dm | 18 +- code/game/turfs/light.dm | 16 +- code/game/turfs/open.dm | 4 +- code/game/turfs/snow.dm | 2 +- code/game/turfs/turf.dm | 63 +- code/game/turfs/walls/wall_types.dm | 4 +- code/modules/clothing/head/hardhat.dm | 16 +- code/modules/clothing/head/misc_special.dm | 16 +- code/modules/clothing/suits/marine_armor.dm | 20 +- code/modules/cm_marines/dropship_equipment.dm | 12 +- code/modules/cm_marines/smartgun_mount.dm | 6 +- code/modules/cm_preds/yaut_procs.dm | 2 +- code/modules/cm_preds/yaut_weapons.dm | 4 +- .../cm_tech/droppod/gear_access_point.dm | 2 +- code/modules/defenses/sentry.dm | 10 +- code/modules/defenses/sentry_computer.dm | 2 +- code/modules/defenses/tesla_coil.dm | 6 +- code/modules/hydroponics/hydro_tray.dm | 15 +- code/modules/hydroponics/seed_datums.dm | 2 +- code/modules/hydroponics/vines.dm | 10 +- code/modules/lighting/_LIGHTING_README.MD | 75 ++ code/modules/lighting/emissive_blocker.dm | 37 + code/modules/lighting/lighting_area.dm | 59 ++ code/modules/lighting/lighting_atom.dm | 169 +++++ .../lighting_mask/dynamic_lighting_source.dm | 103 +++ .../lighting/lighting_mask/lighting_mask.dm | 153 ++++ .../lighting_mask/lighting_mask_holder.dm | 22 + .../lighting_mask/shadow_calculator.dm | 686 ++++++++++++++++++ .../lighting_static/static_lighting_area.dm | 12 + .../lighting_static/static_lighting_atom.dm | 25 + .../lighting_static/static_lighting_corner.dm | 176 +++++ .../lighting_static/static_lighting_object.dm | 115 +++ .../lighting_static/static_lighting_setup.dm | 10 + .../lighting_static/static_lighting_source.dm | 280 +++++++ .../lighting_static/static_lighting_turf.dm | 61 ++ code/modules/lighting/lighting_turf.dm | 94 +++ .../abilities/runner/runner_powers.dm | 4 +- .../living/carbon/xenomorph/attack_alien.dm | 2 +- .../mob/living/carbon/xenomorph/death.dm | 2 +- .../mob/living/carbon/xenomorph/life.dm | 2 +- code/modules/mob/living/living_defense.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 16 +- .../silicon/ai/freelook/update_triggers.dm | 2 +- code/modules/mob/living/silicon/ai/life.dm | 10 +- code/modules/mob/living/silicon/robot/life.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 4 +- code/modules/mob/mob.dm | 4 +- code/modules/movement/movement.dm | 12 +- .../modules/nightmare/nmtasks/mapscheduler.dm | 2 + code/modules/power/lighting.dm | 36 +- code/modules/power/power.dm | 10 +- .../projectiles/ammo_boxes/ammo_boxes.dm | 10 +- .../projectiles/ammo_boxes/box_structures.dm | 2 +- .../projectiles/ammo_boxes/misc_boxes.dm | 8 +- code/modules/projectiles/gun.dm | 8 +- code/modules/projectiles/gun_attachables.dm | 6 +- code/modules/projectiles/gun_helpers.dm | 8 +- .../modules/projectiles/guns/flamer/flamer.dm | 6 +- code/modules/shuttles/escape_pods.dm | 4 +- code/modules/vehicles/multitile/multitile.dm | 2 +- .../multitile/multitile_interaction.dm | 2 +- code/modules/vehicles/vehicle.dm | 6 +- icons/effects/light_overlays/light_128.dmi | Bin 0 -> 7040 bytes icons/effects/light_overlays/light_160.dmi | Bin 0 -> 9920 bytes icons/effects/light_overlays/light_192.dmi | Bin 0 -> 13534 bytes icons/effects/light_overlays/light_224.dmi | Bin 0 -> 17004 bytes icons/effects/light_overlays/light_256.dmi | Bin 0 -> 21365 bytes icons/effects/light_overlays/light_288.dmi | Bin 0 -> 26103 bytes icons/effects/light_overlays/light_32.dmi | Bin 0 -> 1140 bytes icons/effects/light_overlays/light_320.dmi | Bin 0 -> 30919 bytes icons/effects/light_overlays/light_352.dmi | Bin 0 -> 35566 bytes icons/effects/light_overlays/light_64.dmi | Bin 0 -> 2482 bytes icons/effects/light_overlays/light_96.dmi | Bin 0 -> 4643 bytes icons/effects/light_overlays/shockwave.dmi | Bin 0 -> 655732 bytes icons/effects/lighting_object.dmi | Bin 0 -> 1807 bytes icons/effects/lighting_object_big.dmi | Bin 0 -> 2031049 bytes 155 files changed, 3443 insertions(+), 970 deletions(-) create mode 100644 code/__HELPERS/lighting.dm delete mode 100644 code/controllers/_DynamicAreaLighting_TG.dm create mode 100644 code/datums/components/overlay_lighting.dm create mode 100644 code/datums/elements/light_blocking.dm create mode 100644 code/modules/lighting/_LIGHTING_README.MD create mode 100644 code/modules/lighting/emissive_blocker.dm create mode 100644 code/modules/lighting/lighting_area.dm create mode 100644 code/modules/lighting/lighting_atom.dm create mode 100644 code/modules/lighting/lighting_mask/dynamic_lighting_source.dm create mode 100644 code/modules/lighting/lighting_mask/lighting_mask.dm create mode 100644 code/modules/lighting/lighting_mask/lighting_mask_holder.dm create mode 100644 code/modules/lighting/lighting_mask/shadow_calculator.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_area.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_atom.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_corner.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_object.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_setup.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_source.dm create mode 100644 code/modules/lighting/lighting_static/static_lighting_turf.dm create mode 100644 code/modules/lighting/lighting_turf.dm create mode 100644 icons/effects/light_overlays/light_128.dmi create mode 100644 icons/effects/light_overlays/light_160.dmi create mode 100644 icons/effects/light_overlays/light_192.dmi create mode 100644 icons/effects/light_overlays/light_224.dmi create mode 100644 icons/effects/light_overlays/light_256.dmi create mode 100644 icons/effects/light_overlays/light_288.dmi create mode 100644 icons/effects/light_overlays/light_32.dmi create mode 100644 icons/effects/light_overlays/light_320.dmi create mode 100644 icons/effects/light_overlays/light_352.dmi create mode 100644 icons/effects/light_overlays/light_64.dmi create mode 100644 icons/effects/light_overlays/light_96.dmi create mode 100644 icons/effects/light_overlays/shockwave.dmi create mode 100644 icons/effects/lighting_object.dmi create mode 100644 icons/effects/lighting_object_big.dmi diff --git a/ColonialMarinesALPHA.dme b/ColonialMarinesALPHA.dme index 9aa5b1e199da..4198097935fa 100644 --- a/ColonialMarinesALPHA.dme +++ b/ColonialMarinesALPHA.dme @@ -1,6 +1,6 @@ // DM Environment file for baystation12.dme. // All manual changes should be made outside the BEGIN_ and END_ blocks. - // New source code should be placed in .dm files: choose File/New --> Code File. +// New source code should be placed in .dm files: choose File/New --> Code File. // BEGIN_INTERNALS // END_INTERNALS // BEGIN_FILE_DIR @@ -142,6 +142,7 @@ #include "code\__HELPERS\icons.dm" #include "code\__HELPERS\job.dm" #include "code\__HELPERS\level_traits.dm" +#include "code\__HELPERS\lighting.dm" #include "code\__HELPERS\lists.dm" #include "code\__HELPERS\logging.dm" #include "code\__HELPERS\matrices.dm" @@ -197,7 +198,6 @@ #include "code\_onclick\hud\rendering\plane_master.dm" #include "code\_onclick\hud\rendering\plane_master_controller.dm" #include "code\_onclick\hud\rendering\render_plate.dm" -#include "code\controllers\_DynamicAreaLighting_TG.dm" #include "code\controllers\shuttle_controller.dm" #include "code\controllers\configuration\config_entry.dm" #include "code\controllers\configuration\configuration.dm" @@ -340,6 +340,7 @@ #include "code\datums\components\healing_reduction.dm" #include "code\datums\components\label.dm" #include "code\datums\components\orbiter.dm" +#include "code\datums\components\overlay_lighting.dm" #include "code\datums\components\rename.dm" #include "code\datums\components\speed_modifier.dm" #include "code\datums\components\toxin_buildup.dm" @@ -407,6 +408,7 @@ #include "code\datums\elements\_element.dm" #include "code\datums\elements\bloody_feet.dm" #include "code\datums\elements\drop_retrieval.dm" +#include "code\datums\elements\light_blocking.dm" #include "code\datums\elements\mouth_drop_item.dm" #include "code\datums\elements\poor_eyesight_correction.dm" #include "code\datums\elements\suturing.dm" @@ -1594,6 +1596,21 @@ #include "code\modules\law\laws\major_crime.dm" #include "code\modules\law\laws\minor_crime.dm" #include "code\modules\law\laws\optional.dm" +#include "code\modules\lighting\emissive_blocker.dm" +#include "code\modules\lighting\lighting_area.dm" +#include "code\modules\lighting\lighting_atom.dm" +#include "code\modules\lighting\lighting_turf.dm" +#include "code\modules\lighting\lighting_mask\dynamic_lighting_source.dm" +#include "code\modules\lighting\lighting_mask\lighting_mask.dm" +#include "code\modules\lighting\lighting_mask\lighting_mask_holder.dm" +#include "code\modules\lighting\lighting_mask\shadow_calculator.dm" +#include "code\modules\lighting\lighting_static\static_lighting_area.dm" +#include "code\modules\lighting\lighting_static\static_lighting_atom.dm" +#include "code\modules\lighting\lighting_static\static_lighting_corner.dm" +#include "code\modules\lighting\lighting_static\static_lighting_object.dm" +#include "code\modules\lighting\lighting_static\static_lighting_setup.dm" +#include "code\modules\lighting\lighting_static\static_lighting_source.dm" +#include "code\modules\lighting\lighting_static\static_lighting_turf.dm" #include "code\modules\mapping\map_template.dm" #include "code\modules\mapping\preloader.dm" #include "code\modules\mapping\reader.dm" diff --git a/code/__DEFINES/callback.dm b/code/__DEFINES/callback.dm index 40e9aeb2485c..8a252b3c8f8a 100644 --- a/code/__DEFINES/callback.dm +++ b/code/__DEFINES/callback.dm @@ -1,6 +1,7 @@ #define CALLBACK new /datum/callback #define DYNAMIC new /datum/callback/dynamic #define INVOKE_ASYNC ImmediateInvokeAsync +#define INVOKE_NEXT_TICK(arguments...) addtimer(CALLBACK(##arguments), 1) #define TRUE_CALLBACK CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_callback_true)) #define FALSE_CALLBACK CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_callback_false)) diff --git a/code/__DEFINES/colours.dm b/code/__DEFINES/colours.dm index ddaf34338348..8658ffbb4bb0 100644 --- a/code/__DEFINES/colours.dm +++ b/code/__DEFINES/colours.dm @@ -142,6 +142,9 @@ * * Important note: colours can end up significantly different from the basic html picture, especially when saturated */ + +/// Full white. rgb(255, 255, 255) +#define LIGHT_COLOR_WHITE "#FFFFFF" /// Bright but quickly dissipating neon green. rgb(100, 200, 100) #define LIGHT_COLOUR_GREEN "#64C864" /// Electric green. rgb(0, 255, 0) diff --git a/code/__DEFINES/dcs/signals/atom/signals_atom.dm b/code/__DEFINES/dcs/signals/atom/signals_atom.dm index 2cef03cae1d1..646149a1f10f 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_atom.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_atom.dm @@ -25,3 +25,20 @@ ///from /turf/ChangeTurf #define COMSIG_ATOM_TURF_CHANGE "movable_turf_change" + +//from atom/set_light(): (l_range, l_power, l_color) +#define COMSIG_ATOM_SET_LIGHT "atom_set_light" + +///Called right before the atom changes the value of light_range to a different one, from base atom/set_light_range(): (new_range) +#define COMSIG_ATOM_SET_LIGHT_RANGE "atom_set_light_range" +///Called right before the atom changes the value of light_power to a different one, from base atom/set_light_power(): (new_power) +#define COMSIG_ATOM_SET_LIGHT_POWER "atom_set_light_power" +///Called right before the atom changes the value of light_color to a different one, from base atom/set_light_color(): (new_color) +#define COMSIG_ATOM_SET_LIGHT_COLOR "atom_set_light_color" +///Called right before the atom changes the value of light_on to a different one, from base atom/set_light_on(): (new_value) +#define COMSIG_ATOM_SET_LIGHT_ON "atom_set_light_on" +///Called right before the atom changes the value of light_flags to a different one, from base atom/set_light_flags(): (new_value) +#define COMSIG_ATOM_SET_LIGHT_FLAGS "atom_set_light_flags" + +///from base of atom/set_opacity(): (new_opacity) +#define COMSIG_ATOM_SET_OPACITY "atom_set_opacity" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 00f7cb0df655..b70afc782a09 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -130,8 +130,6 @@ #define ABOVE_FLY_LAYER 6 -#define ABOVE_LIGHTING_PLANE 16 - /// blip from motion detector #define BELOW_FULLSCREEN_LAYER 16.9 #define FULLSCREEN_LAYER 17 @@ -157,11 +155,45 @@ #define CINEMATIC_LAYER 21 -#define TYPING_LAYER 500 - /// for areas, so they appear above everything else on map file. #define AREAS_LAYER 999 +//---------- EMISSIVES ------------- +//Layering order of these is not particularly meaningful. +//Important part is the seperation of the planes for control via plane_master + +/// This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas. +#define EMISSIVE_PLANE 90 +/// The render target used by the emissive layer. +#define EMISSIVE_RENDER_TARGET "*EMISSIVE_PLANE" +/// The layer you should use if you _really_ don't want an emissive overlay to be blocked. +#define EMISSIVE_LAYER_UNBLOCKABLE 9999 + +#define LIGHTING_BACKPLANE_LAYER 14.5 + +#define LIGHTING_PLANE 100 +#define LIGHTING_RENDER_TARGET "LIGHT_PLANE" + +#define SHADOW_RENDER_TARGET "SHADOW_RENDER_TARGET" + +/// Plane for balloon text (text that fades up) +#define BALLOON_CHAT_PLANE 110 +/// Bubble for typing indicators +#define TYPING_LAYER 500 + +#define O_LIGHTING_VISUAL_PLANE 120 +#define O_LIGHTING_VISUAL_LAYER 16 +#define O_LIGHTING_VISUAL_RENDER_TARGET "O_LIGHT_VISUAL_PLANE" + +#define LIGHTING_PRIMARY_LAYER 15 //The layer for the main lights of the station +#define LIGHTING_PRIMARY_DIMMER_LAYER 15.1 //The layer that dims the main lights of the station +#define LIGHTING_SECONDARY_LAYER 16 //The colourful, usually small lights that go on top + +#define LIGHTING_SHADOW_LAYER 17 //Where the shadows happen + +#define ABOVE_LIGHTING_PLANE 150 +#define ABOVE_LIGHTING_LAYER 18 + /*=============================*\ | | | PLANE DEFINES | @@ -180,10 +212,6 @@ #define GHOST_PLANE 80 -//---------- LIGHTING ------------- -#define LIGHTING_PLANE 100 -#define EXTERIOR_LIGHTING_PLANE 101 - ///--------------- FULLSCREEN RUNECHAT BUBBLES ------------ ///Popup Chat Messages #define RUNECHAT_PLANE 501 diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index ac050e467a71..eaeaaff9af5e 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -1,3 +1,104 @@ +///Object doesn't use any of the light systems. Should be changed to add a light source to the object. +#define NO_LIGHT_SUPPORT 0 +///Light made with the lighting datums, applying a matrix. +#define STATIC_LIGHT 1 +///Light made by masking the lighting darkness plane. +#define MOVABLE_LIGHT 2 +///A mix of the above, cheaper on moving items than dynamic, but heavier on rendering than movable +#define HYBRID_LIGHT 3 + +#define MINIMUM_USEFUL_LIGHT_RANGE 1.4 + +#define LIGHTING_ICON 'icons/effects/lighting_object.dmi' // icon used for lighting shading effects +#define LIGHTING_ICON_BIG 'icons/effects/lighting_object_big.dmi' //! icon used for lighting shading effects + +#define ALPHA_TO_INTENSITY(alpha) (-(((clamp(alpha, 0, 22) - 22) / 6) ** 4) + 255) + + +#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow. + #define LIGHTING_PLANE_ALPHA_VISIBLE 255 -#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 127 +#define LIGHTING_PLANE_ALPHA_NV_TRAIT 245 +#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192 +#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell. #define LIGHTING_PLANE_ALPHA_INVISIBLE 0 + + +#define FLASH_LIGHT_DURATION 2 +#define FLASH_LIGHT_POWER 3 +#define FLASH_LIGHT_RANGE 3.8 + +// Emissive blocking. +/// Uses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all. +#define EMISSIVE_BLOCK_GENERIC 1 +/// Uses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans. +#define EMISSIVE_BLOCK_UNIQUE 2 + +/// The color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with [EM_BLOCK_COLOR]. +#define EMISSIVE_COLOR list(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 1,1,1,0) +/// A globaly cached version of [EMISSIVE_COLOR] for quick access. +GLOBAL_LIST_INIT(emissive_color, EMISSIVE_COLOR) +/// The color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with [EMISSIVE_COLOR]. +#define EM_BLOCK_COLOR list(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) +/// A globaly cached version of [EM_BLOCK_COLOR] for quick access. +GLOBAL_LIST_INIT(em_block_color, EM_BLOCK_COLOR) +/// A set of appearance flags applied to all emissive and emissive blocker overlays. +#define EMISSIVE_APPEARANCE_FLAGS (KEEP_APART|KEEP_TOGETHER|RESET_COLOR|RESET_TRANSFORM) +/// The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of [EMISSIVE_COLOR], and be independant of the RGB value of [EM_BLOCK_COLOR]. +#define EM_MASK_MATRIX list(0,0,0,1/3, 0,0,0,1/3, 0,0,0,1/3, 0,0,0,0, 1,1,1,0) +/// A globaly cached version of [EM_MASK_MATRIX] for quick access. +GLOBAL_LIST_INIT(em_mask_matrix, EM_MASK_MATRIX) + +/// Returns the red part of a #RRGGBB hex sequence as number +#define GETREDPART(hexa) hex2num(copytext(hexa, 2, 4)) + +/// Returns the green part of a #RRGGBB hex sequence as number +#define GETGREENPART(hexa) hex2num(copytext(hexa, 4, 6)) + +/// Returns the blue part of a #RRGGBB hex sequence as number +#define GETBLUEPART(hexa) hex2num(copytext(hexa, 6, 8)) + +/// Parse the hexadecimal color into lumcounts of each perspective. +#define PARSE_LIGHT_COLOR(source) \ +do { \ + if (source.light_color != COLOR_WHITE) { \ + var/__light_color = source.light_color; \ + source.lum_r = GETREDPART(__light_color) / 255; \ + source.lum_g = GETGREENPART(__light_color) / 255; \ + source.lum_b = GETBLUEPART(__light_color) / 255; \ + } else { \ + source.lum_r = 1; \ + source.lum_g = 1; \ + source.lum_b = 1; \ + }; \ +} while (FALSE) + + +//Bay lighting engine shit, not in /code/modules/lighting because BYOND is being shit about it //thats how defines work, hello? +#define LIGHTING_INTERVAL 5 // frequency, in 1/10ths of a second, of the lighting process + +#define MOVABLE_MAX_RANGE 7 + +#define LIGHTING_FALLOFF 1 // type of falloff to use for lighting; 1 for circular, 2 for square +#define LIGHTING_LAMBERTIAN 0 // use lambertian shading for light sources +#define LIGHTING_HEIGHT 1 // height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone +#define LIGHTING_ROUND_VALUE (1 / 64) //Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY. + +/// If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all. +#define LIGHTING_SOFT_THRESHOLD 0 + +// If I were you I'd leave this alone. +#define LIGHTING_BASE_MATRIX \ + list \ + ( \ + 1, 1, 1, 0, \ + 1, 1, 1, 0, \ + 1, 1, 1, 0, \ + 1, 1, 1, 0, \ + 0, 0, 0, 1 \ + ) \ + +#define LIGHTING_NO_UPDATE 0 +#define LIGHTING_VIS_UPDATE 1 +#define LIGHTING_CHECK_UPDATE 2 +#define LIGHTING_FORCE_UPDATE 3 diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 31e39f109751..0b8984772697 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -38,6 +38,32 @@ };\ } while(FALSE) +// binary search sorted insert +// IN: Object to be inserted +// LIST: List to insert object into +#define BINARY_INSERT_NUM(IN, LIST) \ + var/__BIN_CTTL = length(LIST);\ + if(!__BIN_CTTL) {\ + LIST += IN;\ + } else {\ + var/__BIN_LEFT = 1;\ + var/__BIN_RIGHT = __BIN_CTTL;\ + var/__BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ + var/__BIN_ITEM;\ + while(__BIN_LEFT < __BIN_RIGHT) {\ + __BIN_ITEM = LIST[__BIN_MID];\ + if(__BIN_ITEM <= IN) {\ + __BIN_LEFT = __BIN_MID + 1;\ + } else {\ + __BIN_RIGHT = __BIN_MID;\ + };\ + __BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ + };\ + __BIN_ITEM = LIST[__BIN_MID];\ + __BIN_MID = __BIN_ITEM > IN ? __BIN_MID : __BIN_MID + 1;\ + LIST.Insert(__BIN_MID, IN);\ + } + //Like typesof() or subtypesof(), but returns a typecache instead of a list /proc/typecacheof(path, ignore_root_path, only_root_path = FALSE) if(ispath(path)) diff --git a/code/__HELPERS/lighting.dm b/code/__HELPERS/lighting.dm new file mode 100644 index 000000000000..08c360849b58 --- /dev/null +++ b/code/__HELPERS/lighting.dm @@ -0,0 +1,11 @@ +/// Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the [EMISSIVE_COLOR]. +/proc/emissive_appearance(icon, icon_state = "", layer = FLOAT_LAYER, alpha = 255, appearance_flags = NONE) + var/mutable_appearance/appearance = mutable_appearance(icon, icon_state, layer, EMISSIVE_PLANE, alpha, appearance_flags | EMISSIVE_APPEARANCE_FLAGS) + appearance.color = GLOB.emissive_color + return appearance + +/// Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the [EM_BLOCK_COLOR]. +/proc/emissive_blocker(icon, icon_state = "", layer = FLOAT_LAYER, alpha = 255, appearance_flags = NONE) + var/mutable_appearance/appearance = mutable_appearance(icon, icon_state, layer, EMISSIVE_PLANE, alpha, appearance_flags | EMISSIVE_APPEARANCE_FLAGS) + appearance.color = GLOB.em_block_color + return appearance diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 53b96660843b..243f96f82bff 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -892,7 +892,7 @@ if(ismob(source)) var/mob/M = source has_nightvision = M.see_in_dark >= 12 - if(!has_nightvision && target_turf.lighting_lumcount == 0) + if(!has_nightvision && target_turf.dynamic_lumcount == 0) return FALSE while(current != target_turf) @@ -1224,12 +1224,11 @@ var/global/image/action_purple_power_up if(A.vars.Find(lowertext(varname))) return 1 else return 0 -//Returns: all the non-lighting areas in the world, sorted. +//Returns: all the areas in the world, sorted. /proc/return_sorted_areas() var/list/area/AL = list() for(var/area/A in GLOB.sorted_areas) - if(!A.lighting_subarea) - AL += A + AL += A return AL //Takes: Area type as text string or as typepath OR an instance of the area. @@ -1379,7 +1378,7 @@ var/global/image/action_purple_power_up // if(AR.lighting_use_dynamic) //TODO: rewrite this code so it's not messed by lighting ~Carn // X.opacity = !X.opacity -// X.SetOpacity(!X.opacity) +// X.set_opacity(!X.opacity) toupdate += X @@ -1781,6 +1780,85 @@ var/list/WALLITEMS = list( if(location == src) return TRUE +GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) + +/// Version of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant). +/proc/dview(range = world.view, center, invis_flags = 0) + if(!center) + return + + GLOB.dview_mob.loc = center + + GLOB.dview_mob.see_invisible = invis_flags + + . = view(range, GLOB.dview_mob) + GLOB.dview_mob.loc = null + +/mob/dview + name = "INTERNAL DVIEW MOB" + invisibility = 101 + density = FALSE + see_in_dark = 1e6 + var/ready_to_die = FALSE + +/mob/dview/Initialize() //Properly prevents this mob from gaining huds or joining any global lists + SHOULD_CALL_PARENT(FALSE) + if(flags_atom & INITIALIZED) + stack_trace("Warning: [src]([type]) initialized multiple times!") + flags_atom |= INITIALIZED + return INITIALIZE_HINT_NORMAL + +/mob/dview/Destroy(force = FALSE) + if(!ready_to_die) + stack_trace("ALRIGHT WHICH FUCKER TRIED TO DELETE *MY* DVIEW?") + + if (!force) + return QDEL_HINT_LETMELIVE + + log_world("EVACUATE THE SHITCODE IS TRYING TO STEAL MUH JOBS") + GLOB.dview_mob = new + return ..() + + +#define FOR_DVIEW(type, range, center, invis_flags) \ + GLOB.dview_mob.loc = center; \ + GLOB.dview_mob.see_invisible = invis_flags; \ + for(type in view(range, GLOB.dview_mob)) + +#define FOR_DVIEW_END GLOB.dview_mob.loc = null + +/proc/get_turf_pixel(atom/AM) + if(!istype(AM)) + return + + //Find AM's matrix so we can use it's X/Y pixel shifts + var/matrix/M = matrix(AM.transform) + + var/pixel_x_offset = AM.pixel_x + M.get_x_shift() + var/pixel_y_offset = AM.pixel_y + M.get_y_shift() + + //Irregular objects + var/icon/AMicon = icon(AM.icon, AM.icon_state) + var/AMiconheight = AMicon.Height() + var/AMiconwidth = AMicon.Width() + if(AMiconheight != world.icon_size || AMiconwidth != world.icon_size) + pixel_x_offset += ((AMiconwidth/world.icon_size)-1)*(world.icon_size*0.5) + pixel_y_offset += ((AMiconheight/world.icon_size)-1)*(world.icon_size*0.5) + + //DY and DX + var/rough_x = round(round(pixel_x_offset,world.icon_size)/world.icon_size) + var/rough_y = round(round(pixel_y_offset,world.icon_size)/world.icon_size) + + //Find coordinates + var/turf/T = get_turf(AM) //use AM's turfs, as it's coords are the same as AM's AND AM's coords are lost if it is inside another atom + if(!T) + return null + var/final_x = T.x + rough_x + var/final_y = T.y + rough_y + + if(final_x || final_y) + return locate(final_x, final_y, T.z) + //used to check if a mob can examine an object /atom/proc/can_examine(mob/user) if(!user.client) diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 293cdbd6374e..ff271b889e6c 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -186,3 +186,34 @@ /atom/movable/screen/fullscreen/weather/high icon_state = "impairedoverlay3" + +/atom/movable/screen/fullscreen/lighting_backdrop + icon = 'icons/mob/hud/screen1.dmi' + icon_state = "flash" + transform = matrix(200, 0, 0, 0, 200, 0) + plane = LIGHTING_PLANE + blend_mode = BLEND_OVERLAY + show_when_dead = TRUE + +/atom/movable/screen/fullscreen/lighting_backdrop/update_for_view(client_view) + return + +//Provides darkness to the back of the lighting plane +/atom/movable/screen/fullscreen/lighting_backdrop/lit_secondary + invisibility = INVISIBILITY_LIGHTING + layer = BACKGROUND_LAYER + LIGHTING_PRIMARY_DIMMER_LAYER + color = "#000" + alpha = 60 + +/atom/movable/screen/fullscreen/lighting_backdrop/backplane + invisibility = INVISIBILITY_LIGHTING + layer = LIGHTING_BACKPLANE_LAYER + color = "#000" + blend_mode = BLEND_ADD + +/atom/movable/screen/fullscreen/see_through_darkness + icon_state = "nightvision" + plane = LIGHTING_PLANE + layer = LIGHTING_PRIMARY_LAYER + blend_mode = BLEND_ADD + show_when_dead = TRUE diff --git a/code/_onclick/hud/rendering/plane_master.dm b/code/_onclick/hud/rendering/plane_master.dm index b90c8796b561..88e1c28d024a 100644 --- a/code/_onclick/hud/rendering/plane_master.dm +++ b/code/_onclick/hud/rendering/plane_master.dm @@ -69,6 +69,17 @@ appearance_flags = PLANE_MASTER | NO_CLIENT_COLOR | PIXEL_SCALE //byond internal end +/*! + * This system works by exploiting BYONDs color matrix filter to use layers to handle emissive blockers. + * + * Emissive overlays are pasted with an atom color that converts them to be entirely some specific color. + * Emissive blockers are pasted with an atom color that converts them to be entirely some different color. + * Emissive overlays and emissive blockers are put onto the same plane. + * The layers for the emissive overlays and emissive blockers cause them to mask eachother similar to normal BYOND objects. + * A color matrix filter is applied to the emissive plane to mask out anything that isn't whatever the emissive color is. + * This is then used to alpha mask the lighting plane. + */ + ///Contains all lighting objects /atom/movable/screen/plane_master/lighting name = "lighting plane master" @@ -76,9 +87,36 @@ blend_mode_override = BLEND_MULTIPLY mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/atom/movable/screen/plane_master/lighting/exterior - name = "exterior lighting plane master" - plane = EXTERIOR_LIGHTING_PLANE +/atom/movable/screen/plane_master/lighting/backdrop(mob/mymob) + . = ..() + mymob.overlay_fullscreen("lighting_backdrop", /atom/movable/screen/fullscreen/lighting_backdrop/backplane) + mymob.overlay_fullscreen("lighting_backdrop_lit_secondary", /atom/movable/screen/fullscreen/lighting_backdrop/lit_secondary) + +/atom/movable/screen/plane_master/lighting/Initialize() + . = ..() + add_filter("emissives", 1, alpha_mask_filter(render_source = EMISSIVE_RENDER_TARGET, flags = MASK_INVERSE)) + add_filter("object_lighting", 2, alpha_mask_filter(render_source = O_LIGHTING_VISUAL_RENDER_TARGET, flags = MASK_INVERSE)) + +/** + * Handles emissive overlays and emissive blockers. + */ +/atom/movable/screen/plane_master/emissive + name = "emissive plane master" + plane = EMISSIVE_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + render_target = EMISSIVE_RENDER_TARGET + render_relay_plane = null + +/atom/movable/screen/plane_master/emissive/Initialize() + . = ..() + add_filter("em_block_masking", 1, color_matrix_filter(GLOB.em_mask_matrix)) + +/atom/movable/screen/plane_master/above_lighting + name = "above lighting plane master" + plane = ABOVE_LIGHTING_PLANE + appearance_flags = PLANE_MASTER //should use client color + blend_mode = BLEND_OVERLAY + render_relay_plane = RENDER_PLANE_GAME /atom/movable/screen/plane_master/runechat name = "runechat plane master" diff --git a/code/_onclick/hud/rendering/plane_master_controller.dm b/code/_onclick/hud/rendering/plane_master_controller.dm index 3397c18b3467..c929dd55cb48 100644 --- a/code/_onclick/hud/rendering/plane_master_controller.dm +++ b/code/_onclick/hud/rendering/plane_master_controller.dm @@ -64,6 +64,5 @@ INITIALIZE_IMMEDIATE(/atom/movable/plane_master_controller) GAME_PLANE, FLOOR_PLANE, LIGHTING_PLANE, - EXTERIOR_LIGHTING_PLANE ) diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm deleted file mode 100644 index 9b6088b9bc1e..000000000000 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ /dev/null @@ -1,406 +0,0 @@ -/* - Modified DynamicAreaLighting for TGstation - Coded by Carnwennan - - This is TG's 'new' lighting system. It's basically a heavily modified combination of Forum_Account's and - ShadowDarke's respective lighting libraries. Credits, where due, to them. - - Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas - by using the var/tag variable and moving turfs into the contents list of the correct sub-area. This method is - much less costly than using overlays or objects. - - Unlike sd_DAL however it uses a queueing system. Everytime we call a change to opacity or luminosity - (through SetOpacity() or SetLuminosity()) we are simply updating variables and scheduling certain lights/turfs for an - update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it - means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control - over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by - setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then - turning it back on with lighting_controller.processing = 1. - - Unlike our old system there are hardcoded maximum luminositys (different for certain atoms). - This is to cap the cost of creating lighting effects. - (without this, an atom with luminosity of 20 would have to update 41^2 turfs!) :s - - Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to - have larger memory requirements than our previous system but it's easily worth the hassle for the greater control we - gain. It also reduces cost of removing lighting effects by a lot! - - Known Issues/TODO: - Shuttles still do not have support for dynamic lighting (I hope to fix this at some point) - No directional lighting support. (prototype looked ugly) -*/ - -#define LIGHTING_CIRCULAR 1 //comment this out to use old square lighting effects. -#define LIGHTING_LAYER 10 //Drawing layer for lighting overlays -#define LIGHTING_ICON 'icons/effects/ss13_dark_alpha6.dmi' //Icon used for lighting shading effects -#define LIGHTING_STATES 6 - -// Update these lists if the luminosity cap -// of 8 is removed -GLOBAL_LIST_INIT(comp1table, list( - 0, - 0.934, - 1.868, - 2.802, - 3.736, - 4.67, - 5.604, - 6.538, - 7.472, -)) -GLOBAL_LIST_INIT(comp2table, list( - 0, - 0.427, - 0.854, - 1.281, - 1.708, - 2.135, - 2.562, - 2.989, - 3.416, -)) -/datum/light_source - var/atom/owner - var/changed = 1 - var/list/effect = list() - var/__x = 0 //x coordinate at last update - var/__y = 0 //y coordinate at last update - var/__z = 0 //z coordinate at last update - -#define turf_update_lumcount(T, amount)\ - T.lighting_lumcount += amount;\ - if(!T.lighting_changed){\ - SSlighting.changed_turfs += T;\ - T.lighting_changed = TRUE;\ - } - -#define ls_remove_effect(ls)\ - for(var/t in ls.effect){\ - var/turf/T = t;\ - turf_update_lumcount(T, -ls.effect[T]);\ - }\ - ls.effect.Cut(); - -/datum/light_source/New(atom/A) - if(!istype(A)) - CRASH("The first argument to the light object's constructor must be the atom that is the light source. Expected atom, received '[A]' instead.") - ..() - owner = A - __x = owner.x - __y = owner.y - __z = owner.z - // the lighting object maintains a list of all light sources - SSlighting.lights.Add(src) - -//Check a light to see if its effect needs reprocessing. If it does, remove any old effect and create a new one -/datum/light_source/proc/check() - if(!owner) - ls_remove_effect(src) - return TRUE //causes it to be removed from our list of lights. The garbage collector will then destroy it. - - if(owner.luminosity > 8) - owner.luminosity = 8 - - changed = FALSE - - ls_remove_effect(src) - if(owner.loc && owner.luminosity > 0) - for(var/turf/T in view(owner.luminosity, owner)) - var/dist - var/dx = abs(T.x - __x) - var/dy = abs(T.y - __y) - // Use dx+1 and dy+1 because lists use 1-based indexing - if(dx >= dy) - dist = (GLOB.comp1table[dx+1]) + (GLOB.comp2table[dy+1]) - else - dist = (GLOB.comp2table[dx+1]) + (GLOB.comp1table[dy+1]) - var/delta_lumen = owner.luminosity - dist - if(delta_lumen > 0) - effect[T] = delta_lumen - turf_update_lumcount(T, delta_lumen) - return FALSE - else - owner.light = null - return TRUE - -/datum/light_source/proc/changed() - if(owner) - __x = owner.x - __y = owner.y - - if(!changed) - changed = 1 - SSlighting.lights.Add(src) - - -/datum/light_source/proc/remove_effect() - // before we apply the effect we remove the light's current effect. - for(var/turf/T in effect) // negate the effect of this light source - turf_update_lumcount(T, -effect[T]) - effect.Cut() // clear the effect list - -/atom - var/datum/light_source/light - var/trueLuminosity = 0 // Typically 'luminosity' squared. The builtin luminosity must remain linear. - // We may read it, but NEVER set it directly. - -//Movable atoms with opacity when they are constructed will trigger nearby lights to update -//Movable atoms with luminosity when they are constructed will create a light_source automatically -/atom/movable/Initialize(mapload, ...) - . = ..() - if(opacity) - if(isturf(loc)) - var/turf/T = loc - if(T.lighting_lumcount > 1) - UpdateAffectingLights() - if(luminosity) - if(light) WARNING("[type] - Don't set lights up manually during New(), We do it automatically.") - trueLuminosity = luminosity * luminosity - light = new(src) - -//Objects with opacity will trigger nearby lights to update at next lighting process. -/atom/movable/Destroy() - if(opacity) - if(isturf(loc)) - var/turf/T = loc - if(T.lighting_lumcount > 1) - UpdateAffectingLights() - . = ..() - -/atom/vv_edit_var(var_name, var_value) - switch(var_name) - if(NAMEOF(src, luminosity)) - SetLuminosity(var_value) - return ..() - -//Sets our luminosity. -//If we have no light it will create one. -//If we are setting luminosity to 0 the light will be cleaned up by the controller and garbage collected once all its -//queues are complete. -//if we have a light already it is merely updated, rather than making a new one. -/atom/proc/SetLuminosity(new_luminosity, trueLum = FALSE, atom/source) - if(new_luminosity < 0) - new_luminosity = 0 - if(!trueLum) - new_luminosity *= new_luminosity - if(light) - if(trueLuminosity != new_luminosity) //non-luminous lights are removed from the lights list in add_effect() - light.changed() - else - if(new_luminosity) - light = new(src) - trueLuminosity = new_luminosity - if (trueLuminosity < 1) - luminosity = 0 - else if (trueLuminosity <= 100) - luminosity = sqrtTable[trueLuminosity] - else - luminosity = sqrt(trueLuminosity) - -//This slightly modifies human luminosity. Source of light do NOT stack. -//When you drop a light source it should keep a running total of your actual luminosity and set it accordingly. -/mob/SetLuminosity(new_luminosity, trueLum, atom/source) - LAZYREMOVE(luminosity_sources, source) - if(source) - UnregisterSignal(source, COMSIG_PARENT_QDELETING) - var/highest_luminosity = 0 - for(var/luminosity_source as anything in luminosity_sources) - var/lumonisity_rating = luminosity_sources[luminosity_source] - if(highest_luminosity < lumonisity_rating) - highest_luminosity = lumonisity_rating - if(source && new_luminosity > 0) - LAZYSET(luminosity_sources, source, new_luminosity) - RegisterSignal(source, COMSIG_PARENT_QDELETING, PROC_REF(remove_luminosity_source)) - if(new_luminosity < highest_luminosity) - new_luminosity = highest_luminosity - return ..() - -/mob/proc/remove_luminosity_source(atom/source) - SetLuminosity(0, FALSE, source) - -/area/SetLuminosity(new_luminosity) //we don't want dynamic lighting for areas - luminosity = !!new_luminosity - trueLuminosity = luminosity - - -//change our opacity (defaults to toggle), and then update all lights that affect us. -/atom/proc/SetOpacity(new_opacity) - if(new_opacity == null) - new_opacity = !opacity //default = toggle opacity - else if(opacity == new_opacity) - return FALSE //opacity hasn't changed! don't bother doing anything - opacity = new_opacity //update opacity, the below procs now call light updates. - return TRUE - -/turf/SetOpacity(new_opacity) - . = ..() - //only bother if opacity changed - if(!.) - return - if(lighting_lumcount) //only bother with an update if our turf is currently affected by a light - UpdateAffectingLights() - -/atom/movable/SetOpacity(new_opacity) - . = ..() - // only bother if opacity changed - if(!.) - return - // only bother with an update if we're on a turf - if(isturf(loc)) - var/turf/T = loc - // only bother with an update if our turf is currently affected by a light - if(T.lighting_lumcount) - UpdateAffectingLights() - - -/turf - var/lighting_lumcount = 0 - var/lighting_changed = 0 - var/cached_lumcount = 0 - -/turf/open/space - lighting_lumcount = 4 //starlight - -/turf/proc/update_lumcount(amount, removing = 0) - lighting_lumcount += amount - - if(!lighting_changed) - SSlighting.changed_turfs += src - lighting_changed = 1 - -/turf/proc/lighting_tag(const/level) - var/area/A = loc - return A.tagbase + "sd_L[level]" - -/turf/proc/build_lighting_area(const/tag, const/level) - var/area/Area = loc - var/area/A = new Area.type() // create area if it wasn't found - // replicate vars - for(var/V in Area.vars) - switch(V) - if ("contents","lighting_overlay", "overlays") - continue - else - if(issaved(Area.vars[V])) A.vars[V] = Area.vars[V] - - A.tag = tag - A.lighting_subarea = 1 - A.lighting_space = 0 // in case it was copied from a space subarea - - A.SetLightLevel(level) - Area.related += A - - if(SSweather.is_weather_event && SSweather.map_holder.should_affect_area(A)) - A.overlays += SSweather.curr_master_turf_overlay - - return A - -/turf/proc/shift_to_subarea() - lighting_changed = 0 - var/area/Area = loc - - if(!istype(Area) || !Area.lighting_use_dynamic) return - - var/level = min(max(round(lighting_lumcount,1),0),LIGHTING_STATES) - var/new_tag = lighting_tag(level) - - if(Area.tag!=new_tag) //skip if already in this area - var/area/A = locate(new_tag) // find an appropriate area - - if (!A) - A = build_lighting_area(new_tag, level) - - A.contents += src // move the turf into the area - -// Dedicated lighting sublevel for space turfs -// helps us depower things in space, remove space fire alarms, -// and evens out space lighting -/turf/open/space/lighting_tag(level) - var/area/A = loc - return A.tagbase + "sd_L_space" -/turf/open/space/build_lighting_area(tag, level) - var/area/A = ..(tag,4) - A.lighting_space = 1 - A.SetLightLevel(4) - A.icon_state = null - return A - - -/area - var/lighting_use_dynamic = 1 //Turn this flag off to prevent sd_DynamicAreaLighting from affecting this area - var/image/lighting_overlay //tracks the darkness image of the area for easy removal - var/lighting_subarea = 0 //tracks whether we're a lighting sub-area - var/lighting_space = 0 // true for space-only lighting subareas - var/tagbase - var/exterior_light = 2 - -/area/proc/SetLightLevel(light) - if(!src) return - if(light <= 0) - light = 0 - luminosity = 1 - if(light > LIGHTING_STATES) - light = LIGHTING_STATES - - if(lighting_overlay) - overlays -= lighting_overlay - lighting_overlay.icon_state = "[light]" - else - lighting_overlay = image(LIGHTING_ICON,,num2text(light),LIGHTING_LAYER) - lighting_overlay.plane = ceiling <= CEILING_GLASS ? EXTERIOR_LIGHTING_PLANE : LIGHTING_PLANE - if (light < 6) - overlays.Add(lighting_overlay) - -/area/proc/SetDynamicLighting() - src.lighting_use_dynamic = 1 - for(var/turf/T in src.contents) - turf_update_lumcount(T, 0) - -/area/proc/InitializeLighting() //TODO: could probably improve this bit ~Carn - tagbase = "[type]" - if(!tag) tag = tagbase - if(!lighting_use_dynamic) - if(!lighting_subarea) // see if this is a lighting subarea already - //show the dark overlay so areas, not yet in a lighting subarea, won't be bright as day and look silly. - SetLightLevel(4) - -//#undef LIGHTING_LAYER -#undef LIGHTING_CIRCULAR -//#undef LIGHTING_ICON - -#define LIGHTING_MAX_LUMINOSITY_STATIC 8 //Maximum luminosity to reduce lag. -#define LIGHTING_MAX_LUMINOSITY_MOBILE 6 //Moving objects have a lower max luminosity since these update more often. (lag reduction) -#define LIGHTING_MAX_LUMINOSITY_TURF 1 //turfs have a severely shortened range to protect from inevitable floor-lighttile spam. - -//set the changed status of all lights which could have possibly lit this atom. -//We don't need to worry about lights which lit us but moved away, since they will have change status set already -//This proc can cause lots of lights to be updated. :( -/atom/proc/UpdateAffectingLights() -// for(var/atom/A in oview(LIGHTING_MAX_LUMINOSITY_STATIC-1,src)) -// if(A.light) -// A.light.changed() //force it to update at next process() - -/atom/movable/UpdateAffectingLights() - if(isturf(loc)) - loc.UpdateAffectingLights() - -/turf/UpdateAffectingLights() - for(var/atom/A in oview(LIGHTING_MAX_LUMINOSITY_STATIC-1,src)) - if(A.light) - A.light.changed() - -//caps luminosity effects max-range based on what type the light's owner is. -/atom/proc/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_STATIC) - -/atom/movable/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_MOBILE) - -/obj/structure/machinery/light/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_STATIC) - -/turf/get_light_range() - return min(luminosity, LIGHTING_MAX_LUMINOSITY_TURF) - -#undef LIGHTING_MAX_LUMINOSITY_STATIC -#undef LIGHTING_MAX_LUMINOSITY_MOBILE -#undef LIGHTING_MAX_LUMINOSITY_TURF diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 26ee4c9a648e..f8d9becf2bf4 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -1,68 +1,98 @@ SUBSYSTEM_DEF(lighting) - name = "Lighting" + name = "Lighting" + wait = 2 init_order = SS_INIT_LIGHTING - priority = SS_PRIORITY_LIGHTING - wait = 0.4 SECONDS - runlevels = RUNLEVELS_DEFAULT|RUNLEVEL_LOBBY - var/list/datum/light_source/lights_current = list() - var/list/datum/light_source/lights = list() + //debug var for tracking updates before init is complete + var/duplicate_shadow_updates_in_init = 0 + ///Total times shadows were updated, debug + var/total_shadow_calculations = 0 - var/list/turf/changed_turfs_current = list() - var/list/turf/changed_turfs = list() + ///Whether the SS has begun setting up yet + var/started = FALSE + var/static/list/static_sources_queue = list() //! List of static lighting sources queued for update. + var/static/list/corners_queue = list() //! List of lighting corners queued for update. + var/static/list/objects_queue = list() //! List of lighting objects queued for update. -/datum/controller/subsystem/lighting/stat_entry(msg) - msg = "L:[lights.len]; T:[changed_turfs.len]" - return ..() + var/static/list/mask_queue = list() //! List of hybrid lighting sources queued for update. /datum/controller/subsystem/lighting/Initialize(timeofday) - for(var/thing in lights) - var/datum/light_source/L = thing - if(L) - L.check() - lights.Cut() + started = TRUE + if(!initialized) + //Handle static lightnig + create_all_lighting_objects() + fire(FALSE, TRUE) + return ..() - var/z_start = 1 - var/z_finish = world.maxz +/datum/controller/subsystem/lighting/stat_entry() + . = ..("ShCalcs:[total_shadow_calculations]|SourcQ:[static_sources_queue.len]|CcornQ:[corners_queue.len]|ObjQ:[objects_queue.len]|HybrQ:[mask_queue.len]") - var/list/init_turfs = block(locate(1,1,z_start),locate(world.maxx,world.maxy,z_finish)) +/datum/controller/subsystem/lighting/fire(resumed, init_tick_checks) + MC_SPLIT_TICK_INIT(3) + if(!init_tick_checks) + MC_SPLIT_TICK + var/updators_num = 0 + for(updators_num in 1 to static_sources_queue.len) + var/datum/static_light_source/L = static_sources_queue[updators_num] - for(var/turf/thing in init_turfs) - if(istype(thing)) - thing.shift_to_subarea() + L.update_corners() - return SS_INIT_SUCCESS + L.needs_update = LIGHTING_NO_UPDATE + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if(updators_num) + static_sources_queue.Cut(1, ++updators_num) + updators_num = 0 + if(!init_tick_checks) + MC_SPLIT_TICK + for(updators_num in 1 to corners_queue.len) + var/datum/static_lighting_corner/C = corners_queue[updators_num] -/datum/controller/subsystem/lighting/fire(resumed = FALSE) - if(!resumed) - lights_current = lights - lights = list() - changed_turfs_current = changed_turfs - changed_turfs = list() + C.needs_update = FALSE //update_objects() can call qdel if the corner is storing no data + C.update_objects() + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if(updators_num) + corners_queue.Cut(1, ++updators_num) + updators_num = 0 + if(!init_tick_checks) + MC_SPLIT_TICK + for(updators_num in 1 to objects_queue.len) + var/datum/static_lighting_object/O = objects_queue[updators_num] - while(lights_current.len) - var/datum/light_source/L = lights_current[lights_current.len] - lights_current.len-- - if(!L) + if (QDELETED(O)) continue - if(!L.owner || L.changed) - L.check() - if(MC_TICK_CHECK) - return - - while(changed_turfs_current.len) - var/turf/T = changed_turfs_current[changed_turfs_current.len] - changed_turfs_current.len-- - if(!T) - continue - if(T.lighting_changed) - if(T.lighting_lumcount != T.cached_lumcount) - T.cached_lumcount = T.lighting_lumcount - T.shift_to_subarea() - T.lighting_changed = FALSE - if (MC_TICK_CHECK) - return + O.update() + O.needs_update = FALSE + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if(updators_num) + objects_queue.Cut(1, ++updators_num) + updators_num = 0 + if(!init_tick_checks) + MC_SPLIT_TICK + + for(updators_num in 1 to mask_queue.len) + var/atom/movable/lighting_mask/mask_to_update = mask_queue[updators_num] + + mask_to_update.calculate_lighting_shadows() + if(init_tick_checks) + CHECK_TICK + else if (MC_TICK_CHECK) + break + if(updators_num) + mask_queue.Cut(1, ++updators_num) + +/datum/controller/subsystem/lighting/Recover() + initialized = SSlighting.initialized + return ..() diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm index 7610c007df90..4a9559d65eef 100644 --- a/code/controllers/subsystem/weather.dm +++ b/code/controllers/subsystem/weather.dm @@ -47,7 +47,7 @@ SUBSYSTEM_DEF(weather) /datum/controller/subsystem/weather/proc/setup_weather_areas() weather_areas = list() for(var/area/A in all_areas) - if(A == A.master && A.weather_enabled && map_holder.should_affect_area(A)) + if(A.weather_enabled && map_holder.should_affect_area(A)) weather_areas += A curr_master_turf_overlay = new /obj/effect/weather_vfx_holder diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm new file mode 100644 index 000000000000..a28069be98d5 --- /dev/null +++ b/code/datums/components/overlay_lighting.dm @@ -0,0 +1,306 @@ +///For switchable lights, is it on and currently emitting light? +#define LIGHTING_ON (1<<0) + +/** + * Movable atom overlay-based lighting component. + * + * * Component works by applying a visual object to the parent target. + * + * * The component tracks the parent's loc to determine the current_holder. + * * The current_holder is either the parent or its loc, whichever is on a turf. If none, then the current_holder is null and the light is not visible. + * + * * Lighting works at its base by applying a dark overlay and "cutting" said darkness with light, adding (possibly colored) transparency. + * * This component uses the visible_mask visual object to apply said light mask on the darkness. + * + * * The main limitation of this system is that it uses a limited number of pre-baked geometrical shapes, but for most uses it does the job. + * + * * Another limitation is for big lights: you only see the light if you see the object emiting it. + * * For small objects this is good (you can't see them behind a wall), but for big ones this quickly becomes prety clumsy. +*/ +/datum/component/overlay_lighting + ///How far the light reaches, float. + var/range = 1 + ///Ceiling of range, integer without decimal entries. + var/lumcount_range = 0 + ///How much this light affects the dynamic_lumcount of turfs. + var/lum_power = 0.5 + ///Transparency value. + var/set_alpha = 0 + ///For light sources that can be turned on and off. + var/overlay_lighting_flags = NONE + + ///Cache of the possible light overlays, according to size. + var/static/list/light_overlays = list( + "32" = 'icons/effects/light_overlays/light_32.dmi', + "64" = 'icons/effects/light_overlays/light_64.dmi', + "96" = 'icons/effects/light_overlays/light_96.dmi', + "128" = 'icons/effects/light_overlays/light_128.dmi', + "160" = 'icons/effects/light_overlays/light_160.dmi', + "192" = 'icons/effects/light_overlays/light_192.dmi', + "224" = 'icons/effects/light_overlays/light_224.dmi', + "256" = 'icons/effects/light_overlays/light_256.dmi', + "288" = 'icons/effects/light_overlays/light_288.dmi', + "320" = 'icons/effects/light_overlays/light_320.dmi', + "352" = 'icons/effects/light_overlays/light_352.dmi', + ) + + ///Overlay effect to cut into the darkness and provide light. + var/image/visible_mask + ///Lazy list to track the turfs being affected by our light, to determine their visibility. + var/list/turf/affected_turfs + ///Movable atom currently holding the light. Parent might be a flashlight, for example, but that might be held by a mob or something else. + var/atom/movable/current_holder + + +/datum/component/overlay_lighting/Initialize(_range, _power, _color, starts_on) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + var/atom/movable/movable_parent = parent + if(movable_parent.light_system != MOVABLE_LIGHT) + stack_trace("[type] added to [parent], with [movable_parent.light_system] value for the light_system var. Use [MOVABLE_LIGHT] instead.") + return COMPONENT_INCOMPATIBLE + + . = ..() + + visible_mask = image('icons/effects/light_overlays/light_32.dmi', icon_state = "light") + visible_mask.plane = O_LIGHTING_VISUAL_PLANE + visible_mask.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + visible_mask.alpha = 0 + if(!isnull(_range)) + movable_parent.set_light_range(_range) + set_range(parent, movable_parent.light_range) + if(!isnull(_power)) + movable_parent.set_light_power(_power) + set_power(parent, movable_parent.light_power) + if(!isnull(_color)) + movable_parent.set_light_color(_color) + set_color(parent, movable_parent.light_color) + if(!isnull(starts_on)) + movable_parent.set_light_on(starts_on) + +/datum/component/overlay_lighting/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_parent_moved) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/check_holder) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_RANGE, .proc/set_range) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_POWER, .proc/set_power) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_COLOR, .proc/set_color) + RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_ON, .proc/on_toggle) + var/atom/movable/movable_parent = parent + if(movable_parent.light_on) + turn_on() + INVOKE_NEXT_TICK(src, .proc/check_holder) + + +/datum/component/overlay_lighting/UnregisterFromParent() + set_holder(null) + clean_old_turfs() + UnregisterSignal(parent, list( + COMSIG_MOVABLE_MOVED, + COMSIG_ATOM_SET_LIGHT_RANGE, + COMSIG_ATOM_SET_LIGHT_POWER, + COMSIG_ATOM_SET_LIGHT_COLOR, + COMSIG_ATOM_SET_LIGHT_ON, + COMSIG_ATOM_SET_LIGHT_FLAGS, + )) + if(overlay_lighting_flags & LIGHTING_ON) + turn_off() + return ..() + + +/datum/component/overlay_lighting/Destroy() + set_holder(null) + clean_old_turfs() + visible_mask = null + return ..() + + +///Clears the affected_turfs lazylist, removing from its contents the effects of being near the light. +/datum/component/overlay_lighting/proc/clean_old_turfs() + for(var/turf/lit_turf as anything in affected_turfs) + lit_turf.dynamic_lumcount -= lum_power + affected_turfs = null + + +///Populates the affected_turfs lazylist, adding to its contents the effects of being near the light. +/datum/component/overlay_lighting/proc/get_new_turfs() + if(!current_holder) + return + LAZYINITLIST(affected_turfs) + if(range <= 2) + //Range here is 1 because actual range of lighting mask is 1 tile even if it says that range is 2 + for(var/turf/lit_turf in RANGE_TURFS(1, current_holder.loc)) + lit_turf.dynamic_lumcount += lum_power + affected_turfs += lit_turf + else + for(var/turf/lit_turf in view(lumcount_range, get_turf(current_holder))) + lit_turf.dynamic_lumcount += lum_power + affected_turfs += lit_turf + + +///Clears the old affected turfs and populates the new ones. +/datum/component/overlay_lighting/proc/make_luminosity_update() + clean_old_turfs() + if(!isturf(current_holder?.loc)) + return + get_new_turfs() + + +///Adds the luminosity and source for the afected movable atoms to keep track of their visibility. +/datum/component/overlay_lighting/proc/add_dynamic_lumi(atom/movable/affected_movable) + LAZYSET(affected_movable.affected_movable_lights, src, lumcount_range + 1) + affected_movable.underlays += visible_mask + affected_movable.update_dynamic_luminosity() + + +///Removes the luminosity and source for the afected movable atoms to keep track of their visibility. +/datum/component/overlay_lighting/proc/remove_dynamic_lumi(atom/movable/affected_movable) + LAZYREMOVE(affected_movable.affected_movable_lights, src) + affected_movable.underlays -= visible_mask + affected_movable.update_dynamic_luminosity() + + +///Called to change the value of current_holder. +/datum/component/overlay_lighting/proc/set_holder(atom/movable/new_holder) + if(new_holder == current_holder) + return + if(current_holder) + if(overlay_lighting_flags & LIGHTING_ON) + remove_dynamic_lumi(current_holder) + current_holder = new_holder + if(new_holder == null) + clean_old_turfs() + return + if(overlay_lighting_flags & LIGHTING_ON) + add_dynamic_lumi(new_holder) + + +///Used to determine the new valid current_holder from the parent's loc. +/datum/component/overlay_lighting/proc/check_holder() + var/atom/movable/movable_parent = parent + if(isturf(movable_parent.loc)) + set_holder(movable_parent) + return + var/atom/inside = movable_parent.loc //Parent's loc + if(isnull(inside)) + set_holder(null) + return + if(isturf(inside.loc)) + set_holder(inside) + return + set_holder(null) + + +///Called when the current_holder is qdeleted, to remove the light effect. +/datum/component/overlay_lighting/proc/on_holder_qdel(atom/movable/source, force) + UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + set_holder(null) + + +///Called when current_holder changes loc. +/datum/component/overlay_lighting/proc/on_holder_moved(atom/movable/source, OldLoc, Dir, Forced) + if(!(overlay_lighting_flags & LIGHTING_ON)) + return + make_luminosity_update() + + +///Called when parent changes loc. +/datum/component/overlay_lighting/proc/on_parent_moved(atom/movable/source, OldLoc, Dir, Forced) + SIGNAL_HANDLER + check_holder() + if(!(overlay_lighting_flags & LIGHTING_ON) || !current_holder) + return + make_luminosity_update() + + +///Changes the range which the light reaches. 0 means no light, 6 is the maximum value. +/datum/component/overlay_lighting/proc/set_range(atom/source, new_range) + SIGNAL_HANDLER + if(range == new_range) + return + if(range == 0) + turn_off() + range = clamp(CEILING(new_range, 0.5), 1, 6) + var/pixel_bounds = ((range - 1) * 64) + 32 + lumcount_range = CEILING(range, 1) + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= visible_mask + visible_mask.icon = light_overlays["[pixel_bounds]"] + if(pixel_bounds == 32) + visible_mask.transform = null + return + var/offset = (pixel_bounds - 32) * 0.5 + var/matrix/transform = new + transform.Translate(-offset, -offset) + visible_mask.transform = transform + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += visible_mask + if(overlay_lighting_flags & LIGHTING_ON) + make_luminosity_update() + + +///Changes the intensity/brightness of the light by altering the visual object's alpha. +/datum/component/overlay_lighting/proc/set_power(atom/source, new_power) + SIGNAL_HANDLER + set_lum_power(new_power >= 0 ? 0.5 : -0.5) + set_alpha = min(230, (abs(new_power) * 120) + 30) + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= visible_mask + visible_mask.alpha = set_alpha + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += visible_mask + + +///Changes the light's color, pretty straightforward. +/datum/component/overlay_lighting/proc/set_color(atom/source, new_color) + SIGNAL_HANDLER + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= visible_mask + visible_mask.color = new_color + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += visible_mask + + +///Toggles the light on and off. +/datum/component/overlay_lighting/proc/on_toggle(atom/source, new_value) + SIGNAL_HANDLER + if(new_value) //Truthy value input, turn on. + turn_on() + return + turn_off() //Falsey value, turn off. + + +///Toggles the light on. +/datum/component/overlay_lighting/proc/turn_on() + if(overlay_lighting_flags & LIGHTING_ON) + return + if(current_holder) + add_dynamic_lumi(current_holder) + overlay_lighting_flags |= LIGHTING_ON + get_new_turfs() + + +///Toggles the light off. +/datum/component/overlay_lighting/proc/turn_off() + if(!(overlay_lighting_flags & LIGHTING_ON)) + return + if(current_holder) + remove_dynamic_lumi(current_holder) + overlay_lighting_flags &= ~LIGHTING_ON + clean_old_turfs() + + +///Here we append the behavior associated to changing lum_power. +/datum/component/overlay_lighting/proc/set_lum_power(new_lum_power) + if(lum_power == new_lum_power) + return + . = lum_power + lum_power = new_lum_power + var/difference = . - lum_power + for(var/t in affected_turfs) + var/turf/lit_turf = t + lit_turf.dynamic_lumcount -= difference + + +#undef LIGHTING_ON diff --git a/code/datums/effects/acid.dm b/code/datums/effects/acid.dm index 721fe27a0d0d..d89f7261a223 100644 --- a/code/datums/effects/acid.dm +++ b/code/datums/effects/acid.dm @@ -104,7 +104,7 @@ if(!acids_area) return - if(SSweather.is_weather_event && locate(acids_area.master) in SSweather.weather_areas) + if(SSweather.is_weather_event && locate(acids_area) in SSweather.weather_areas) //smothering_strength is 1-10, we use this to take a proportional amount off the stats duration = duration - (duration * (SSweather.weather_event_instance.fire_smothering_strength * 0.1)) damage_in_total_human = damage_in_total_human - (damage_in_total_human * (SSweather.weather_event_instance.fire_smothering_strength * 0.1)) diff --git a/code/datums/elements/light_blocking.dm b/code/datums/elements/light_blocking.dm new file mode 100644 index 000000000000..c7c835655901 --- /dev/null +++ b/code/datums/elements/light_blocking.dm @@ -0,0 +1,43 @@ +/** + * Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly. + */ +/datum/element/light_blocking + element_flags = ELEMENT_DETACH + + +/datum/element/light_blocking/Attach(datum/target) + . = ..() + if(!ismovable(target)) + return ELEMENT_INCOMPATIBLE + RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/on_target_move) + var/atom/movable/movable_target = target + if(!isturf(movable_target.loc)) + return + for(var/turf/turf_loc as anything in movable_target.locs) + turf_loc.add_opacity_source(target) + + +/datum/element/light_blocking/Detach(datum/target) + . = ..() + UnregisterSignal(target, list(COMSIG_MOVABLE_MOVED)) + var/atom/movable/movable_target = target + if(!isturf(movable_target.loc)) + return + for(var/turf/turf_loc as anything in movable_target.locs) + turf_loc.remove_opacity_source(target) + + +///Updates old and new turf loc opacities. +///Updates old and new turf loc opacities. +/datum/element/light_blocking/proc/on_target_move(atom/movable/source, atom/old_loc, dir, forced, list/old_locs) + SIGNAL_HANDLER + if(isturf(old_loc)) + if(old_locs) + for(var/turf/old_turf as anything in old_locs) + old_turf.remove_opacity_source(source) + else + var/turf/old_turf = old_loc + old_turf.remove_opacity_source(source) + if(isturf(source.loc)) + for(var/turf/new_turf as anything in source.locs) + new_turf.add_opacity_source(source) diff --git a/code/datums/weather/weather_event.dm b/code/datums/weather/weather_event.dm index 3d80b54a0ef7..242f3a14bfbc 100644 --- a/code/datums/weather/weather_event.dm +++ b/code/datums/weather/weather_event.dm @@ -31,14 +31,14 @@ // remember, this happens every five seconds or so /datum/weather_event/proc/handle_weather_process() - if(lightning_chance && prob(lightning_chance)) - playsound_z(SSmapping.levels_by_trait(ZTRAIT_GROUND), pick('sound/soundscape/thunderclap1.ogg', 'sound/soundscape/thunderclap2.ogg')) - for(var/mob/mob as anything in GLOB.mob_list) - if(mob.hud_used) - var/atom/movable/screen/plane_master/lighting/exterior/exterior_lighting = mob.hud_used.plane_masters["[EXTERIOR_LIGHTING_PLANE]"] - if(exterior_lighting) - exterior_lighting.alpha = 0 - animate(exterior_lighting, 1.5 SECONDS, alpha = min(GLOB.minimum_exterior_lighting_alpha, mob.lighting_alpha)) +// if(lightning_chance && prob(lightning_chance)) +// playsound_z(SSmapping.levels_by_trait(ZTRAIT_GROUND), pick('sound/soundscape/thunderclap1.ogg', 'sound/soundscape/thunderclap2.ogg')) +// for(var/mob/mob as anything in GLOB.mob_list) +// if(mob.hud_used) +// var/atom/movable/screen/plane_master/lighting/exterior/exterior_lighting = mob.hud_used.plane_masters["[EXTERIOR_LIGHTING_PLANE]"] +// if(exterior_lighting) +// exterior_lighting.alpha = 0 +// animate(exterior_lighting, 1.5 SECONDS, alpha = min(GLOB.minimum_exterior_lighting_alpha, mob.lighting_alpha)) /datum/weather_event/proc/process_mob_effect(mob/living/carbon/affected_mob, delta_time = 1) if(effect_message && prob(WEATHER_MESSAGE_PROB)) diff --git a/code/game/area/DesertDam.dm b/code/game/area/DesertDam.dm index 6d3a78ad7648..a5388ea9cbf8 100644 --- a/code/game/area/DesertDam.dm +++ b/code/game/area/DesertDam.dm @@ -654,7 +654,6 @@ /area/desert_dam/exterior requires_power = 1 always_unpowered = 1 - lighting_use_dynamic = 1 power_light = FALSE power_equip = FALSE power_environ = FALSE diff --git a/code/game/area/IceColony.dm b/code/game/area/IceColony.dm index 1269fb1262fc..26ba95a7cca1 100644 --- a/code/game/area/IceColony.dm +++ b/code/game/area/IceColony.dm @@ -27,7 +27,6 @@ icon_state = "cliff_blocked" requires_power = 1 always_unpowered = 1 - lighting_use_dynamic = 1 power_light = FALSE power_equip = FALSE power_environ = FALSE diff --git a/code/game/area/LV522_Chances_Claim.dm b/code/game/area/LV522_Chances_Claim.dm index 164dea3f5d94..da347414b8a7 100644 --- a/code/game/area/LV522_Chances_Claim.dm +++ b/code/game/area/LV522_Chances_Claim.dm @@ -46,7 +46,6 @@ name = "Chance's Claim - Dropship Alamo Landing Zone" icon_state = "shuttle" icon = 'icons/turf/area_shiva.dmi' - lighting_use_dynamic = TRUE /area/lv522/landing_zone_1/lz1_console name = "Chance's Claim - Dropship Alamo Console" @@ -68,7 +67,6 @@ name = "Chance's Claim - Dropship Normandy Landing Zone" icon_state = "shuttle2" icon = 'icons/turf/area_shiva.dmi' - lighting_use_dynamic = TRUE /area/lv522/landing_zone_2/lz2_console name = "Chance's Claim - Dropship Normandy Console" diff --git a/code/game/area/Sulaco.dm b/code/game/area/Sulaco.dm index a8e0cc8961c1..6c3b08223937 100644 --- a/code/game/area/Sulaco.dm +++ b/code/game/area/Sulaco.dm @@ -115,7 +115,7 @@ //DISTRESS SHUTTLES /area/shuttle/distress - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 unique = TRUE /area/shuttle/distress/start diff --git a/code/game/area/WhiskeyOutpost.dm b/code/game/area/WhiskeyOutpost.dm index e9fc912bb0c9..32d24fb8fc2f 100644 --- a/code/game/area/WhiskeyOutpost.dm +++ b/code/game/area/WhiskeyOutpost.dm @@ -75,7 +75,6 @@ //ambience = list('sound/ambience/jungle_amb1.ogg') requires_power = 1 always_unpowered = 1 - lighting_use_dynamic = 1 power_light = FALSE power_equip = FALSE power_environ = FALSE @@ -175,7 +174,6 @@ ceiling = CEILING_UNDERGROUND_ALLOW_CAS requires_power = 1 always_unpowered = 1 - lighting_use_dynamic = 1 power_light = FALSE power_equip = FALSE power_environ = FALSE diff --git a/code/game/area/admin_level.dm b/code/game/area/admin_level.dm index 3a79546d177d..95bb104542f8 100644 --- a/code/game/area/admin_level.dm +++ b/code/game/area/admin_level.dm @@ -10,7 +10,7 @@ statistic_exempt = TRUE flags_area = AREA_NOTUNNEL luminosity = TRUE - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 /area/adminlevel/bunker01/mainroom name = "\improper Bunker Main Room" @@ -78,7 +78,7 @@ ceiling = CEILING_UNDERGROUND_ALLOW_CAS always_unpowered = TRUE requires_power = TRUE - lighting_use_dynamic = TRUE + base_lighting_alpha = 0 luminosity = FALSE /area/adminlevel/bunker01/caves/outpost @@ -87,7 +87,6 @@ ceiling = CEILING_UNDERGROUND_ALLOW_CAS requires_power = TRUE always_unpowered = FALSE - lighting_use_dynamic = TRUE luminosity = FALSE /area/adminlevel/bunker01/caves/xeno diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 8c019e00c8a6..b44f88d1052c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -23,8 +23,6 @@ var/unique = TRUE var/has_gravity = 1 - var/area/master // master area used for power calcluations - // (original area before splitting due to sd_DAL) var/list/related // the other areas of the same type as this // var/list/lights // list of all lights on this area var/list/all_doors = list() //Added by Strumpetplaya - Alarm Change - Contains a list of doors adjacent to this area @@ -84,10 +82,10 @@ if(unique) GLOB.areas_by_type[type] = src ..() - master = src //moved outside the spawn(1) to avoid runtimes in lighting.dm when it references loc.loc.master ~Carn related = list(src) - initialize_power_and_lighting() + initialize_power() + update_base_lighting() /area/Initialize(mapload, ...) icon_state = "" //Used to reset the icon overlay, I assume. @@ -98,24 +96,20 @@ all_areas += src reg_in_areas_in_z() -/area/proc/initialize_power_and_lighting(override_power) +/area/proc/initialize_power(override_power) if(requires_power) luminosity = 0 if(override_power) //Reset everything if you want to override. power_light = TRUE power_equip = TRUE power_environ = TRUE - if(lighting_use_dynamic) - SetDynamicLighting() else power_light = FALSE //rastaf0 power_equip = FALSE //rastaf0 power_environ = FALSE //rastaf0 luminosity = 1 - lighting_use_dynamic = 0 power_change() // all machines set to current power level, also updates lighting icon - InitializeLighting() /// Returns the correct ambience sound track for a client in this area /area/proc/get_sound_ambience(client/target) @@ -195,32 +189,32 @@ return 0 /area/proc/air_doors_close() - if(!src.master.air_doors_activated) - src.master.air_doors_activated = 1 - for(var/obj/structure/machinery/door/firedoor/E in src.master.all_doors) - if(!E:blocked) - if(E.operating) - E:nextstate = OPEN - else if(!E.density) - INVOKE_ASYNC(E, TYPE_PROC_REF(/obj/structure/machinery/door, close)) + for(var/obj/structure/machinery/door/firedoor/E in all_doors) + if(E.blocked) + continue + + if(E.operating) + E.nextstate = OPEN + else if(!E.density) + E.close() + /area/proc/air_doors_open() - if(src.master.air_doors_activated) - src.master.air_doors_activated = 0 - for(var/obj/structure/machinery/door/firedoor/E in src.master.all_doors) - if(!E:blocked) - if(E.operating) - E:nextstate = OPEN - else if(E.density) - INVOKE_ASYNC(E, TYPE_PROC_REF(/obj/structure/machinery/door, open)) + for(var/obj/structure/machinery/door/firedoor/E in all_doors) + if(E.blocked) + continue + if(E.operating) + E.nextstate = OPEN + else if(E.density) + E.open() /area/proc/firealert() if(name == "Space") //no fire alarms in space return if(!(flags_alarm_state & ALARM_WARNING_FIRE)) flags_alarm_state |= ALARM_WARNING_FIRE - master.flags_alarm_state |= ALARM_WARNING_FIRE //used for firedoor checks + flags_alarm_state |= ALARM_WARNING_FIRE //used for firedoor checks updateicon() mouse_opacity = MOUSE_OPACITY_TRANSPARENT for(var/obj/structure/machinery/door/firedoor/D in all_doors) @@ -242,7 +236,7 @@ /area/proc/firereset() if(flags_alarm_state & ALARM_WARNING_FIRE) flags_alarm_state &= ~ALARM_WARNING_FIRE - master.flags_alarm_state &= ~ALARM_WARNING_FIRE //used for firedoor checks + flags_alarm_state &= ~ALARM_WARNING_FIRE //used for firedoor checks mouse_opacity = MOUSE_OPACITY_TRANSPARENT updateicon() for(var/obj/structure/machinery/door/firedoor/D in all_doors) @@ -271,16 +265,16 @@ /* /area/proc/toggle_evacuation() //toggles lights and creates an overlay. flags_alarm_state ^= ALARM_WARNING_EVAC - master.flags_alarm_state ^= ALARM_WARNING_EVAC + flags_alarm_state ^= ALARM_WARNING_EVAC //if(flags_alarm_state & ALARM_WARNING_EVAC) - // master.lightswitch = FALSE + // lightswitch = FALSE //lightswitch = FALSE //Lights going off. // else - // master.lightswitch = TRUE + // lightswitch = TRUE //lightswitch = TRUE //Coming on. - master.updateicon() + updateicon() - //master.power_change() + //power_change() /area/proc/toggle_shut_down() @@ -305,32 +299,30 @@ if(icon_state != I) icon_state = I //If the icon state changed, change it. Otherwise do nothing. /area/proc/powered(chan) // return true if the area has power to given channel - if(!master.requires_power) + if(!requires_power) return 1 - if(master.always_unpowered) + if(always_unpowered) return 0 switch(chan) if(POWER_CHANNEL_EQUIP) - return master.power_equip + return power_equip if(POWER_CHANNEL_LIGHT) - return master.power_light + return power_light if(POWER_CHANNEL_ENVIRON) - return master.power_environ + return power_environ return 0 /area/proc/update_power_channels(equip, light, environ) - if(!master) - CRASH("CALLED update_power_channels on non-master channel!") var/changed = FALSE - if(master.power_equip != equip) - master.power_equip = equip + if(power_equip != equip) + power_equip = equip changed = TRUE - if(master.power_light != light) - master.power_light = light + if(power_light != light) + power_light = light changed = TRUE - if(master.power_environ != environ) - master.power_environ = environ + if(power_environ != environ) + power_environ = environ changed = TRUE if(changed) //Something got changed power-wise, time for an update! power_change() @@ -348,32 +340,32 @@ var/used = 0 switch(chan) if(POWER_CHANNEL_LIGHT) - used += master.used_light + used += used_light if(POWER_CHANNEL_EQUIP) - used += master.used_equip + used += used_equip if(POWER_CHANNEL_ENVIRON) - used += master.used_environ + used += used_environ if(POWER_CHANNEL_ONEOFF) - used += master.used_oneoff + used += used_oneoff if(reset_oneoff) - master.used_oneoff = 0 + used_oneoff = 0 if(POWER_CHANNEL_TOTAL) - used += master.used_light + master.used_equip + master.used_environ + master.used_oneoff + used += used_light + used_equip + used_environ + used_oneoff if(reset_oneoff) - master.used_oneoff = 0 + used_oneoff = 0 return used /area/proc/use_power(amount, chan) switch(chan) if(POWER_CHANNEL_EQUIP) - master.used_equip += amount + used_equip += amount if(POWER_CHANNEL_LIGHT) - master.used_light += amount + used_light += amount if(POWER_CHANNEL_ENVIRON) - master.used_environ += amount + used_environ += amount if(POWER_CHANNEL_ONEOFF) - master.used_oneoff += amount + used_oneoff += amount /area/Entered(A,atom/OldLoc) if(ismob(A)) @@ -381,7 +373,7 @@ return var/mob/M = A var/area/old_area = get_area(OldLoc) - if(old_area.master == master) + if(old_area == src) return M?.client?.soundOutput?.update_ambience(src, null, TRUE) else if(istype(A, /obj/structure/machinery)) diff --git a/code/game/area/areas_event.dm b/code/game/area/areas_event.dm index fe34d74363d5..c43dae3a65b2 100644 --- a/code/game/area/areas_event.dm +++ b/code/game/area/areas_event.dm @@ -47,20 +47,12 @@ structure: //events are not part of regular gameplay, therefore, no statistics statistic_exempt = TRUE - //no dynamic lighting - exterior_light = 0 - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 //always powered requires_power = FALSE unlimited_power = TRUE -/area/event/Initialize() - . = ..() - if(exterior_light) - for(var/turf/T in contents) - T.update_lumcount(exterior_light) - //no dynamic lighting, unpowered. /area/event/unpowered name = "Open grounds (event)" @@ -75,7 +67,6 @@ structure: icon_state = "event_dyn" requires_power = TRUE unlimited_power = TRUE - lighting_use_dynamic = TRUE //no dynamic lighting, unpowered. /area/event/dynamic/unpowered @@ -83,13 +74,14 @@ structure: icon_state = "event_dyn_nopower" unlimited_power = FALSE + base_lighting_alpha = 255 //dynamic lighting, lit, powered. /area/event/dynamic/lit name = "Open grounds (event PDL)" icon_state = "event_dyn_lit" - exterior_light = 3 + base_lighting_alpha = 255 //dynamic lighting, lit, unpowered. /area/event/dynamic/lit/unpowered @@ -97,6 +89,7 @@ structure: icon_state = "event_dyn_lit_nopower" unlimited_power = FALSE + base_lighting_alpha = 255 //-----------------------CEILING_METAL-------------------------- @@ -122,7 +115,6 @@ structure: icon_state = "metal_dyn" requires_power = TRUE unlimited_power = TRUE - lighting_use_dynamic = TRUE //no dynamic lighting, unpowered. /area/event/metal/dynamic/unpowered @@ -137,7 +129,7 @@ structure: name = "Building interior (event PDL)" icon_state = "metal_dyn_lit" - exterior_light = 3 + base_lighting_alpha = 255 //dynamic lighting, lit, unpowered. /area/event/metal/dynamic/lit/unpowered @@ -176,7 +168,6 @@ structure: icon_state = "under_dyn" requires_power = TRUE unlimited_power = TRUE - lighting_use_dynamic = TRUE //no dynamic lighting, unpowered. /area/event/underground/dynamic/unpowered @@ -191,7 +182,7 @@ structure: name = "Small caves (event PDL)" icon_state = "under_dyn_lit" - exterior_light = 3 + base_lighting_alpha = 255 //dynamic lighting, lit, unpowered. /area/event/underground/dynamic/lit/unpowered @@ -232,7 +223,6 @@ structure: icon_state = "undercas_dyn" requires_power = TRUE unlimited_power = TRUE - lighting_use_dynamic = TRUE //no dynamic lighting, unpowered. /area/event/underground_no_CAS/dynamic/unpowered @@ -246,7 +236,7 @@ structure: name = "Caves (event PDL)" icon_state = "undercas_dyn_lit" - exterior_light = 3 + base_lighting_alpha = 255 //dynamic lighting, lit, unpowered. /area/event/underground_no_CAS/dynamic/lit/unpowered @@ -286,7 +276,6 @@ structure: icon_state = "deep_dyn" requires_power = TRUE unlimited_power = TRUE - lighting_use_dynamic = TRUE //no dynamic lighting, unpowered. /area/event/deep_underground/dynamic/unpowered @@ -301,7 +290,7 @@ structure: name = "Deep underground (event PDL)" icon_state = "deep_dyn_lit" - exterior_light = 3 + base_lighting_alpha = 255 //dynamic lighting, lit, unpowered. /area/event/deep_underground/dynamic/lit/unpowered diff --git a/code/game/area/chinook.dm b/code/game/area/chinook.dm index 62bbdee7bd17..b9cd440fd548 100644 --- a/code/game/area/chinook.dm +++ b/code/game/area/chinook.dm @@ -9,7 +9,6 @@ requires_power = TRUE statistic_exempt = TRUE flags_area = AREA_NOTUNNEL - lighting_use_dynamic = TRUE sound_environment = SOUND_ENVIRONMENT_ROOM unlimited_power = TRUE ceiling = CEILING_METAL diff --git a/code/game/area/kutjevo.dm b/code/game/area/kutjevo.dm index 210f93805d92..95cf14b4d665 100644 --- a/code/game/area/kutjevo.dm +++ b/code/game/area/kutjevo.dm @@ -8,19 +8,16 @@ icon_state = "kutjevo" can_build_special = TRUE //T-Comms structure temperature = 308.7 //kelvin, 35c, 95f - lighting_use_dynamic = 1 /area/shuttle/drop1/kutjevo name = "Kutjevo - Dropship Alamo Landing Zone" icon_state = "shuttle" icon = 'icons/turf/area_kutjevo.dmi' - lighting_use_dynamic = 1 /area/shuttle/drop2/kutjevo name = "Kutjevo - Dropship Normandy Landing Zone" icon_state = "shuttle2" icon = 'icons/turf/area_kutjevo.dmi' - lighting_use_dynamic = 1 /area/kutjevo/exterior name = "Kutjevo - Exterior" diff --git a/code/game/area/prison_v3_fiorina.dm b/code/game/area/prison_v3_fiorina.dm index 42891af6fe1d..a28001483a51 100644 --- a/code/game/area/prison_v3_fiorina.dm +++ b/code/game/area/prison_v3_fiorina.dm @@ -8,7 +8,6 @@ icon_state = "fiorina" can_build_special = TRUE //T-Comms structure temperature = T20C - lighting_use_dynamic = 1 ceiling = CEILING_GLASS /area/fiorina/oob diff --git a/code/game/area/shiva.dm b/code/game/area/shiva.dm index 1d95069f81a8..f5dc84ed813b 100644 --- a/code/game/area/shiva.dm +++ b/code/game/area/shiva.dm @@ -7,20 +7,17 @@ icon_state = "shiva" can_build_special = TRUE //T-Comms structure temperature = ICE_COLONY_TEMPERATURE - lighting_use_dynamic = TRUE /area/shuttle/drop1/shiva name = "Shiva's Snowball - Dropship Alamo Landing Zone" icon_state = "shuttle" icon = 'icons/turf/area_shiva.dmi' - lighting_use_dynamic = TRUE is_resin_allowed = FALSE /area/shuttle/drop2/shiva name = "Shiva's Snowball - Dropship Normandy Landing Zone" icon_state = "shuttle2" icon = 'icons/turf/area_shiva.dmi' - lighting_use_dynamic = TRUE is_resin_allowed = FALSE /area/shiva/exterior/lz1_console diff --git a/code/game/area/shuttles.dm b/code/game/area/shuttles.dm index e0e98ac70bb3..3cea5c955d89 100644 --- a/code/game/area/shuttles.dm +++ b/code/game/area/shuttles.dm @@ -7,7 +7,7 @@ // Loading the same shuttle map at a different time will produce distinct area instances. unique = FALSE - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 ///area/shuttle/Initialize() diff --git a/code/game/area/space_station_13_areas.dm b/code/game/area/space_station_13_areas.dm index 1d49735c1c2f..5189708da202 100644 --- a/code/game/area/space_station_13_areas.dm +++ b/code/game/area/space_station_13_areas.dm @@ -18,7 +18,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "\improper Space" requires_power = 1 always_unpowered = 1 - lighting_use_dynamic = 0 + base_lighting_alpha = 255 power_light = FALSE power_equip = FALSE power_environ = FALSE @@ -36,7 +36,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station ceiling = CEILING_METAL /area/admin/droppod - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 /area/admin/droppod/holding name = "\improper Admin Supply Drops Droppod" @@ -55,7 +55,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station ceiling = CEILING_MAX requires_power = 0 luminosity = 1 - lighting_use_dynamic = 0 + base_lighting_alpha = 255 has_gravity = 1 // === end remove diff --git a/code/game/area/strata.dm b/code/game/area/strata.dm index b9a5c8aeb0f4..3c2792ad0693 100644 --- a/code/game/area/strata.dm +++ b/code/game/area/strata.dm @@ -17,12 +17,12 @@ EXTERIOR is FUCKING FREEZING, and refers to areas out in the open and or exposed /area/shuttle/drop1/strata //Not in Sulaco.DM because holy shit we need to sort things. name = "Dropship Alamo Landing Zone" icon_state = "shuttle" - lighting_use_dynamic = 0 //No bad + base_lighting_alpha = 255 /area/shuttle/drop2/strata name = "Dropship Normandy Landing Zone" icon_state = "shuttle2" - lighting_use_dynamic = 0 + base_lighting_alpha = 255 /*A WHOLE BUNCH OF PARENT ENTITIES fake_zlevel = 1 or 2. 1 is 'above' 2 is 'below', however ladders are flipped and think that 1 is below, and 2 is above. diff --git a/code/game/area/techtree.dm b/code/game/area/techtree.dm index 70b70e3852be..24510562ab57 100644 --- a/code/game/area/techtree.dm +++ b/code/game/area/techtree.dm @@ -1,5 +1,5 @@ /area/techtree - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 ceiling = CEILING_MAX requires_power = 0 ambience_exterior = AMBIENCE_ALMAYER diff --git a/code/game/area/varadero.dm b/code/game/area/varadero.dm index 35b5dc44dd31..c939ff172c2a 100644 --- a/code/game/area/varadero.dm +++ b/code/game/area/varadero.dm @@ -9,7 +9,6 @@ icon_state = "varadero" can_build_special = TRUE //T-Comms structure temperature = TROPICAL_TEMP - lighting_use_dynamic = TRUE //shuttle stuff @@ -17,7 +16,6 @@ name = "New Varadero - Dropship Alamo Landing Zone" icon_state = "shuttle" icon = 'icons/turf/area_varadero.dmi' - lighting_use_dynamic = TRUE is_resin_allowed = FALSE @@ -25,7 +23,6 @@ name = "New Varadero - Dropship Normandy Landing Zone" icon_state = "shuttle2" icon = 'icons/turf/area_varadero.dmi' - lighting_use_dynamic = TRUE is_resin_allowed = FALSE //Parent areas @@ -228,7 +225,6 @@ power_equip = FALSE power_environ = FALSE luminosity = 0 - lighting_use_dynamic = 1 /area/varadero/interior/caves/north_research name = "New Varadero - North Research Caves" @@ -245,7 +241,6 @@ power_equip = FALSE power_environ = FALSE luminosity = 0 - lighting_use_dynamic = 1 /area/varadero/interior_protected/caves/central diff --git a/code/game/atoms.dm b/code/game/atoms.dm index b8d5a4f622f2..67d322a7b12a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -59,6 +59,34 @@ ///Default pixel y shifting for the atom's icon. var/base_pixel_y = 0 + //light stuff + + ///Light systems, only one of the three should be active at the same time. + var/light_system = STATIC_LIGHT + ///Range of the light in tiles. Zero means no light. + var/light_range = 0 + ///Intensity of the light. The stronger, the less shadows you will see on the lit area. + var/light_power = 1 + ///Hexadecimal RGB string representing the colour of the light. White by default. + var/light_color = COLOR_WHITE + ///Boolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values. + var/light_on = FALSE + ///Our light source. Don't fuck with this directly unless you have a good reason! + var/tmp/datum/dynamic_light_source/light + ///Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list. + var/tmp/list/hybrid_light_sources + + //Values should avoid being close to -16, 16, -48, 48 etc. + //Best keep them within 10 units of a multiple of 32, as when the light is closer to a wall, the probability + //that a shadow extends to opposite corners of the light mask square is increased, resulting in more shadow + //overlays. + ///x offset for dynamic lights on this atom + var/light_pixel_x + ///y offset for dynamic lights on this atom + var/light_pixel_y + ///typepath for the lighting maskfor dynamic light sources + var/light_mask_type = null + /atom/New(loc, ...) var/do_initialize = SSatoms.initialized if(do_initialize != INITIALIZATION_INSSATOMS) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index e91c8287d3cb..f3d62468485c 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -18,6 +18,16 @@ var/datum/component/orbiter/orbiting + /// Either FALSE, [EMISSIVE_BLOCK_GENERIC], or [EMISSIVE_BLOCK_UNIQUE] + var/blocks_emissive = FALSE + ///Internal holder for emissive blocker object, do not use directly use blocks_emissive + var/atom/movable/emissive_blocker/em_block + + ///Lazylist to keep track on the sources of illumination. + var/list/affected_movable_lights + ///Highest-intensity light affecting us, which determines our visibility. + var/affecting_dynamic_lumi = 0 + //=========================================================================== /atom/movable/Destroy() for(var/atom/movable/I in contents) @@ -26,6 +36,11 @@ pulledby.stop_pulling() QDEL_NULL(launch_metadata) + if(opacity) + RemoveElement(/datum/element/light_blocking) + + QDEL_NULL(em_block) + if(loc) loc.on_stored_atom_del(src) //things that container need to do when a movable atom inside it is deleted if(orbiting) @@ -57,10 +72,40 @@ return src.master.attack_hand(a, b, c) return - - - - +/atom/movable/Initialize(mapload, ...) + . = ..() + switch(blocks_emissive) + if(EMISSIVE_BLOCK_GENERIC) + var/mutable_appearance/gen_emissive_blocker = mutable_appearance(icon, icon_state, plane = EMISSIVE_PLANE, alpha = src.alpha) + gen_emissive_blocker.color = GLOB.em_block_color + gen_emissive_blocker.dir = dir + gen_emissive_blocker.appearance_flags |= appearance_flags + overlays += gen_emissive_blocker + if(EMISSIVE_BLOCK_UNIQUE) + render_target = ref(src) + em_block = new(src, render_target) + overlays += list(em_block) + if(opacity) + AddElement(/datum/element/light_blocking) + if(light_system == MOVABLE_LIGHT) + AddComponent(/datum/component/overlay_lighting) + +///Updates this movables emissive overlay +/atom/movable/proc/update_emissive_block() + if(!blocks_emissive) + return + else if (blocks_emissive == EMISSIVE_BLOCK_GENERIC) + var/mutable_appearance/gen_emissive_blocker = emissive_blocker(icon, icon_state, alpha = src.alpha, appearance_flags = src.appearance_flags) + gen_emissive_blocker.dir = dir + if(blocks_emissive == EMISSIVE_BLOCK_UNIQUE) + if(!em_block) + render_target = ref(src) + em_block = new(src, render_target) + return em_block + +/atom/movable/update_overlays() + . = ..() + . += update_emissive_block() //when a mob interact with something that gives them a special view, //check_eye() is called to verify that they're still eligible. @@ -222,10 +267,10 @@ if(light) //Clone lighting if(!clone.light) - clone.SetLuminosity(luminosity) //Create clone light + clone.set_light(luminosity) //Create clone light else if(clone.light) - clone.SetLuminosity(0) //Kill clone light + clone.set_light(0) //Kill clone light /atom/movable/proc/destroy_clone() clones.Remove(src.clone) @@ -250,3 +295,23 @@ //if((force < (move_resist * MOVE_FORCE_THROW_RATIO)) || (move_resist == INFINITY)) // return return throw_atom(target, range, speed, thrower, spin) + +///Keeps track of the sources of dynamic luminosity and updates our visibility with the highest. +/atom/movable/proc/update_dynamic_luminosity() + var/highest = 0 + for(var/i in affected_movable_lights) + if(affected_movable_lights[i] <= highest) + continue + highest = affected_movable_lights[i] + if(highest == affecting_dynamic_lumi) + return + luminosity -= affecting_dynamic_lumi + affecting_dynamic_lumi = highest + luminosity += affecting_dynamic_lumi + + +///Helper to change several lighting overlay settings. +/atom/movable/proc/set_light_range_power_color(range, power, color) + set_light_range(range) + set_light_power(power) + set_light_color(color) diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm index 715029e6579d..1434ac0af664 100644 --- a/code/game/machinery/air_alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -136,8 +136,6 @@ /obj/structure/machinery/alarm/proc/first_run() alarm_area = get_area(src) - if (alarm_area.master) - alarm_area = alarm_area.master area_uid = alarm_area.uid if (name == "alarm") name = "[alarm_area.name] Air Alarm" diff --git a/code/game/machinery/bio-dome_floodlights.dm b/code/game/machinery/bio-dome_floodlights.dm index 75fae8af692f..d5a5c2af831e 100644 --- a/code/game/machinery/bio-dome_floodlights.dm +++ b/code/game/machinery/bio-dome_floodlights.dm @@ -53,9 +53,9 @@ spawn(rand(0,50)) if(F.is_lit) //Shut it down - F.SetLuminosity(0) + F.set_light(0) else - F.SetLuminosity(F.lum_value) + F.set_light(F.lum_value) F.is_lit = !(F.is_lit) F.update_icon() return 0 @@ -91,7 +91,7 @@ var/lum_value = 7 /obj/structure/machinery/hydro_floodlight/Destroy() - SetLuminosity(0) + set_light(0) return ..() /obj/structure/machinery/hydro_floodlight/update_icon() @@ -120,7 +120,7 @@ user.visible_message(SPAN_NOTICE("[user] finishes welding [src]'s damage."), \ SPAN_NOTICE("You finish welding [src]'s damage.")) if(is_lit) - SetLuminosity(lum_value) + set_light(lum_value) update_icon() return 1 else @@ -151,7 +151,7 @@ if(do_after(user, 50, INTERRUPT_ALL, BUSY_ICON_HOSTILE) && !damaged) //Not when it's already damaged. if(!src) return 0 damaged = 1 - SetLuminosity(0) + set_light(0) user.visible_message(SPAN_DANGER("[user] slashes up [src]!"), SPAN_DANGER("You slash up [src]!")) playsound(src, 'sound/weapons/blade1.ogg', 25, 1) diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index 9b17bb9fc169..da6676cfdeed 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -20,12 +20,12 @@ if(stat) return 0 on = 1 - SetLuminosity(initial(luminosity)) + set_light(initial(luminosity)) return 1 /obj/structure/machinery/bot/proc/turn_off() on = 0 - SetLuminosity(0) + set_light(0) /obj/structure/machinery/bot/proc/explode() qdel(src) @@ -35,7 +35,7 @@ explode() /obj/structure/machinery/bot/Destroy() - SetLuminosity(0) + set_light(0) . = ..() /obj/structure/machinery/bot/get_examine_text(mob/user) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 86ec1aa62510..9d713f8e524c 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -79,7 +79,7 @@ network = list() cameranet.removeCamera(src) stat |= EMPED - SetLuminosity(0) + set_light(0) triggerCameraAlarm() spawn(900) network = previous_network diff --git a/code/game/machinery/computer/area_air_control.dm b/code/game/machinery/computer/area_air_control.dm index ee217ccbac7f..6a768ebe681d 100644 --- a/code/game/machinery/computer/area_air_control.dm +++ b/code/game/machinery/computer/area_air_control.dm @@ -139,14 +139,10 @@ var/turf/T_src = get_turf(src) if(!T_src.loc) return 0 var/area/A_src = T_src.loc - if (A_src.master) - A_src = A_src.master var/turf/T_scrub = get_turf(scrubber) if(!T_scrub.loc) return 0 var/area/A_scrub = T_scrub.loc - if (A_scrub.master) - A_scrub = A_scrub.master if(A_scrub != A_src) return 0 @@ -161,13 +157,11 @@ var/turf/T = get_turf(src) if(!T.loc) return var/area/A = T.loc - if (A.master) - A = A.master for(var/obj/structure/machinery/portable_atmospherics/powered/scrubber/huge/scrubber in machines ) var/turf/T2 = get_turf(scrubber) if(T2 && T2.loc) var/area/A2 = T2.loc - if(istype(A2) && A2.master && A2.master == A ) + if(istype(A2) && A2 ) connectedscrubbers += scrubber found = 1 diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index 1bb05156ddd1..ad321bdccd23 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -174,7 +174,7 @@ for(var/turf/visible_turf in visible_things) range_turfs += visible_turf A = visible_turf.loc - if(!A.lighting_use_dynamic || visible_turf.lighting_lumcount >= 1) + if(visible_turf.dynamic_lumcount >= 1) visible_turfs += visible_turf var/list/bbox = get_bbox_of_atoms(visible_turfs) @@ -193,7 +193,7 @@ var/area/A for(var/turf/visible_turf as anything in range_turfs) A = visible_turf.loc - if(!A.lighting_use_dynamic || visible_turf.lighting_lumcount >= 1) + if(visible_turf.dynamic_lumcount >= 1) visible_turfs += visible_turf cam_screen.vis_contents = visible_turfs diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index b6a80f8ee818..03c150d2a85e 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -21,6 +21,7 @@ /obj/structure/machinery/door/airlock/alarmlock/receive_signal(datum/signal/signal) +/* ..() if(inoperable()) return @@ -28,10 +29,6 @@ var/alarm_area = signal.data["zone"] var/alert = signal.data["alert"] - var/area/our_area = get_area(src) - if (our_area.master) - our_area = our_area.master - if(alarm_area == our_area.name) switch(alert) if("severe") @@ -40,3 +37,4 @@ if("minor", "clear") autoclose = 0 open() +*/ diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index e9971d162e06..1fc590105a7c 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -48,7 +48,7 @@ /obj/structure/machinery/door/Destroy() . = ..() if(filler && width > 1) - filler.SetOpacity(0)// Ehh... let's hope there are no walls there. Must fix this + filler.set_opacity(0)// Ehh... let's hope there are no walls there. Must fix this filler = null density = FALSE @@ -63,12 +63,12 @@ bound_width = width * world.icon_size bound_height = world.icon_size filler = get_step(src,EAST) - filler.SetOpacity(opacity) + filler.set_opacity(opacity) else bound_width = world.icon_size bound_height = width * world.icon_size filler = get_step(src,NORTH) - filler.SetOpacity(opacity) + filler.set_opacity(opacity) //process() //return @@ -219,14 +219,14 @@ CHECK_TICK do_animate("opening") icon_state = "door0" - src.SetOpacity(0) + src.set_opacity(0) sleep(openspeed) src.layer = open_layer src.density = FALSE update_icon() - SetOpacity(0) + set_opacity(0) if (filler) - filler.SetOpacity(opacity) + filler.set_opacity(opacity) if(operating) operating = 0 @@ -249,9 +249,9 @@ sleep(openspeed) update_icon() if(visible && !glass) - SetOpacity(1) //caaaaarn! + set_opacity(1) //caaaaarn! if (filler) - filler.SetOpacity(opacity) + filler.set_opacity(opacity) operating = 0 return @@ -274,15 +274,15 @@ if(dir in list(EAST, WEST)) bound_width = width * world.icon_size bound_height = world.icon_size - filler.SetOpacity(0) + filler.set_opacity(0) filler = (get_step(src,EAST)) //Find new turf - filler.SetOpacity(opacity) + filler.set_opacity(opacity) else bound_width = world.icon_size bound_height = width * world.icon_size - filler.SetOpacity(0) + filler.set_opacity(0) filler = (get_step(src,NORTH)) //Find new turf - filler.SetOpacity(opacity) + filler.set_opacity(opacity) /obj/structure/machinery/door/morgue diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm index 899b7c675415..68f1f35bb042 100644 --- a/code/game/machinery/doors/multi_tile.dm +++ b/code/game/machinery/doors/multi_tile.dm @@ -170,11 +170,11 @@ //We have to find these again since these doors are used on shuttles a lot so the turfs changes /obj/structure/machinery/door/airlock/multi_tile/almayer/proc/update_filler_turfs() for(var/turf/T in multi_filler) - T.SetOpacity(null) + T.set_opacity(null) multi_filler = list() for(var/turf/T in get_filler_turfs()) - T.SetOpacity(opacity) + T.set_opacity(opacity) multi_filler += list(T) /obj/structure/machinery/door/airlock/multi_tile/almayer/proc/get_filler_turfs() diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index a400a081e6ce..0f1c1a66be77 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -15,9 +15,9 @@ /obj/structure/machinery/door/poddoor/Initialize() . = ..() if(density) - SetOpacity(1) + set_opacity(1) else - SetOpacity(0) + set_opacity(0) update_icon() /obj/structure/machinery/door/poddoor/update_icon() @@ -41,7 +41,7 @@ operating = 1 flick(initial(icon_state) + "c0", src) icon_state = initial(icon_state) + "0" - SetOpacity(0) + set_opacity(0) sleep(15) density = FALSE operating = 0 @@ -80,7 +80,7 @@ playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0) flick(initial(icon_state) + "c0", src) icon_state = initial(icon_state) + "0" - SetOpacity(0) + set_opacity(0) sleep(10) layer = PODDOOR_OPEN_LAYER density = FALSE @@ -101,7 +101,7 @@ flick(initial(icon_state) + "c1", src) icon_state = initial(icon_state) + "1" density = TRUE - SetOpacity(initial(opacity)) + set_opacity(initial(opacity)) sleep(10) operating = 0 @@ -120,13 +120,13 @@ /obj/structure/machinery/door/poddoor/two_tile/proc/start_opening() flick("pdoorc0", src) icon_state = "pdoor0" - SetOpacity(0) - f1.SetOpacity(0) - f2.SetOpacity(0) + set_opacity(0) + f1.set_opacity(0) + f2.set_opacity(0) /obj/structure/machinery/door/poddoor/two_tile/four_tile/start_opening() - f3.SetOpacity(0) - f4.SetOpacity(0) + f3.set_opacity(0) + f4.set_opacity(0) ..() /obj/structure/machinery/door/poddoor/two_tile/proc/open_fully() @@ -167,14 +167,14 @@ ..() /obj/structure/machinery/door/poddoor/two_tile/proc/close_fully() - SetOpacity(initial(opacity)) - f1.SetOpacity(initial(opacity)) - f2.SetOpacity(initial(opacity)) + set_opacity(initial(opacity)) + f1.set_opacity(initial(opacity)) + f2.set_opacity(initial(opacity)) operating = 0 /obj/structure/machinery/door/poddoor/two_tile/four_tile/close_fully() - f3.SetOpacity(initial(opacity)) - f4.SetOpacity(initial(opacity)) + f3.set_opacity(initial(opacity)) + f4.set_opacity(initial(opacity)) ..() /obj/structure/machinery/door/poddoor/two_tile @@ -192,8 +192,8 @@ f2 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(src,dir)) f1.density = density f2.density = density - f1.SetOpacity(opacity) - f2.SetOpacity(opacity) + f1.set_opacity(opacity) + f2.set_opacity(opacity) /obj/structure/machinery/door/poddoor/two_tile/Destroy() QDEL_NULL(f1) @@ -221,8 +221,8 @@ f4 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f3,dir)) f3.density = density f4.density = density - f3.SetOpacity(opacity) - f4.SetOpacity(opacity) + f3.set_opacity(opacity) + f4.set_opacity(opacity) /obj/structure/machinery/door/poddoor/two_tile/four_tile/Destroy() QDEL_NULL(f3) diff --git a/code/game/machinery/doors/railing.dm b/code/game/machinery/doors/railing.dm index 0147946761d3..eee0c67db734 100644 --- a/code/game/machinery/doors/railing.dm +++ b/code/game/machinery/doors/railing.dm @@ -21,7 +21,7 @@ closed_layer = ABOVE_MOB_LAYER layer = closed_layer - SetOpacity(initial(opacity)) + set_opacity(initial(opacity)) /obj/structure/machinery/door/poddoor/railing/update_icon() if(density) diff --git a/code/game/machinery/doors/runed_sandstone.dm b/code/game/machinery/doors/runed_sandstone.dm index 8939ba8ca368..226c6fb9610a 100644 --- a/code/game/machinery/doors/runed_sandstone.dm +++ b/code/game/machinery/doors/runed_sandstone.dm @@ -102,14 +102,14 @@ CHECK_TICK do_animate("opening") icon_state = "door0" - src.SetOpacity(FALSE) + src.set_opacity(FALSE) sleep(openspeed) src.layer = open_layer src.density = FALSE update_icon() - SetOpacity(0) + set_opacity(0) if (filler) - filler.SetOpacity(opacity) + filler.set_opacity(opacity) if(operating) operating = FALSE @@ -130,7 +130,7 @@ operating = TRUE CHECK_TICK src.density = TRUE - src.SetOpacity(TRUE) + src.set_opacity(TRUE) src.layer = closed_layer do_animate("closing") sleep(openspeed) diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 2d60be8f3b10..ae039ab70c26 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -25,7 +25,7 @@ icon_state = "shutter0" sleep(15) density = FALSE - SetOpacity(0) + set_opacity(0) operating = 0 return return @@ -41,7 +41,7 @@ sleep(10) density = FALSE layer = open_layer - SetOpacity(0) + set_opacity(0) if(operating == 1) //emag again operating = 0 @@ -58,7 +58,7 @@ layer = closed_layer density = TRUE if(visible) - SetOpacity(1) + set_opacity(1) playsound(loc, 'sound/machines/blastdoor.ogg', 25) sleep(10) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 556eab541363..75d0de56dec0 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -26,10 +26,10 @@ ..() if ( !(stat & NOPOWER) ) icon_state = "[base_state]1" -// src.sd_SetLuminosity(2) +// src.sd_set_light(2) else icon_state = "[base_state]1-p" -// src.sd_SetLuminosity(0) +// src.sd_set_light(0) //Don't want to render prison breaks impossible /obj/structure/machinery/flasher/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index 343664226423..8993c522bda7 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -20,7 +20,7 @@ cell = new /obj/item/cell(src) /obj/structure/machinery/floodlight/Destroy() - SetLuminosity(0) + set_light(0) return ..() /obj/structure/machinery/floodlight/proc/updateicon() @@ -33,7 +33,7 @@ else on = 0 updateicon() - SetLuminosity(0) + set_light(0) src.visible_message(SPAN_WARNING("[src] shuts down due to lack of power!")) return */ @@ -57,7 +57,7 @@ if(on) on = 0 to_chat(user, SPAN_NOTICE(" You turn off the light.")) - SetLuminosity(0) + set_light(0) unslashable = TRUE unacidable = TRUE else @@ -67,7 +67,7 @@ return on = 1 to_chat(user, SPAN_NOTICE(" You turn on the light.")) - SetLuminosity(brightness_on) + set_light(brightness_on) unacidable = FALSE updateicon() diff --git a/code/game/machinery/groundmap_geothermal.dm b/code/game/machinery/groundmap_geothermal.dm index 5a64ac37f574..141b47695f07 100644 --- a/code/game/machinery/groundmap_geothermal.dm +++ b/code/game/machinery/groundmap_geothermal.dm @@ -259,9 +259,9 @@ F.is_lit = !F.is_lit if(!F.damaged) if(F.is_lit) //Shut it down - F.SetLuminosity(F.lum_value) + F.set_light(F.lum_value) else - F.SetLuminosity(0) + F.set_light(0) F.update_icon() return 0 @@ -305,7 +305,7 @@ health = 150 /obj/structure/machinery/colony_floodlight/Destroy() - SetLuminosity(0) + set_light(0) if(fswitch) fswitch.floodlist -= src fswitch = null @@ -352,7 +352,7 @@ user.visible_message(SPAN_NOTICE("[user] screws [src]'s maintenance hatch closed."), \ SPAN_NOTICE("You screw [src]'s maintenance hatch closed.")) if(is_lit) - SetLuminosity(lum_value) + set_light(lum_value) update_icon() return TRUE diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 640fe9cf8e5c..fbad75d9289a 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -138,8 +138,8 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. hologram.anchored = TRUE//So space wind cannot drag it. hologram.name = "[A.name] (Hologram)"//If someone decides to right click. - hologram.SetLuminosity(2) //hologram lighting - SetLuminosity(2) //pad lighting + hologram.set_light(2) //hologram lighting + set_light(2) //pad lighting icon_state = "holopad1" A.holo = src master = A//AI is the master. @@ -147,14 +147,14 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return 1 /obj/structure/machinery/hologram/holopad/clear_holo() -// hologram.SetLuminosity(0)//Clear lighting. //handled by the lighting controller when its ower is deleted +// hologram.set_light(0)//Clear lighting. //handled by the lighting controller when its ower is deleted if(hologram) qdel(hologram)//Get rid of hologram. hologram = null if(master.holo == src) master.holo = null master = null//Null the master, since no-one is using it now. - SetLuminosity(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) + set_light(0) //pad lighting (hologram lighting will be handled automatically since its owner was deleted) icon_state = "holopad0" use_power = USE_POWER_IDLE//Passive power usage. return 1 @@ -171,7 +171,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ var/area/holo_area = get_area(src) var/area/eye_area = get_area(master.eyeobj) - if(eye_area in holo_area.master.related) + if(eye_area in holo_area.related) return 1 clear_holo()//If not, we want to get rid of the hologram. diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 75c6c947d893..5bbcffbf89f2 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -60,10 +60,10 @@ if ( !(stat & NOPOWER) && disable == 0 ) icon_state = "[base_state]" -// src.sd_SetLuminosity(2) +// src.sd_set_light(2) else icon_state = "[base_state]-p" -// src.sd_SetLuminosity(0) +// src.sd_set_light(0) /obj/structure/machinery/sparker/attackby(obj/item/W as obj, mob/user as mob) if (HAS_TRAIT(W, TRAIT_TOOL_SCREWDRIVER)) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index ae57f27f2162..81153d7b10c4 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -43,7 +43,7 @@ /obj/structure/machinery/light_switch/attack_hand(mob/user) on = !on - for(var/area/A in area.master.related) + for(var/area/A in area.related) A.lightswitch = on A.updateicon() @@ -51,7 +51,7 @@ L.on = on L.updateicon() - area.master.power_change() + area.power_change() /obj/structure/machinery/light_switch/power_change() diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 83868cb36cb4..4d16220c09a7 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -111,7 +111,7 @@ var/list/obj/structure/machinery/newscaster/allCasters = list() //Global list th /obj/structure/machinery/newscaster/security_unit/Destroy() allCasters -= src - SetLuminosity(0) + set_light(0) return ..() /obj/structure/machinery/newscaster/update_icon() diff --git a/code/game/objects/effects/acid_hole.dm b/code/game/objects/effects/acid_hole.dm index 549ab45953d2..fb15e0c9130f 100644 --- a/code/game/objects/effects/acid_hole.dm +++ b/code/game/objects/effects/acid_hole.dm @@ -165,7 +165,7 @@ F.forceMove(Target) F.setDir(pick(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)) step_away(F,src,rand(1,5)) - F.SetLuminosity(0) + F.set_light(0) if(F.on && loc != user) - F.SetLuminosity(F.brightness_on) + F.set_light(F.brightness_on) return diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index cbe0871148da..620d7d6dd36b 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -328,7 +328,7 @@ if(!acids_area) return - if(SSweather.is_weather_event && locate(acids_area.master) in SSweather.weather_areas) + if(SSweather.is_weather_event && locate(acids_area) in SSweather.weather_areas) acid_strength = acid_strength + (SSweather.weather_event_instance.fire_smothering_strength * 0.33) //smothering_strength is 1-10, acid strength is a multiplier in_weather = SSweather.weather_event_instance.fire_smothering_strength else diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 8d6a1ab87c0b..86269692f8bb 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -59,7 +59,7 @@ QDEL_IN(WEAKREF(src), 2 MINUTES) /obj/effect/decal/cleanable/greenglow/Destroy() - SetLuminosity(0) + set_light(0) return ..() /obj/effect/decal/cleanable/cobweb diff --git a/code/game/objects/effects/effect_system/chemsmoke.dm b/code/game/objects/effects/effect_system/chemsmoke.dm index 09ea4731332b..36c542bc29fa 100644 --- a/code/game/objects/effects/effect_system/chemsmoke.dm +++ b/code/game/objects/effects/effect_system/chemsmoke.dm @@ -201,10 +201,10 @@ smoke.pixel_x = -32 + rand(-8,8) smoke.pixel_y = -32 + rand(-8,8) walk_to(smoke, T) - smoke.SetOpacity(1) //switching opacity on after the smoke has spawned, and then + smoke.set_opacity(1) //switching opacity on after the smoke has spawned, and then sleep(150+rand(0,20)) // turning it off before it is deleted results in cleaner if(smoke.opacity) - smoke.SetOpacity(0) + smoke.set_opacity(0) fadeOut(smoke) qdel(smoke) diff --git a/code/game/objects/effects/effect_system/particle_effects.dm b/code/game/objects/effects/effect_system/particle_effects.dm index a5f93e5849f6..9c33158a0c69 100644 --- a/code/game/objects/effects/effect_system/particle_effects.dm +++ b/code/game/objects/effects/effect_system/particle_effects.dm @@ -27,7 +27,7 @@ addtimer(CALLBACK(src, PROC_REF(handle_extinguish)), life) setDir(pick(cardinal)) - SetLuminosity(3) + set_light(3) for(var/mob/living/L in loc)//Mobs L.fire_act() @@ -40,7 +40,7 @@ /obj/effect/particle_effect/fire/proc/handle_extinguish() if(istype(loc, /turf)) - SetLuminosity(0) + set_light(0) qdel(src) /obj/effect/particle_effect/fire/Crossed(mob/living/L) diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index a3d55edff264..4755bf47b635 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -33,7 +33,7 @@ /obj/effect/particle_effect/smoke/Destroy() . = ..() if(opacity) - SetOpacity(0) + set_opacity(0) active_smoke_effects -= src cause_data = null @@ -50,7 +50,7 @@ else if(time_to_live == 1) alpha = 180 amount = 0 - SetOpacity(0) + set_opacity(0) apply_smoke_effect(get_turf(src)) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index e54607d6f930..4f105c8ab775 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -39,11 +39,11 @@ else //if on the floor, glowshroom on-floor sprite icon_state = "glowshroomf" - SetLuminosity(round(potency/15)) + set_light(round(potency/15)) lastTick = world.timeofday /obj/effect/glowshroom/Destroy() - SetLuminosity(0) + set_light(0) . = ..() /obj/effect/glowshroom/proc/CalcDir(turf/location = loc) diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index bd93a1ea0801..8d9644183b9a 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -149,7 +149,7 @@ source_binoc.laser_cooldown = world.time + source_binoc.cooldown_duration source_binoc.coord = null source_binoc = null - SetLuminosity(0) + set_light(0) . = ..() /obj/effect/overlay/temp/laser_target @@ -191,7 +191,7 @@ source_binoc.laser = null source_binoc = null - SetLuminosity(0) + set_light(0) . = ..() /obj/effect/overlay/temp/laser_target/ex_act(severity) //immune to explosions @@ -214,7 +214,7 @@ icon_state = "laser_target3" /obj/effect/overlay/temp/blinking_laser/Destroy() - SetLuminosity(0) + set_light(0) . = ..() /obj/effect/overlay/temp/emp_sparks diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 3a3d65a626be..da804ff08a92 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -33,24 +33,24 @@ /obj/item/device/flashlight/Destroy() if(on) if(ismob(src.loc)) - src.loc.SetLuminosity(0, FALSE, src) + src.loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) . = ..() /obj/item/device/flashlight/proc/update_brightness(mob/user = null) if(on) update_icon() if(loc && loc == user) - user.SetLuminosity(brightness_on, FALSE, src) + user.set_light(brightness_on, FALSE, src) else if(isturf(loc)) - SetLuminosity(brightness_on) + set_light(brightness_on) else icon_state = initial(icon_state) if(loc && loc == user) - user.SetLuminosity(0, FALSE, src) + user.set_light(0, FALSE, src) else if(isturf(loc)) - SetLuminosity(0) + set_light(0) /obj/item/device/flashlight/attack_self(mob/user) ..() @@ -146,15 +146,15 @@ /obj/item/device/flashlight/pickup(mob/user) if(on) - user.SetLuminosity(brightness_on, FALSE, src) - SetLuminosity(0) + user.set_light(brightness_on, FALSE, src) + set_light(0) ..() /obj/item/device/flashlight/dropped(mob/user) if(on && src.loc != user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(brightness_on) + user.set_light(0, FALSE, src) + set_light(brightness_on) ..() /obj/item/device/flashlight/on @@ -451,7 +451,7 @@ brightness_on = round(amount * 0.04) if(!brightness_on) return INITIALIZE_HINT_QDEL - SetLuminosity(brightness_on) + set_light(brightness_on) fuel = amount * 5 SECONDS /obj/item/device/flashlight/slime @@ -472,7 +472,7 @@ /obj/item/device/flashlight/slime/Initialize() . = ..() - SetLuminosity(brightness_on) + set_light(brightness_on) update_brightness() icon_state = initial(icon_state) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index aef577779c06..6aecacd27916 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -64,10 +64,10 @@ on = FALSE else var/area/A = src.loc.loc - if(!A || !isarea(A) || !A.master) + if(!A || !isarea(A)) on = FALSE else - on = A.master.powered(POWER_CHANNEL_EQUIP) // set "on" to the power status + on = A.powered(POWER_CHANNEL_EQUIP) // set "on" to the power status if(!on) icon_state = "intercom-p" diff --git a/code/game/objects/items/lightstick.dm b/code/game/objects/items/lightstick.dm index 453d965926ff..bcd2a1db4e37 100644 --- a/code/game/objects/items/lightstick.dm +++ b/code/game/objects/items/lightstick.dm @@ -22,13 +22,13 @@ else anchored = FALSE icon_state = "lightstick_[s_color][anchored]" - SetLuminosity(0) + set_light(0) pixel_x = 0 pixel_y = 0 else anchored = FALSE icon_state = "lightstick_[s_color][anchored]" - SetLuminosity(0) + set_light(0) pixel_x = 0 pixel_y = 0 @@ -45,14 +45,14 @@ anchored = FALSE user.visible_message("[user.name] removes \the [src] from the ground.","You remove the [src] from the ground.") icon_state = "lightstick_[s_color][anchored]" - SetLuminosity(0) + set_light(0) pixel_x = 0 pixel_y = 0 playsound(user, 'sound/weapons/Genhit.ogg', 25, 1) //Remove lightsource /obj/item/lightstick/Destroy() - SetLuminosity(0) + set_light(0) return ..() //Red diff --git a/code/game/objects/items/reagent_containers/food/snacks/grown.dm b/code/game/objects/items/reagent_containers/food/snacks/grown.dm index 88d6f190870b..b795a0bfd618 100644 --- a/code/game/objects/items/reagent_containers/food/snacks/grown.dm +++ b/code/game/objects/items/reagent_containers/food/snacks/grown.dm @@ -188,7 +188,6 @@ /obj/item/reagent_container/food/snacks/grown/glowberries name = "bunch of glow-berries" desc = "Nutritious!" - var/light_on = 1 var/brightness_on = 2 //luminosity when on filling_color = "#D3FF9E" icon_state = "glowberrypile" @@ -196,17 +195,17 @@ /obj/item/reagent_container/food/snacks/grown/glowberries/Destroy() if(istype(loc,/mob)) - loc.SetLuminosity(0, FALSE, src) + loc.set_light(0, FALSE, src) . = ..() /obj/item/reagent_container/food/snacks/grown/glowberries/pickup(mob/user) . = ..() - src.SetLuminosity(0) - user.SetLuminosity(round((potency/5),1), FALSE, src) + src.set_light(0) + user.set_light(round((potency/5),1), FALSE, src) /obj/item/reagent_container/food/snacks/grown/glowberries/dropped(mob/user) - user.SetLuminosity(0, FALSE, src) - src.SetLuminosity(round(potency/5,1)) + user.set_light(0, FALSE, src) + src.set_light(round(potency/5,1)) ..() /obj/item/reagent_container/food/snacks/grown/cocoapod @@ -567,17 +566,17 @@ /obj/item/reagent_container/food/snacks/grown/mushroom/glowshroom/Destroy() if(istype(loc,/mob)) - loc.SetLuminosity(0, FALSE, src) + loc.set_light(0, FALSE, src) . = ..() /obj/item/reagent_container/food/snacks/grown/mushroom/glowshroom/pickup(mob/user) . = ..() - SetLuminosity(0) - user.SetLuminosity(round((potency/10),1), FALSE, src) + set_light(0) + user.set_light(round((potency/10),1), FALSE, src) /obj/item/reagent_container/food/snacks/grown/mushroom/glowshroom/dropped(mob/user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(round(potency/10,1)) + user.set_light(0, FALSE, src) + set_light(round(potency/10,1)) ..() diff --git a/code/game/objects/items/storage/smartpack.dm b/code/game/objects/items/storage/smartpack.dm index b6e833f3a7d7..2a6f3f285375 100644 --- a/code/game/objects/items/storage/smartpack.dm +++ b/code/game/objects/items/storage/smartpack.dm @@ -134,8 +134,8 @@ to_chat(M, SPAN_DANGER("[name] beeps, \"Unathorized user!\"")) if(light_state && loc != M) - M.SetLuminosity(BACKPACK_LIGHT_LEVEL, FALSE, src) - SetLuminosity(0) + M.set_light(BACKPACK_LIGHT_LEVEL, FALSE, src) + set_light(0) ..() /obj/item/storage/backpack/marine/smartpack/dropped(mob/living/M) @@ -154,9 +154,9 @@ /obj/item/storage/backpack/marine/smartpack/Destroy() if(ismob(loc)) - loc.SetLuminosity(0, FALSE, src) + loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) . = ..() /obj/item/storage/backpack/marine/smartpack/attack_self(mob/user) @@ -176,15 +176,15 @@ flashlight_cooldown = world.time + 20 //2 seconds cooldown every time the light is toggled if(light_state) //Turn it off. if(user) - user.SetLuminosity(0, FALSE, src) + user.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) playsound(src, 'sound/handling/click_2.ogg', 50, TRUE) else //Turn it on. if(user) - user.SetLuminosity(BACKPACK_LIGHT_LEVEL, FALSE, src) + user.set_light(BACKPACK_LIGHT_LEVEL, FALSE, src) else - SetLuminosity(BACKPACK_LIGHT_LEVEL) + set_light(BACKPACK_LIGHT_LEVEL) light_state = !light_state diff --git a/code/game/objects/items/tools/flame_tools.dm b/code/game/objects/items/tools/flame_tools.dm index 5744a1ab542c..a27906e2950c 100644 --- a/code/game/objects/items/tools/flame_tools.dm +++ b/code/game/objects/items/tools/flame_tools.dm @@ -43,9 +43,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(heat_source) STOP_PROCESSING(SSobj, src) if(ismob(src.loc)) - src.loc.SetLuminosity(0, FALSE, src) + src.loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) . = ..() /obj/item/tool/candle/attackby(obj/item/W as obj, mob/user as mob) @@ -65,7 +65,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM flavor_text = SPAN_NOTICE("[usr] lights [src].") for(var/mob/O in viewers(usr, null)) O.show_message(flavor_text, SHOW_MESSAGE_VISIBLE) - SetLuminosity(CANDLE_LUM) + set_light(CANDLE_LUM) update_icon() START_PROCESSING(SSobj, src) @@ -88,23 +88,23 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(heat_source) heat_source = 0 update_icon() - SetLuminosity(0) - user.SetLuminosity(0, FALSE, src) + set_light(0) + user.set_light(0, FALSE, src) STOP_PROCESSING(SSobj, src) /obj/item/tool/candle/pickup(mob/user) . = ..() if(heat_source) - SetLuminosity(0) - user.SetLuminosity(CANDLE_LUM, FALSE, src) + set_light(0) + user.set_light(CANDLE_LUM, FALSE, src) /obj/item/tool/candle/dropped(mob/user) ..() if(heat_source && src.loc != user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(CANDLE_LUM) + user.set_light(0, FALSE, src) + set_light(CANDLE_LUM) @@ -157,9 +157,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM damtype = "burn" icon_state = "[initial(icon_state)]_lit" if(ismob(loc)) - loc.SetLuminosity(2, FALSE, src) + loc.set_light(2, FALSE, src) else - SetLuminosity(2) + set_light(2) START_PROCESSING(SSobj, src) update_icon() return TRUE @@ -171,8 +171,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = "[initial(icon_state)]_burnt" item_state = "cigoff" if(user && loc != user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(0) + user.set_light(0, FALSE, src) + set_light(0) name = burnt_name desc = "A match. This one has seen better days." STOP_PROCESSING(SSobj, src) @@ -185,8 +185,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/tool/lighter/dropped(mob/user) if(heat_source && src.loc != user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(2) + user.set_light(0, FALSE, src) + set_light(2) return ..() ////////////////// @@ -724,9 +724,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/tool/lighter/Destroy() if(ismob(src.loc)) - src.loc.SetLuminosity(0, FALSE, src) + src.loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) . = ..() /obj/item/tool/lighter/attack_self(mob/living/user) @@ -751,7 +751,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM user.apply_damage(2,BURN,"r_hand") user.visible_message(SPAN_NOTICE("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.")) - user.SetLuminosity(2, FALSE, src) + user.set_light(2, FALSE, src) START_PROCESSING(SSobj, src) else turn_off(user, 0) @@ -771,7 +771,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM else bearer.visible_message(SPAN_NOTICE("[bearer] quietly shuts off the [src].")) - bearer.SetLuminosity(0, FALSE, src) + bearer.set_light(0, FALSE, src) STOP_PROCESSING(SSobj, src) return 1 return 0 @@ -801,12 +801,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/tool/lighter/pickup(mob/user) . = ..() if(heat_source) - SetLuminosity(0) - user.SetLuminosity(2, FALSE, src) + set_light(0) + user.set_light(2, FALSE, src) /obj/item/tool/lighter/dropped(mob/user) if(heat_source && src.loc != user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(2) + user.set_light(0, FALSE, src) + set_light(2) return ..() diff --git a/code/game/objects/items/tools/maintenance_tools.dm b/code/game/objects/items/tools/maintenance_tools.dm index ecac30410743..3ae720b679ee 100644 --- a/code/game/objects/items/tools/maintenance_tools.dm +++ b/code/game/objects/items/tools/maintenance_tools.dm @@ -195,9 +195,9 @@ /obj/item/tool/weldingtool/Destroy() if(welding) if(ismob(loc)) - loc.SetLuminosity(0, FALSE, src) + loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) STOP_PROCESSING(SSobj, src) . = ..() @@ -330,9 +330,9 @@ welding = 1 if(M) to_chat(M, SPAN_NOTICE("You switch [src] on.")) - M.SetLuminosity(2, FALSE, src) + M.set_light(2, FALSE, src) else - SetLuminosity(2) + set_light(2) weld_tick += 8 //turning the tool on does not consume fuel directly, but it advances the process that regularly consumes fuel. force = 15 damtype = "fire" @@ -357,13 +357,13 @@ to_chat(M, SPAN_NOTICE("You switch [src] off.")) else to_chat(M, SPAN_WARNING("[src] shuts off!")) - M.SetLuminosity(0, FALSE, src) + M.set_light(0, FALSE, src) if(M.r_hand == src) M.update_inv_r_hand() if(M.l_hand == src) M.update_inv_l_hand() else - SetLuminosity(0) + set_light(0) STOP_PROCESSING(SSobj, src) //Decides whether or not to damage a player's eyes based on what they're wearing as protection @@ -409,14 +409,14 @@ /obj/item/tool/weldingtool/pickup(mob/user) . = ..() if(welding) - SetLuminosity(0) - user.SetLuminosity(2, FALSE, src) + set_light(0) + user.set_light(2, FALSE, src) /obj/item/tool/weldingtool/dropped(mob/user) if(welding && loc != user) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(2) + user.set_light(0, FALSE, src) + set_light(2) return ..() diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 5d0d61e59862..995d5e646478 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -170,7 +170,7 @@ luminosity = 2 /obj/structure/mineral_door/uranium/Destroy() - SetLuminosity(0) + set_light(0) . = ..() /obj/structure/mineral_door/sandstone diff --git a/code/game/objects/structures/pipes/vents/vents.dm b/code/game/objects/structures/pipes/vents/vents.dm index fa3395d9e91d..1f0b9b1629a6 100644 --- a/code/game/objects/structures/pipes/vents/vents.dm +++ b/code/game/objects/structures/pipes/vents/vents.dm @@ -17,8 +17,6 @@ . = ..() initial_loc = get_area(loc) - if(initial_loc.master) - initial_loc = initial_loc.master area_uid = initial_loc.uid if(!id_tag) assign_uid() diff --git a/code/game/objects/structures/props.dm b/code/game/objects/structures/props.dm index 0642237fb8e0..bc867691c581 100644 --- a/code/game/objects/structures/props.dm +++ b/code/game/objects/structures/props.dm @@ -33,10 +33,10 @@ /obj/structure/prop/dam/drill/proc/update() icon_state = "thumper[on ? "-on" : ""]" if(on) - SetLuminosity(3) + set_light(3) playsound(src, 'sound/machines/turbine_on.ogg') else - SetLuminosity(0) + set_light(0) playsound(src, 'sound/machines/turbine_off.ogg') return @@ -114,9 +114,9 @@ underlays += "shadow[lit ? "-lit" : ""]" icon_state = "torii[lit ? "-lit" : ""]" if(lit) - SetLuminosity(6) + set_light(6) else - SetLuminosity(0) + set_light(0) return /obj/structure/prop/dam/torii/attack_hand(mob/user as mob) @@ -502,10 +502,10 @@ /obj/structure/prop/turbine/proc/Update() icon_state = "biomass_turbine[on ? "-on" : ""]" if (on) - SetLuminosity(3) + set_light(3) playsound(src, 'sound/machines/turbine_on.ogg') else - SetLuminosity(0) + set_light(0) playsound(src, 'sound/machines/turbine_off.ogg') return @@ -638,7 +638,7 @@ /obj/structure/prop/brazier/Initialize() . = ..() - SetLuminosity(6) + set_light(6) /obj/structure/prop/brazier/torch name = "torch" diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 93290338aebc..e48d19f713a6 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -15,7 +15,7 @@ var/datum/controller/supply/supply_controller = new() name = "Supply Shuttle" icon_state = "shuttle3" luminosity = 1 - lighting_use_dynamic = 0 + base_lighting_alpha = 255 requires_power = 0 ambience_exterior = AMBIENCE_ALMAYER @@ -23,21 +23,21 @@ var/datum/controller/supply/supply_controller = new() name = "Supply Shuttle" icon_state = "shuttle3" luminosity = 1 - lighting_use_dynamic = 0 + base_lighting_alpha = 255 requires_power = 0 /area/supply/station_vehicle //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. name = "Vehicle ASRS" icon_state = "shuttle3" luminosity = 1 - lighting_use_dynamic = 0 + base_lighting_alpha = 255 requires_power = 0 /area/supply/dock_vehicle //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. name = "Vehicle ASRS" icon_state = "shuttle3" luminosity = 1 - lighting_use_dynamic = 0 + base_lighting_alpha = 255 requires_power = 0 //SUPPLY PACKS MOVED TO /code/defines/obj/supplypacks.dm diff --git a/code/game/turfs/auto_turf.dm b/code/game/turfs/auto_turf.dm index 0e9e64f58bbc..0c571198bce8 100644 --- a/code/game/turfs/auto_turf.dm +++ b/code/game/turfs/auto_turf.dm @@ -183,7 +183,7 @@ L.forceMove(src) L.pixel_x += rand(-5,5) L.pixel_y += rand(-5,5) - L.SetLuminosity(2) + L.set_light(2) playsound(user, 'sound/weapons/Genhit.ogg', 25, 1) //Digging up snow diff --git a/code/game/turfs/floor.dm b/code/game/turfs/floor.dm index 4a600d4d033b..1487ad64f904 100644 --- a/code/game/turfs/floor.dm +++ b/code/game/turfs/floor.dm @@ -96,7 +96,7 @@ else if(is_light_floor()) icon_state = "light_broken" broken = 1 - SetLuminosity(0) + set_light(0) else if(is_plating()) icon_state = "platingdmg[pick(1, 2, 3)]" broken = 1 @@ -135,7 +135,7 @@ //This proc auto corrects the grass tiles' siding. /turf/open/floor/proc/make_plating() - SetLuminosity(0) + set_light(0) intact_tile = FALSE broken = FALSE burnt = FALSE diff --git a/code/game/turfs/floors/desert.dm b/code/game/turfs/floors/desert.dm index 4ecc0bf47cf7..46a481e3bc64 100644 --- a/code/game/turfs/floors/desert.dm +++ b/code/game/turfs/floors/desert.dm @@ -111,13 +111,13 @@ ..() switch(toxic) if(1) - SetLuminosity(2) + set_light(2) icon = 'icons/turf/floors/desert_water_toxic.dmi' if(0) - SetLuminosity(1) + set_light(1) icon = 'icons/turf/floors/desert_water.dmi' if(-1) - SetLuminosity(1) + set_light(1) icon = 'icons/turf/floors/desert_water_transition.dmi' /turf/open/desert/desert_shore/is_weedable() @@ -196,13 +196,13 @@ ..() switch(toxic) if(1) - SetLuminosity(2) + set_light(2) icon = 'icons/turf/floors/desert_water_toxic.dmi' if(0) - SetLuminosity(1) + set_light(1) icon = 'icons/turf/floors/desert_water.dmi' if(-1) - SetLuminosity(1) + set_light(1) icon = 'icons/turf/floors/desert_water_transition.dmi' //Desert River Toxic @@ -221,13 +221,13 @@ ..() switch(toxic) if(1) - SetLuminosity(2) + set_light(2) icon = 'icons/turf/floors/desert_water_toxic.dmi' if(0) - SetLuminosity(1) + set_light(1) icon = 'icons/turf/floors/desert_water.dmi' if(-1) - SetLuminosity(1) + set_light(1) icon = 'icons/turf/floors/desert_water_transition.dmi' update_overlays() diff --git a/code/game/turfs/light.dm b/code/game/turfs/light.dm index 694a51aad83a..219e79e93ef2 100644 --- a/code/game/turfs/light.dm +++ b/code/game/turfs/light.dm @@ -14,32 +14,32 @@ switch(state) if(0) icon_state = "light_on" - SetLuminosity(5) + set_light(5) if(1) icon_state = "light_on-r" - SetLuminosity(5) + set_light(5) if(2) icon_state = "light_on-g" - SetLuminosity(5) + set_light(5) if(3) icon_state = "light_on-y" - SetLuminosity(5) + set_light(5) if(4) icon_state = "light_on-p" - SetLuminosity(5) + set_light(5) if(5,-1) icon_state = "light_on-w" - SetLuminosity(5) + set_light(5) state = -1 else return //Should never happen ever but what if... returns into the other else which close the light else if(broken) icon_state = "light_broken" //It's the same sprite as light off, my artistic skill stops at stickmans anyone feel free to make a better one! - SetLuminosity(0) + set_light(0) else icon_state = "light_off" - SetLuminosity(0) + set_light(0) on = FALSE /turf/open/floor/light/attackby(obj/item/item_in_hand, mob/user) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 0fc8fa273e6c..9d5ff99bf0a8 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -300,7 +300,7 @@ L.forceMove(src) L.pixel_x += rand(-5,5) L.pixel_y += rand(-5,5) - L.SetLuminosity(2) + L.set_light(2) playsound(user, 'sound/weapons/Genhit.ogg', 25, 1) return @@ -678,7 +678,7 @@ L.forceMove(src) L.pixel_x += rand(-5,5) L.pixel_y += rand(-5,5) - L.SetLuminosity(2) + L.set_light(2) playsound(user, 'sound/weapons/Genhit.ogg', 25, 1) return diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index cd5fcf56d15c..72b1f35d0aff 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -30,7 +30,7 @@ L.forceMove(src) L.pixel_x += rand(-5,5) L.pixel_y += rand(-5,5) - L.SetLuminosity(2) + L.set_light(2) playsound(user, 'sound/weapons/Genhit.ogg', 25, 1) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index fd8766151e4c..02ca5e031fed 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -55,6 +55,14 @@ // Fishing var/supports_fishing = FALSE // set to false when MRing, this is just for testing + ///Lumcount added by sources other than lighting datum objects, such as the overlay lighting component. + var/dynamic_lumcount = 0 + ///List of light sources affecting this turf. + ///Which directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources. + var/directional_opacity = NONE + ///Lazylist of movable atoms providing opacity sources. + var/list/atom/movable/opacity_sources + /turf/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) // this doesn't parent call for optimisation reasons if(flags_atom & INITIALIZED) @@ -85,10 +93,13 @@ for(var/atom/movable/AM in src) Entered(AM) - if(luminosity) - if(light) WARNING("[type] - Don't set lights up manually during New(), We do it automatically.") - trueLuminosity = luminosity * luminosity - light = new(src) + if(light_power && light_range) + update_light() + + //Get area light + var/area/A = loc + if(A?.lighting_effect) + overlays += A.lighting_effect return INITIALIZE_HINT_NORMAL @@ -344,8 +355,6 @@ if(/turf/baseturf_bottom) path = /turf/open/floor/plating - var/old_lumcount = lighting_lumcount - initial(lighting_lumcount) - //if(src.type == new_turf_path) // Put this back if shit starts breaking // return src @@ -353,6 +362,16 @@ var/list/old_baseturfs = baseturfs + //static lighting + var/old_lighting_object = static_lighting_object + var/old_lighting_corner_NE = lighting_corner_NE + var/old_lighting_corner_SE = lighting_corner_SE + var/old_lighting_corner_SW = lighting_corner_SW + var/old_lighting_corner_NW = lighting_corner_NW + //hybrid lighting + var/list/old_hybrid_lights_affecting = hybrid_lights_affecting?.Copy() + var/old_directional_opacity = directional_opacity + changing_turf = TRUE qdel(src) //Just get the side effects and call Destroy var/turf/W = new path(src) @@ -368,10 +387,34 @@ W.linked_pylons = pylons - W.lighting_lumcount += old_lumcount - if(old_lumcount != W.lighting_lumcount) - W.lighting_changed = 1 - SSlighting.changed_turfs += W + W.hybrid_lights_affecting = old_hybrid_lights_affecting + W.dynamic_lumcount = dynamic_lumcount + + lighting_corner_NE = old_lighting_corner_NE + lighting_corner_SE = old_lighting_corner_SE + lighting_corner_SW = old_lighting_corner_SW + lighting_corner_NW = old_lighting_corner_NW + + //static Update + if(SSlighting.initialized) + recalculate_directional_opacity() + + W.static_lighting_object = old_lighting_object + + if(static_lighting_object && !static_lighting_object.needs_update) + static_lighting_object.update() + + //Since the old turf was removed from hybrid_lights_affecting, readd the new turf here + if(W.hybrid_lights_affecting) + for(var/atom/movable/lighting_mask/mask as anything in W.hybrid_lights_affecting) + LAZYADD(mask.affecting_turfs, W) + + if(W.directional_opacity != old_directional_opacity) + W.reconsider_lights() + + var/area/thisarea = get_area(W) + if(thisarea.lighting_effect) + W.overlays += thisarea.lighting_effect W.levelupdate() return W diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm index 0e3190223402..a9b3d3d60bdb 100644 --- a/code/game/turfs/walls/wall_types.dm +++ b/code/game/turfs/walls/wall_types.dm @@ -125,7 +125,7 @@ operating = TRUE flick("containment_wall_divide_lowering", src) icon_state = "containment_wall_divide_lowered" - SetOpacity(0) + set_opacity(0) density = FALSE operating = FALSE change_weeds() @@ -136,7 +136,7 @@ operating = TRUE flick("containment_wall_divide_rising", src) icon_state = "containment_wall_divide" - SetOpacity(1) + set_opacity(1) density = TRUE operating = FALSE diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index f4fc80bfd6a2..e8d3f9f37017 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -28,8 +28,8 @@ icon_state = "hardhat[on]_[hardhat_color]" item_state = "hardhat[on]_[hardhat_color]" - if(on) user.SetLuminosity(brightness_on, FALSE, src) - else user.SetLuminosity(0, FALSE, src) + if(on) user.set_light(brightness_on, FALSE, src) + else user.set_light(0, FALSE, src) if(ismob(loc)) var/mob/M = loc @@ -41,21 +41,21 @@ /obj/item/clothing/head/hardhat/pickup(mob/user) if(on) - user.SetLuminosity(brightness_on, FALSE, src) - SetLuminosity(0) + user.set_light(brightness_on, FALSE, src) + set_light(0) ..() /obj/item/clothing/head/hardhat/dropped(mob/user) if(on) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(brightness_on) + user.set_light(0, FALSE, src) + set_light(brightness_on) ..() /obj/item/clothing/head/hardhat/Destroy() if(ismob(src.loc)) - src.loc.SetLuminosity(0, FALSE, src) + src.loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) return ..() diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 58f8881e0844..b36e3a32cba4 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -136,25 +136,25 @@ icon_state = "hardhat[on]_pumpkin" if(on) - user.SetLuminosity(brightness_on, FALSE, src) + user.set_light(brightness_on, FALSE, src) else - user.SetLuminosity(0, FALSE, src) + user.set_light(0, FALSE, src) /obj/item/clothing/head/pumpkinhead/pickup(mob/user) ..() if(on) - user.SetLuminosity(brightness_on, FALSE, src) - SetLuminosity(0) + user.set_light(brightness_on, FALSE, src) + set_light(0) /obj/item/clothing/head/pumpkinhead/dropped(mob/user) ..() if(on) - user.SetLuminosity(0, FALSE, src) - SetLuminosity(brightness_on) + user.set_light(0, FALSE, src) + set_light(brightness_on) /obj/item/clothing/head/pumpkinhead/Destroy() if(ismob(src.loc)) - src.loc.SetLuminosity(0, FALSE, src) + src.loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) return ..() diff --git a/code/modules/clothing/suits/marine_armor.dm b/code/modules/clothing/suits/marine_armor.dm index 759c9eed0e97..5dd4444b11dd 100644 --- a/code/modules/clothing/suits/marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor.dm @@ -171,8 +171,8 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 /obj/item/clothing/suit/storage/marine/pickup(mob/user) if(flags_marine_armor & ARMOR_LAMP_ON) - user.SetLuminosity(brightness_on, FALSE, src) - SetLuminosity(0) + user.set_light(brightness_on, FALSE, src) + set_light(0) ..() /obj/item/clothing/suit/storage/marine/dropped(mob/user) @@ -187,17 +187,17 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 /obj/item/clothing/suit/storage/marine/proc/turn_off_light(mob/wearer) if(is_light_on()) if(wearer) - wearer.SetLuminosity(0, FALSE, src) - SetLuminosity(brightness_on) + wearer.set_light(0, FALSE, src) + set_light(brightness_on) toggle_armor_light() //turn the light off return 1 return 0 /obj/item/clothing/suit/storage/marine/Destroy() if(ismob(src.loc)) - src.loc.SetLuminosity(0, FALSE, src) + src.loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) return ..() /obj/item/clothing/suit/storage/marine/attack_self(mob/user) @@ -225,12 +225,12 @@ var/list/squad_colors_chat = list(rgb(230,125,125), rgb(255,230,80), rgb(255,150 /obj/item/clothing/suit/storage/marine/proc/toggle_armor_light(mob/user) flashlight_cooldown = world.time + 20 //2 seconds cooldown every time the light is toggled if(is_light_on()) //Turn it off. - if(user) user.SetLuminosity(0, FALSE, src) - else SetLuminosity(0) + if(user) user.set_light(0, FALSE, src) + else set_light(0) playsound(src,'sound/handling/click_2.ogg', 50, 1) else //Turn it on. - if(user) user.SetLuminosity(brightness_on, FALSE, src) - else SetLuminosity(brightness_on) + if(user) user.set_light(brightness_on, FALSE, src) + else set_light(brightness_on) flags_marine_armor ^= ARMOR_LAMP_ON diff --git a/code/modules/cm_marines/dropship_equipment.dm b/code/modules/cm_marines/dropship_equipment.dm index 2282fc1c03b6..fac8bdf58b1f 100644 --- a/code/modules/cm_marines/dropship_equipment.dm +++ b/code/modules/cm_marines/dropship_equipment.dm @@ -432,19 +432,21 @@ var/spotlights_cooldown var/brightness = 11 +/* /obj/structure/dropship_equipment/electronics/spotlights/get_light_range() return min(luminosity, LIGHTING_MAX_LUMINOSITY_SHIPLIGHTS) +*/ /obj/structure/dropship_equipment/electronics/spotlights/equipment_interact(mob/user) if(spotlights_cooldown > world.time) to_chat(user, SPAN_WARNING("[src] is busy.")) return //prevents spamming deployment/undeployment if(luminosity != brightness) - SetLuminosity(brightness) + set_light(brightness) icon_state = "spotlights_on" to_chat(user, SPAN_NOTICE("You turn on [src].")) else - SetLuminosity(0) + set_light(0) icon_state = "spotlights_off" to_chat(user, SPAN_NOTICE("You turn off [src].")) spotlights_cooldown = world.time + 50 @@ -459,13 +461,13 @@ else icon_state = "spotlights" if(luminosity) - SetLuminosity(0) + set_light(0) /obj/structure/dropship_equipment/electronics/spotlights/on_launch() - SetLuminosity(0) + set_light(0) /obj/structure/dropship_equipment/electronics/spotlights/on_arrival() - SetLuminosity(brightness) + set_light(brightness) #undef LIGHTING_MAX_LUMINOSITY_SHIPLIGHTS diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 7f498a728a47..851cbce1f026 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -486,7 +486,7 @@ /obj/structure/machinery/m56d_hmg/Destroy() //Make sure we pick up our trash. if(operator) operator.unset_interaction() - SetLuminosity(0) + set_light(0) STOP_PROCESSING(SSobj, src) . = ..() @@ -803,9 +803,9 @@ if(isnull(angle)) return - SetLuminosity(muzzle_flash_lum) + set_light(muzzle_flash_lum) spawn(10) - SetLuminosity(-muzzle_flash_lum) + set_light(-muzzle_flash_lum) var/image_layer = layer + 0.1 diff --git a/code/modules/cm_preds/yaut_procs.dm b/code/modules/cm_preds/yaut_procs.dm index 81191439937e..7a695b2eaad3 100644 --- a/code/modules/cm_preds/yaut_procs.dm +++ b/code/modules/cm_preds/yaut_procs.dm @@ -223,7 +223,7 @@ ceiling = CEILING_METAL requires_power = FALSE luminosity = TRUE - lighting_use_dynamic = FALSE + base_lighting_alpha = 255 /mob/living/carbon/human/proc/pred_buy() set category = "Yautja.Misc" diff --git a/code/modules/cm_preds/yaut_weapons.dm b/code/modules/cm_preds/yaut_weapons.dm index 5ffbda3e90a7..015aa4a14620 100644 --- a/code/modules/cm_preds/yaut_weapons.dm +++ b/code/modules/cm_preds/yaut_weapons.dm @@ -788,7 +788,7 @@ ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/rifle/bolt] charge_time -= 10 var/obj/item/projectile/projectile = create_bullet(ammo, initial(name)) - projectile.SetLuminosity(1) + projectile.set_light(1) in_chamber = projectile return in_chamber @@ -873,7 +873,7 @@ if(charge_time < 1) return var/obj/item/projectile/projectile = create_bullet(ammo, initial(name)) - projectile.SetLuminosity(1) + projectile.set_light(1) in_chamber = projectile charge_time-- return in_chamber diff --git a/code/modules/cm_tech/droppod/gear_access_point.dm b/code/modules/cm_tech/droppod/gear_access_point.dm index 5c4151e895f1..631fcbb34267 100644 --- a/code/modules/cm_tech/droppod/gear_access_point.dm +++ b/code/modules/cm_tech/droppod/gear_access_point.dm @@ -17,7 +17,7 @@ /obj/structure/techpod_vendor/attack_hand(mob/user) var/area/a = get_area(src) //no idea why it was made just a structure, so this is gonna be here for now - if(!a.master || a.master.requires_power && !a.master.unlimited_power && !a.master.power_equip) + if(!a || a.requires_power && !a.unlimited_power && !a.power_equip) return if(!ishuman(user) || !get_access_permission(user)) diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm index 8041a086eb85..4e3d4d93713d 100644 --- a/code/modules/defenses/sentry.dm +++ b/code/modules/defenses/sentry.dm @@ -68,7 +68,7 @@ QDEL_NULL(spark_system) QDEL_NULL(ammo) stop_processing() - SetLuminosity(0) + set_light(0) . = ..() /obj/structure/machinery/defenses/sentry/process() @@ -169,7 +169,7 @@ /obj/structure/machinery/defenses/sentry/power_on_action() target = null - SetLuminosity(7) + set_light(7) visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("The [name] hums to life and emits several beeps.")]") visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("The [name] buzzes in a monotone voice: 'Default systems initiated'")]") @@ -177,7 +177,7 @@ set_range() /obj/structure/machinery/defenses/sentry/power_off_action() - SetLuminosity(0) + set_light(0) visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("The [name] powers down and goes silent.")]") stop_processing() unset_range() @@ -323,8 +323,8 @@ if(isnull(angle)) return - SetLuminosity(SENTRY_MUZZLELUM) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, SetLuminosity), -SENTRY_MUZZLELUM), 10) + set_light(SENTRY_MUZZLELUM) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light), -SENTRY_MUZZLELUM), 10) var/image_layer = layer + 0.1 var/offset = 13 diff --git a/code/modules/defenses/sentry_computer.dm b/code/modules/defenses/sentry_computer.dm index 05fdec05ab6f..92d62f5e04af 100644 --- a/code/modules/defenses/sentry_computer.dm +++ b/code/modules/defenses/sentry_computer.dm @@ -497,7 +497,7 @@ for(var/turf/visible_turf in guncamera_zone) range_turfs += visible_turf var/area/visible_area = visible_turf.loc - if(!visible_area.lighting_use_dynamic || visible_turf.lighting_lumcount >= 1) + if(visible_turf.dynamic_lumcount >= 1) visible_turfs += visible_turf var/list/bbox = get_bbox_of_atoms(visible_turfs) diff --git a/code/modules/defenses/tesla_coil.dm b/code/modules/defenses/tesla_coil.dm index 3ba754db74c2..48f49349239b 100644 --- a/code/modules/defenses/tesla_coil.dm +++ b/code/modules/defenses/tesla_coil.dm @@ -49,12 +49,12 @@ overlays += image(icon, icon_state = "[defense_type] tesla_coil", pixel_y = 3) /obj/structure/machinery/defenses/tesla_coil/power_on_action() - SetLuminosity(7) + set_light(7) start_processing() visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("The [name] gives a short zap, as it awakens.")]") /obj/structure/machinery/defenses/tesla_coil/power_off_action() - SetLuminosity(0) + set_light(0) stop_processing() visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("The [name] dies out with a last spark.")]") @@ -155,7 +155,7 @@ if(targets) targets = null - SetLuminosity(0) + set_light(0) . = ..() #define TESLA_COIL_STUN_FIRE_DELAY 3 SECONDS diff --git a/code/modules/hydroponics/hydro_tray.dm b/code/modules/hydroponics/hydro_tray.dm index 65cf76b19a4a..851988785a91 100644 --- a/code/modules/hydroponics/hydro_tray.dm +++ b/code/modules/hydroponics/hydro_tray.dm @@ -224,11 +224,7 @@ // Handle light requirements. var/area/A = T.loc if(A) - var/light_available - if(A.lighting_use_dynamic) - light_available = max(0,min(10,T.lighting_lumcount)-5) - else - light_available = 5 + var/light_available = max(0,min(10,T.dynamic_lumcount)-5) if(abs(light_available - seed.ideal_light) > seed.light_tolerance) plant_health -= healthmod @@ -424,10 +420,10 @@ // Update bioluminescence. if(seed) if(seed.biolum) - SetLuminosity(round(seed.potency/10)) + set_light(round(seed.potency/10)) return - SetLuminosity(0) + set_light(0) return // If a weed growth is sufficient, this proc is called. @@ -672,10 +668,7 @@ var/area/A = T.loc var/light_available if(A) - if(A.lighting_use_dynamic) - light_available = max(0,min(10,T.lighting_lumcount)-5) - else - light_available = 5 + light_available = max(0,min(10,T.dynamic_lumcount)-5) info += "The tray's sensor suite is reporting a light level of [light_available] lumens.\n" return info diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 8ce701d12617..95f89048e3cb 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -608,7 +608,7 @@ var/global/list/gene_tag_masks = list() // Gene obfuscation for delicious tria product.desc += " On second thought, something about this one looks strange." if(biolum) - product.SetLuminosity(biolum) + product.set_light(biolum) //Handle spawning in living, mobile products (like dionaea). if(istype(product,/mob/living)) diff --git a/code/modules/hydroponics/vines.dm b/code/modules/hydroponics/vines.dm index 4fbe01981563..678ae2c8bd90 100644 --- a/code/modules/hydroponics/vines.dm +++ b/code/modules/hydroponics/vines.dm @@ -167,10 +167,10 @@ // Update bioluminescence. if(seed.biolum) - SetLuminosity(1+round(seed.potency/10)) + set_light(1+round(seed.potency/10)) return else - SetLuminosity(0) + set_light(0) // Update flower/product overlay. overlays.Cut() @@ -251,11 +251,7 @@ var/area/A = T.loc if(A) - var/light_available - if(A.lighting_use_dynamic) - light_available = max(0,min(10,T.lighting_lumcount)-5) - else - light_available = 5 + var/light_available = max(0,min(10,T.dynamic_lumcount)-5) if(abs(light_available - seed.ideal_light) > seed.light_tolerance) die() return diff --git a/code/modules/lighting/_LIGHTING_README.MD b/code/modules/lighting/_LIGHTING_README.MD new file mode 100644 index 000000000000..a7e7166e6b8d --- /dev/null +++ b/code/modules/lighting/_LIGHTING_README.MD @@ -0,0 +1,75 @@ +# The Lighting Systems +## Introduction + +Hello reader, and welcome to the coders guide to lighting. TGMC uses three different lighting systems: Static Lighting, Movable Lighting and Hybrid Lighting +These all have their pros and cons, and are explained later in this file. +For now we will look at the frameworks we have pertaining to lighting. + +```dm +//Our vars: +//The "intensity" of our light to determine how much it actually lights up +var/light_power +// The range of our light, aka how many turfs are actually lit up +var/light_range +//the color of our light +var/light_color +///whether the light is actually on or not, use /atom/proc/turn_on() to set this +var/light_on +``` + +Additionally, we have SSlighting, the lighting subsystem which handles lighting updates for Static and Hybrid lighting. +This subsystems processes enqueued lighting object, corner and source updates, as well as taking enqueued hybrid lighting updates. +You shouldnt really be touching this as it primarily just stops too many updates from happening at once. + +## The Lighting systems +As mentioned previously,lighting is split into three seperate systems who's functionality, benefits and downsides will be discussed below + +Seperate from these systems we also have a system to update the base lighting of an area, we do this using "Base lighting" + +```dm +/area/proc/set_base_lighting(new_base_lighting_color = -1, new_alpha = -1) +``` +Use this to set areas as required to luminosity. This is expensive-ish to apply/update but is very cheap to maintain. It also enables area specific light intensity and color changes. + +### Static Lighting +Static lighting consists of a single, static_lighting_source light source which gets all turfs in view, then tells their /datum/static_lighting_objects to update themselves. These lighting objects manage two things: lighting corners, and an underlay. The lighting corners hold data for the edges of turfs next to darkness to allow a smooth transition from dark to light, and the actual lighting is done using an underlay which is layered over the darkness layer in order to create light. Color is changed using a color matrix. +The advantage of this system, is that it is cheap, as long as it does not need to actively update opacity changes or a moving light target. +This system can also be used for as large lights as you want. +The disadvantage however is that updating this type of light, such as when it moves is relatively expensive, and colors are not always the prettiest. Additionally, lighting corners are known to be a large source of RAM usage and thus you should only load lighting objects in areas hat it is needed using /area/var/static_lighting. +Thus this should be your go to choice for large, frequent, immobile lights. + +To update lights using this system use +```dm +/atom/proc/set_light(l_range, l_power, l_color, mask_type) +``` +Note that the use of mask_type only is applicable to Hybrid lights. + +### Movable lighting +Movable lighting is extremely simple and cheap as it requires no updates. This is done by replacing a large amount of updating objects with one single, large vis_contents overlay, which we apply and manage through a component (/datum/component/overlay_lighting). This means that it will move smoothly when the owner moves and requires no updating, but also means that rendering issues might occur, where the overlay will seemingly "pop in" to existence as it suddenly renders when someone walks around a corner or into the 1/2-tile render buffer around the edges of the viewport. +Thus this should be your go to ideal cheap light for small and mobile lights (NOT turfs or anchored objects!). This light also typically has more saturated colors than static lighting. + +Note that this lighting type utilises special update procs from the other two lighting types, specifically +```dm +//update light variables +/atom/movable/proc/set_light_range_power_color(range, power, color) + set_light_range(range) + set_light_power(power) + set_light_color(color) + +//turn the light on and off without changing any variables +/atom/proc/set_light_on(new_value) +``` + +### Hybrid lighting +Hybrid lighting is, as the name implies, a hybrid of the two above systems. It still needs to update when the owner moves, or something in view changes like static lighting does, but uses overlays to hide areas using shadows. As a result, this has similar if not better performance to Static lighting, but has a higher drain on player GPU and thus you should ideally avoid lagging players that play on terrible computers too much. This means that you should use this lighting in decently sized lights that act as centerpieces for a scene (i.e. a fire, supermatter, etc.) since it combines the best of static and movable lighting at a clientside performance cost. +As a rule of thumb most items will be fine using this except for light fixtures, as lag mostly seems to crop up from multiple large lighting sources. +Using lights for turf based fires and large floodlights is thus fine, but be careful with frquesnt use. +It functions by fetching all nearby blockers, then calculating triangles behind these blocked areas which it then masks with overlays. +These overlays then render as an alpha mask blocking the light from appearing. +This system also supports non-round lights, such as light cones, rotating lights, and shimmering lights through the use of +```dm +var/mask_type +``` +which determines which type of icon we are going to use as the base when drawing this lights (/atom/movable/lighting_mask/flicker for shimmering lights as an example). + +Actual updates however are handled through the same procs as Static lighting, and the mask_type argument on set_light() allows you to change the mask type that is being used on the fly. diff --git a/code/modules/lighting/emissive_blocker.dm b/code/modules/lighting/emissive_blocker.dm new file mode 100644 index 000000000000..ca9b5c7ff900 --- /dev/null +++ b/code/modules/lighting/emissive_blocker.dm @@ -0,0 +1,37 @@ +/** + * Internal atom that copies an appearance on to the blocker plane + * + * Copies an appearance vis render_target and render_source on to the emissive blocking plane. + * This means that the atom in question will block any emissive sprites. + * This should only be used internally. If you are directly creating more of these, you're + * almost guaranteed to be doing something wrong. + */ +/atom/movable/emissive_blocker + name = "emissive blocker" + plane = EMISSIVE_PLANE + layer = FLOAT_LAYER + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + //Why? + //render_targets copy the transform of the target as well, but vis_contents also applies the transform + //to what's in it. Applying RESET_TRANSFORM here makes vis_contents not apply the transform. + //Since only render_target handles transform we don't get any applied transform "stacking" + appearance_flags = EMISSIVE_APPEARANCE_FLAGS + +/atom/movable/emissive_blocker/Initialize(mapload, source) + . = ..() + verbs.Cut() //Cargo culting from lighting object, this maybe affects memory usage? + + render_source = source + color = GLOB.em_block_color + + +/atom/movable/emissive_blocker/ex_act(severity) + return FALSE + +/atom/movable/emissive_blocker/onTransitZ() + return + +//Prevents people from moving these after creation, because they shouldn't be. +/atom/movable/emissive_blocker/forceMove(atom/destination, no_tp=FALSE, harderforce = FALSE) + if(harderforce) + return ..() diff --git a/code/modules/lighting/lighting_area.dm b/code/modules/lighting/lighting_area.dm new file mode 100644 index 000000000000..2b6a1409f38a --- /dev/null +++ b/code/modules/lighting/lighting_area.dm @@ -0,0 +1,59 @@ +/area + luminosity = 1 + ///The mutable appearance we underlay to show light + var/mutable_appearance/lighting_effect = null + ///Whether this area has a currently active base lighting, bool + var/area_has_base_lighting = FALSE + ///alpha 0-255 of lighting_effect and thus baselighting intensity + var/base_lighting_alpha = 0 + ///The colour of the light acting on this area + var/base_lighting_color = COLOR_WHITE + +/area/proc/set_base_lighting(new_base_lighting_color = -1, new_alpha = -1) + if(base_lighting_alpha == new_alpha && base_lighting_color == new_base_lighting_color) + return FALSE + if(new_alpha != -1) + base_lighting_alpha = new_alpha + if(new_base_lighting_color != -1) + base_lighting_color = new_base_lighting_color + update_base_lighting() + return TRUE + +/area/vv_edit_var(var_name, var_value) + switch(var_name) + if("base_lighting_color") + set_base_lighting(new_base_lighting_color = var_value) + return TRUE + if("base_lighting_alpha") + set_base_lighting(new_alpha = var_value) + return TRUE + return ..() + +/area/proc/update_base_lighting() + if(!area_has_base_lighting && (!base_lighting_alpha || !base_lighting_color)) + return + + if(!area_has_base_lighting) + add_base_lighting() + return + remove_base_lighting() + if(base_lighting_alpha && base_lighting_color) + add_base_lighting() + +/area/proc/remove_base_lighting() + for(var/turf/T in src) + T.overlays -= lighting_effect + QDEL_NULL(lighting_effect) + area_has_base_lighting = FALSE + +/area/proc/add_base_lighting() + lighting_effect = mutable_appearance('icons/effects/alphacolors.dmi', "white") + lighting_effect.plane = LIGHTING_PLANE + lighting_effect.layer = LIGHTING_PRIMARY_LAYER + lighting_effect.blend_mode = BLEND_ADD + lighting_effect.alpha = base_lighting_alpha + lighting_effect.color = base_lighting_color + for(var/turf/T in src) + T.overlays += lighting_effect + T.luminosity = 1 + area_has_base_lighting = TRUE diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm new file mode 100644 index 000000000000..5c3cb3cd2e6d --- /dev/null +++ b/code/modules/lighting/lighting_atom.dm @@ -0,0 +1,169 @@ + +// The proc you should always use to set the light of this atom. +// Nonesensical value for l_color default, so we can detect if it gets set to null. +#define NONSENSICAL_VALUE -99999 +/atom/proc/set_light(l_range, l_power, l_color = NONSENSICAL_VALUE, mask_type = null) + if(l_range > 0 && l_range < MINIMUM_USEFUL_LIGHT_RANGE) + l_range = MINIMUM_USEFUL_LIGHT_RANGE //Brings the range up to 1.4, which is just barely brighter than the soft lighting that surrounds players. + + if(l_power != null) + light_power = l_power + + if(l_range != null) + light_range = l_range + light_on = (light_range>0) ? TRUE : FALSE + + if(l_color != NONSENSICAL_VALUE) + light_color = l_color + + if(mask_type != null) + light_mask_type = mask_type + + SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT, l_range, l_power, l_color) + + update_light() + +/atom/proc/fade_light(new_colour, time) + light_color = new_colour + if(light?.our_mask) + animate(light.our_mask, color = new_colour, time = time) + +/// Will update the light (duh).Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf... +/atom/proc/update_light() + set waitfor = FALSE + + if(QDELETED(src)) + return + if(light_system == STATIC_LIGHT) + static_update_light() + return + + if((!light_power || !light_range) && light) // We won't emit light anyways, destroy the light source. + QDEL_NULL(light) + return + if(light && light_mask_type && (light_mask_type != light.mask_type)) + QDEL_NULL(light) + if(!light) // Update the light or create it if it does not exist. + light = new /datum/dynamic_light_source(src, light_mask_type) + return + light.set_light(light_range, light_power, light_color) + light.update_position() + + +/** + * Updates the atom's opacity value. + * + * This exists to act as a hook for associated behavior. + * It notifies (potentially) affected light sources so they can update (if needed). + */ +/atom/proc/set_opacity(new_opacity) + if(new_opacity == opacity) + return + SEND_SIGNAL(src, COMSIG_ATOM_SET_OPACITY, new_opacity) + . = opacity + + opacity = new_opacity + +/atom/movable/set_opacity(new_opacity) + . = ..() + if(isnull(.) || !isturf(loc)) + return + + if(opacity) + AddElement(/datum/element/light_blocking) + else + RemoveElement(/datum/element/light_blocking) + + +/turf/set_opacity(new_opacity) + . = ..() + if(isnull(.)) + return + recalculate_directional_opacity() + +/atom/vv_edit_var(var_name, var_value) + switch(var_name) + if("light_range") + if(light_system != MOVABLE_LIGHT) + set_light(l_range = var_value) + else + set_light_range(var_value) + datum_flags |= DF_VAR_EDITED + return TRUE + + if("light_power") + if(light_system != MOVABLE_LIGHT) + set_light(l_power = var_value) + else + set_light_power(var_value) + datum_flags |= DF_VAR_EDITED + return TRUE + + if("light_color") + if(light_system != MOVABLE_LIGHT) + set_light(l_color = var_value) + else + set_light_color(var_value) + datum_flags |= DF_VAR_EDITED + return TRUE + return ..() + + +/atom/proc/flash_lighting_fx( + _range = FLASH_LIGHT_RANGE, + _power = FLASH_LIGHT_POWER, + _color = LIGHT_COLOR_WHITE, + _duration = FLASH_LIGHT_DURATION, + _reset_lighting = TRUE, + _flash_times = 1) + new /obj/effect/light_flash(get_turf(src), _range, _power, _color, _duration, _flash_times) + + +/obj/effect/light_flash/Initialize(mapload, _range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = LIGHT_COLOR_WHITE, _duration = FLASH_LIGHT_DURATION, _flash_times = 1) + light_range = _range + light_power = _power + light_color = _color + . = ..() + do_flashes(_flash_times, _duration) + +/obj/effect/light_flash/proc/do_flashes(_flash_times, _duration) + set waitfor = FALSE + for(var/i in 1 to _flash_times) + //Something bad happened + if(!(light?.our_mask)) + break + light.our_mask.alpha = 255 + animate(light.our_mask, time = _duration, easing = SINE_EASING, alpha = 0, flags = ANIMATION_END_NOW) + sleep(_duration) //this is extremely short so it's ok to sleep + qdel(src) + +/atom/proc/set_light_range(new_range) + if(new_range == light_range) + return + SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_RANGE, new_range) + . = light_range + light_range = new_range + + +/atom/proc/set_light_power(new_power) + if(new_power == light_power) + return + SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_POWER, new_power) + . = light_power + light_power = new_power + + +/atom/proc/set_light_color(new_color) + if(new_color == light_color) + return + SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_COLOR, new_color) + . = light_color + light_color = new_color + + +/atom/proc/set_light_on(new_value) + if(new_value == light_on) + return + SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_ON, new_value) + . = light_on + light_on = new_value diff --git a/code/modules/lighting/lighting_mask/dynamic_lighting_source.dm b/code/modules/lighting/lighting_mask/dynamic_lighting_source.dm new file mode 100644 index 000000000000..db1fd6bccc5e --- /dev/null +++ b/code/modules/lighting/lighting_mask/dynamic_lighting_source.dm @@ -0,0 +1,103 @@ +// This is where the fun begins. +// These are the main datums that emit light. + +/datum/dynamic_light_source + ///source atom that we belong to + var/atom/source_atom + ///The atom that the source atom is contained inside + var/atom/movable/contained_atom + ///our last loc + var/atom/cached_loc + //the turf where cached loc was + var/turf/source_turf + ///the turf the contained atom appears to be covering + var/turf/pixel_turf + /// Intensity of the emitter light. + var/light_power = 0 + /// The range of the emitted light. + var/light_range = 0 + /// The colour of the light, string, decomposed by PARSE_LIGHT_COLOR() + var/light_color = NONSENSICAL_VALUE + + /// Whether we have applied our light yet or not. + var/applied = FALSE + + ///typepath for the mask type we are using + var/mask_type + ///reference to the mask holder effect + var/obj/effect/lighting_mask_holder/mask_holder + ///reference to the mask contained within the mask_holder objects vis_contents + var/atom/movable/lighting_mask/our_mask + +/datum/dynamic_light_source/New(atom/movable/owner, mask_type = /atom/movable/lighting_mask) + source_atom = owner // Set our new owner. + LAZYADD(source_atom.hybrid_light_sources, src) + + //Find the atom that contains us + find_containing_atom() + + source_turf = get_turf(source_atom) + + src.mask_type = mask_type + mask_holder = new(source_turf) + our_mask = new mask_type + mask_holder.assign_mask(our_mask) + our_mask.attached_atom = owner + + //Set light vars + set_light(owner.light_range, owner.light_power, owner.light_color) + + //Calculate shadows + our_mask.queue_mask_update() + + //Set direction + our_mask.rotate_mask_on_holder_turn(contained_atom.dir) + RegisterSignal(our_mask, COMSIG_ATOM_DIR_CHANGE, /atom/movable/lighting_mask.proc/rotate_mask_on_holder_turn) + +/datum/dynamic_light_source/Destroy(force) + //Remove references to ourself. + LAZYREMOVE(source_atom?.hybrid_light_sources, src) + LAZYREMOVE(contained_atom?.hybrid_light_sources, src) + QDEL_NULL(mask_holder) + our_mask = null//deletion handled on holder + return ..() + +///Updates containing atom +/datum/dynamic_light_source/proc/find_containing_atom() + //Remove ourselves from the old containing atoms light sources + if(contained_atom && contained_atom != source_atom) + LAZYREMOVE(contained_atom.hybrid_light_sources, src) + //Find our new container + if(isturf(source_atom) || isarea(source_atom)) + contained_atom = source_atom + return + contained_atom = source_atom.loc + for(var/sanity in 1 to 20) + if(!contained_atom) + //Welcome to nullspace my friend. + contained_atom = source_atom + return + if(isturf(contained_atom.loc)) + break + contained_atom = contained_atom.loc + //Add ourselves to their light sources + if(contained_atom != source_atom) + LAZYADD(contained_atom.hybrid_light_sources, src) + +///Update light if changed. +/datum/dynamic_light_source/proc/set_light(l_range, l_power, l_color = NONSENSICAL_VALUE) + if(!our_mask) + return + if(l_range && l_range != light_range) + light_range = l_range + our_mask.set_radius(l_range) + if(l_power && l_power != light_power) + light_power = l_power + our_mask.set_intensity(l_power) + if(l_color != NONSENSICAL_VALUE && l_color != light_color) + light_color = l_color + our_mask.set_color(l_color) + +/datum/dynamic_light_source/proc/update_position() + mask_holder.forceMove(get_turf(source_atom)) + find_containing_atom() diff --git a/code/modules/lighting/lighting_mask/lighting_mask.dm b/code/modules/lighting/lighting_mask/lighting_mask.dm new file mode 100644 index 000000000000..bf824033adfb --- /dev/null +++ b/code/modules/lighting/lighting_mask/lighting_mask.dm @@ -0,0 +1,153 @@ +///Lighting mask sprite radius in tiles +#define LIGHTING_MASK_RADIUS 4 +///Lighting mask sprite diameter in pixels +#define LIGHTING_MASK_SPRITE_SIZE LIGHTING_MASK_RADIUS * 64 + +/atom/movable/lighting_mask + name = "" + icon = LIGHTING_ICON_BIG + icon_state = "light_big" + + anchored = TRUE + plane = LIGHTING_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + layer = LIGHTING_SECONDARY_LAYER + invisibility = INVISIBILITY_LIGHTING + blend_mode = BLEND_ADD + appearance_flags = KEEP_TOGETHER|RESET_TRANSFORM + + ///The current angle the item is pointing at + var/current_angle = 0 + + ///The radius of illumination of the mask + var/radius = 0 + + ///The atom that we are attached to, does not need hard del protection as we are deleted with it + var/atom/attached_atom + + ///Reference to the holder /obj/effect + var/obj/effect/lighting_mask_holder/mask_holder + + ///Prevents us from registering for update twice before SSlighting init + var/awaiting_update = FALSE + ///Set to TRUE if you want the light to rotate with the owner + var/is_directional = FALSE + +/atom/movable/lighting_mask/Initialize(mapload, ...) + . = ..() + add_filter("pixel_smoother", 3, gauss_blur_filter(2)) + add_filter("shadow_alpha_masking", 4, alpha_mask_filter(render_source = SHADOW_RENDER_TARGET, flags = MASK_INVERSE)) + +/atom/movable/lighting_mask/Destroy() + mask_holder = null + attached_atom = null + return ..() + +///Sets the radius of the mask, and updates everything that needs to be updated +/atom/movable/lighting_mask/proc/set_radius(new_radius, transform_time = 0) + //Update our matrix + var/matrix/new_size_matrix = get_matrix(new_radius) + apply_matrix(new_size_matrix, transform_time) + radius = new_radius + //then recalculate and redraw + queue_mask_update() + +///if you want the matrix to grow or shrink, you can do that using this proc when applyng it +/atom/movable/lighting_mask/proc/apply_matrix(matrix/to_apply, transform_time = 0) + if(transform_time) + animate(src, transform = to_apply, time = transform_time) + else + transform = to_apply + +///Creates a matrix for the lighting mak to use +/atom/movable/lighting_mask/proc/get_matrix(radius = 1) + var/matrix/new_size_matrix = new() + //Scale + // - Scale to the appropriate radius + new_size_matrix.Scale(radius / LIGHTING_MASK_RADIUS) + //Translate + // - Center the overlay image + // - Ok so apparently translate is affected by the scale we already did huh. + // ^ Future me here, its because it works as translate then scale since its backwards. + // ^ ^ Future future me here, it totally shouldnt since the translation component of a matrix is independant to the scale component. + new_size_matrix.Translate(-128 + 16) + //Adjust for pixel offsets + var/invert_offsets = attached_atom.dir & (NORTH | EAST) + var/left_or_right = attached_atom.dir & (EAST | WEST) + var/offset_x = (left_or_right ? attached_atom.light_pixel_y : attached_atom.light_pixel_x) * (invert_offsets ? -1 : 1) + var/offset_y = (left_or_right ? attached_atom.light_pixel_x : attached_atom.light_pixel_y) * (invert_offsets ? -1 : 1) + new_size_matrix.Translate(offset_x, offset_y) + if(is_directional) + //Rotate + // - Rotate (Directional lights) + new_size_matrix.Turn(current_angle) + return new_size_matrix + +///Rotates the light source to angle degrees. +/atom/movable/lighting_mask/proc/rotate(angle = 0) + //Converting our transform is pretty simple. + var/matrix/rotated_matrix = matrix() + rotated_matrix.Turn(angle - current_angle) + rotated_matrix *= transform + //Overlays cannot be edited while applied, meaning their transform cannot be changed. + //Disconnect the shadows from the overlay, apply the transform and then reapply them as an overlay. + //Oh also since the matrix is really weird standard rotation matrices wont work here. + overlays.Cut() + //Disconnect from parent matrix, become a global position + for(var/mutable_appearance/shadow as anything in shadows) //Mutable appearances are children of icon + shadow.transform *= transform + shadow.transform /= rotated_matrix + //Apply our matrix + transform = rotated_matrix + overlays += shadows + + //Now we are facing this direction + current_angle = angle + +///Setter proc for colors +/atom/movable/lighting_mask/proc/set_color(colour = "#ffffff") + color = colour + +///Setter proc for the intensity of the mask +/atom/movable/lighting_mask/proc/set_intensity(intensity = 1) + if(intensity >= 0) + alpha = ALPHA_TO_INTENSITY(intensity) + blend_mode = BLEND_ADD + else + alpha = ALPHA_TO_INTENSITY(-intensity) + blend_mode = BLEND_SUBTRACT + +///The holder atom turned, spins the mask if it's needed +/atom/movable/lighting_mask/proc/rotate_mask_on_holder_turn(new_direction) + SIGNAL_HANDLER + rotate(dir2angle(new_direction) - 180) + +///Flickering lighting mask +/atom/movable/lighting_mask/flicker + icon_state = "light_flicker" + +///Conical Light mask +/atom/movable/lighting_mask/conical + icon_state = "light_conical" + is_directional = TRUE + +///Rotating Light mask +/atom/movable/lighting_mask/rotating + icon_state = "light_rotating-1" + +/atom/movable/lighting_mask/rotating/Initialize(mapload, ...) + . = ..() + icon_state = "light_rotating-[rand(1, 3)]" + +///rotating light mask, but only pointing in one direction +/atom/movable/lighting_mask/rotating_conical + icon_state = "light_conical_rotating" + +/atom/movable/lighting_mask/ex_act(severity, target) + return + +/atom/movable/lighting_mask/fire_act(exposed_temperature, exposed_volume) + return + +#undef LIGHTING_MASK_SPRITE_SIZE +#undef LIGHTING_MASK_RADIUS diff --git a/code/modules/lighting/lighting_mask/lighting_mask_holder.dm b/code/modules/lighting/lighting_mask/lighting_mask_holder.dm new file mode 100644 index 000000000000..750a16fa1bfb --- /dev/null +++ b/code/modules/lighting/lighting_mask/lighting_mask_holder.dm @@ -0,0 +1,22 @@ +///Holder for lighting mask, this is done for ensuing correct render as a viscontents +/obj/effect/lighting_mask_holder + name = "" + anchored = TRUE + appearance_flags = NONE //Removes TILE_BOUND meaning that the lighting mask will be visible even if the source turf is not. + glide_size = INFINITY //prevent shadow jitter + ///The movable mask this holder is holding in its vis contents + var/atom/movable/lighting_mask/held_mask + +/obj/effect/lighting_mask_holder/proc/assign_mask(atom/movable/lighting_mask/mask) + vis_contents += mask + held_mask = mask + mask.mask_holder = src + +/obj/effect/lighting_mask_holder/Destroy(force) + vis_contents -= held_mask + QDEL_NULL(held_mask) + return ..() + +/obj/effect/lighting_mask_holder/Moved(atom/OldLoc, Dir) + . = ..() + held_mask?.queue_mask_update()//held mask can be null when it is deleted diff --git a/code/modules/lighting/lighting_mask/shadow_calculator.dm b/code/modules/lighting/lighting_mask/shadow_calculator.dm new file mode 100644 index 000000000000..359602f1a994 --- /dev/null +++ b/code/modules/lighting/lighting_mask/shadow_calculator.dm @@ -0,0 +1,686 @@ +//Lighting texture scales in world units (divide by 32) +//256 = 8,4,2 +//1024 = 32,16,8 +#define LIGHTING_SHADOW_TEX_SIZE 8 + +///Eyeball number for radius based offsets do not touch +#define RADIUS_BASED_OFFSET 3.5 + +///Inserts a coord list into a grouped list +#define COORD_LIST_ADD(listtoadd, x, y) \ + if(islist(listtoadd["[x]"])) { \ + var/list/_L = listtoadd["[x]"]; \ + BINARY_INSERT_NUM(y, _L); \ + } else { \ + listtoadd["[x]"] = list(y);\ + } + +#ifdef SHADOW_DEBUG +///Color coded atom debug, note will break when theres planetside lgihting +#define DEBUG_HIGHLIGHT(x, y, colour) \ + do { \ + var/turf/T = locate(x, y, 3); \ + if(T) { \ + T.color = colour; \ + }\ + } while (FALSE) + +//For debugging use when we want to know if a turf is being affected multiple times +//#define DEBUG_HIGHLIGHT(x, y, colour) do{var/turf/T=locate(x,y,2);if(T){switch(T.color){if("#ff0000"){T.color = "#00ff00"}if("#00ff00"){T.color="#0000ff"}else{T.color="#ff0000"}}}}while(0) +#define DO_SOMETHING_IF_DEBUGGING_SHADOWS(something) something +#else +#define DEBUG_HIGHLIGHT(x, y, colour) +#define DO_SOMETHING_IF_DEBUGGING_SHADOWS(something) +#endif + +/atom/movable/lighting_mask + ///Turfs that are being affected by this mask, this is for the sake of luminosity + var/list/turf/affecting_turfs + ///list of mutable appearance shadows + var/list/mutable_appearance/shadows + var/times_calculated = 0 + + //Please dont change these + var/calculated_position_x + var/calculated_position_y + +/atom/movable/lighting_mask/Destroy() + //Make sure we werent destroyed in init + SSlighting.mask_queue -= src + //Remove from affecting turfs + if(affecting_turfs) + for(var/turf/thing as anything in affecting_turfs) + var/area/A = thing.loc + LAZYREMOVE(thing.hybrid_lights_affecting, src) + if(!A.base_lighting_alpha) + thing.luminosity -= 1 + affecting_turfs = null + //Cut the shadows. Since they are overlays they will be deleted when cut from overlays. + LAZYCLEARLIST(shadows) + return ..() + +/atom/movable/lighting_mask/proc/link_turf_to_light(turf/T) + LAZYOR(affecting_turfs, T) + LAZYOR(T.hybrid_lights_affecting, src) + +/atom/movable/lighting_mask/proc/unlink_turf_from_light(turf/T) + LAZYREMOVE(affecting_turfs, T) + LAZYREMOVE(T.hybrid_lights_affecting, src) + +///Enqueues the mask in the queue properly +/atom/movable/lighting_mask/proc/queue_mask_update() + SSlighting.mask_queue += src + awaiting_update = TRUE + +/** + * Returns a list of matrices corresponding to the matrices that should be applied to triangles of + * coordinates (0,0),(1,0),(0,1) to create a triangcalculate_shadows_matricesle that respresents the shadows + * takes in the old turf to smoothly animate shadow movement + */ +/atom/movable/lighting_mask/proc/calculate_lighting_shadows() + //Check to make sure lighting is actually started + //If not count the amount of duplicate requests created. + if(!SSlighting.started) + if(awaiting_update) + SSlighting.duplicate_shadow_updates_in_init++ + return + queue_mask_update() + return + awaiting_update = FALSE + //we moved to nullspace meanwhile dont bother + if(!attached_atom.loc) + return + + //Incremement the global counter for shadow calculations + SSlighting.total_shadow_calculations ++ + + //Ceiling the range since we need it in integer form + var/range = CEILING(radius, 1) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/timer = TICK_USAGE) + + //Work out our position + //Calculate shadow origin offset + var/invert_offsets = attached_atom.dir & (NORTH | EAST) + var/left_or_right = attached_atom.dir & (EAST | WEST) + var/offset_x = (left_or_right ? attached_atom.light_pixel_y : attached_atom.light_pixel_x) * (invert_offsets ? -1 : 1) + var/offset_y = (left_or_right ? attached_atom.light_pixel_x : attached_atom.light_pixel_y) * (invert_offsets ? -1 : 1) + + //Get the origin points + var/turf/our_turf = get_turf(attached_atom) //The mask is in nullspace, so we need the source turf of the container + + //Account for pixel shifting and light offset + calculated_position_x = our_turf.x + ((offset_x) / world.icon_size) + calculated_position_y = our_turf.y + ((offset_y) / world.icon_size) + + //Remove the old shadows + overlays.Cut() + + + //Reset the list + if(islist(affecting_turfs)) + for(var/turf/T as anything in affecting_turfs) + LAZYREMOVE(T?.hybrid_lights_affecting, src) + //The turf is no longer affected by any lights, make it non-luminous. + var/area/A = T.loc + if(T?.luminosity && !A.base_lighting_alpha) + T.luminosity -= 1 + + //Clear the list + LAZYCLEARLIST(affecting_turfs) + LAZYCLEARLIST(shadows) + + //Optimise grouping by storing as + // Key : x (AS A STRING BECAUSE BYOND DOESNT ALLOW FOR INT KEY DICTIONARIES) + // Value: List(y values) + var/list/opaque_atoms_in_view = list() + + //Rebuild the list + var/is_on_closed_turf = istype(our_turf, /turf/closed) + for(var/turf/thing in dview(range, get_turf(attached_atom))) //most expensive part of shadow code is this dview and group_atoms + link_turf_to_light(thing) + //The turf is now affected by our light, make it luminous + thing.luminosity += 1 + //Dont consider shadows about our turf. + if(!is_on_closed_turf) + if(thing == our_turf) + continue + if(thing.directional_opacity) + //At this point we no longer care about + //the atom itself, only the position values + COORD_LIST_ADD(opaque_atoms_in_view, thing.x, thing.y) + DEBUG_HIGHLIGHT(thing.x, thing.y, "#0000FF") + + //We are too small to consider shadows on, luminsoty has been considered at least. + if(radius < 2) + return + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("[TICK_USAGE_TO_MS(timer)]ms to process view([range], src).")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/temp_timer = TICK_USAGE) + + //Group atoms together for optimisation + var/list/grouped_atoms = group_atoms(opaque_atoms_in_view) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("[TICK_USAGE_TO_MS(temp_timer)]ms to process group_atoms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/total_coordgroup_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/total_cornergroup_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/triangle_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/culling_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/triangle_to_matrix_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/matrix_division_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/MA_new_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/MA_vars_time = 0) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/overlays_add_time = 0) + + var/list/overlays_to_add = list() + for(var/group in grouped_atoms) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + var/list/coordgroup = calculate_corners_in_group(group) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(total_coordgroup_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + //This is where the lines are made + var/list/cornergroup = get_corners_from_coords(coordgroup) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(total_cornergroup_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + var/list/culledlinegroup = cull_blocked_in_group(cornergroup, opaque_atoms_in_view) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(culling_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + if(!LAZYLEN(culledlinegroup)) + continue + + var/list/triangles = calculate_triangle_vertices(culledlinegroup) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(triangle_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + for(var/triangle in triangles) + var/matrix/triangle_matrix = triangle_to_matrix(triangle) + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(triangle_to_matrix_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + triangle_matrix /= transform + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(matrix_division_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + var/mutable_appearance/shadow = new() + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(MA_new_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + shadow.icon = LIGHTING_ICON_BIG + shadow.icon_state = "triangle" + shadow.color = "#000" + shadow.transform = triangle_matrix + shadow.render_target = SHADOW_RENDER_TARGET + shadow.blend_mode = BLEND_OVERLAY + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(MA_vars_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + LAZYADD(shadows, shadow) + overlays_to_add += shadow + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(overlays_add_time += TICK_USAGE_TO_MS(temp_timer)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(temp_timer = TICK_USAGE) + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(var/overlay_apply_time = TICK_USAGE) + + overlays += overlays_to_add //batch appearance generation for free lag(tm) + + DO_SOMETHING_IF_DEBUGGING_SHADOWS(overlay_apply_time = TICK_USAGE_TO_MS(overlay_apply_time)) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("total_coordgroup_time: [total_coordgroup_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("total_cornergroup_time: [total_cornergroup_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("triangle_time calculation: [triangle_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("triangle_to_matrix_time: [triangle_to_matrix_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("Culling Time: [culling_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("matrix_division_time: [matrix_division_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("MA_new_time: [MA_new_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("MA_vars_time: [MA_vars_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("overlays_add_time: [overlays_add_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("overlay_apply_time: [overlay_apply_time]ms")) + DO_SOMETHING_IF_DEBUGGING_SHADOWS(log_game("[TICK_USAGE_TO_MS(timer)]ms to process total.")) + + +/** + * Converts a triangle into a matrix that can be applied to a standardized triangle + * to make it represent the points. + */ +/atom/movable/lighting_mask/proc/triangle_to_matrix(list/triangle) + //We need the world position raw, if we use the calculated position then the pixel values will cancel. + var/turf/our_turf = get_turf(attached_atom) + var/ourx = our_turf.x + var/oury = our_turf.y + + var/originx = triangle[1][1] - ourx //~Simultaneous Variable: U + var/originy = triangle[1][2] - oury //~Simultaneous Variable: V + //Get points translating the first point to (0, 0) + var/translatedPoint2x = triangle[2][1] - ourx //Simultaneous Variable: W + var/translatedPoint2y = triangle[2][2] - oury //Simultaneous Variable: X + var/translatedPoint3x = triangle[3][1] - ourx //Simultaneous Variable: Y + var/translatedPoint3y = triangle[3][2] - oury //Simultaneous Variable: Z + //message_admins("Point 1: ([originx], [originy])") + //message_admins("Point 2: ([translatedPoint2x], [translatedPoint2y])") + //message_admins("Point 3: ([translatedPoint3x], [translatedPoint3y])") + //Assumption that is incorrect + //Triangle points are + // (-4, -4) + // (-4, 4) + // ( 4, -4) + //Would be much easier if it was (0, 0) instead of (-4, -4) but since we have 6 inputs and 6 unknowns + //we can solve the values of the matrix pretty easilly simultaneously. + //In fact since variables U,W,Y,A,B,C are separate to V,X,Z,D,E,F its easy since its 2 identical tri-variable simultaneous equations. + //By solving the equations simultaneously we get these results: + //a = (y-u)/8 + var/a = (translatedPoint3x - originx) / LIGHTING_SHADOW_TEX_SIZE + //b = (w-u)/ 8 + var/b = (translatedPoint2x - originx) / LIGHTING_SHADOW_TEX_SIZE + //c = (y+w)/2 + var/c = (translatedPoint3x + translatedPoint2x) / 2 + //d = (z-v)/8 + var/d = (translatedPoint3y - originy) / LIGHTING_SHADOW_TEX_SIZE + //e = (x-v)/8 + var/e = (translatedPoint2y - originy) / LIGHTING_SHADOW_TEX_SIZE + //f = (z+x)/2 + var/f = (translatedPoint3y + translatedPoint2y) / 2 + //Matrix time g + //a,b,d and e can be used to define the shape, C and F can be used for translation god matrices are so beautiful + //Completely random offset that I didnt derive, I just trialled and errored for about 4 hours until it randomly worked + //var/radius_based_offset = radius * 3 + RADIUS_BASED_OFFSET <-- for 1024x1024 lights DO NOT USE 1024x1024 SHADOWS UNLESS YOU ARE PLAYING WITH RTX200000 OR SOMETHING + var/radius_based_offset = RADIUS_BASED_OFFSET + var/matrix/M = matrix(a, b, (c * 32) - ((radius_based_offset) * 32), d, e, (f * 32) - ((radius_based_offset) * 32)) + //log_game("[M.a], [M.d], 0") + //log_game("[M.b], [M.e], 0") + //log_game("[M.c], [M.f], 1") + return M + +/** + * Basically takes the 2-4 corners, extends them and then generates triangle coordinates representing shadows + * Input: list(list(list(x, y), list(x, y))) + * Layer 1: Lines + * Layer 2: Vertex + * Layer 3: X/Y value + * OUTPUT: The same thing but with 3 lists embedded rather than 2 because they are triangles not lines now. + */ +/atom/movable/lighting_mask/proc/calculate_triangle_vertices(list/cornergroup) + var/shadow_radius = max(radius + 1, 3) + //Get the origin poin's + var/ourx = calculated_position_x + var/oury = calculated_position_y + //The output + . = list() + //Every line has 2 triangles innit + for(var/list/line as anything in cornergroup) + //Get the corner vertices + var/vertex1 = line[1] + var/vertex2 = line[2] + //Extend them and get end vertices + //Calculate vertex 3 position + var/delta_x = vertex1[1] - ourx + var/delta_y = vertex1[2] - oury + var/vertex3 = extend_line_to_radius(delta_x, delta_y, shadow_radius, ourx, oury) + var/vertex3side = (vertex3[1] - ourx) == -shadow_radius ? WEST : (vertex3[1] - ourx) == shadow_radius ? EAST : (vertex3[2] - oury) == shadow_radius ? NORTH : SOUTH + + //For vertex 4 + delta_x = vertex2[1] - ourx + delta_y = vertex2[2] - oury + var/vertex4 = extend_line_to_radius(delta_x, delta_y, shadow_radius, ourx, oury) + var/vertex4side = (vertex4[1] - ourx) == -shadow_radius ? WEST : (vertex4[1] - ourx) == shadow_radius ? EAST : (vertex4[2] - oury) == shadow_radius ? NORTH : SOUTH + + //If vertex3 is not on the same border as vertex 4 then we need more triangles to fill in the space. + if(vertex3side != vertex4side) + var/eitherNorth = (vertex3side == NORTH || vertex4side == NORTH) + var/eitherEast = (vertex3side == EAST || vertex4side == EAST) + var/eitherSouth = (vertex3side == SOUTH || vertex4side == SOUTH) + var/eitherWest = (vertex3side == WEST || vertex4side == WEST) + if(eitherNorth && eitherEast) + //Add a vertex top right + var/vertex5 = list(shadow_radius + ourx, shadow_radius + oury) + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + else if(eitherNorth && eitherWest) + //Add a vertex top left + var/vertex5 = list(-shadow_radius + ourx, shadow_radius + oury) + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + else if(eitherNorth && eitherSouth) //BLOCKER IS A | SHAPE + //If vertex3 is to the right of the center, both vertices are to the right. + if(vertex3[1] > ourx) + //New vertexes are on the right + var/vertex5 = list(ourx + shadow_radius, oury + shadow_radius) + var/vertex6 = list(ourx + shadow_radius, oury - shadow_radius) + //If vertex 4 is greater than 3 then triangles link as 4,5,6 and 3,4,6 + if(vertex4[2] > vertex3[2]) + var/triangle3 = list(vertex3, vertex5, vertex6) + . += list(triangle3) + var/triangle4 = list(vertex3, vertex4, vertex5) + . += list(triangle4) + else + //Vertex 3 is greater than 4, so triangles link as 3,5,6 and 3,4,6 + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + var/triangle4 = list(vertex4, vertex5, vertex6) + . += list(triangle4) + else + //New vertexes are on the left + var/vertex5 = list(ourx - shadow_radius, oury + shadow_radius) + var/vertex6 = list(ourx - shadow_radius, oury - shadow_radius) + //If vertex 4 is higher than 3 then triangles link as 4,5,6 and 3,4,6 + if(vertex4[2] > vertex3[2]) + var/triangle3 = list(vertex3, vertex5, vertex6) + . += list(triangle3) + var/triangle4 = list(vertex3, vertex4, vertex5) + . += list(triangle4) + else + //Vertex 3 is greater than 4, so triangles link as 3,5,6 and 3,4,6 + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + var/triangle4 = list(vertex4, vertex5, vertex6) + . += list(triangle4) + else if(eitherEast && eitherSouth) + //Add a vertex bottom right + var/vertex5 = list(shadow_radius + ourx, -shadow_radius + oury) + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + else if(eitherEast && eitherWest) //BLOCKER IS A --- SHAPE + //If vertex3 is above the center, then pointers are along the top + if(vertex3[2] > oury) + //New vertexes are on the right + var/vertex5 = list(ourx + shadow_radius, oury + shadow_radius) + var/vertex6 = list(ourx - shadow_radius, oury + shadow_radius) + //If vertex 4 is greater than 3 then triangles link as 4,5,6 and 3,4,6 + if(vertex4[1] > vertex3[1]) + var/triangle3 = list(vertex3, vertex5, vertex6) + . += list(triangle3) + var/triangle4 = list(vertex3, vertex4, vertex5) + . += list(triangle4) + else + //Vertex 3 is greater than 4, so triangles link as 3,5,6 and 3,4,6 + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + var/triangle4 = list(vertex4, vertex5, vertex6) + . += list(triangle4) + else + //New vertexes are on the bottom + var/vertex5 = list(ourx + shadow_radius, oury - shadow_radius) + var/vertex6 = list(ourx - shadow_radius, oury - shadow_radius) + //If vertex 4 is higher than 3 then triangles link as 4,5,6 and 3,4,6 + if(vertex4[1] > vertex3[1]) + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + var/triangle4 = list(vertex3, vertex5, vertex6) + . += list(triangle4) + else + //Vertex 3 is greater than 4, so triangles link as 3,5,6 and 3,4,6 + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + var/triangle4 = list(vertex4, vertex5, vertex6) + . += list(triangle4) + else if(eitherSouth && eitherWest) + //Bottom left + var/vertex5 = list(-shadow_radius + ourx, -shadow_radius + oury) + var/triangle3 = list(vertex3, vertex4, vertex5) + . += list(triangle3) + else + //bug + stack_trace("Major error: vertex in a bad position (North: [eitherNorth], East: [eitherEast], South: [eitherSouth], West: [eitherWest])") + + //Generate triangles + var/triangle1 = list(vertex1, vertex2, vertex3) + var/triangle2 = list(vertex2, vertex3, vertex4) + . += list(triangle1) + . += list(triangle2) + +///Takes in the list of lines and sight blockers and returns only the lines that are not blocked +/atom/movable/lighting_mask/proc/cull_blocked_in_group(list/lines, list/sight_blockers) + . = list() + for(var/list/line in lines) + var/vertex1 = line[1] + var/vertex2 = line[2] + var/list/lines_to_add = list() + if(vertex1[1] == vertex2[1]) + //Vertical line. + //Requires a block to the left and right all the way from the bottom to the top + var/left = vertex1[1] - 0.5 + var/right = vertex1[1] + 0.5 + var/bottom = min(vertex1[2], vertex2[2]) + 0.5 + var/top = max(vertex1[2], vertex2[2]) - 0.5 + var/list/current_bottom_vertex = list(vertex1[1], bottom - 0.5) + var/list/current_top_vertex = list(vertex1[1], bottom - 0.5) + for(var/i in bottom to top) + var/list/left_list = sight_blockers["[left]"] + var/isLeftBlocked = left_list?.Find(i) ? TRUE : FALSE + var/list/right_list = sight_blockers["[right]"] + var/isRightBlocked = right_list?.Find(i) ? TRUE : FALSE + if(isLeftBlocked == isRightBlocked) + if(current_bottom_vertex[2] != current_top_vertex[2]) + lines_to_add += list(list(current_bottom_vertex, current_top_vertex)) + current_bottom_vertex = list(vertex1[1], i + 0.5) + current_top_vertex = list(vertex1[1], i + 0.5) + if(current_bottom_vertex[2] != current_top_vertex[2]) + lines_to_add += list(list(current_bottom_vertex, current_top_vertex)) + else + //Horizontal line + //Requires a block above and below for every position from left to right + var/left = min(vertex1[1], vertex2[1]) + 0.5 + var/right = max(vertex1[1], vertex2[1]) - 0.5 + var/top = vertex1[2] + 0.5 + var/bottom = vertex1[2] - 0.5 + var/list/current_left_vertex = list(left - 0.5, vertex1[2]) + var/list/current_right_vertex = list(left - 0.5, vertex1[2]) + for(var/i in left to right) + var/list/check_list = sight_blockers["[i]"] + var/isAboveBlocked = check_list?.Find(top) ? TRUE : FALSE + var/isBelowBlocked = check_list?.Find(bottom) ? TRUE : FALSE + if(isAboveBlocked == isBelowBlocked) + if(current_left_vertex[1] != current_right_vertex[1]) + lines_to_add += list(list(current_left_vertex, current_right_vertex)) + current_left_vertex = list(i + 0.5, vertex1[2]) + current_right_vertex = list(i + 0.5, vertex1[2]) + if(current_left_vertex[1] != current_right_vertex[1]) + lines_to_add += list(list(current_left_vertex, current_right_vertex)) + . += lines_to_add + +/** + * Converts the corners into the 3 (or 2) valid points + * For example if a wall is top right of the source, the bottom left wall corner + * can be removed otherwise the wall itself will be in the shadow. + * Input: list(list(x1, y1), list(x2, y2)) + * Output: list(list(list(x, y), list(x, y))) <-- 2 coordinates that form a line + */ +/atom/movable/lighting_mask/proc/get_corners_from_coords(list/coordgroup) + //Get the raw numbers + var/xlow = coordgroup[1][1] + var/ylow = coordgroup[1][2] + var/xhigh = coordgroup[2][1] + var/yhigh = coordgroup[2][2] + + var/ourx = calculated_position_x + var/oury = calculated_position_y + + //The source is above the point (Bottom Quad) + if(oury > yhigh) + //Bottom Right + if(ourx < xlow) + return list( + list(list(xlow, ylow), list(xhigh, ylow)), + list(list(xhigh, ylow), list(xhigh, yhigh)), + ) + //Bottom Left + else if(ourx > xhigh) + return list( + list(list(xlow, yhigh), list(xlow, ylow)), + list(list(xlow, ylow), list(xhigh, ylow)), + ) + //Bottom Middle + else + return list( + list(list(xlow, yhigh), list(xlow, ylow)), + list(list(xlow, ylow), list(xhigh, ylow)), + list(list(xhigh, ylow), list(xhigh, yhigh)) + ) + //The source is below the point (Top quad) + else if(oury < ylow) + //Top Right + if(ourx < xlow) + return list( + list(list(xlow, yhigh), list(xhigh, yhigh)), + list(list(xhigh, yhigh), list(xhigh, ylow)), + ) + //Top Left + else if(ourx > xhigh) + return list( + list(list(xlow, ylow), list(xlow, yhigh)), + list(list(xlow, yhigh), list(xhigh, yhigh)), + ) + //Top Middle + else + return list( + list(list(xlow, ylow), list(xlow, yhigh)), + list(list(xlow, yhigh), list(xhigh, yhigh)), + list(list(xhigh, yhigh), list(xhigh, ylow)) + ) + //the source is between the group Middle something + else + //Middle Right + if(ourx < xlow) + return list( + list(list(xlow, yhigh), list(xhigh, yhigh)), + list(list(xhigh, yhigh), list(xhigh, ylow)), + list(list(xhigh, ylow), list(xlow, ylow)) + ) + //Middle Left + else if(ourx > xhigh) + return list( + list(list(xhigh, ylow), list(xlow, ylow)), + list(list(xlow, ylow), list(xlow, yhigh)), + list(list(xlow, yhigh), list(xhigh, yhigh)) + ) + //Middle Middle (Why?????????) + else + return list( + list(list(xhigh, ylow), list(xlow, ylow)), + list(list(xlow, ylow), list(xlow, yhigh)), + list(list(xlow, yhigh), list(xhigh, yhigh)), + list(list(xlow, yhigh), list(xhigh, ylow)) + ) + +//Calculates the coordinates of the corner +//Takes a list of blocks and calculates the bottom left corner and the top right corner. +//Input: Group list(list(list(x,y), list(x,y)), list(list(x, y))) +//Output: Coordinates list(list(left, bottom), list(right, top)) +/atom/movable/lighting_mask/proc/calculate_corners_in_group(list/group) + if(length(group) == 0) + CRASH("Calculate_corners_in_group called on a group of length 0. Critical error.") + if(length(group) == 1) + var/x = group[1][1] + var/y = group[1][2] + return list( + list(x - 0.5, y - 0.5), + list(x + 0.5, y + 0.5) + ) + //Group is multiple length, find top left and bottom right + var/first = group[1] + var/second = group[2] + var/group_direction = NORTH + if(first[1] != second[1]) + group_direction = EAST +#ifdef SHADOW_DEBUG6 + else if(first[2] != second[2]) + message_admins("Major error, group is not 1xN or Nx1") +#endif + var/lowest = INFINITY + var/highest = 0 + for(var/vector in group) + var/value_to_comp = vector[1] + if(group_direction == NORTH) + value_to_comp = vector[2] + lowest = min(lowest, value_to_comp) + highest = max(highest, value_to_comp) + //done ez + if(group_direction == NORTH) + return list( + list(first[1] - 0.5, lowest - 0.5), + list(first[1] + 0.5, highest + 0.5) + ) + else + return list( + list(lowest - 0.5, first[2] - 0.5), + list(highest + 0.5, first[2] + 0.5) + ) + +///Groups things into vertical and horizontal lines. +///Input: All atoms ungrouped list(atom1, atom2, atom3) +///Output: List(List(Group), list(group2), ... , list(groupN)) +///Output: List(List(atom1, atom2), list(atom3, atom4...), ... , list(atom)) +/atom/movable/lighting_mask/proc/group_atoms(list/ungrouped_things) + . = list() + //Ungrouped things comes in as + // Key: X + // Value = list(y values) + //This makes sorting vertically easy, however sorting horizontally is harder + //While grouping elements vertically, we can put them into a new list with + // Key: Y + // Value = list(x values) + //to make it much easier. + var/list/horizontal_atoms = list() + //================================================= + //Vertical sorting (X locked) + for(var/x_key in ungrouped_things) + var/list/y_components = ungrouped_things[x_key] + var/pointer = y_components[1] + var/list/group = list(list(text2num(x_key), y_components[1])) + for(var/i in 2 to length(y_components)) + var/next = y_components[i] + if(next != pointer + 1) + if(length(group) == 1) + //Add the element in group to horizontal + COORD_LIST_ADD(horizontal_atoms, pointer, text2num(x_key)) + DEBUG_HIGHLIGHT(text2num(x_key), pointer, "#FFFF00") + else + //Add the group to the output + . += list(group) + group = list() + group += list(list(text2num(x_key), next)) + DEBUG_HIGHLIGHT(text2num(x_key), next, "#FF0000") + pointer = next + if(length(group) == 1) + //Add the element in group to horizontal + COORD_LIST_ADD(horizontal_atoms, pointer, text2num(x_key)) + DEBUG_HIGHLIGHT(text2num(x_key), pointer, "#FFFF00") + else + //Add the group to the output + . += list(group) + //================================================= + //Horizontal sorting (Y locked) + for(var/y_key in horizontal_atoms) + var/list/x_components = horizontal_atoms[y_key] + var/pointer = x_components[1] + var/list/group = list(list(x_components[1], text2num(y_key))) + for(var/i in 2 to length(x_components)) + var/next = x_components[i] + if(next != pointer + 1) + . += list(group) + group = list() + group += list(list(next, text2num(y_key))) + DEBUG_HIGHLIGHT(next, text2num(y_key), "#00FF00") + pointer = next + . += list(group) + +///gets a line from a x and y, to the offset x and y of length radius +/proc/extend_line_to_radius(delta_x, delta_y, radius, offset_x, offset_y) + if(abs(delta_x) < abs(delta_y)) + //top or bottom + var/proportion = radius / abs(delta_y) + return list(delta_x * proportion + offset_x, delta_y * proportion + offset_y) + else + var/proportion = radius / abs(delta_x) + return list(delta_x * proportion + offset_x, delta_y * proportion + offset_y) + +#undef LIGHTING_SHADOW_TEX_SIZE +#undef COORD_LIST_ADD +#undef DEBUG_HIGHLIGHT +#undef DO_SOMETHING_IF_DEBUGGING_SHADOWS diff --git a/code/modules/lighting/lighting_static/static_lighting_area.dm b/code/modules/lighting/lighting_static/static_lighting_area.dm new file mode 100644 index 000000000000..2e95c77e9ecd --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_area.dm @@ -0,0 +1,12 @@ +/area + ///Whether this area allows static lighting and thus loads the lighting objects + var/static_lighting = TRUE + +//Non static lighting areas. +//Any lighting area that wont support static lights. +//These areas will NOT have corners generated. + +/area/space + static_lighting = FALSE + base_lighting_alpha = 255 + diff --git a/code/modules/lighting/lighting_static/static_lighting_atom.dm b/code/modules/lighting/lighting_static/static_lighting_atom.dm new file mode 100644 index 000000000000..0f7be52b351f --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_atom.dm @@ -0,0 +1,25 @@ + +/atom + ///The light source, datum. Dont fuck with this directly + var/tmp/datum/static_light_source/static_light + ///Static light sources currently attached to this atom, this includes ones owned by atoms inside this atom + var/tmp/list/static_light_sources + +///Pretty simple, just updates static lights on this atom +/atom/proc/static_update_light() + set waitfor = FALSE + if (QDELETED(src)) + return + + if (!light_power || !light_range) // We won't emit light anyways, destroy the light source. + QDEL_NULL(static_light) + else + if(!ismovableatom(loc)) // We choose what atom should be the top atom of the light here. + . = src + else + . = loc + + if(static_light) // Update the light or create it if it does not exist. + static_light.update(.) + else + static_light = new/datum/static_light_source(src, .) diff --git a/code/modules/lighting/lighting_static/static_lighting_corner.dm b/code/modules/lighting/lighting_static/static_lighting_corner.dm new file mode 100644 index 000000000000..4f026e05e864 --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_corner.dm @@ -0,0 +1,176 @@ +// Because we can control each corner of every lighting object. +// And corners get shared between multiple turfs (unless you're on the corners of the map, then 1 corner doesn't). +// For the record: these should never ever ever be deleted, even if the turf doesn't have dynamic lighting. + +/datum/static_lighting_corner + var/list/datum/static_light_source/affecting // Light sources affecting us. + + var/x = 0 + var/y = 0 + + var/turf/master_NE + var/turf/master_SE + var/turf/master_SW + var/turf/master_NW + + var/lum_r = 0 + var/lum_g = 0 + var/lum_b = 0 + + //true color values, guaranteed to be between 0 and 1 + var/cache_r = LIGHTING_SOFT_THRESHOLD + var/cache_g = LIGHTING_SOFT_THRESHOLD + var/cache_b = LIGHTING_SOFT_THRESHOLD + + ///the maximum of lum_r, lum_g, and lum_b. if this is > 1 then the three cached color values are divided by this + var/largest_color_luminosity = 0 + + ///whether we are to be added to SSlighting's corners_queue list for an update + var/needs_update = FALSE + +/datum/static_lighting_corner/New(turf/new_turf, diagonal) + . = ..() + save_master(new_turf, turn(diagonal, 180)) + + var/vertical = diagonal & ~(diagonal - 1) // The horizontal directions (4 and 8) are bigger than the vertical ones (1 and 2), so we can reliably say the lsb is the horizontal direction. + var/horizontal = diagonal & ~vertical // Now that we know the horizontal one we can get the vertical one. + + x = new_turf.x + (horizontal == EAST ? 0.5 : -0.5) + y = new_turf.y + (vertical == NORTH ? 0.5 : -0.5) + + // My initial plan was to make this loop through a list of all the dirs (horizontal, vertical, diagonal). + // Issue being that the only way I could think of doing it was very messy, slow and honestly overengineered. + // So we'll have this hardcode instead. + var/turf/new_master_turf + + // Diagonal one is easy. + new_master_turf = get_step(new_turf, diagonal) + if(new_master_turf) // In case we're on the map's border. + save_master(new_master_turf, diagonal) + + // Now the horizontal one. + new_master_turf = get_step(new_turf, horizontal) + if(new_master_turf) // Ditto. + save_master(new_master_turf, ((new_master_turf.x > x) ? EAST : WEST) | ((new_master_turf.y > y) ? NORTH : SOUTH)) // Get the dir based on coordinates. + + // And finally the vertical one. + new_master_turf = get_step(new_turf, vertical) + if (new_master_turf) + save_master(new_master_turf, ((new_master_turf.x > x) ? EAST : WEST) | ((new_master_turf.y > y) ? NORTH : SOUTH)) // Get the dir based on coordinates. + +/datum/static_lighting_corner/proc/save_master(turf/master, dir) + switch (dir) + if (NORTHEAST) + master_NE = master + master.lighting_corner_SW = src + if (SOUTHEAST) + master_SE = master + master.lighting_corner_NW = src + if (SOUTHWEST) + master_SW = master + master.lighting_corner_NE = src + if (NORTHWEST) + master_NW = master + master.lighting_corner_SE = src + +/datum/static_lighting_corner/proc/self_destruct_if_idle() + if (!LAZYLEN(affecting)) + qdel(src, force = TRUE) + +/datum/static_lighting_corner/proc/vis_update() + for (var/datum/static_light_source/light_source as anything in affecting) + light_source.vis_update() + +/datum/static_lighting_corner/proc/full_update() + for (var/datum/static_light_source/light_source as anything in affecting) + light_source.recalc_corner(src) + +// God that was a mess, now to do the rest of the corner code! Hooray! +/datum/static_lighting_corner/proc/update_lumcount(delta_r, delta_g, delta_b) + + if(!(delta_r || delta_g || delta_b)) // 0 is falsey ok + return + + lum_r += delta_r + lum_g += delta_g + lum_b += delta_b + + if(!needs_update) + needs_update = TRUE + SSlighting.corners_queue += src + +/datum/static_lighting_corner/proc/update_objects() + // Cache these values a head of time so 4 individual lighting objects don't all calculate them individually. + var/lum_r = src.lum_r + var/lum_g = src.lum_g + var/lum_b = src.lum_b + var/largest_color_luminosity = max(lum_r, lum_g, lum_b) // Scale it so one of them is the strongest lum, if it is above 1. + . = 1 // factor + if (largest_color_luminosity > 1) + . = 1 / largest_color_luminosity + + #if LIGHTING_SOFT_THRESHOLD != 0 + else if (largest_color_luminosity < LIGHTING_SOFT_THRESHOLD) + . = 0 // 0 means soft lighting. + + cache_r = round(lum_r * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD + cache_g = round(lum_g * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD + cache_b = round(lum_b * ., LIGHTING_ROUND_VALUE) || LIGHTING_SOFT_THRESHOLD + #else + cache_r = round(lum_r * ., LIGHTING_ROUND_VALUE) + cache_g = round(lum_g * ., LIGHTING_ROUND_VALUE) + cache_b = round(lum_b * ., LIGHTING_ROUND_VALUE) + #endif + + src.largest_color_luminosity = round(largest_color_luminosity, LIGHTING_ROUND_VALUE) + + var/datum/static_lighting_object/lighting_object = master_NE?.static_lighting_object + if (lighting_object && !lighting_object.needs_update) + lighting_object.needs_update = TRUE + SSlighting.objects_queue += lighting_object + + lighting_object = master_SE?.static_lighting_object + if (lighting_object && !lighting_object.needs_update) + lighting_object.needs_update = TRUE + SSlighting.objects_queue += lighting_object + + lighting_object = master_SW?.static_lighting_object + if (lighting_object && !lighting_object.needs_update) + lighting_object.needs_update = TRUE + SSlighting.objects_queue += lighting_object + + lighting_object = master_NW?.static_lighting_object + if (lighting_object && !lighting_object.needs_update) + lighting_object.needs_update = TRUE + SSlighting.objects_queue += lighting_object + + self_destruct_if_idle() + + +/datum/static_lighting_corner/dummy/New() + return + + +/datum/static_lighting_corner/Destroy(force) + if (!force) + return QDEL_HINT_LETMELIVE + + for(var/datum/static_light_source/light_source as anything in affecting) + LAZYREMOVE(light_source.effect_str, src) + affecting = null + + if(master_NE) + master_NE.lighting_corner_SW = null + master_NE.lighting_corners_initialised = FALSE + if(master_SE) + master_SE.lighting_corner_NW = null + master_SE.lighting_corners_initialised = FALSE + if(master_SW) + master_SW.lighting_corner_NE = null + master_SW.lighting_corners_initialised = FALSE + if(master_NW) + master_NW.lighting_corner_SE = null + master_NW.lighting_corners_initialised = FALSE + if(needs_update) + SSlighting.corners_queue -= src + return ..() diff --git a/code/modules/lighting/lighting_static/static_lighting_object.dm b/code/modules/lighting/lighting_static/static_lighting_object.dm new file mode 100644 index 000000000000..a3e6c5054bee --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_object.dm @@ -0,0 +1,115 @@ +/datum/static_lighting_object + ///the underlay we are currently applying to our turf to apply light + var/mutable_appearance/current_underlay + + ///whether we are already in the SSlighting.objects_queue list + var/needs_update = FALSE + + ///the turf that our light is applied to + var/turf/affected_turf + +/datum/static_lighting_object/New(turf/source) + if(!isturf(source)) + qdel(src, force=TRUE) + stack_trace("a lighting object was assigned to [source], a non turf! ") + return + ..() + + current_underlay = mutable_appearance(LIGHTING_ICON, "transparent", source.z, LIGHTING_PLANE, 255, RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM) + + affected_turf = source + if (affected_turf.static_lighting_object) + qdel(affected_turf.static_lighting_object, force = TRUE) + stack_trace("a lighting object was assigned to a turf that already had a lighting object!") + + affected_turf.static_lighting_object = src + affected_turf.luminosity = 0 + + needs_update = TRUE + SSlighting.objects_queue += src + +/datum/static_lighting_object/Destroy(force) + if (!force) + return QDEL_HINT_LETMELIVE + SSlighting.objects_queue -= src + if (isturf(affected_turf)) + affected_turf.static_lighting_object = null + affected_turf.luminosity = 1 + affected_turf.underlays -= current_underlay + affected_turf = null + return ..() + +/datum/static_lighting_object/proc/update() + + // To the future coder who sees this and thinks + // "Why didn't he just use a loop?" + // Well my man, it's because the loop performed like shit. + // And there's no way to improve it because + // without a loop you can make the list all at once which is the fastest you're gonna get. + // Oh it's also shorter line wise. + // Including with these comments. + + var/static/datum/static_lighting_corner/dummy/dummy_lighting_corner = new + + var/datum/static_lighting_corner/red_corner = affected_turf.lighting_corner_SW || dummy_lighting_corner + var/datum/static_lighting_corner/green_corner = affected_turf.lighting_corner_SE || dummy_lighting_corner + var/datum/static_lighting_corner/blue_corner = affected_turf.lighting_corner_NW || dummy_lighting_corner + var/datum/static_lighting_corner/alpha_corner = affected_turf.lighting_corner_NE || dummy_lighting_corner + + var/max = max(red_corner.largest_color_luminosity, green_corner.largest_color_luminosity, blue_corner.largest_color_luminosity, alpha_corner.largest_color_luminosity) + + var/rr = red_corner.cache_r + var/rg = red_corner.cache_g + var/rb = red_corner.cache_b + + var/gr = green_corner.cache_r + var/gg = green_corner.cache_g + var/gb = green_corner.cache_b + + var/br = blue_corner.cache_r + var/bg = blue_corner.cache_g + var/bb = blue_corner.cache_b + + var/ar = alpha_corner.cache_r + var/ag = alpha_corner.cache_g + var/ab = alpha_corner.cache_b + + #if LIGHTING_SOFT_THRESHOLD != 0 + var/set_luminosity = max > LIGHTING_SOFT_THRESHOLD + #else + // Because of floating points�?, it won't even be a flat 0. + // This number is mostly arbitrary. + var/set_luminosity = max > 1e-6 + #endif + + if((rr & gr & br & ar) && (rg + gg + bg + ag + rb + gb + bb + ab == 8)) + //anything that passes the first case is very likely to pass the second, and addition is a little faster in this case + affected_turf.underlays -= current_underlay + current_underlay.icon_state = "transparent" + current_underlay.color = null + affected_turf.underlays += current_underlay + else if(!set_luminosity) + affected_turf.underlays -= current_underlay + current_underlay.icon_state = "dark" + current_underlay.color = null + affected_turf.underlays += current_underlay + else + affected_turf.underlays -= current_underlay + current_underlay.icon_state = null + current_underlay.color = list( + rr, rg, rb, 00, + gr, gg, gb, 00, + br, bg, bb, 00, + ar, ag, ab, 00, + 00, 00, 00, 01 + ) + + affected_turf.underlays += current_underlay + + var/area/A = affected_turf.loc + //We are luminous + if(set_luminosity) + affected_turf.luminosity = set_luminosity + //We are not lit by static light OR dynamic light. + else if(!LAZYLEN(affected_turf.hybrid_lights_affecting) && !A.base_lighting_alpha) + affected_turf.luminosity = 0 diff --git a/code/modules/lighting/lighting_static/static_lighting_setup.dm b/code/modules/lighting/lighting_static/static_lighting_setup.dm new file mode 100644 index 000000000000..6e1641585b91 --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_setup.dm @@ -0,0 +1,10 @@ +/proc/create_all_lighting_objects() + for(var/area/A in world) + + if(!A.static_lighting) + continue + + for(var/turf/T in A) + new/datum/static_lighting_object(T) + CHECK_TICK + CHECK_TICK diff --git a/code/modules/lighting/lighting_static/static_lighting_source.dm b/code/modules/lighting/lighting_static/static_lighting_source.dm new file mode 100644 index 000000000000..fedc47d94f6b --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_source.dm @@ -0,0 +1,280 @@ +// This is where the fun begins. +// These are the main datums that emit light. + +/datum/static_light_source + ///The atom we're emitting light from (for example a mob if we're from a flashlight that's being held). + var/atom/top_atom + ///The atom that we belong to. + var/atom/source_atom + + ///The turf under the source atom. + var/turf/source_turf + ///The turf the top_atom appears to over. + var/turf/pixel_turf + ///Intensity of the emitter light. + var/light_power + /// The range of the emitted light. + var/light_range + /// The colour of the light, string, decomposed by parse_light_color() + var/light_color + // Variables for keeping track of the colour. + var/lum_r + var/lum_g + var/lum_b + + // The lumcount values used to apply the light. + var/tmp/applied_lum_r + var/tmp/applied_lum_g + var/tmp/applied_lum_b + + /// List used to store how much we're affecting corners. + var/list/datum/static_lighting_corner/effect_str + + /// Whether we have applied our light yet or not. + var/applied = FALSE + + /// whether we are to be added to SSlighting's static_sources_queue list for an update + var/needs_update = LIGHTING_NO_UPDATE + +// Thanks to Lohikar for flinging this tiny bit of code at me, increasing my brain cell count from 1 to 2 in the process. +// This macro will only offset up to 1 tile, but anything with a greater offset is an outlier and probably should handle its own lighting offsets. +// Anything pixelshifted 16px or more will be considered on the next tile. +#define GET_APPROXIMATE_PIXEL_DIR(PX, PY) ((!(PX) ? 0 : ((PX >= 16 ? EAST : (PX <= -16 ? WEST : 0)))) | (!PY ? 0 : (PY >= 16 ? NORTH : (PY <= -16 ? SOUTH : 0)))) +#define UPDATE_APPROXIMATE_PIXEL_TURF var/_mask = GET_APPROXIMATE_PIXEL_DIR(top_atom.pixel_x, top_atom.pixel_y); pixel_turf = _mask ? (get_step(source_turf, _mask) || source_turf) : source_turf + +/datum/static_light_source/New(atom/owner, atom/top) + source_atom = owner // Set our new owner. + LAZYADD(source_atom.static_light_sources, src) + top_atom = top + if (top_atom != source_atom) + LAZYADD(top_atom.static_light_sources, src) + + source_turf = top_atom + UPDATE_APPROXIMATE_PIXEL_TURF + + light_power = source_atom.light_power + light_range = source_atom.light_range + light_color = source_atom.light_color + + PARSE_LIGHT_COLOR(src) + + update() + +/datum/static_light_source/Destroy(force) + remove_lum() + if (source_atom) + LAZYREMOVE(source_atom.static_light_sources, src) + + if (top_atom) + LAZYREMOVE(top_atom.static_light_sources, src) + + if (needs_update) + SSlighting.static_sources_queue -= src + return ..() + +// Yes this doesn't align correctly on anything other than 4 width tabs. +// If you want it to go switch everybody to elastic tab stops. +// Actually that'd be great if you could! +#define EFFECT_UPDATE(level) \ + if (needs_update == LIGHTING_NO_UPDATE) \ + SSlighting.static_sources_queue += src; \ + if (needs_update < level) \ + needs_update = level; \ + + +/// This proc will cause the light source to update the top atom, and add itself to the update queue. +/datum/static_light_source/proc/update(atom/new_top_atom) + // This top atom is different. + if (new_top_atom && new_top_atom != top_atom) + if(top_atom != source_atom && top_atom.static_light_sources) // Remove ourselves from the light sources of that top atom. + LAZYREMOVE(top_atom.static_light_sources, src) + + top_atom = new_top_atom + + if (top_atom != source_atom) + LAZYADD(top_atom.static_light_sources, src) // Add ourselves to the light sources of our new top atom. + + EFFECT_UPDATE(LIGHTING_CHECK_UPDATE) + +/// Will force an update without checking if it's actually needed. +/datum/static_light_source/proc/force_update() + EFFECT_UPDATE(LIGHTING_FORCE_UPDATE) + +/// Will cause the light source to recalculate turfs that were removed or added to visibility only. +/datum/static_light_source/proc/vis_update() + EFFECT_UPDATE(LIGHTING_VIS_UPDATE) + +// Macro that applies light to a new corner. +// It is a macro in the interest of speed, yet not having to copy paste it. +// If you're wondering what's with the backslashes, the backslashes cause BYOND to not automatically end the line. +// As such this all gets counted as a single line. +// The braces and semicolons are there to be able to do this on a single line. + +//Original lighting falloff calculation. This looks the best out of the three. However, this is also the most expensive. +//#define LUM_FALLOFF(C, T) (1 - CLAMP01(sqrt((C.x - T.x) ** 2 + (C.y - T.y) ** 2 + LIGHTING_HEIGHT) / max(1, light_range))) + +//Cubic lighting falloff. This has the *exact* same range as the original lighting falloff calculation, down to the exact decimal, but it looks a little unnatural due to the harsher falloff and how it's generally brighter across the board. +//#define LUM_FALLOFF(C, T) (1 - CLAMP01((((C.x - T.x) * (C.x - T.x)) + ((C.y - T.y) * (C.y - T.y)) + LIGHTING_HEIGHT) / max(1, light_range*light_range))) + +//Linear lighting falloff. This resembles the original lighting falloff calculation the best, but results in lights having a slightly larger range, which is most noticable with large light sources. This also results in lights being diamond-shaped, fuck. This looks the darkest out of the three due to how lights are brighter closer to the source compared to the original falloff algorithm. This falloff method also does not at all take into account lighting height, as it acts as a flat reduction to light range with this method. +//#define LUM_FALLOFF(C, T) (1 - CLAMP01(((abs(C.x - T.x) + abs(C.y - T.y))) / max(1, light_range+1))) + +//Linear lighting falloff but with an octagonal shape in place of a diamond shape. Lummox JR please add pointer support. +#define GET_LUM_DIST(DISTX, DISTY) (DISTX + DISTY + abs(DISTX - DISTY)*0.4) +#define LUM_FALLOFF(C, T) (1 - CLAMP01(max(GET_LUM_DIST(abs(C.x - T.x), abs(C.y - T.y)),LIGHTING_HEIGHT) / max(1, light_range+1))) + +#define APPLY_CORNER(C) \ + . = LUM_FALLOFF(C, pixel_turf); \ + . *= light_power; \ + var/OLD = effect_str[C]; \ + C.update_lumcount \ + ( \ + (. * lum_r) - (OLD * applied_lum_r), \ + (. * lum_g) - (OLD * applied_lum_g), \ + (. * lum_b) - (OLD * applied_lum_b) \ + ); + +#define REMOVE_CORNER(C) \ + . = -effect_str[C]; \ + C.update_lumcount \ + ( \ + . * applied_lum_r, \ + . * applied_lum_g, \ + . * applied_lum_b \ + ); + +/// This is the define used to calculate falloff. +/datum/static_light_source/proc/remove_lum() + applied = FALSE + for(var/datum/static_lighting_corner/corner as anything in effect_str) + REMOVE_CORNER(corner) + LAZYREMOVE(corner.affecting, src) + + effect_str = null + +/datum/static_light_source/proc/recalc_corner(datum/static_lighting_corner/corner) + LAZYINITLIST(effect_str) + if (effect_str[corner]) // Already have one. + REMOVE_CORNER(corner) + effect_str[corner] = 0 + + APPLY_CORNER(corner) + effect_str[corner] = . + +/datum/static_light_source/proc/update_corners() + var/update = FALSE + var/atom/source_atom = src.source_atom + + if (QDELETED(source_atom)) + qdel(src) + return + + if (source_atom.light_power != light_power) + light_power = source_atom.light_power + update = TRUE + + if (source_atom.light_range != light_range) + light_range = source_atom.light_range + update = TRUE + + if (!top_atom) + top_atom = source_atom + update = TRUE + + if (!light_range || !light_power) + qdel(src) + return + + if (isturf(top_atom)) + if (source_turf != top_atom) + source_turf = top_atom + UPDATE_APPROXIMATE_PIXEL_TURF + update = TRUE + else if (top_atom.loc != source_turf) + source_turf = top_atom.loc + UPDATE_APPROXIMATE_PIXEL_TURF + update = TRUE + else + var/pixel_loc = get_turf_pixel(top_atom) + if (pixel_loc != pixel_turf) + pixel_turf = pixel_loc + update = TRUE + + if (!isturf(source_turf)) + if (applied) + remove_lum() + return + + if (light_range && light_power && !applied) + update = TRUE + + if (source_atom.light_color != light_color) + light_color = source_atom.light_color + PARSE_LIGHT_COLOR(src) + update = TRUE + + else if (applied_lum_r != lum_r || applied_lum_g != lum_g || applied_lum_b != lum_b) + update = TRUE + + if (update) + needs_update = LIGHTING_CHECK_UPDATE + applied = TRUE + else if (needs_update == LIGHTING_CHECK_UPDATE) + return //nothing's changed + + var/list/datum/static_lighting_corner/corners = list() + var/list/turf/turfs = list() + if (source_turf) + var/oldlum = source_turf.luminosity + source_turf.luminosity = CEILING(light_range, 1) + for(var/turf/T in view(CEILING(light_range, 1), source_turf)) + if(!IS_OPAQUE_TURF(T)) + if (!T.lighting_corners_initialised) + T.static_generate_missing_corners() + corners[T.lighting_corner_NE] = 0 + corners[T.lighting_corner_SE] = 0 + corners[T.lighting_corner_SW] = 0 + corners[T.lighting_corner_NW] = 0 + turfs += T + source_turf.luminosity = oldlum + + var/list/datum/static_lighting_corner/new_corners = (corners - effect_str) + LAZYINITLIST(effect_str) + if (needs_update == LIGHTING_VIS_UPDATE) + for (var/datum/static_lighting_corner/corner as anything in new_corners) + APPLY_CORNER(corner) + if (. != 0) + LAZYADD(corner.affecting, src) + effect_str[corner] = . + else + for (var/datum/static_lighting_corner/corner as anything in new_corners) + APPLY_CORNER(corner) + if (. != 0) + LAZYADD(corner.affecting, src) + effect_str[corner] = . + + for (var/datum/static_lighting_corner/corner as anything in corners - new_corners) // Existing corners + APPLY_CORNER(corner) + if (. != 0) + effect_str[corner] = . + else + LAZYREMOVE(corner.affecting, src) + effect_str -= corner + + var/list/datum/static_lighting_corner/gone_corners = effect_str - corners + for (var/datum/static_lighting_corner/corner as anything in gone_corners) + REMOVE_CORNER(corner) + LAZYREMOVE(corner.affecting, src) + effect_str -= gone_corners + + applied_lum_r = lum_r + applied_lum_g = lum_g + applied_lum_b = lum_b + + UNSETEMPTY(effect_str) + +#undef EFFECT_UPDATE +#undef LUM_FALLOFF +#undef GET_LUM_DIST +#undef REMOVE_CORNER +#undef APPLY_CORNER diff --git a/code/modules/lighting/lighting_static/static_lighting_turf.dm b/code/modules/lighting/lighting_static/static_lighting_turf.dm new file mode 100644 index 000000000000..2fe918fa88bb --- /dev/null +++ b/code/modules/lighting/lighting_static/static_lighting_turf.dm @@ -0,0 +1,61 @@ +/turf + var/tmp/lighting_corners_initialised = FALSE + var/tmp/datum/static_lighting_object/static_lighting_object + + ///Lighting Corner datums. + var/tmp/datum/static_lighting_corner/lighting_corner_NE + var/tmp/datum/static_lighting_corner/lighting_corner_SE + var/tmp/datum/static_lighting_corner/lighting_corner_SW + var/tmp/datum/static_lighting_corner/lighting_corner_NW + +/turf/proc/static_lighting_clear_overlay() + if (static_lighting_object) + qdel(static_lighting_object, TRUE) + +/// Builds a lighting object for us, but only if our area is dynamic. +/turf/proc/static_lighting_build_overlay(area/our_area = loc) + if(static_lighting_object) + qdel(static_lighting_object, force=TRUE) //Shitty fix for lighting objects persisting after death + + new/datum/static_lighting_object(src) + + + +// Returns a boolean whether the turf is on soft lighting. +// Soft lighting being the threshold at which point the overlay considers +// itself as too dark to allow sight and see_in_dark becomes useful. +// So basically if this returns true the tile is unlit black. +/turf/proc/static_is_softly_lit() + if (!static_lighting_object) + return FALSE + + return !(luminosity || dynamic_lumcount) + +/turf/proc/change_area(area/old_area, area/new_area) + if(SSlighting.initialized) + if (new_area.static_lighting != old_area.static_lighting) + if (new_area.static_lighting) + static_lighting_build_overlay(new_area) + else + static_lighting_clear_overlay() + //Inherit overlay of new area + if(old_area.lighting_effect) + overlays -= old_area.lighting_effect + if(new_area.lighting_effect) + overlays += new_area.lighting_effect + +/turf/proc/static_generate_missing_corners() + if (!lighting_corner_NE) + lighting_corner_NE = new/datum/static_lighting_corner(src, NORTH|EAST) + + if (!lighting_corner_SE) + lighting_corner_SE = new/datum/static_lighting_corner(src, SOUTH|EAST) + + if (!lighting_corner_SW) + lighting_corner_SW = new/datum/static_lighting_corner(src, SOUTH|WEST) + + if (!lighting_corner_NW) + lighting_corner_NW = new/datum/static_lighting_corner(src, NORTH|WEST) + + lighting_corners_initialised = TRUE + diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm new file mode 100644 index 000000000000..c1fb288e9dd2 --- /dev/null +++ b/code/modules/lighting/lighting_turf.dm @@ -0,0 +1,94 @@ +///Estimates the light power based on the alpha of the light and the range. +///Assumes a linear fallout at (0, alpha/255) to (range, 0) +///Used for lightig mask lumcount calculations +#define LIGHT_POWER_ESTIMATION(alpha, range, distance) max((alpha * (range - distance)) / (255 * range), 0) + +/turf + ///hybrid lights affecting this turf + var/tmp/list/atom/movable/lighting_mask/hybrid_lights_affecting + +/turf/Destroy(force) + if(hybrid_lights_affecting) + for(var/atom/movable/lighting_mask/mask as anything in hybrid_lights_affecting) + LAZYREMOVE(mask.affecting_turfs, src) + hybrid_lights_affecting.Cut() + return ..() + +/// Causes any affecting light sources to be queued for a visibility update, for example a door got opened. +/turf/proc/reconsider_lights() + //Consider static lights + lighting_corner_NE?.vis_update() + lighting_corner_SE?.vis_update() + lighting_corner_SW?.vis_update() + lighting_corner_NW?.vis_update() + + //consider dynamic lights + for(var/atom/movable/lighting_mask/mask as anything in hybrid_lights_affecting) + mask.queue_mask_update() + +// Used to get a scaled lumcount. +/turf/proc/get_lumcount(minlum = 0, maxlum = 1) + var/totallums = 0 + if (static_lighting_object) + var/datum/static_lighting_corner/L + L = lighting_corner_NE + if (L) + totallums += L.lum_r + L.lum_b + L.lum_g + L = lighting_corner_SE + if (L) + totallums += L.lum_r + L.lum_b + L.lum_g + L = lighting_corner_SW + if (L) + totallums += L.lum_r + L.lum_b + L.lum_g + L = lighting_corner_NW + if (L) + totallums += L.lum_r + L.lum_b + L.lum_g + + totallums /= 12 // 4 corners, each with 3 channels, get the average. + + totallums = (totallums - minlum) / (maxlum - minlum) + + totallums = CLAMP01(totallums) + else + totallums = 1 + + for(var/atom/movable/lighting_mask/mask as anything in hybrid_lights_affecting) + if(mask.blend_mode == BLEND_ADD) + totallums += LIGHT_POWER_ESTIMATION(mask.alpha, mask.radius, get_dist(src, get_turf(mask.attached_atom))) + else + totallums -= LIGHT_POWER_ESTIMATION(mask.alpha, mask.radius, get_dist(src, get_turf(mask.attached_atom))) + return clamp(totallums, 0.0, 1.0) + +///Proc to add movable sources of opacity on the turf and let it handle lighting code. +/turf/proc/add_opacity_source(atom/movable/new_source) + LAZYADD(opacity_sources, new_source) + if(opacity) + return + recalculate_directional_opacity() + + +///Proc to remove movable sources of opacity on the turf and let it handle lighting code. +/turf/proc/remove_opacity_source(atom/movable/old_source) + LAZYREMOVE(opacity_sources, old_source) + if(opacity) //Still opaque, no need to worry on updating. + return + recalculate_directional_opacity() + + +///Calculate on which directions this turfs block view. +/turf/proc/recalculate_directional_opacity() + . = directional_opacity + if(opacity) + directional_opacity = ALL_CARDINALS + if(. != directional_opacity) + reconsider_lights() + return + directional_opacity = NONE + for(var/atom/movable/opacity_source as anything in opacity_sources) + if(opacity_source.flags_atom & ON_BORDER) + directional_opacity |= opacity_source.dir + else //If fulltile and opaque, then the whole tile blocks view, no need to continue checking. + directional_opacity = ALL_CARDINALS + break + if(. != directional_opacity && (. == ALL_CARDINALS || directional_opacity == ALL_CARDINALS)) + reconsider_lights() //The lighting system only cares whether the tile is fully concealed from all directions or not. diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm index 99c980a76c85..ee3324185fe7 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm @@ -184,7 +184,7 @@ to_chat(X, SPAN_XENOWARNING("Your stomach starts turning and twisting, getting ready to compress the built up acid.")) X.color = "#22FF22" - X.SetLuminosity(3) + X.set_light(3) BD.caboom_trigger = TRUE BD.caboom_left = BD.caboom_timer @@ -204,6 +204,6 @@ BD.caboom_trigger = FALSE X.color = null - X.SetLuminosity(0) + X.set_light(0) BD.modify_acid(-BD.max_acid / 4) to_chat(X, SPAN_XENOWARNING("You remove all your explosive acid before it combusted.")) diff --git a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm index 0214f6f78ea0..447e26acfa96 100644 --- a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm +++ b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm @@ -896,7 +896,7 @@ playsound(src, "glassbreak", 70, 1) damaged = TRUE if(is_lit) - SetLuminosity(0) + set_light(0) update_icon() else playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1) diff --git a/code/modules/mob/living/carbon/xenomorph/death.dm b/code/modules/mob/living/carbon/xenomorph/death.dm index 338f6b5d539f..9f38a3604f63 100644 --- a/code/modules/mob/living/carbon/xenomorph/death.dm +++ b/code/modules/mob/living/carbon/xenomorph/death.dm @@ -14,7 +14,7 @@ if(SSticker?.mode?.hardcore) ghostize() - SetLuminosity(0) + set_light(0) if(pulledby) pulledby.stop_pulling() diff --git a/code/modules/mob/living/carbon/xenomorph/life.dm b/code/modules/mob/living/carbon/xenomorph/life.dm index c224ab240d1f..1c532e1e26dd 100644 --- a/code/modules/mob/living/carbon/xenomorph/life.dm +++ b/code/modules/mob/living/carbon/xenomorph/life.dm @@ -511,7 +511,7 @@ Make sure their actual health updates immediately.*/ new_luminosity += caste.caste_luminosity if(on_fire) new_luminosity += min(fire_stacks, 5) - SetLuminosity(new_luminosity) // light up xenos + set_light(new_luminosity) // light up xenos /mob/living/carbon/xenomorph/handle_stunned() if(stunned) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 98a84b1ad8ae..73f9f9853172 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -145,7 +145,7 @@ on_fire = FALSE fire_stacks = 0 update_fire() - SetLuminosity(0) + set_light(0) return TRUE return FALSE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index e8d96d683107..c1d37f42208c 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -350,13 +350,13 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/reset_view(atom/A) if(camera) - camera.SetLuminosity(0) + camera.set_light(0) if(istype(A,/obj/structure/machinery/camera)) camera = A ..() if(istype(A,/obj/structure/machinery/camera)) - if(camera_light_on) A.SetLuminosity(AI_CAMERA_LUMINOSITY) - else A.SetLuminosity(0) + if(camera_light_on) A.set_light(AI_CAMERA_LUMINOSITY) + else A.set_light(0) /mob/living/silicon/ai/proc/switchCamera(obj/structure/machinery/camera/C) @@ -534,7 +534,7 @@ var/list/ai_verbs_default = list( to_chat(src, "Camera lights [camera_light_on ? "activated" : "deactivated"].") if(!camera_light_on) if(camera) - camera.SetLuminosity(0) + camera.set_light(0) camera = null else lightNearbyCamera() @@ -549,20 +549,20 @@ var/list/ai_verbs_default = list( if(src.camera) var/obj/structure/machinery/camera/camera = near_range_camera(src.eyeobj) if(camera && src.camera != camera) - src.camera.SetLuminosity(0) + src.camera.set_light(0) if(!camera.light_disabled) src.camera = camera - src.camera.SetLuminosity(AI_CAMERA_LUMINOSITY) + src.camera.set_light(AI_CAMERA_LUMINOSITY) else src.camera = null else if(isnull(camera)) - src.camera.SetLuminosity(0) + src.camera.set_light(0) src.camera = null else var/obj/structure/machinery/camera/camera = near_range_camera(src.eyeobj) if(camera && !camera.light_disabled) src.camera = camera - src.camera.SetLuminosity(AI_CAMERA_LUMINOSITY) + src.camera.set_light(AI_CAMERA_LUMINOSITY) camera_light_on = world.timeofday + 1 * 20 // Update the light every 2 seconds. diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index 162bc4acc45e..f546f5e283d7 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -97,7 +97,7 @@ if(can_use()) cameranet.addCamera(src) else - SetLuminosity(0) + set_light(0) cameranet.removeCamera(src) /obj/structure/machinery/camera/Initialize() diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 093ae5256446..955ae8b2454e 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -47,7 +47,7 @@ forceMove(T.loc) if (istype(loc, /area)) //stage = 4 - if (!loc.master.power_equip && !istype(src.loc,/obj/item)) + if (!loc.power_equip && !istype(src.loc,/obj/item)) //stage = 5 blind = 1 @@ -95,7 +95,7 @@ src.see_in_dark = 0 src.see_invisible = SEE_INVISIBLE_LIVING - if (((!loc.master.power_equip) || istype(T, /turf/open/space)) && !istype(src.loc,/obj/item)) + if (((!loc.power_equip) || istype(T, /turf/open/space)) && !istype(src.loc,/obj/item)) if (src:aiRestorePowerRoutine==0) src:aiRestorePowerRoutine = 1 @@ -106,7 +106,7 @@ spawn(20) to_chat(src, "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection.") sleep(50) - if (loc.master.power_equip) + if (loc.power_equip) if (!istype(T, /turf/open/space)) to_chat(src, "Alert cancelled. Power has been restored without our assistance.") src:aiRestorePowerRoutine = 0 @@ -133,7 +133,7 @@ var/PRP //like ERP with the code, at least this stuff is no more 4x sametext for (PRP=1, PRP<=4, PRP++) var/area/AIarea = get_area(src) - for(var/area/A in AIarea.master.related) + for(var/area/A in AIarea.related) for (var/obj/structure/machinery/power/apc/APC in A) if (!(APC.stat & BROKEN)) theAPC = APC @@ -144,7 +144,7 @@ else to_chat(src, "Lost connection with the APC!") src:aiRestorePowerRoutine = 2 return - if (loc.master.power_equip) + if (loc.power_equip) if (!istype(T, /turf/open/space)) to_chat(src, "Alert cancelled. Power has been restored without our assistance.") src:aiRestorePowerRoutine = 0 diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 14aee45981d8..2018aad5cda3 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -56,7 +56,7 @@ src.has_power = 0 if(lights_on) // Light is on but there is no power! lights_on = 0 - SetLuminosity(0) + set_light(0) /mob/living/silicon/robot/handle_regular_status_updates(regular_update = TRUE) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index e7aa27e7ce55..c92b5801dd87 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -325,9 +325,9 @@ var/list/robot_verbs_default = list( lights_on = !lights_on to_chat(usr, "You [lights_on ? "enable" : "disable"] your integrated light.") if(lights_on) - SetLuminosity(integrated_light_power) // 1.5x luminosity of flashlight + set_light(integrated_light_power) // 1.5x luminosity of flashlight else - SetLuminosity(0) + set_light(0) /mob/living/silicon/robot/verb/self_diagnosis_verb() set category = "Robot Commands" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3f57bf75c5e1..68a63bdcc733 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -318,9 +318,7 @@ var/atom/movable/screen/plane_master/lighting/lighting = hud_used.plane_masters["[LIGHTING_PLANE]"] if (lighting) lighting.alpha = lighting_alpha - var/atom/movable/screen/plane_master/lighting/exterior_lighting = hud_used.plane_masters["[EXTERIOR_LIGHTING_PLANE]"] - if (exterior_lighting) - exterior_lighting.alpha = min(GLOB.minimum_exterior_lighting_alpha, lighting_alpha) + //puts the item "W" into an appropriate slot in a human's inventory diff --git a/code/modules/movement/movement.dm b/code/modules/movement/movement.dm index 429ca2356ebe..585d153f2dad 100644 --- a/code/modules/movement/movement.dm +++ b/code/modules/movement/movement.dm @@ -92,12 +92,12 @@ /atom/movable/proc/Moved(atom/oldloc, direction, Forced = FALSE) SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED, oldloc, direction, Forced) - if (isturf(loc)) - if (opacity) - oldloc.UpdateAffectingLights() - else - if (light) - light.changed() + for(var/datum/dynamic_light_source/light as anything in hybrid_light_sources) + light.source_atom.update_light() + if(!isturf(loc)) + light.find_containing_atom() + for(var/datum/static_light_source/L as anything in static_light_sources) // Cycle through the light sources on this atom and tell them to update. + L.source_atom.static_update_light() return TRUE /atom/movable/proc/forceMove(atom/destination) diff --git a/code/modules/nightmare/nmtasks/mapscheduler.dm b/code/modules/nightmare/nmtasks/mapscheduler.dm index 2a8279e13608..336e779bbfa8 100644 --- a/code/modules/nightmare/nmtasks/mapscheduler.dm +++ b/code/modules/nightmare/nmtasks/mapscheduler.dm @@ -19,6 +19,7 @@ tainted_bounds[tainted_bounds.len] = bounds /datum/nmtask/scheduler/mapload/proc/patch_lighting() +/* var/list/tainted = list() for(var/list/bounds as anything in tainted_bounds) @@ -33,3 +34,4 @@ T.cached_lumcount = -1 // Invalidate lumcount to force update here T.lighting_changed = TRUE SSlighting.changed_turfs += T +*/ diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 59dd4c5e69e9..35ae070ec530 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -245,7 +245,7 @@ if(A) on = 0 // A.update_lights() - SetLuminosity(0) + set_light(0) . = ..() /obj/structure/machinery/light/proc/is_broken() @@ -269,7 +269,6 @@ // update the icon_state and luminosity of the light depending on its state /obj/structure/machinery/light/proc/update(trigger = 1) - SSlighting.lights_current.Add(light) update_icon() if(on) if(luminosity != brightness) @@ -285,13 +284,13 @@ status = LIGHT_BURNED icon_state = "[base_state]-burned" on = 0 - SetLuminosity(0) + set_light(0) else update_use_power(USE_POWER_ACTIVE) - SetLuminosity(brightness) + set_light(brightness) else update_use_power(USE_POWER_NONE) - SetLuminosity(0) + set_light(0) if(on != on_gs) on_gs = on @@ -414,8 +413,8 @@ /obj/structure/machinery/light/proc/has_power() var/area/A = src.loc.loc if(!src.needs_power) - return A.master.lightswitch - return A.master.lightswitch && A.master.power_light + return A.lightswitch + return A.lightswitch && A.power_light /obj/structure/machinery/light/proc/flicker(amount = rand(10, 20)) if(flickering) return @@ -565,8 +564,7 @@ /obj/structure/machinery/light/power_change() spawn(10) if(loc) - var/area/A = src.loc.loc - A = A.master + var/area/A = get_area(src) if(!src.needs_power) seton(A.lightswitch) return @@ -739,7 +737,7 @@ /obj/structure/machinery/landinglight/proc/turn_off() icon_state = initial(icon_state) - SetLuminosity(0) + set_light(0) /obj/structure/machinery/landinglight/ds1 id = "USS Almayer Dropship 1" // ID for landing zone @@ -749,42 +747,42 @@ /obj/structure/machinery/landinglight/proc/turn_on() icon_state = initial(icon_state) + "0" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds1/delayone/turn_on() icon_state = initial(icon_state) + "1" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds1/delaytwo/turn_on() icon_state = initial(icon_state) + "2" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds1/delaythree/turn_on() icon_state = initial(icon_state) + "3" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds2/delayone/turn_on() icon_state = initial(icon_state) + "1" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds2/delaytwo/turn_on() icon_state = initial(icon_state) + "2" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds2/delaythree/turn_on() icon_state = initial(icon_state) + "3" - SetLuminosity(2) + set_light(2) /obj/structure/machinery/landinglight/ds1/spoke icon_state = "lz_spoke_light" /obj/structure/machinery/landinglight/ds1/spoke/turn_on() icon_state = initial(icon_state) + "1" - SetLuminosity(3) + set_light(3) /obj/structure/machinery/landinglight/ds2/spoke icon_state = "lz_spoke_light" /obj/structure/machinery/landinglight/ds2/spoke/turn_on() icon_state = initial(icon_state) + "1" - SetLuminosity(3) + set_light(3) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index ac3daee900ab..eeaea8729642 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -51,21 +51,21 @@ // return 1 var/area/A = src.loc.loc // make sure it's in an area - if(!A || !isarea(A) || !A.master) + if(!A || !isarea(A)) return 0 // if not, then not powered if(chan == -1) chan = power_channel - return A.master.powered(chan) // return power status of the area + return A.powered(chan) // return power status of the area // increment the power usage stats for an area /obj/structure/machinery/proc/use_power(amount, chan = POWER_CHANNEL_ONEOFF, autocalled = 0) // defaults to one-off power charge, not constant power change var/area/A = get_area(src) // make sure it's in an area - if(!A || !isarea(A) || !A.master) + if(!A || !isarea(A)) return - A.master.use_power(amount, chan) + A.use_power(amount, chan) if(!autocalled) - log_power_update_request(A.master, src) + log_power_update_request(A, src) return 1 //The master_area optional argument can be used to save on a lot of processing if the master area is already known. This is mainly intended for when this proc is called by the master controller. diff --git a/code/modules/projectiles/ammo_boxes/ammo_boxes.dm b/code/modules/projectiles/ammo_boxes/ammo_boxes.dm index 65f3c4ca6fdf..5c2756236d5c 100644 --- a/code/modules/projectiles/ammo_boxes/ammo_boxes.dm +++ b/code/modules/projectiles/ammo_boxes/ammo_boxes.dm @@ -14,7 +14,7 @@ //---------------------GENERAL PROCS /obj/item/ammo_box/Destroy() - SetLuminosity(0) + set_light(0) . = ..() /obj/item/ammo_box/proc/unfold_box(turf/T) @@ -27,7 +27,7 @@ return burning = TRUE - SetLuminosity(3) + set_light(3) apply_fire_overlay() addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 5 SECONDS) @@ -224,11 +224,11 @@ if(host_box) host_box.apply_fire_overlay(will_explode) - host_box.SetLuminosity(3) + host_box.set_light(3) host_box.visible_message(SPAN_WARNING(shown_message)) else apply_fire_overlay(will_explode) - SetLuminosity(3) + set_light(3) visible_message(SPAN_WARNING(shown_message)) /obj/item/ammo_box/magazine/apply_fire_overlay(will_explode = FALSE) @@ -409,7 +409,7 @@ visible_message(SPAN_WARNING("\The [src] catches on fire!")) apply_fire_overlay(will_explode) - SetLuminosity(3) + set_light(3) /obj/item/ammo_box/rounds/apply_fire_overlay(will_explode = FALSE) //original fire overlay is made for standard mag boxes, so they don't need additional offsetting diff --git a/code/modules/projectiles/ammo_boxes/box_structures.dm b/code/modules/projectiles/ammo_boxes/box_structures.dm index 01414f9cbe7d..07c2298e3868 100644 --- a/code/modules/projectiles/ammo_boxes/box_structures.dm +++ b/code/modules/projectiles/ammo_boxes/box_structures.dm @@ -13,7 +13,7 @@ //---------------------GENERAL PROCS /obj/structure/magazine_box/Destroy() - SetLuminosity(0) + set_light(0) if(item_box) qdel(item_box) item_box = null diff --git a/code/modules/projectiles/ammo_boxes/misc_boxes.dm b/code/modules/projectiles/ammo_boxes/misc_boxes.dm index 37856818193e..e8904b22663a 100644 --- a/code/modules/projectiles/ammo_boxes/misc_boxes.dm +++ b/code/modules/projectiles/ammo_boxes/misc_boxes.dm @@ -34,11 +34,11 @@ /obj/item/ammo_box/magazine/misc/handle_side_effects(obj/structure/magazine_box/host_box) if(host_box) host_box.apply_fire_overlay() - host_box.SetLuminosity(3) + host_box.set_light(3) host_box.visible_message(SPAN_WARNING("\The [src] catches on fire!")) else apply_fire_overlay() - SetLuminosity(3) + set_light(3) visible_message(SPAN_WARNING("\The [src] catches on fire!")) /obj/item/ammo_box/magazine/misc/apply_fire_overlay(will_explode = FALSE) @@ -117,11 +117,11 @@ if(host_box) host_box.apply_fire_overlay() - host_box.SetLuminosity(3) + host_box.set_light(3) host_box.visible_message(SPAN_WARNING(shown_message)) else apply_fire_overlay() - SetLuminosity(3) + set_light(3) visible_message(SPAN_WARNING(shown_message)) //for flare box, instead of actually exploding, we throw out a flare at random direction diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f681e3c76fd9..1bcc5cebe081 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -452,9 +452,9 @@ for(var/slot in attachments) var/obj/item/attachable/R = attachments[slot] if(!R) continue - loc.SetLuminosity(0, FALSE, src) + loc.set_light(0, FALSE, src) else - SetLuminosity(0) + set_light(0) attachments = null attachable_overlays = null GLOB.gun_list -= src @@ -1698,8 +1698,8 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed return if(user.luminosity <= muzzle_flash_lum) - user.SetLuminosity(muzzle_flash_lum, FALSE, src) - addtimer(CALLBACK(user, TYPE_PROC_REF(/atom, SetLuminosity), 0, FALSE, src), 10) + user.set_light(muzzle_flash_lum, FALSE, src) + addtimer(CALLBACK(user, TYPE_PROC_REF(/atom, set_light), 0, FALSE, src), 10) var/image_layer = (user && user.dir == SOUTH) ? MOB_LAYER+0.1 : MOB_LAYER-0.1 var/offset = 5 diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 0d55d9c55754..7c55547d30d3 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -665,15 +665,15 @@ Defined in conflicts.dm of the #defines folder. attach_icon += "-on" activated = TRUE attached_item.update_icon() - light_source.SetLuminosity(helm_mounted_light_mod * activated, FALSE, G) - attached_item.SetLuminosity(helm_mounted_light_mod * activated, FALSE, G) + light_source.set_light(helm_mounted_light_mod * activated, FALSE, G) + attached_item.set_light(helm_mounted_light_mod * activated, FALSE, G) activation.update_button_icon() return if(turn_off && !(G.flags_gun_features & GUN_FLASHLIGHT_ON)) return FALSE var/flashlight_on = (G.flags_gun_features & GUN_FLASHLIGHT_ON) ? 0 : 1 var/atom/movable/light_source = ismob(G.loc) ? G.loc : G - light_source.SetLuminosity(light_mod * flashlight_on, FALSE, G) + light_source.set_light(light_mod * flashlight_on, FALSE, G) G.flags_gun_features ^= GUN_FLASHLIGHT_ON if(G.flags_gun_features & GUN_FLASHLIGHT_ON) diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index 3c94f9b34442..0c6fb216b74f 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -171,8 +171,8 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/obj/item/attachable/attachment = attachments[slot] if (!attachment || !attachment.light_mod) continue - bearer.SetLuminosity(0, FALSE, src) - SetLuminosity(attachment.light_mod) + bearer.set_light(0, FALSE, src) + set_light(attachment.light_mod) return TRUE return FALSE @@ -184,8 +184,8 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/obj/item/attachable/attachment = attachments[slot] if (!attachment || !attachment.light_mod) continue - user.SetLuminosity(attachment.light_mod, FALSE, src) - SetLuminosity(0) + user.set_light(attachment.light_mod, FALSE, src) + set_light(0) break unwield(user) diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm index 831d37e0484d..2b427f79074b 100644 --- a/code/modules/projectiles/guns/flamer/flamer.dm +++ b/code/modules/projectiles/guns/flamer/flamer.dm @@ -554,7 +554,7 @@ GLOBAL_LIST_EMPTY(flamer_particles) RegisterSignal(SSdcs, COMSIG_GLOB_WEATHER_CHANGE, PROC_REF(update_in_weather_status)) /obj/flamer_fire/Destroy() - SetLuminosity(0) + set_light(0) STOP_PROCESSING(SSobj, src) . = ..() @@ -643,7 +643,7 @@ GLOBAL_LIST_EMPTY(flamer_particles) flame_level++ //the initial flame burst is 1 level higher for a small time icon_state = "[flame_icon]_[flame_level]" - SetLuminosity(flame_level * 2) + set_light(flame_level * 2) /obj/flamer_fire/proc/un_burst_flame() initial_burst = FALSE @@ -678,7 +678,7 @@ GLOBAL_LIST_EMPTY(flamer_particles) var/area/A = get_area(src) if(!A) return - if(SSweather.is_weather_event && locate(A.master) in SSweather.weather_areas) + if(SSweather.is_weather_event && locate(A) in SSweather.weather_areas) weather_smothering_strength = SSweather.weather_event_instance.fire_smothering_strength else weather_smothering_strength = 0 diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm index 1bff1fcf8afa..127b060baec3 100644 --- a/code/modules/shuttles/escape_pods.dm +++ b/code/modules/shuttles/escape_pods.dm @@ -141,8 +141,8 @@ for(var/obj/structure/machinery/cryopod/evacuation/C in cryo_cells) C.go_out() evacuation_program.dock_state = STATE_BROKEN explosion(evacuation_program.master, -1, -1, 3, 4, , , , create_cause_data("escape pod malfunction")) sleep(25) - staging_area.lighting_use_dynamic = TRUE - staging_area.initialize_power_and_lighting(TRUE) //We want to reinitilize power usage and turn off everything. + staging_area.base_lighting_alpha = 255 + staging_area.initialize_power(TRUE) //We want to reinitilize power usage and turn off everything. MOVE_MOB_OUTSIDE spawn() diff --git a/code/modules/vehicles/multitile/multitile.dm b/code/modules/vehicles/multitile/multitile.dm index cd9689b06a69..a268e812fdb2 100644 --- a/code/modules/vehicles/multitile/multitile.dm +++ b/code/modules/vehicles/multitile/multitile.dm @@ -357,7 +357,7 @@ //vehicle is dead, no more lights if(health <= 0 && luminosity) - SetLuminosity(0) + set_light(0) update_icon() /* diff --git a/code/modules/vehicles/multitile/multitile_interaction.dm b/code/modules/vehicles/multitile/multitile_interaction.dm index f6110b3af3b6..fec8b24106ab 100644 --- a/code/modules/vehicles/multitile/multitile_interaction.dm +++ b/code/modules/vehicles/multitile/multitile_interaction.dm @@ -209,7 +209,7 @@ to_chat(user, SPAN_NOTICE("Hull integrity is at [SPAN_HELPFUL(100.0*health/max_hp)]%.")) health = initial(health) - SetLuminosity(initial(luminosity)) + set_light(initial(luminosity)) toggle_cameras_status(TRUE) update_icon() user.visible_message(SPAN_NOTICE("[user] finishes [repair_message] on \the [src]."), SPAN_NOTICE("You finish [repair_message] on \the [src]. Hull integrity is at [SPAN_HELPFUL(100.0*health/max_hp)]%. ")) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index ea7fcfb9f4b1..f661c459e575 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -145,13 +145,13 @@ if(powered && cell.charge < charge_use) return 0 on = 1 - SetLuminosity(initial(luminosity)) + set_light(initial(luminosity)) update_icon() return 1 /obj/vehicle/proc/turn_off() on = 0 - SetLuminosity(0) + set_light(0) update_icon() /obj/vehicle/proc/explode() @@ -242,7 +242,7 @@ seats[VEHICLE_DRIVER] = null /obj/vehicle/Destroy() - SetLuminosity(0) + set_light(0) . = ..() //------------------------------------------------------- diff --git a/icons/effects/light_overlays/light_128.dmi b/icons/effects/light_overlays/light_128.dmi new file mode 100644 index 0000000000000000000000000000000000000000..22dc0b0108702f5dbc74a2d1170026743fa7dd9d GIT binary patch literal 7040 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 literal 0 HcmV?d00001 diff --git a/icons/effects/light_overlays/light_224.dmi b/icons/effects/light_overlays/light_224.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9fab531d1a691cf1cc53c3f54aec69c2e4bfba09 GIT binary patch literal 17004 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 P00000NkvXXu0mjf9iK$$ literal 0 HcmV?d00001 diff --git a/icons/effects/light_overlays/light_256.dmi b/icons/effects/light_overlays/light_256.dmi new file mode 100644 index 0000000000000000000000000000000000000000..701562efcd8f85fea23b0bf9475c33698c57c338 GIT binary patch literal 21365 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 literal 0 HcmV?d00001 diff --git a/icons/effects/light_overlays/light_32.dmi b/icons/effects/light_overlays/light_32.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5269b1fba36d8ad0dcde7862da177a51a4632e26 GIT binary patch literal 1140 zcmV-)1dIELP)V=-0C=1w$2$suFc1a6I(v#o(u=<~jYK4c-a$w-3w|J3^!gTdGX}#r`2}wF z^u%2FzF^T;HK~__Bv^DUsT6rn@~6lu5f=L3J&7h2I2Twnq_(`C@wdUaIJnu<2RM2f zBQMMJ)c^nk!bwCyR9J zmPqacyTcJo`9ReaMFB+jGzNn~aejWzV_Qn82(JUc?+sA9qb$qjv2zZe06YM8WPTrL zNF7L2DWwXiA4B9`0s(k8*hnOXfj}i&11nofY4s41tprj^1ND!917KgzaUhcuSO7P` zHL%qCZAxifmSs&(>m?xYk-)~lk?dI@vo9r($4i0V08`n_gi=bYJ`#5b1n@(Fo&qm` z6a79GsZscTEpO)nz65^hd8skIBsK_S;3vRK;0$;TyaJw!)M1YTmVN?UXv|(1(@P>( zV24)XV}ZYsy%mWw^*s{-Z^e}qn8|Z1J%0~;0N#nzQ2=ld zu7O)Aa3b$_)mN);%e}S(ewvGxoz3$Tn(Kwj*ygkgpp*tTM+NH3fhjiO^q;bEO&r%wEPv%T_ zK)1HrJkOiwGl@|)r?=<8gL5x-f|+0u`tNIToXv#dJjN{s+2Fnj^1i3Ed`>?b!V)yJ zf#bdGq_PU;erL38EoQt*^VpVQ{+g@f2z zZm#Done=W&-`z0Wh=z1Ww9TG72BJ!ig;;*Ax#xD&OCXSlr`eG1YL=gp&i(Of<~(ul zWpyiojEKSF=^5+&jmxQiH;=iTK1d)VvaK#?;`1rj^Zx-LL*ly4j3jXY0000E0E~83q(HbELtsR?|)~p#T z_DpO-?6>cG&iltb_ndpqea>_4JI9YDTwZ4rJ%DxOiHn=DhrW}3mG$17rRmv8n#(6Z^ounKJ*}RA z9_ixe;nJb$WX9+bV+y!B;Kb-4Prrp8(I>Zn@+ zX)Ef&`Th=D)Z3JoEaahq8V@IZQLFLpm86%&Bdu2#zI=fbPH`9UN2IE2eiQg=8R zH(aL~TddZ-GqwkcCPO_gKlW3<{IEDJv!#}@pjbl_;roMiJ`3z14wz#YMEsgLPajU-=g}%?YC9JHAme^^JeFt0jbJoyIXY4 zlO?;QZAw{dWm_jcsMGQ$6ScFDJ{BeRTZl(0fcpF`mX_;bu0xJVPMo4 zVgslR7|A$VWf&Tam73D6FMiYBFrA7ESkoZ=nsD^;k!%S#0n*HuBm z4ddJ#WM**#X~VEK{SECN-vVaH_zl5Lz(Sx3K*?PtI&lypET7NoRsrkaW3ij!Qs_Zf zO-43>?fxCd*e>(5=jpj418vV4 zk`%PGqoJ<5B0~RrBLc(6!0{w=LSN<*3$0zyerpxYo8u!0ji1|YeBSUc@$BSQYVU&W z8Q{VzSr_^@`Jym4e!yo~G=iRk&=q%3QqSha|4=0zS8byeq`CY2%#*7AIwCZ}w_p?q zOG{aNU~sTGPPy^%bK;ailmXYkcaU+Ky0VLMKpyBV zi%j^%y+YGx#Svy>c&a*3ewE{P4+b%QX~A(R58!L_EhT1UsDBZqBKuoRVV(G~jyStL!Z+Fp;r%t?L2p@MaH~73+KDM=cl+mPi#TQ`(g&oN7 zZbEg4c1GYH@z@c0n-(btfJe=3a(xH+ZkB2WR0a^etMf_wuam~0gn@nC6XBn*wR{C0 zL$Y>D6-ajtZ|DXtY4H8Bg zRdX_Pz)0EEVI0+_z35N?n$`*o(+KjDMKa>YkDO@7PI|GQfd~757-lBX&a24 zPo#FFX$9|6T^#%BRABGctQMiz!tCtr)TL3GI*`?>H(CiWyGN4`X(3=InYxUx{%lXl z8AZ))`M>~-$pJi%*l|Sdgr;X_a+%#T)$;eY)*Pdd!6-*>cM&{`QS{31*BXeHkT@s9WW9mn|* zV1@@#iW&6wD%dCmg=fZP$s{^XlK6(O05Za7A-8V=+?qXTv zB(9XrW0jPOM#RbBgU$?o_cuy6Q5}Huha3n`fI3sFo4MebxTT!rN&f?N^nZ3utMIQ- zEFW)C3vbav>*M;^c+Gm5BtFJNTaA(XZ@a#K8=;uJmh^@5hYM#Wax$Jw@pFBig8Jb- zY1GR!oD*{E;?#tA6v%LZY7j26E zMDvwKaF;=vExE83w-Fe%JxK|~$VT!c*Jg)Q^!wbWYi@U^Q6c-(v)&3wY{2$jQ^*}{Ozg=+q$8)4e>0WN+Vf$vADWC)+9 zS)2s>ul#$=M(*Z$2v}QF2itLPj z6+~_p)f4o)d`>Y7Y`KD6g1gMyy!*OB23ZfEvwGwd;6u&SE@2$!3V^Uj=h|~&y1R|K zK>8O^J-;Znen@`0DaI&fTa#OJB54hv>WyFCY@`Hv?|mm5FaoCDNJAW*(QN={M}G#n z@~+PRac}fg;uJom96S4OTjQ#;qaknnLWP5+}@Wf%>DWKii-d*-7x}MF| zS^>Qa9K&x(mhRIP`j1mpcm@7lHy!X)sp!Xs ze7X_2ArvaaHzppZqA`!C{EoV<>XY>4Uj2srjrHvJyoTX+s?mn20?60(Eh6hZlUiH( z?@*@5JBBMnVE<`D$qWr9`yIo+^uN1R9ESfSC!n@W_O!)e1A=QUgJ=U7~i)zLr0k1Tjj$4Dlm?Ch`h=6M+e=)7I^w6 zIHeHxhEngWZXErRwk2c3nmU_pbI4P2<+J8WicR5_bgu^!RdqHuywFU{c^G9Au8lE6bGJ)y~*Y88#sSK%= zYNUPMDc?SMj9-LuZ*wW&d!MWKQkp(AR{cLhUcuHb#ncu9YrTFBxZ2L_D4>acj2?!Q zBHf-Zjq?ADONCfNUJ3=0!rVi)_m@JRvqu#i-PjzCF0LBV+%Uh!9z-97kdZU50b2|F zh2=1d=lNSDi!FtT5q!@};`HF{YEMZaB240z;9H%R(~&zRoBwmN)oziBb&T4Rqiw~7 zH;C>I>;_zEIMcQs65sjQYYsn%$fgFp+OJbRH12Ji*LSf1Gg3Sg9e0R*7mAHo!_k>& z#&jFV>x!D<*0ZHU%onj71Owzkt|=>*2pu>4;9Ea;=+}~I1kWT?6H?*TlIg<%x6a%t zqfm-?X`2*Xn_`EQ_iLrydiT3$^>7N`+Zo(~)xP6zzZPcm{!Z@@C3$AmFWqB2XQH=s zoRTWHXEHj(t$2Sjw-p>g?O1|n4NmTHyiSiYfyc^AmU9Cg?F|uF)mMwdI7bLlLmtKgALBD%#>x~f+aW{XWDpoX$@|J&yB>7vhGt!^k@QhGtOY{~$ zhXOaoM}jI#djcv-)}g6r42uk0jV_Jme}XD8CC3}vI#=}%i8M3ODH1jDHYhRFB-JPS zZ!|B$ffF0rj1|{pSn6kypz~+vJV7Gw&*Hn&)bkE23XgJRwJk%lmKG{QKi&NCD_K?MxR1b zURn?RpPNBVBF9e{-KSWXjFaB{EN$4$`lm@<;a|grir3r3SK3U#v8@DxazsTTZR;Cqxmsoo{!u=ByOikNx=u`+ zlYClH8?)lg3eRvKiSO6odJ5${f$m&hq6Q?o8(phY&$Sq4*v06Dmg}Ph{WNw5p=FI- zIAy=CJGvNeX3Md_!YJYn%ly?YgX3vl$)OQ9xCKUVSPt!25|=1^+?#A{S2vn-iV>_M z=`scOTuh6$8`I7I)R2U)(x>*i(Ib4C2g*|$O3EfAc{vDlsy2SDdTC9Ab0mMc+j64=NbOSO7qzZMDPI+5nJ4PO-D_NwpK2ST> zF>*M0#Ap0k3O0BykqBI?SOlx>Dn1uuJ%f%onW*zBnvu8p+SV!q@B{cY~{jNVuD_kV~4lesfjJyHukCiB-*BC%Q8Gi>*`ry z*!@}siaf(G=eJbb)Bx&!8tbHycI@_0~K%?a#u%-@&)U)ftS?Gl+~P`72I=UTdKh zPw~xqKIS&s=L|}SioatL>!8#-)5ZOb?w_xXh)Tqv7KHyG3&Rd;IAZytNq0~72c)A7 zw1V1Eu(qCPcs|dAunVB;gV((D_tGK-U$~tI-!w(Hf)!$f>f#<(4Dho|x(ZPoQ6c@=DLXA)c4q<@oWq)R>NYegTacFnq_O%ZnXx@3-mwdOSb+3QY^kF}V`UCf!kU zw9J5ReeGskC^=9m?7n1+&D2KMwk?e&;pdD}>|1BMTq;yOB+5ts>nuGT+`0O7_097^ zP=gPTMUr2+Cq2ln727WbuIeej%o7_iY#%{C_WRHAzqcs5_Btx*;#P^>5#wzocM}m! zfB=h;ow6f$wwS?~z}X`TSBE>UcOgXL0t#CB$2-pAC{c@i=gIpvF-}$tI2rIWLbYXU zNqgn8dnG6oqKpl=*buky+w4WQKJdJrR(n78ZYZ)`A zNC3iK6MTIs{?2IrvF&D!ql;(VY(dN-IUPTKEGgyCI~X8f;mt@zZU~At9E+z_WoVND zi}1C)Fe3Zg@))})_htBmt-CUICJLh~|B}p=T0y@r3vZN4K*LQOl2>7k)Rv;%FPYV2 z91Z(nRd;Iw7}{lGrbjr=S-2?~p!p1~A=XOTr;6!=_h(A(#5gd>E0WE@#h1)a(30eP zuj;C@>{FkE)-n3=#xU@jPr%bb0w9V~ByFcN{48+ZlxI(*v|c85k?A<%AFYrrT){s! zO1>%H!CC0?pz?<5bEUMir@>t3L0cTqu>7D}&TWU3RTB8rgB|>n4@*WS2N7<)aG14S zINV0GZidYF{-b20b=UMG^!?qK@S+8ebw?hta3!;O<>)~%#_g;7{>*ZQp`0^zb{qa? zzg?Ks)1C3LFm>XL?1-ZxVTHB}Ri_Zpl!F zxrz4RV$2yPrr2aI{v%pVxYq44UIv$#)Ai4!UT+o{JNMs)Sop5Kf-HgV9Eulxl9T(R z!lu(q-tux2Eo8zCF?snG9Ap@M?IBL#&(2ZFkJ8W=^I+x6#Qh~X*dU8+ODkJc(~~l? zrMosM(!~KGcFqHu=Xn5}7+Vviln}L)#e#Fte1)H%I3Qs$Wyp$D5c1-_bVV$M%I191jl$>zr=!YyE<+@9IH2BbRdSJ=EfjT~{@G(fU@mR>BL^C= z$_AZe;T10>z@;1Eur5KWK92Y7!EO++Z)MDoBUb=9?_Y`XV>gV+rHQ8gJ}TfF_~4d? z0dT&xXGifw#++Z1`_u~v{&($md(gUbF^4*VbphT#u4kRwM>hcKkH|2wMXwH+Cb7-p z8R(0Gxa&MxNW9gDNc@-2AA!FZ(RoaA2Qow7CYIh|1xe%LnD4S3ZkRg(cluaq>&||o z${2ec7U0PNcJpgmTSY;FixrKXf;Z4Tap-(-EYa;e!LcxsFW^>%)p!lF<-lR#8d1C{ zVNHl}rgKuOvgfn8%<{RuVa%K|U9Kq|6N32Jah*Q+LR1J!_^_~+_YEW7UJ-UVxNM3F z=?g|5GdGf-FkBX}a0jv>*rKGnPd5@Kq45uXxuZ4o>$8sbmD!C5W3W9{iq+%>G(l0` zh-;NTB-IAVU9>1Kr8s7w@eb@#iZFM=Y-0>q9?^qiDm0Tu4xUioIF=~tXr%F58dYRv zR{RZ3dM%*(SNZ&Z?))!@N6paH%o?$u#d@nHgF4h+fni0j@2#Yb+DE+ru7;>(X#DmE z!WVewU_>tTi0p3>!8CT`!CU{iSNyJ#_jS<^Bwr&G)PZmLxnR+Ewy+j_4-6KP zxo)2UW8le9A2+MWth{b_uGehycJ=B?Kt`OOLU|~hg>&Gqp5L-4Hp-`fndgPu$;So4fbMlXuo{D2^%f zOmAfrcwSwyiv?txBM0~pP|pfF|yR#IRn|GGJyjDc}-oOok& zJ_3trV}k;dQ~(|nFO=?I{chYJf3`hUrQn5J2UdSiWKs}1h&i23B*}PXumW3|^B`MM zQcuexi0~om`}VKq`yeNv9sS8(bq4yBMGIdf@;t4p0n7g5>d>45uDuOV^a=Yo8maDL zCcv!05cA>ZfpYYNt#Mq5mzn3yJy66wm-W%SRZ;>cOR2pjU1G{SGfRV-ZI=Ip9)t1j zQUG0^%{A!G_l+t0DaMi?ji}lezq!weiRdm>x|U>(V=F8O@qMy+xv!#g9b1ago^39# z4#RrFxxaAvWf*0Ug+V9glaVa#FMUCg6}i;#2z{Dv!*JnlU_IHI4dEUk65%h<4L4#o^A@DGu@&>IP9% zs6WS0Yuv?}3mAitOPA#T=(&-YzZGzlB6Nc5MdhN$seEXgX;sSgo7b)b zBD;Y*^N>JJ2lQt31wZ4Ua8njR`nIf2h;IKT^VNY3G0SRaHDU<+0Q}`)Lf^Sh#1MNPm zRO2$H9F68Ok={3&t?$&ElZC?5-%efE$7cw{w2$)2j-O-U&?2^q|>rU zJq@t56@f48D25G$gA z<)1HP5OjQW6R#wU+hIlL;&WG=g6RJ^-*6*Bj9K>B!cI*h_Vme_19nPTG^k9{EE#0%TI1!4<5fp=k5ssw0e;6)%TCk)J($U^@ib?@6dGn{cdbmmky8NOy;3NC2rHzx7K}lLxl*h{HRrY?Eh6-U2+a1 z6*JGWDG+vK9%)SFhsN6{_n17e=-eG0jNH6?iOHl)80zx`61slHU`N`GxgF|67bAjX zoS5E(v2bExq?9~QPON@L;lFCc&Bxq(?Mc3~9$k}3;`AVvkZ?+I+ zBQ~Z~Hrz0_9Kl+2`p_Y*b)&s&lEMC*MFVC-IvxDY$S6>hUT=Awtj%EIWkAgv^{O>)w;^VJLpth34ajBnkFd$>+<}a@6k1?_T=2p`%8z}abG@b;i>!; zLkp?1O=*4d+--BjDdvS#7mltPF*iFa7AGof4nW{E&5bt2MxJj;0ZEWoV#_zU?9|}9 zOSR^7!)jcdLSx!QsgsXIZQMnmxu{#6rdsRsU8GPJ<%Xeu10M=kNWX?7OpuNNzv2e=y9H6o!xq&e;tz z#;Rss$?lQ_?k5?SJKSXFOdIIM1fcdNhIBN`oEbFL*W@MCHQptzf_7NV+NTVADrNm z`LLc_FUuM?PoMsOEx@{1*>-$y*Ve);&r34n{#uQJgKeC^2}`Q5d`*TxDg$Bg-l;?qZ3Y*%vF{E=*$+0dvb-Zy+y-j9M~T05Oy~{D zs}Hn5-kgJZ#N^z*+qQHVA3hAh&Y(I>!bt+;+d{xs;5IY0t*E_ zbwUt~>5|I5jqT@ygY`(4w`2CH5QiIUOSJVoyIagZ4`~tO$&YpMfj!ZY;7i`^l)j7s zFq3GI*u#>V?Yc|XS!^n4Ai{8Clyep|G%m6kPC-ZUhL)+q`Ew4HGk=Ms*WJ8L{iJUts8j%dYC-xPdvZI z#IlsBm5o^hXO^JdS3*4Ajag+$9aVJ#eXn!-4-7Hi@(I=!sNpydOk;a5_xncup*5im z{9xlEaenFC?xIn_OhY#a&(o*`7Lc^(ejG#M<&UFE^!O_=49Ptu%*vi%sLR~H+M^eR zPXNd%{hh|HZwL`f5+G5<_YL z1}+tD=l9iIOEl#_^XXF|35B@Xfaj~J!xn$J-R$O08tt|Ule)1ZW+}e;P#xO|bZpRC zp#RC#(s_TkK5{f?ki~}~0RK+d$vRC^bxh)Z;uuc7z+d*Zu#uLZty!!)=-cSu=lfC1 z3y8g+G2h4J4++3#UoaB)X=zbvv9y)8zvu8{H*UnwBJ#ZIv`mf+PM6)r8;kq0t%Z&Q z&F0d?T7Mi&xJ*GK{49B&x;*?t&orLcQ+^O+e{_a59 z2(%)%UMU`ux*ixj_})3@*YoxrQ`cLnY?$N6@-T`Q#(tO^ zR{nN(4d4M<3p0aJw<@}UE+sWnDG&CydCooZ5Q&o zTgujLmE|<-97Hw1u|{eiM{S}U7}U`wK=M+DV~6e8$Eo+_(O*BzP5H}9phP$xhuwOk zn#9i%{Jxatv!XF&4P{gxXXkc0#gug|AWuACj-}*g8NwW-NMhuVS;3vW39u?ci@vvUpOGm{5?CE7;;DGG5JWV=yY zWhR%2HKpM7aEFfb8j54!SH$n99%o7@C~Mky>a?9~A#4TCP9w3__r27nzqRygXwIN< z;34|F!+FvcWqheB{`#cRIOo2IgNyzzt*Hk&2O>YErigMuBrYYppWL^8@4jdaU>q^( z_V)?@rqaR^CZ>@?oj9Mr+lcpM#C^9()S^c!^=|+JA0uo2ZRju)v@B6m zv|_-3Z;MjJ@OO)l@uCVMzjC4$Nu&|U5(S2e?YQfFWl+6x_nMFVuRas?oveMU{u%(D zy@dxW&22B#5=q-x2hWcSF9t=|p;v@X&(YWc5w$m<(|^s=fD>iD)zg~+*kiUo`qP51 z|ADR5X90jL`{K7(RIrHfAo-FV^;QGgRTEkl>VCl;eN3M1`T&+8|A&8Y91I z8;&`w1h+c_C6AwV5VKQlQ|l5)0s|@9@NndZ3dA7fVEAmg3A%QR0=k;f-VQ2kwg~`C zkKCxY6U`m^hz+ssfV&&JEe;TvKsH)hFqe6p}8tuXmM ze$>5(CVE5&pF zm4unsJWA>bvP%p%z5(yL$jrrF|B#u)d*RU-l1KO;hRrHO3t3ruO&ZvtD3mWq{lV4pS+9weYt`j z@uyF0nF;$(Bj<$-2MpJX#5Hs}>&=}7gzJ(pJq1^sZ#tD&@t@8_OdBIA`bsKzZnqEF zMT;9SNUXI-pQcefqF*`NCSBdh23g@Uz6x!(gkk-7wZQH0WKXz<@xt2nnw$~@`IddT zDm1|)+2HFJvAKy>uTbC@63rg0 z@$yM~bV8k|xfHn>_#`qEus%3+a2$4mV`d_o*8gjwMw~gkaP{-FHUZMP*kxVCy}ew# zw%jr!RO}P318o$grfa~#G z*^kYIOZ=_7KK;)e36Zi>Q(gz>xQA+nQG#j&o2cL98*&`^3mFhA7jICQ{rI`KSyB@^ zCvDSb=bkNcy*O`;Y?8!vHF7F+h~3Ehr4juL&tC#$=wXYJOypUIu_v1Q z@}}igF1E(?+jf%kO$7sjNiYlIG&yIW`vk^5bJzwYMZ0J3hAX$vpX%zBBDNQZ!x0@d z-mXE_ql4O{h$@gHU0RpuZgNF$DR28q32Vh3rq;H5$#1^pGc?Bpf8CD3kiV4%vr1t7 zulY+?|9K&BCoiwa$;K&dxLmcSQPpT647xeaWc-^sDSpf$ho+g@+y#Qd%+DBA8bN{~ z8Dkj;y6yYjZhMfL)xcO%%`GxKJdN9bOxSp=v}G{poIx*4YR1A#MD^==j{u;44_yHq zK|e!pQ~nh0u_-V!+NG5qI0)xVH?6l})Hj}Q4yc&m&Td7TqMAZjlmj(KgVOzODmsh1 zTO8~Z{i^Z|O$uW8OWptbmLtqtplwEhSzA#}O@GF4@s`2VO{hm-(#s^fcnuosh4rFB z7XO&Dcl$7QUK4?&10RAfZR5RL1G+{7LHEl#ROBbxO~NBWmFk1gVK-E7{LVIxGK;bl zdqPbxXwcD<9{V- z*h`<_9tD1qHtNQ&&2>XB9`zGvlmc6%5!>kpwd3z_YRKy$+Tlv`M9r~)I;VEl3;p2+ z=l#{xK6IvbY6%FmUelKeii13(^acK3tbp7AqS?x*-GZM!Uqp7|$l_k|G>^ zY4OXlbm)6xQA^oFFnFKqM^P4wl|_ONL%N1ka^ma<%wVR#fsZ6UdfaLS?Y%s;>Y|Vj z(BYbuc`MgU^JaB0$-m23Jp3E(ra6Jrz2JQ2^Hk2@xu`1VvJM9nwo1JDdb=aL_2A^a z0%&y<(un)(2U(Nd8a^qkU9CLy5x<*w?erd(z!NM>$*fUOQxQo&F9`82lXMu>eNKSc zS>ME-7)%rI|JGA|QmD@DXq4+I0Coz)@;}wEV_57OfnVX^0G&L(_QBLK7-d<5*T7mz zdchiH-7UQ^;5KH@)Hg(WBuh+OQkqE(?b7LOBlnBF?T(1u$aElwUwYiGxZ3L-n2m{{e$pM$@%OYfT3j76i@`x&a;jH^nco2$lbYn8Mr7ujGP z;Io)L(6cl^Nzb0wzC)xr^$TiP&o$xlQbm?UoU_53iqobJu9uSPS|)>p?@`xRo5Ugf z2b!w^KA!!p9iuzi>NlU~CoRC_2S8^T+q@+IC@VV~hmWg+J)Wc5+gknZH{{S-X`8Bn z8G3lu$H!LPOs`}e=ba_8K%Uv`;(B!XMQ|a*p8dNBagMcpV$INUe$MntJBqi6j9z)J zuynvi>iM+YpMySiY8^$|ofQV^g-??|40%QMeiGPh3m05DAI`cqRWSx>H60^|^4|_C zd#p4sT!W zo^2BQBaH{`ri+pI-26ZzA;Y}qyIGOxS<0eK>4ML>F%@5itT3T?b!)bpg5@;x4@M-_ zVM*roSXr5f3CLIY4F`H_#lO{0{6gaK11rF9;?8EFAv^i6G5zBQ2KIK8k6TpVA=KX+ z*Ra0#9TeYka*=J%GD)rZ3=6LUhpBD|J2a=!O1E7_edH9hmdb=j+300;C`^`7XE)C? zdfD9rTb}Z({r*l<5Pf}j;s^jAjoKLKc>v3De5MrFb3i#{MNU0f6jtdfl|| zY+aJ&Mb7~SIcuob&NF#aj@fX<{`CZ>4v>`{usIRyj81q&6K!Sb6*=cN^{TCJ^$|0Q z-=r$M)e|rG-|*&>GmCwvuK?x%7k^*%Y|(*KP^Wn_ZUrr8RDJ2Hyq|K9PH9AII5^GX z_T#Pp`Da6{QMa^yi7L_!vn&s%%*eYEi}TqEj`1h;xV8f0wdqN>PUEdH4yY5Bbqrq< z{@!?`XOzL!Rfw@0E0}2hO04m=?0`0mb|%s4=FYH>40osvx-DUX7e!x-7=S)4ht7Xr zB;bBNU*x0Mt_`7!8c_w0bvAI)@VSue;gZB&8qS4*of4zt7okO7`A{r7b+}EDOn-F) zNp^$%x9rf}s)AX~%|JF0@T1xxy3u!GG)>)s2A5SBDr^%4E#Qg2A zq%IKgfLqa;6Z&No(^Wc1lp!R~jf?K~J!_O#K>!=7JtU>T9&LgrIYnKWZbTEwEyghG z7I3{2$CpLIiR=+!p?h@-y1bJ>XowvI7%iDu*@b`|CF7&>NS)6YV7*GxC--!5AYR*98TsDKER|qEXLx(uW=F2NaKaVOQTc)$yTa%aSpNpcY&O|hEOIWG? zheLkqA!__mKFxz#MmuYK=QyYxp%Bqz<6v(Zk)K6m{=zG?@~cP+T;z$9SFCd^U1Rf+ zY`wne8b+wm$pHjCBzZAp#iPh4qP73NlL*MjUKk0cZ=7zoXP!3o4pNzqL3p#Q1>md@ z3%GZh8*{)3Zug$^P#V{m1&Q~ja347H^YP~A|9tFD#_(D`|Ac=lfeWJX;!9r5&>U)E zAN|{xhP%@*_&EskP;b(rHv2ERC#D){Y{?9}6xI@R^&A;==)82@c-nBkCGV4b8TTMh zn{fbVGht5;f!$NGZw=e(L3Ax?SQ!5uRuY<uq+-kC*EM@u zws9^#{C>4hiW17Yv72`yuoI;hSNCs|n?KDlTFa{c8Eo%gN&N!tX`R+J6@ocKz=bV7 z<5r4nHC|Q024|{O^z{%Nt@_0``FTZ!nc7padYsXwy4~am85h*w`wPY%n-LjgSqo8< zcAfI7wbLO@Fn0~nH1y7;dIp}$u;e6u32@;lC9N5g&#G&84OYdI{1!wnJi3S88$}G) zXpnbu5&SQ8jtgCkkH2jDb^)(w(g!DdG&cd&r;Y;T3M?}5RKg~c7mvD3m-f?e8Q+gD zYmB?j1wuTT#?h~L;Ft|r$J?b(8qdkRC1uRDrjtsu%>nB@q#ngkR7W2(xL}1zxl9FXfG$R(db7By}H+{!BGNZAfZ$31h$9Oi2tb-Vu@}7HR!mEIP*tu z#JJII759bKLawz9#aJ*8tCic@%eMVJ$Y9HJsxodF3V8;(yw0cdWt+sK648Jvyp$*I zRG9=IL|aW!n>|W51WWjUUx2@heqgq^)vK-O>VcMx2d0G;s?DRmtL}W*#Zuz1icRFS&&AoK=x(u) zEGsIPktMI77-yKx2DQ-&+PVB0Dzjx=qed$5l*PyCblV}fPwhe|fpZE} z=Ze}!>*$h=%u+J$bazgsXuA*G_1|=I3r&~7y@4ioYinNVN$Hx$B(*QmV znwTNZjKR;oV$N{FB*l*Ryt2RcS-;obMoO+eTF>OH00i|SKr}z=@~8oT?eo~3O^J&T z5?2uTQyC`N4HdMJ$vjubz;m>d;;o0(yoOZS4#zKvz&{=g z#GbUCkcs1JH}0#dV07I6rlsklAJkZ$XC$s=**qK5WRSu^fc#FS1gO>Y*I=9fhZ!SK z{Pj(Xij$sp*n~o3v(O-qWyw|9HzHQvGetHaq*C3vzF`00XOjcTnKl>f2eoF2RTpmmiUtv7;oJW$T0HE}G@Cr)VydV{ z_8e>uIyJx0%loH%=shxYX|2?dBX zS3RF`Ihz5<;R4URWa2x>gErI7gOhQQktzj{e`u=bs_-5$u7|2uJ`@kIe~$0}s4Xi@ zuJA(>4?`4}=IrvTxLfNEC+jW_K1I5B79fM<8r6SLf3i_pZPFq6+X*;0iJj>cBGT)u z9yAXRpU%8Dv$49mz0&NaVIceC-tA_UW1b#iZ;LW>d$XV>f%V*16(K?&doI1YmAGc{ z3W{3<-2JrC%q%C^g-37wRHwGy>+0p2(q@mgLCwPq`6TcNjP;V#BWJw}%geD7v?@tU z!8`5LNsyrV@(meBo8!wCUe_qvviTW`|7mMpas>eR44LMfsu~+LV?lboCygQpegE_O zk>XkuP)6ZDf_c>%=7MeA^E-1O8k=3QnC@zA4cx4F%CZ1UX67Hn5$}BQb+?iJRTZ-! zqjs2!SrWDwCv_~Rx+!S05n8(SoBdy?IUn(ZE}LTOB~}9F4T(D=g6kE4JkPh{uU)WF z11ncv=rTEXkL>fDez9RU-m8eUwMlWslHB0+#4nb)8?rt{1$#DK$Ku|42HsTjl8sWF z3T9xVMVz~4GEv;PKBI>ZHanE!^xsiiZHPu*L!x&{H$=j_@2COS)z3FLQ5<$B0^Ua% zMVt^tcUfKz1D{ZTS%s(W4u!-bfc3B3Hn?V3peoZC3snD7<(hZkfBQW!vgvH7K@DVh z(6)k;%GXZPnri<2i^=4<(*5W)UyN_91PySmFdoC#v$pR?2RlP*GN;@@m|(M5V% z$;_==RD=@!OWVnx8Q*=PU8e>H?;`U1vHb+U*1XaUDpXt-JjaLDymn~n&x66vmM>d{ z>pHSIrnv)({pq-+YEVyAf!f(>8SmD4AisF1K_ukbVOg^6#sk?Cm_lX`_KS;)$2qf# z=JYhA1Z5Pdyl!V`+f&!rrKhZY)Kh|BwrN?-^^6eb&PSG>z;YrhK4G)YUB8lRMMiHQ zsCywpYnxrsUrU2=Jf>-Nxo}??6n`OhWNhUMps+29+`{U*s@a>`RPmS6tbUR40^{ z=Gf+(-*Ji~m#Syl~4G$H;nT4*XqMHdpZlQvqdg1@crCrhxV4Xg; zFjMGJ|I(*YwnUBhaUJgvtzbl39sqWMzc0KKabMOF=3HGWvq}o0cC$y2j2rIiX4n z0hwX^|EG;cn1@X_Ht71_~ zg1d0y@MzZG+r$);uBbP1q{R(PR)sibP`bwcS>wF)AJ+mla!uEEQS#t2_)=Z%UD)y4 zJGNit#VBUgz+fE87Ap-bZpuF8`Lvf1#l^*|ki448EKk>HJF|p=Y&Vz``HYK`y%Y%U zKYpvw1I~N<^o{C%R&##jFg$vD#~qW^UlZhT)vH<%7@lU$6lwckYYOz>f(xffPN$jV zmD(TjWG8W4Kj{-|*ds*=y$tVPf6&4is?w=MaX)k^|7RL1nte&H3eH#|yX~hZ{KeE!`;$r`*i}d%dZ0ULHX|Fj= z3H|8lSpmZ6F)FS-zsoNmjTB1hg)db1Vkl=@aTsD?Wt+e>jV1JP6}dV zzjD_5>YXi;j#r(lN=dSR1 zl}8tla;@L&;sopb@FGoPZ=6nGD*`s~pWTGm>>=k7wxFh7Tsv3@bz~!z9}(U;bMeHG z8{=T#MPV8rM}?WmizFTePPXjeEn~xX6iiv8&(0^4$IOQtBl}^lYUZ@wmhJ!1F=~Ns zs@_GXgZk@WzSMG`@-wpXE&du2^orEBYvH=#$Wnt3K_fG>fNoW>B3Cd{tN2?q$H3V# zr+CxYsoIb6azINg%G3(SSH42ruXOQR4ate?AN)ZtkW+al3+sRJlX3`OC3X;K;Ph7^ zzJcRDMwV11!4A}DLXmW(b8g?Mtq_LYS43k=Qujs{GDSO{R;p~WL2Iq5?GfnKpj;Xm z4jp8me)g)U+aQP}u@2Dk(?*r5_$cvdwYSxE)6O28k7o2oKm82s`Z-r2WgkL@uL(ps z8`+x{`G&Ut0})Mfe7gAI%|Y~5Q6y8V%RknEV4+cOolt&4bE}Nho*GVPYi?ROvN?jP zw{dCyIBR!iyu4sKP>juZq|IXdw{m#e%K8_zDQ^;ne%bk&vHP&yQ5-wB{d%dS6OWDj z(G7+sbIZrn0p1Mx?;H@Uxmj&%Tdp8mi8BvJHL(W*ChPbzQ+*V(>n8DSG?Qz5BA3n z^#1!NVE^{C9wOY(qj!QWza=k-TC@FNo&z5Sz=)s`x%r5fnAft4xBY*hANqf-2;-)4ZdNr=G%(!{pM>UoV2w0aDoPTK+fG9z9uR{TcODxAkv!$e9m@ zMG@};ObS+Y*sy1M{YkcH@GXZtB`W@Z8rha_+O>Hu?^0Xz)d__rqvG#+gztX`^FQf$O zsMLXxd7&zs^-D9m_0LQrpRATfGne6B)bYmsO33vah4~(kqMIL2K{AJWmpde@^<5yg z1uJ`{YLKCT1!6gn@fD}r#dAj+|D=1aI0k&vB51~1F7j@S9wRp#HHEv=c4z`UmpvVe?<;e+E%XCvBRREn?=fAq zL)yluyatb(!nQ`R#VeGpApf_(8f% z`pAazdsM#ZuIHk}$c$pYri3?-FUCoF0T-dWA=BW~_vVRZCL>S$-O{MMB|anT&BO0t zTf-V7|S1(CdzckjiEPM+YPDtzw6hk-4&0muvI=d z*1UVKLiX?93;ug6TjH?){1QU9t5jNK<3m@(i)G)EU`OO#CjuPGrzc|`iDOekZ(xeu zeiiDTDV#oxEHC#91qM}EP;@VQm&K|4xM1gXc4kj+Sw**Q_u@pemh~KW@&djy%_(x)B==H1u`g~0Fn$QVGclV7a&9*7$D4D|yf*cIj4>7mwTcH2OWGIM`yGr1T|AgS7 z5Y*M2q1*nuv^rb_?MJyZzY{6Y^Pv3MA4z#F(#7gck=OW^d%h=_`l}By3;e>xtC+*j z3;R#W_Vs6(f0B?(c_ozyNcU~F5W_jRRVXdSa^;j3>S^^I4qsla+WvjevZT@P<=w@# zsR2M;b(-HNQ^r9Fro!=WN9d>NmMz$K!Y8T=c`+jkP@ju5XD`_7fzG^4jT9liYS8{) zn$D^W`e-fu>g;%l)A>K1_gpc&cE#NQD>klMf0i6sF(#TxWOz#1pavnCuQ1kCW!s>fDZOG>0>&Ib36W zM`QZtf)f_C^0um-i2o27nA-9^_C}?#8ESw|Cv$C`7#n6#rMD zAMUXLH}+Gu-<2-iIn=XUs_IMAK+`y09Eafx2w|dSl-`CN*5b^c6l{F`l-Es{)G0`I zB~9CQnLho22GD!fSFpbK1C-05vUbMG$Rk_p`wv&*=ezbI)K{i6CfwvZGESv)6lzB5 znQR$QcO_vB@`JIDAAi*xY8QAk`TGuT)(91WSv$&UGp~=CGttw$PFVr$C)`Pn)SLv> zEhH>nIkFXW_?5tR{v39%UwQl>gk}N%gq*A%nD=CnT{IG$+Fw;CItKa3saQFkaDr1_ z-+eFn2342c#l8m2pr`6^axH#AuK)Yl)1I-S`mmQQ8|bQJAC7av&s71nrYM&!Ms9Ok zHZ=-olypXQ_$REhLDFQ8uNcGe^MRDS-%l%|(5WUy?0gzAYD!Ce9q6g|az1fCt03yP~}(8n%Ml;d+bAA$xf zc2{~26x>TRjU~8X2h9ypSYHPVbxP#YK}erx=v=|?JbA{~(CL(oD3%Tvcu5NmnkF|&QEkgNuOV;}Z&9T6pSEm0WNkvY(1H$F$hX~reNpiy|GPW} z2X-gVt&(ab$6{BwhOduleOVfRlq5?V@T2kR(gsNGa(90{;zXC@CL&;oN*R5e#!tJ!6)X*zWS``P(l5J8kPde{hZxLeA(w~?uc=}l=~SOqxUR7{MD#=5 zfE@=FFS7wOeIEcgXIYQa2YTm6W6^uFBZHkY1%ZRUv9@2^dF1N+YHJQ?=VYYgyd zK@=n0lAJ+zlVuTD1lc?7`(m$^M|}8AjI6HgzXfN%gEJd5RpOvcp1gy=p2RmGVL{vE zObluB<5&khlvh61MD#_%VVWRS#?}FowSbMhyQMjI;@~MYOi$LK*nPF{guRzs5C5F_ zB}LuyS1ODbp@prpO|iE`c!?N<|C9$wKPR7$Dx}g9RDgz{UXe)y*hPof_Zg!8y!T)T z<^7=8>)eWhwE?>u_{zC-p4G0We->x>XU`OGdgT@PubIR-e3aObz{6$s{>J^hPA0^1^Th(`%b2I7(Nf2)dSm;zKM$Uv zSViaFq0`Jb#952DH+`|wetsm@hF&jOjX4Ru5yDbErUW#d9cWr--~QM)%XI=De3>zl z2obF&_SApg4sAGk`_FveKd{w`W*mKh^iO8J&G>;E=ky{=|3453)0ss~p80X}c}Q_p zNXyWhbtj^aR^hW1>ZQPnkZ^M1n+z|ircIPee3xW=a_QYcHd|4d%j*(H!Y^85R`ePL zvL24MjGtHT^tChy$-ws9W|C*l0tvAfrgYhG0##5ePFI7(V=?`SDT-|lTd97nYRn*O zS5uu(XWE9**sPA(IjPq1H@7nQ>b5TPcd7h_w|TQ8eS#?}3151X|9x8(PX+`di2Mf} z-Qt`%6(#aF&BWq?FHtCojgltb+xGU-uZuP+`B@8icXXa%35t7!O|6uhvHR0(zh{aG2QjY zf7&FE-HAWNJ|2xqL$A+??V{Fi$zLK7oE%%)$%+=zWE{nrv_V$dTm?6_?S%#$#UUr} zCmZ~td~6y4eaXJ087S!{cq`R_*faf1xbiW41ehP}XW8VY|c}9`{@{+crNXkz$ zrKun(2sf@5JWeX^q5|M>zmRqxl6koFLoGfAW8tJGfdxS+xXI_8mbx%Rld6bY>25C2 zJ)^H7c8*Ug9kM@?EMF%TDkZivaluL~AUK99b2q=sB34oA!wnyF;oui}<6U~(Q54_3 zce1KJFI^@ZiIp|Yf$K5QBXk;9?|A^2b8dWqk3-mMtfqUv3S7u<>MQtb;6y{qF5yb9 zmS%8K5KGLa>Exd4M)-41tf`Az_cs6fFQc+>Y4zlC$Zi$A)q;;Fq{v?T{@&w>;RUb* zX^uE+l(n(8U-{F?>*svNGqoXK$F^>jXiL)7BD%11`$^i&_3nW$KC)(ejEnA7U7s=> z$L5Y2Zd9c?b)XI=)V^GgM z4@qsmTy(3zw%G*2TKw7gOswO*$1p-#@eCr{Z!x+T35WcY`&EY{lmWbc1T|C?n2}8E zMHbBnvi#SdkDRU3F2T+FA57^^jUlW_D{sdNVy!|VI#jr`HUh|d^E+0-r`z|ElYte{ z%GvPWUyzi|PaRvj`f`Gq>>2(q0P%8P5UE|a28mWhZ|_`=RQQ(gonOdG^LodCSHrit z3jA=W!l2vawelrcAQ6clW9I)+*bPwATcz;zSZ$hNHc@}UYxJPu*!}zTVTf{PR zA*P9c#o)lpYbgYNq4c&nYaY9Yv0IHhe!)ky8N=)!YpM}{WE!!r!TuyyO{aO0;uxI+ z4{rToVYhRtwiKU;e9YC{)qAAHqLQ6NLNq#X4`3zN+JGsB8NxjtYb6+}d*_`HfFfEj`952TO*$t6GiE-dv3udPN1vT#)BgSB_RjBDjvR*#w= zY*aL{=BW}X7z`(P7sdOAP!7D>oD3|NsXhpaErG>5KK140GwTrk>Rwg)esc&dvcw`Q z5q*nSRvZakw@J65sln2w+8Ij)NB$RONd^?+?3Z$RI}Kxa9jd#?t)!FnU>pG$%^OCd z5;dWM6eJ?`t_MeHUKP4vb*mBA;2bY);B_swW#t8OA22Ug)a+q8r;WS|EJEIB8d@i8Mh z^W?p93d8)De{k)ilD1uly&fiDFEbSSQ?h(QXD6Z@yY>%}SLorvlNY6|*)FjcW`>gK zck)`W9J&Vow6&i`82-8;7-kvP?2!}m_7l|e4MxjG1o!VexVo(gD&U+y-R>j_re2QE z+3=k%ypz9as!X5x50TbmxqWa`uj-bTTt#rji3>qF2(!Ms=%sNLe&i#S5xxsQDIDGh zOjVpD>>b%_>V>T)Oo*W-B3zmkiL;FPU2Qwv1Hmzv+NV#gHd56c3M03UR@!TF#h!ZB z00Kn%0x{uYw|1)b2wfj4yDX=k+0;RD;AI>E!RwQpT2c{a*iA?9@*qACi9ePjCcXnW zt!Une#d#F{HF8(QJbU*;Se6bMaa;GrzSF>$;~%=0TlAbMxXz7L_~ZV>oF8`pr`yO= z^2shX9?n|cjgcbE@#>q0tGUnkXh$RtSHEEv^{~!aG?PeCRV~?{|0>CP@gauMh3#54 zduTX2Qzvp}z|D@iV)#Jg*qlh^_^eR>9$ulM4apha4^=2d%<(eiXaYh~IpfDh!VsIM z{)GRLoBC82!}jKWiEe3xu)>-%sZF@I*O4%j3gFAn1dd)%@Mpss5 zilWuHmRh!eG9aJC^m&CEy;hd=Cee>83~U@f*ZKPBfOo@*zL&Efx0<|JuwY$M9UZJM zb^Jk#1QNUcQ#xeI*Q>}n4qiCpIzrhoXT!Tc*w^}A4$+Vf3oJ-<-7;suTEc^5gV$v^ z9B6zU<6KHN7h(nw4Eg8@5luGCuvVdV$w`^;<#fn^k*K*mdQ}IW0oLubj?oTbp;@BSo2wk**G=?Z}WLd6`7b%Fv zf&n-P%GeMoZ472!;l8>^P!66Gc(Ic2uaZponcC_Cioc1RY(wk6kbRAcy}BTc%7`7hM9v~Mh?9q zt~^PVxEEN_W29HLDITnL-!7T3Y9V{sAN_;PvNx+ASd>8}8Dxw=rHAx0Gl~wD@%D2( zNlHppa;y_hMvqydT0Xm?alqT~r1PnWt%aC?ix2@&GNK1_4zt2Gt8OpM5_WBRHi;*^ zQplWVLJbI=%I zcK!NM?{8aYdVWdIo9v5&A2Hi-z*>(TcfVlbo z`ppD0VMDhonc#J=x_%|ViR{TC#of#6C5>wdE~>8akPdZ?9*wwQ?`eO3(AT<4nB1N5 zBXQzj5La^eIAnn1sq?jUsw+X@MN|#?v-}0l4+x~d$utCp;7Jj9h!)dk`V_wJr8Gm4 z0z2F*21o~2WkOLcbNwII9{n}ZuZZ;Ci+b6e5((iZkqS=Q^<7_QJ2nVVS5U7gcNo#j z3%1^HqePHPLtpd-yhb52F^7sOnFq_VeV5nQm93)Q`MpDFjjmjFWoh_|#;!1~8M(5x8wy%G*ucAx-p1kpamEz(=G3kki zY;y@!{Ug%#HXQ4yo(npiM@}ne-roDG*Nt70iZ38fT4RCP)F|;Kf&jr zzJhbnRS>E!uTV?szmgmRNvqX_33t(mZ0zCa^DWN_)JyA$x!2_Z!DX`x)%*gO_!JEm zPe$`}@}jG$=xp{_$nkA%VuM%<=t>TSEpuLtT%_%h;MXFP!6i=6VrC-|B|s4M;_cFd zom;hZtruFop<$Z0|eS|;zID)ZTTCC(f7ZW zECfD#*WXoQ6@)`L0%sGgC9h57-K~4=8Zn9T{IaPF=oG%btWf0tyz-8%XKYqTGV%bJ z@ob@@Yo=2wXRvX5Sx26m(>1v&9;BnuA{xvKfmz46L^2#Cfy*W|X;pDI7AdEP_p?A; zHmGvYNzg&|NUrsPM6HpPldtykIuKHKLY5JED*QL{k3a9AhC}4_HB7`H>S(p_L)odD z^FW^vhYV={{;$TwUAPqIUmALrX%xZ2$=KzCYl!!WeXD}+3=Jylz^_Ig#L&SjEoY+p z#`GT`zRGu2OXVO1#yENeqI`I@fXc8KJ|zK~ha6(8_Ts1Di6Ox>FV_AY<+2OiK~@JN z4Q77CyZsOi{T2qKe$KeeLXKR4)GAvz>eZ~OX4nMry$<2FT(vU4_^9YPiQT~6DQ>uQ z&BR^cYj!c}1lMWrE)XUa-g}A4H0X&}s&PD&tObU-A1K?@84PRR&*gH{h!7UqCnjdh zlb4<+Z3AVDB~Z7FW*OWXuyh~a-_$Cr)UpSHJh>jV(Yjpw)j>?5i0EpFn-^zG(7nr5 zcwP_L7naiTxqb{cuSJkasb5@;RO<&dR}D&SAS~P|?vHgN0iZaGgZ$iKI|&_s^}Hwu z%f%WYG(wuEyXi^zSm`Y-S-Qxho93}+d!&VoSe+X=!V2|?ST+)axLv8~(w$?AJiyK7 z)iBOJJ`-mF!_ny?toF57A2!tP!F%m zC+1zVfW8+53KIbUE-?P*5#W4Xm%%+eJY}C<9^L&2bOrI|1Hm1R)tSI37a7v?sSmcS z0C(gr5*z~jdE8-~!?}_-90HEC^3z+{FbGG8qAMqoy(d{auw0Y#B8^@#BrWCK>b7Og zq?oysv^NynUM>S!`x=EG+5M1CkW~LWR3Cj?DiNYgWadwP%22lwN4(e2Chum=n1=Q0 z+QOSB_vsq0s)ey<$S^yl`25u^8czoA*%nYik|l~&>!>h@P2;KWQ_4d$mJQKUL)%1oTU#EN#fKjj0N+f8pS6VYW{RQ^$TkSZ^}@y~MP6Uyk7~^L&s)%V ze6*+=yHtU|!<16!zfn#^2eJ6?k^8XHt(lT-Qunu)_293!4i@&<2P|3Jh6OWQrjuTq z^WdsLt_sW^YYhtU23Cy$v1fc=P|n@9ZflELY*96S+e0;2bwdR`V7pol;t7wpFqbdn zHH(tws_;(wVZnW z%jeTypCp_$?&!~v@qD~ojF?}S!H5s+G5;tyvFc$?9*lRgHK_aGaiDze*kKHAV6g3r z7Z0r}AhEpS%MpF@s4Z?W{49jajq(a};r-^lOI6x?CuJ4ZUr@h45M62!UXuVKKwLg^ zH1Z(Ccf{bf^o2l?*OYv>4mT{?U-f3^T$kWO&Yv!f`K`akIeRw@_pcv~8#1Dew|$vx zNY;FDYtF!-&o5RdQ#48K1x!s;-}Y1ZEt3nm4Qy?@2G81U-tT@RI`4YDu$!jb>biX8 zD}#u8+)}jiu-Aa5bH#27F-E%G^D!EL4q%r~Ee}CigyO@X__IPr=sJXpP4GdUEtNl` ztyOvu%=D4IzL0PjH#FyvgO5G#eV(TOC;0mn7Lm?XRdh+Sh}T|b4QjQJLRI$nPIgmk z2VU*%Ni@qA&)H5PYyh|W5Yey-J?G=VLK#2j%>!vd(dG5a@tj`;g)87awDp#C?QW}H zL*Rfk3PN>h)RgmW@lR215Q*Uv7w}?X#~~<&m<#yXar{LK;`N=0R00Q05IlJhx+@UE z7xMJCG%F?ucCwEGA6bxEz+?e;O1Mt&e}|h~^g(x924glgcxa!pH^=kmK6f$J#$YGl zn_>Nep~IQb?<)e$76{4=8vVE3b0Jsi*{CR239R&wMzzD?=dO!H{`TsB!&z*xJm4h+ z?^adGgZ?_8!_3XF$e#@6I+gFJ5F8rF5ge=EgZmRqSU-Bk0P1=1I#mdn>3Q-R+XbP+ z9!`7bqR*G4${@G7k}GI;s(*3F#Lqq2$eQcx$H=i@STVy;SBf;|AP7!PKrs-7@n2h^ zkq3_m>)ohLrD1t~-KFgvl&@homkxTrZ2cUIL6e0{Q4V7R@UN(nr-j zki_?`aV9!+(KbPMQLF%u-kSgxNd8q8_RX*iAH@4h;rnn%pSMu*jck9@(wO* z&m!v93Q{|7!naN4t6j#&5=Q4?LSVqEh^0HBpZ8a3U5MO5h%>$ITV(#9Ex6)O^T zC;@VB260=B9E3JfrIlFfhS362Wf`qd>L;&@mB@Ob=btxIcoV{B5}b zBNET9UjQHE1m+8CUPskoB3OiSj7nFGvk}vuDQM~C-(zTO>YMM-UggAE_-A-MEFQ=;3qHsi9!wHgG!23 z($5EI>bveQ7JNEgsG$z9{CTaU<-%xzv%;;i65$-Lvpeuw=n?5%COl1`?@FTt1g z-gOc>-?V0h%gCG_7Nv|3zj!#7w^a}fDG2Gj)sZTwbN7aUb#H^q6Eo2Y0sJRHEw6;l zR`xS3pnL4dp7cb{$5(R3v;bG@P6Q&C8^v;!Bk#Ps=+1KjPhWD%(B9p1Lvli>erAaS zp>BivR`a4Mi@kv!R_uF13(C|WmC~3NzN5z0)j&Rs0upUqytUQwT8;vbQ{ zk2o?w7TzMwWvB0M`}RyfNko;{hM+CxZFz#p6Q9G;%JMp}*WlR4C0Fj#^uL-2hOUj5 z0BhKPERO6!&Oku-njSG@C6?dD@&YbY^hk5StrW#XlVXO^8<#hElG^7!V87M%pan`H zDgAX-ekQs^kt6yQO z&ua(^$xbm~*CN?F+v$HPS)kkLb%7#rei>B4CjMA=`QCqsS(u($9B&-5iWLgm1a1Ay z#9cm){peo4#5=`YAuSfL#At7HE6GG8f=@R^EFgvv`cT6_&ZoLPDjqlb0s9%Smk=1bfG{fonFqU9GFPsl;8sv&aAvuV(AMgD4t)`uBnv1! zIo^nm_hn<}F!KG+G2R5BUSuD243YDC+4kb}QThPwhC3@Kq!s%)m3y`L&R|#roDAZo ztmV8gU!y-+s{sAw%?d(bsb!erHlA3m=dZ6QhlzO3bD5lo-3s|`Q=&DoZ0m}WkajX4 z1?kg#)N)+uN%Xg}3rEyB%k%=>({l`9=cI(3BZ_^u-S!O{@`shb#@?aF)aoVIU7s!) zRQMrg9+C6K6xIHCiV{pLw|{9ik9K=1cyC`7pbaD}_-s5HgSGCn^Rx`dcOb#8#uE4m2QF3NPS5W7UOvzHU!nxq~3rFN$Pw_a{Z!Eeu zyEP|!$CfGG+J6WQO_CT6WJ_+fMB!OSsY`)a4ol{C^mC0fz(3)$!sZ2Z* zoIJGqoRK$EHmF;sNtV~&4T65+wFG8^bPj(GM%vg#)x1=G78S~y&MMqj$IIR~19WZb z58SNOSTr;)GL1(VOJKp4N!IcB3)TtR{x8RG|M>S8j0eZ?ef+b`ExC;GSoCY0Xx~cc zrE;)RGf?sF$$Rcuuf?FZb=A*T9FWyn(D`b3X-N_jr*1Yk{E)L+o}8d#rDy>P5Ld*4 zX{s8V(2~HoqLG`Q6`4|G8!)BL_?AjF+BDNK5joSGBFnfh;x;W{!niS4bgsq{_MDe9 z%~C;#S-Px=eZ{07$ROKxbx~V3;%#dB%_oE)805fj3ip%NVT z`MUl4QQBW>-jc`FyOnBNwUGH+>?e*_ zd|4zW-ZXzB{vu}BWYio<3C+Q-U`kh^UF?K8r(6E_{w9voo)(nVarEZ-*n#x+R!ya6 zdyv4ts_&$kGJ*iM6EqQIv9|Y?TH#;Pl$>a}4BO^#Igax`w9EcZ^g+X{y z4lF+W;ILMkOw15P_ORfg`M_I1k*m71sGp_UVMyL4S$+uh6}wQxw?5<8Fq6K-$Esl(k`bq~b=3sFi(@k#c&S$>#c4`0=QJgw)@tK)xeu>D@=K z4rY|EF-gwDBEypGPbUn{*zWQR58q3S>AhsT>R^v^S&S^zLC5g^CtR*Izu74s>;&R7 z_&Kii0Bj-1gV>bpuH*V|o6cpC-$dae@V){+5!0N~T2yC$4|I*ih5FAYVRJCw77dLz zh9{cO5Vz%-v7p0Gyh7eEIb{?_8{0QO=LeisCZP%=@?Tufp`cG-5&pj|h?QU|d3{(? z)nK8^2LCT0Gs+#JI~kIUfl92h0Gv~4Zp$Y)wcEu}=-_$flw5^7dp)Ya8y%&~TN2rk z=Tk~XLN``b_`9%}lZ0CW`fff7HSW?!q5Y2T(jrpJp}qRYC{2E_+hluflvjvK{yq2=>I=l(AWFC)djuYBAN*;`xx&|g+zm8_M*6aL*p(%^g1 zh=4CA5LHCco$&Fuc`cCdGn9^fv-RCCBsY4IAn$@=?y%uIA8MWwI)#rC0yy-kH-*f; ze~)N>-*lh%&wd! zQt^WcD5vY^zWV@F%xATmoOPEwHm}`n@k1)z;Lp!nse|6hY`GKLeCzk0NiPji%n=xZ zzxQ@KybWKdWbW>qn*_ts*0W;OVwR3%57SuzxClthF|eAqrIbfBYonE+LRVj~m=}fX zO5qAnY&CVVU2*Ujat@@C<8tiG^e!#$#~GC&QAg!*(~e$<+`;iZsrt0G9ueca*q zKr5ZkC@4ar^FILbuMQTST1-Gjz#`w};yZkne!0H6q|$?-D=)50a0_GW4(Y7RdH~oh z?+GzB+9rbX&nr}FDphq0+&zGUK{xk&&!8UEEo^z8ID~=j=Q7^OoD=_8P04Oviog}dVSeaZ= z(3AgE)<^cczCy}_c1rzBeE31zrrSZUS#t111x`r}h9wW0EsBUJIkT6XA<@g7J&c*l zu>41ipu(TPg2UTHme1M$+=}>^Y!E<#r)9e`|5Jn<^4j-MxrG>g6r4j&`UBtp%@#g=y(tZjUx@+5Vp` z6<&~Oz{;~|t~Q@}ZlOzZt;(p$9b92^TgK=*whe+hDnzDS`dmG9y-R7B|Chg;;&ozF zaRo`%49@#;csF9{u^&C8*_Kg7o?*QF z5p}JhMXM|mu|E27c?5qKe@udoTN_*D>c7WXIASOdy7V;TO$B~kx5Hndb{}`Awo-4e zYO_=s01=ME3v$TSo#C*rNMbeS+%o6Ig?vx^QzM)B&=QS0E1cdJ)S<2dukrDqX>SJ| zi9!lBEFpMK>V4zi_j=IC{-_t1P^*3jf(O|nQ;sqbNK_uKCb}z7RV`dn-C2BJ=Zh9nX-)P}k_tMy!U`yc zt4KBzRj(9hC|t?8L^g-(O%Da({0LfB&&kIwRvvQY!hgCpLFERhxMGP%hV(e4 zb&k_Z_~$Zr^HaW16DtUD^XZKE6%@fyExJ2U_#8lh$p!+jtzo!``wHCqnjQAJTjKjeX3<(h#=pbnl;Spa z@eLlUN5cB&T5!91IeN8fVV+`D2KIdmq-3Bbo)8AeT;uoso{Yl2h2sk!sf^d1t+D^G zytVu^Y)EJs^v9bqe7&qpOxVrPFJfInHlm>epA*v-2ml?83jki4>kB;uemKA;D0hJ0 zy1>P=Jypx?=v2)u`q9Lb?4j$@so{~hUF}?^($k%TezQl0(9?Un9a91TuIRh`?BY%; za%MtB)-UV*QdS~%f*V|-t7l(Ia4eCyyxvW}?yugq&RwStmu>tqS`1R>_`%lo6a@5DJ5S6V)HCxpK9xB6zs+kymu@Gd1KRyw4Q(e~N+d&KNz%^ErCuk#)cr50-p)*A^GAZ&$QMt@jZn$i#ks#1~%$AF6+va6IE3tB`Le$sW8YdFnE3Jp*B^+3k0~Z zmMpjS%U=B!j`8Wya=HDJC)<*XkWYF18C#B8w@m2?)li}mzw5O{l61IFjWpGf<+A!p zoyWk_k;#Kh>;BV5cS%4{N|q$@bI6qqPYEVIinSVBC-20BTkf;I12AQ3q`R{RfTyfOmg}1sJ*kAVByhjl{ZNcC(Zp^SJuR^sQ-+ z?-+E~w7u~kJuiC2bZJ9)SV91V>B{r;)ff0+DBMb8t& z?5vXp#JstgB$SI_nR+$BZV$hA7o2_Mn26`rV||E*oor~ZABgF~`o(75Eb)PG6CCWO z9yBFe$7?OGTdyF@QW?WkqWoa%B>iB+Ys_#7u^;wY#kzbr`eR04W4UJz+fg;M_SiaZ zv0@A9R!?HxPI z?6V@wI+rdLFzdy-{;kIWwkd_f(%7=-9NjZ7!+Yu)fl;i{A0W;kn*BNcpn+5#3yb+= z517k?;}^PG3qd=b6)c<2Uw_IJ3V9rd<{w2*RNszfdonQN)&Pug{lR*rN_6nGNWUYy z*^b}YCPB^Zg3Gb8EU($LXI^mTQ=Au`Y2mh3b)HQMe>lwYu1%fJn$?d??Ko`A%fYWC z{2ZwRCP2t8s-7qPP1?BvQ^!t+yVIPSYmM)@HUO{lmlWAIJ*~hAdwWx-f`19;)#Tit TI$=2z10LMB_#1QAE$RON=Yb3V literal 0 HcmV?d00001 diff --git a/icons/effects/light_overlays/light_352.dmi b/icons/effects/light_overlays/light_352.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f895792da42d63143e15641a198443e290f3671c GIT binary patch literal 35566 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 literal 0 HcmV?d00001 diff --git a/icons/effects/light_overlays/light_96.dmi b/icons/effects/light_overlays/light_96.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b689a137016322424accea3488b7cd02c6c846ac GIT binary patch literal 4643 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 Z{{vX6W?B4;ZxR3i002ovPDHLkV1k{4F%AF# literal 0 HcmV?d00001 diff --git a/icons/effects/light_overlays/shockwave.dmi b/icons/effects/light_overlays/shockwave.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c22acfa1d59e8e48854ee78ea250e0675eaa6c1d GIT binary patch literal 655732 zcmXtfcRZEv|Nngk&M}WsHpeDHMmC3pWQ7V@Wv}cl=U5>`X0kIYtFqTQMn)3Zdyixs zdmnz@pYP-M*LB^0-S>6fuj}=CJ;xQTr=w0m%0vnP0L23hReb<}UQeL_jQDy$vkHb? z5AFemMqa8mo>m?XZe9+qF9E+qc7 zkB?47FvAvfNoXe1qe;iUq=93%qY!FerCqE6efx|b?YSF~$KhGGO4yZpNb^vOk?D4{ zfRNVJt6Q6yjo5skS${iZ3H)NgD?e7gB4B&3;PX`D zHfd%)rzCJfqIb{XFYc2^d!Nti-mQC{Ej%%Ai<>H#T5;eCkw*f$*E$6(Y#@-EJ(!gGUifkYcHl-k+ShZyt{gA z{7KN8^Ov9<^o4WTp{A>MQ5l}XBxm=U4rdIB-}*QAgW8OEO(X#p8tlS2 zXwa^ z>TgF5IV(3c=s|!<`0FEmCXIK7=E6f9z@(Rj=Q%eaMEIQd)#`Zye}=6AFPAm9xayh0 zhLNTwpLV}?R&;`K@GsSK8EbW)#?5cN!nMosWEfY_#V-3yqM6TxP1={e4@5IgzMgk6 zv;CZ7|1R%5vlYj*e9)B*wQ6Xxb7bu?0Pj`W|Muqtlsa4r+*RmhsMdB2*;0RRC9-sn zG5ph6XS2*<=WAKKU=%Ti66NaoE%(qZ5QvNIaM0?T{}IYx!T)vUYcdu79sQ78Hwb994SMoRiUVqeVqauZ>8iG{l{V z(P4;h00h8uxowCwtDR)H3_zS64CMv{ffmC9~f7zgx1XBc{ z^6dG+1;luuJ#pzH*NR6M`ghJC_u58%IruWF`96R&b1f-c%h0?mt#in38C#Upsu0af z=Y91S+w@1!MlIoT@i?XmZsfYcj%o>}TC~)O@oLaPoY;NekfP`%0u2nQ>ABj7!w3F; z+Xh|q``;XUg5@|mWzbP2$x{OMT5i1`#Fa+@9C2GznZ5`Hj#k| z8S81M#c@^ej=)@6$b-Y|F0qD2*^nbGaDka`+xsq%lnth@S&I({2q4+1QvnK^=#l0h zS!@Q_Izo$j5s_pVT`%}aU{1H+ZS~t#@7M@A32~4O@>%im7GRfFbq-j4zZZLQ$Q0E- z*2sgs8@{6wwp7DU61m4E+5|ly`1=BLOEv+O0cKD4R$Irp$!So;4vjy0J0Y^EQYc-6 z@z%Q&$K+@C?kU%$xg`6n+hMNs8JMAM#4-Z`N(l(=pRw^ja^o=67ws(u2ks(#w*$sz zU(g&Zj1|8lDrma6yUc32{=E>Nk#wgXN@|cTf@$D&2W*3*!7s?Hs z*qX6cSJhxmeY-TXV1XVbi?1E&5#~npR(ycZ>Fpk>)92GGT|HD=cz6N&Npl4fxVuZJ z_7Ff{%MXkGz<+(ju9P7r94D2Voq*Uz0!;_# zD>)RS1;sFc5Z=zA0fPN5oB&2IKF8-IvcVFHNusDz1^{{}CO;{2R_@9Ekpw2e=Rh0| z;5TBuiq2k8I@1DH^`A<)V*CeJHU`u#epI{mRJi=O`au69CF8AqLoA6b(AV?*=UM3` z*Zwhlxwr}9FX{l(AdM-c;zoUr=L`-5G}f5_AiM^5bkS_&ra61> zpEbKlRu;Z4=GkF-7;l#9T;Ivi(sEE|;e@N$lH6rZNb}32C&N1pn+0=yqXquUO|JJ| z0vGiA&B<%x%9njr0$Fzl|C-DK7nGe{5_fVH!d_j?F7cyesMP>hj3WLY31aOa3(7Cx zyhVy)_m|@k-TwEmWXo<@`A zE4~!5kK_PN;br&xKjmn_5l<@LUVI;a&wyt#gs)=gZJOBBb%!i zOosK%xd7`?O8WsPZVHeH^Tqoe6kyE`o+%DJ_;$VJ$Oe(Fb0ckgSpd6B{4}~M$Djr? z9ZSA;bip-Qe|<_XwwDW^4n5oz{_oIMn1`m!rH@!VQLM!}m_l4`Vjr(nA6_{Dgt)rr z_2?VFdf#7a4!Dk6m!iR^AhW?qC0c;c7(0dqPGR#wF11&KqvlJtU;qL_J{>*-xlIvo zR&WCHXlCCnnx&cf%Pd%L0%hVh;sASdtWa+BYJ<^wJGy0ZXm=V1dejveCXQmB+j zL@m|38g#Y$ccHkGUFmkY|JK8m8zQ8d3&YZR$~ zfdqtMVAr9DD`57B+AR*K(e;Ugtih>3 zgGOb=Bi~b(9vxtF?@JmX>x}Ft)z&7XJ^JNL)$XCmW!cI4nG{HVkE+`A(#LFX5%2A zL?n+n`g4T|J$L3zxa!`oZOD?M1|;579Y{05z<(RLf4)%&wmy#20sCczy74mvgP{Qp z7~hz+b{@;^&jdySC1ce&EfPDxrqTZ40cdZDW~RWA`0%%}v({8hg8|{*e$h8CE_`1= z5k6xK%hUdSpK&EPQp|UYc+B(r=5+*q^oX`?YizMw$u)2-nT$o>gc{}*yusdbK!UpA6Ywn$gk-E+YY-jX!ZhI*V;q9l zZX9ZWEg8a^9MhQHpV`#@t9w_I9?UZrbLyIWI@4XHU$4>Y@rA2)aJ6ndkCpvjwy?o0 zc_&E2T{Hu9#iAn;ZVUkww3wLy(7$HqrLPpv&@Mk4m4Ux@4}h#K6Sks-6BWlnyf$EX z@D0p`7#PZE&dfr(4~lOOozq5f!Sk_^B6kJ(Uy%rV$mCTXvi1AhjVdFS5%xE=aSQc(|qd_{Of#kvAs$rHL2KVdxNGkaLjc%URg^U zD{WWe!;@FlDiY4i+`hH97^_q6CHt(LrDdP~0W}u-b_HpmrrMI06g6v(*?4JkPn!KM zsd0^(O2yyWwA-_lx}l5!`e+>e0PqXsRk7rRSq}nwJEBBy{q!GKXU+!Tf9>@E{1xG_G{!X>3cKRH;7T2>jFdfCHEoP1~()?N=!@K zDG>7cA~#!@4Q2mzP^vSmMj}-GNaNRQVL-a#gUP>Px%#F#5lG5^%(%gUZ;&>%1}A(j z);RDB$ZyP4R4jxkt_UdSz=_ggl6lQ;qodS6knVdiz{21OLuxH$5|c2y)9Ib+y8ga% z{Yhb^FPlN#!dQXR>Emv?+W+doUSJY?18&?X4BIg4-}g%JN-fAd-!-+FiEU&@nlJsx2=7zuflY*4)=eR7r*Xa+j}!I#VvAmS{LadLw2c+OcJ(^ibgb!K%u; z%5)t!XTv)gH=L`ta*S)({h2Q5pU*i{zAFRF9$fumONlF+H4lsDbs2VcZz8BrtEZpd zUzFRxU=c-CY&X|+2*eot^P>yKi*`Wi*ok5lN@qi8lm%5e)i1T)%>bfCV#*aPc|j5m zv;%rIYkZK4{PtG(U$T(4`{?-n%3D;X@+<8cA@Xzl`~3Y5r&A|Yu5{ULoCF1t%D@jI ztF_hC=;w05yKN2GyzhUae;-`stpux!VSCqhuFvYA$A-82*1OpcU;eM>Gfl}r5j;0e z^K57Iuy%5;w#d-H`?wi<=>0}GXnM-|xyF)x^XQeu@ z{tyG;amloC8c#||JF$NYzU-aVJyBr#`c6trjX4dJjh)Ibp820XLMWXhcJBxM|0WUu859P1L_58cP{PHbdT#G!#PiC{E%tQ z6~3os{}q>OFxB`=g?Wz8QmLa5pKpSuqMDy=F+c!}fA4|(FZ!S;l3l`yA{ih4x}QbY zEEH!d7Qd65%FqJMFW=_`a-k@|lM4tiqW`<-FpNFkJ7RqG;pwD7(Ay-IwLe_S$gw9* zl|H0l!kZ{HYQ!z6(q1`C&frRH9S-{BlZ7TAq;g_F#I_tL|C1!h2;+D>{xOyE1@|S7 z(1Bob+RY}h3vc|f!nD#C#B2pFNq#9$ekq5^layGatmeXpm@vpgo?r5>M$dO+$4A^MWqU&QpbwcS*3FbvD~D)g** zYKZoO6O~a=((B+@Bn1-?@cgacyG>P5T0rk(?%_#|G8;J)AfR+g;Ne!Z*DB1qEbF4}wNPNndV!JmGWc};4xq+Ut-JDdebn!Q|W z1}zFiK*sD6()T;hR}EX(|V5P1Z2nicW;|DQaI4-T)bW) z)I0$087h#+o_?$dlpa3+o(kP_4@x{6MOv1g4@n~2Ze7Mxv@+D1KAoHi+b(UucHO3q zKpUmeqSmTt1>1wDfrnO2g*WssU+?dM1f5!JuL7Tah!A_}?&ohrWRVG-zA*XvYh3Xwh1nMUkH$&4HxxvD>r^zEL?`1+ihtyUy6|6x z!nr#8o`<+1oaP)@p0QJp5@(KyAhq4p$!@-+m-9*tDQ2l0%}+UgQXEp-|8_|HahR&w zsdF~pbf*K+DbsGVuJdl%eamH41UJ}noN#ff%xOQjmF`?_j*hxU+8^(6Y}^1yo2cKaY)+!_N3*Ty*qhU zvlmt&m!9J9DCj4N>&NBq+*wU=@~>E)qYL1;PQeeox4-%J3tvh6uVdfqzg3GneR7nx zH>WuV-g#zYYx%Yb*JA#%5}*C_zC`e%u0Lf+Fr%6$rnJIVRx^1)_E$ zx-N}wuh|&>{w`Vb?4htGcL#qc@j@A4PC_JHuS7W&yA*W6#u;GY-*24TGC2EWp6bhd zO!Xoc)2zr$q)EhL+O6<6p*LPF(du2rQsB@x=Uq()td(y(K@bra0N)s-1(5<6mSK?T zcTwOeNSE&ZzZq)kZn|vQea&fG5sEn*E*F*`u~Ahb(M<2Z^kKiJr`j9YkKhM)kQA2=KVgg(+HI~Z!yYORbBSDZ`To?v;|V{fi7Nsejob-lt%6x= zJ`78Wh5!-~VJExuC^l|=j)pV!)KFypMZ*4Xr#?YJ>pO?| zn33Cg)Nbap3qe7Vz56|0)3-p!DLZN3=X;0vf^f7ga$v!ALK&hI(0Q`q0J`kNoi|vn z5b?c;3OlYrRRUXpBZ*KMs+x>{H5!%&uGy%N`=n)7_^bc}f=NdK&AMuSsGY#Ka*rJZ zez_%q%bsmG_Z)oKG}L%dG)BA`j<_it6!|3>O?}BkRl;=2pG}Y{!{53teE!6L)B$`iSmott_;Up4+I3Y-5qH} zo2FT0!2hDJQfXTYSaYGcYFZ-R9rlH2V0@6&p2eF2*K#wC3MX>!eJlclswRqM*=ZnI z3v(vC=QE}>0IwNbXu0q-=Bsn{wb3a*d;N4#g<1s*Y8@s>z~B~IbS%edwgo- zo=t2uJACxTLBrsm=2=9O-kfm$vhdmF%65y+?8=RAyC&mWfeymk*APLeaT8x<7M$Fa zXy|umOVYiHppF4~dg+HGWNtgWhqyU4IRXq(zBsD&e^-}M2*A9{JGUY?h&)XDd1fX2 zM6Mfqp*ViHR>cw9>!tomM#N(ryY~20^3MBPEdCDs4@$VDSrtE~s=LWbX#sSImd~Mb zK{zH#|vm5`K$9oSa~tr6aqR(B$0{MK<9;D95!hXmQhp5d;U#-_ z{#e!C(=0zXutt?lKx*R<>F7~7fA`cqXcdk2VXC(au`=ZO{i6=c`GgNN0)rr`A<|@V z+-C(`Rj399>Gr3PM~KD_<;m?~lTr^}JPTJd)+y`gx>JBjXegys1* zA41wMzW!Y|=*!v%NNX$T`9-xkHtdxMGcVAGQ;NR?8-*f}y=koql8h2$B}^cIEW;Rp zds6_7zS~1OYqsc;fU%nO>hBSY=asPwGX1wtr!N{eJ?@n^GyaEG60?Bum9%$+zN7u0 zb_XJ6L8qX!K%0rNRfuARnFLywy8T^9vKWQGEGjPlm@`u^J>v1q+)@Glgev>Acqg|A z|L^ia8JhUKW=R)55U+|Og94HXC)H9gpj$0-Hol-zuAh19NN$-?8>o_B*{Nbr-B_Q! zGUJgc%ZcFNmQG9h6e))oWhuO~J>a(N>Sof?{*&ScMI6))MhY?_a_z@ur0h6wly=w~ zx`C~TmKcBd{0zCWp2xl=V<0QJjS)i1VE!r8vANs#hI6poI=8hla`Q#l$V5QPYqCBr z43#MBm5njH6w&<(J7}pNSEs|PXD!Fh*68qRSo1)3ULCW|P%6eHul2SepD^C5DsXI~0K-JYoAf%`EIuM9H>++I6yYP2s+4*X@FocddJ6^K4+%iz&tN-|BXzWJpU+ZRoY}I^7hPslPs|$B zfViH~%=wujeEsB@o@~8<$f|a_ZDFF5w?(h-!&Tvc5#2+bfa&D1orh937JT?UvY-Ev zEZ=)Cb{^ZfWN3)9hNj=CUyF{UIw2c>=-Tyh-vk z+n4w>8u8csh@xaU|BM(HPX@**2m2l6G@Wq40Ft8$ZeUS_b>td>bymURp(x^0lvrSQ z0VqgZ__kA!ouA2lAH+Y_EEtqOb91u(Lnl&HvTAA0UAE~v-DAfJZt1&i?ERri<#xj+ zyO%Ke@0SWR3*6zZZ{`(l0A$b~C<3)%eC`?Mp4_74+ONhC)T8&Wd4FK4Cq(%w;}2$@ zi}CGDJ4+3wa7=$j*&6E;8Q@MyAAJpEznTq_hYso4 zav=8_WH6qleS@gMsa0!Cbx3UGuGd|Uk6_Zt2o(tECh>v4$G==g>DxtF^Mnp)WtdG@ ztY~&wVc=dvaS}_Lgo-NbbTtu$D-h+N;pG`A8ktMHNW0z3#r9Ji_Spg1McVczLQoZ! zgY=_o^`w=reSOTA`*Uu$t6eVW6_UkRixy*hF9&}IH0Ao+AWiM5|nov zwZN~Jb%V*hJ9SRmfeE1Q>p#=#5d7T@I^?i4cr+~)s+6=|&$*?99uCMUzF?gBL(G)*-_QJ(BS70)0BVE% zXv^xcEDg}y?e|XoAUq0bvd579?b#>SU#tt7DB?RtG16l zC(4wP@?P=@eB;(fiTUYt)%iF7ZM+nkxj9!cQ<}p87Ph*Z^fZKdaG%D0P=QsuAeCb*Kv^BSrG9 zSRcN)N!@LBTyakSM+pOMIr9x_@p}ly1FpfcL3`=Ywj+I+uu_B3z>rhk2mn)afuXtXRh1y3W5}v2AbIhQi9i8f=o zQ@;$fs3fV6LD4NbO!yyFFQG@Z0HyQwBAdau8Jfa^M3)y4=ir#Q*mKM zjy^0OqO@L`4SAB&UjAdCk3FaZI!OANZdm@evdv##Nr7ul-%d0KSAsO`HgN|Jhhv_U zdZ{IeLvK9v?`YrUdK*)-XbkJGo_DaxoP;%#0CH*Ei}vdWoYgs=ynT9e_|h*eo*+G!oGzIjN~%>^PIZt2PKDkye;MB3^ z7Yfsl^jN;obE9f^uOTVbaTYoqhAAjgLV&jiD#Fe-7c4f)NRQtAbOr@A+*G0gGIA{f z?O~Dmxa6nq*1S}_NPC{JTDTk1Ue)Lnn#c4bKF+-#AF@(m)C(7c^4+APzE}`C8KTA5 zd6yo8NLZqFVVxH6lPNRMLr@QO;cUnTb8woS+M$)jFR{ zQ1?a<=R)J&J)WYNf9->M`M6d%(yYHH%yz=+CN!z-s7WfrqrfwYd-%W@rZ4kLhyh&G zqD zjW(!t5BqbEc-~H*y>6x}-9ngf65fg{59Ih_u^bieG$&j4$ws3@l-!X?MBDF0sev@K z3;B?}7~f;On-3tA8(5F@&8fLp}Tu;PsUr%JlFX~aGu!YnSUmVFw$V(v~8J>cZs>5 zrX_bd*sIz^zR(gDU-c#4o&K6RP4K-C**cSBz%v0;P>khW5W-6i9UZt^DYwSehz}vx zAp0!}f~CVk{w`6bTkaTce)x)^CeB+7x*+b4#DjSWr{ovspB8u4!{bR>BOyB=93Syz z12Bgbu#{18BdH?UIV1Kxq$H!Eqm8iCBrf?}S+UUgP3lK2<#K6r`)^xfABD2?e+|Ex zL8=2O^?4rkKS!t&Tdz}%T1KEvIYbt_ix~gkoMDk0>gOF zVL(rJ+}{dCpK?28s9~e9>eO~Iw9X-9ma5GcH9nMdekUq=BGB+Lh`jb_V)MJ-08A81 zyiklv_(fcbUgCNDiw=B;_l32FoCxj=qdD2G^Vtxlr{mWc)Hbyjg$~>&FQR>G`sl$< z3tZ7~zMb*JuUvWny*P)zdLu#={HksLluBBOAcz5r4VFP9b2h|U?m+~O8gm}~n-}3^ zy~Dq}-?L|v1S07_Dt$=}UeqwWFvQRu`DTsXBd%UcB zb==^DMAKN>b(RA)6zl|{oeitin?*1H|aSa^Mw8{-Jy^$xyQ z?oK3hMBz*rv`#9>#iB&_>^lDWs_#{JxKTjEuiEQ)cnMj`1G0o+F5zQ z`J|)O;dkT1YCLtCH-`0M$mc`AZtVztjId~P?6ute2lU#wy z43p5afNtmHuD|_MhXy}h@-0LBY`jQ~{1k2x#))#Ek=qN^(ZHyQq1KWZZY=DNp3eq^ zN<4j-o07MzMO@?lQuzei9eDC$a&E>8^MIA|O&u?68rjN5TX??-KO@Bwq{cXyFX7to z7Go3gSGZZ|&M}mRk6*~;z5|t`BI-u$8`9SA5{8Nk-MS|Y@=Fw1ZbCUbM*}-r;kqe1 z$9!#FLyX4e$P}TK~Vsmd``=CkF+(f%aQ#$mWFkQlJn8WU}hUl ztF%^Z+^1hmARRi4_w;+Yck^;r+fm;=I==Xzm?fZM90SpyulYpU?OhiT4a%v9_hT6b zDw8Odj9h=!NU#q~1#9a|j)Cg1UmT_va%7mV95N6ETF<}yZmFa}zO1j;x6t?6p5qcqj2&PN{~+&5pg6Pq^~&;7o2 z%Sk9t|Hu9U*R34j4|}x8=Xns`JrVD=c%%PeyZTLeIKEHR1OESjFPa7a;5gHhn4pe#W~_`thuSe`Zj+-JfZ`)at!Unci!_E2o3fXu?_dL z)t+y!1Ugq=hDht#?-+m+a7}431^|;DAwX~bk#o>N?CGDSU?vKUZ!pBIpkEPT5Uv$hLqlUQ|7pin_9aUi!$@w<@6V0=?7Ry0-QC(PEQppkmXdjIdsOxXMQ%|`h)*U6DJ$~}QDn*n?-Uzu2zYE-q^ zC~@UMX?D>1A2g2Oc4AncH~8Qoq7r7+3g6h1DvdmrPMVK>E%Kz5J%{-x*N&fMki3wz z=mIV6W!Jl%E4H`%9`X8f*DXB}+hnL*<6EB!!3N)}Cv*^(oB^|iQrx>9cn(8($F^e+ zNG#%)2nx*Z9~upk|5p9VGsd@IBT<)mio7Z-z`YMb6z}Y~6Gw3}q4SY_ZVXDicjM&y zJIb;1Y0+;Fmn!t!FZ-ypRnMHF9|3;y$277UaO)3 z*;JKnf|3kSK>q6)g1OuV!9>LGRvT09&h>E{8YDG4HLEc&@QSj-nY%a}YHfw@+V>uD z>g&_HTZEtdDJraNTc=oe7}ug+t@KP`v7T)wR>b+IBRfsb?%}S&<-ra-BKy(b@JZ;L zWNRbuiQh{<`3n9O*OPsMl%Ej{+W7!>c)>GzR$7~cl|>8>t&wbQG<_`6t!r6%JPLscL+;bPbgUqu>PI#`9Sx3sfvd=Hw2D0pMpu( z_xUu5JKkaudIA{q>eEQ9(6b_~8u(kAco(*AVQ1iIA{BKlH@>iD;w`IGznNIY(YYC?Q121#&q6(6H;%TLqanKrbEVL+%b|J6JAxl3$mT91A;oJJ_cXo0`w12gy#_S+i6@lxUE zl9m3$Mjx4{3s6IJ@Vk6gb$QXDeq)<@nt8Nr|8iP20BKY*vS@FDN|MbO{f5!wR>=Vm zlVs*V<(u5yHzGgzg8VO_EF(F<{+nYJKP=6x0@?4f#jU-lE9sj-#)go>8ZJcz0$KJ{ z+L>_sfghB~eTZ1ofA7MovHrpXZ{4Q>_^C4u+@-owK7(y%Rup zOrN_?78jz4l#4)05Nn+yFNi9e4VZ*1$eT`SD(ARev3}<3s+cRab>O(ADggR7m5A_2 zqd#anu;PVZj5a|D)CIr)ldc6g{q&JR3|-I_W4@d-1YK7w?%TGKWc6 zLaBjNfGErbyERMufaIJWikjjDUTz)?mHuX5CGMG+BL>aq&W#jQOdK35X28JG^Be0z zL@mC?e|G$iDc9Qh45=$6F5HPOn-x^D=a$@!cQ3~)*`RZx3%jM}C;c9g9>F-{w|+%n zP<|Cr;p~DQ-mQd;a#-q*h6&&oNuba8#IOZ#e|eFw=ks z=ZBe-=r7(qX3Z7%dVhbMW#N%&FZ~u+$vmF?fcjRlGs-HtlV7DoXtmHH#LD+6OkuaeBhLrYSD;#8?XA674!bW5Ze2>UkAQFZ(reD|et$NG6MK`QDV z!B61By{6F~k(#9ka7RvellWKW=i;h@l)aGDBO=lYgkfgk$3aFC`NiH9xT>8zOLhq7 z$rBh}H@3?=r29=pJbovV$nu3DXJ)_a&dJ4%&u)%Z&7fP)NLqG$12z)|vP}ub3VE+tsWn4El6n`}O( z;flh174nr;h?^4@$LuOt3IAInzft$USdm$9-^FsFPwD#o_o_Krt! z06Vuz%o8bxogpZUTQSD6pT6O4lmmI4On8zPNPNrx#YVas#famxao?uGE92g1=rH$! z+^d=ya?AsqsrRL1qi*Qw8$E5He6>WcbY?R8tc99^+GbMacDlGxmP(}+t+(AX?sI;< z7XT*R3-Nm`P(BMEW@)8w0d`HLGD_v6lg-!s(dF4rV!Z3FuweLfnzcn)1{??HGv1ko z*`1M=88$71LdYBy=KWvcZWZb(D%(?xlj|yYz5w;Gd35w9Ng_@>u2r2U** z-pz4@o3>6D7m&Iob$;!(`PSRd_kTGIc5145TzDZ7G%YN(mbE`{;GO^W;bSjyK=E$G zU^TZzng=Ut^Guz=j0`COE}#Yb*UtG)4sBl&fe@Bh$l0}j&i9y4?yA*%PX3q*igTs` zqEE=GFUOl3bpSsT{P#bdN@t7>NhUE9yX~9x4nOwyp32WO-wT`H@N6F|CN2#vj@U7x z^s|6n9kW6rx!z1K)CEU-1jkeqlWxu`2jiOa})ANh+Cu$e7f;p z)0V8d$x>w*RSKah3IB#87@9N1=XA{YH-5yoc8w(2x1AIEaQ}uotH#64aH`!^-Xx7j5hP)k#kR z`!r^$yg|p5W4ev%p8I0&UZXDjb*^NqBXm+_l3p9L^9)HzIpUuyCrFNkkMg2_n}%5y z`D-w^C@eYff9G|>qyG4I!*W^ysU0`luqtUlcPV_A@DCm;Z ziQp@Glg@{oJA72r{`cQNtnSNK$G#-7vY!`7Y1-wuqj0H-Ea~z#b zgXn^g=4+dPh8vE6ui9_MccnbR;t&QFGSbCBaZgY}OMIq)qvGGod-UN%gBAgxf@5Xj zH-d9=4i-?AosTqqeCr(|#mmES?re`bwmQZr8HZa}kyoBGVr#u+S z`Eq3U4E_4{Z-r(TTA&brActdzW3GLRb2B+GK$4^T-+5UWK?^|ska6qA%_#~jz5}oY z!I>H%d2Vf`%v8RhrYmB>9KF8hb5}>xJ9CN(i$kZecs5MDdTXNxW*$hDb9+T5 zi*3ykvR6eKV*-F`nyz-4>9jlw9paM(hng>|2-Gj$S(G#x5B@+0@M@gfL0D3r^6xR$ zbJ%j>cR@yd4;6kL%__tje5=qw>4t<&(dUoheGMu25qXK9GMO!-?pIbWBKU4@n)EF` zAhm2Hv!?^wTi&tlxx5J9Z|2<*J?i2xkAWPH(3Tt zo|heQV#Devt4_x;VG4dDjQ$@@@tym5>qE|Lbb+%>RU&nUb^9v5)+JUv{HtU6?||y@ z@=7lY7_rCW{d?6)xPR8v+P$Rkf}^#J2gvGv+UotMv=DDcqo#}$ze+~qk{^$f`p()} z728&my1qEPIr5Ka$?@|2FrwPp85M;aM0%ji=5in1yB9X_=2~&8?Iqb+U<|!cow?Je zd9qD?;#KY!=+}1T({=KK!%%e8r=z%7Y2jK<01fX43YyRU#Ykgo!8?!Q8~tpz7(M6l zXm>|U25{=D<8U-5jFVA}bOl{H%~cfgfKh+Nf={ZH_FPOqEMZUa%Dds5WTs=VrVl7>84&fMU9?e0cXc$(zoZ_?g`}^b1fOJ+Z4*g zN3THaHH($v>)MUE6Di}5Lz&zADdHpSzV*1MaVOya^3b$35{6;=Bg%6slk6>4+BIMP z>YSGt2ePQPT_Z*EPyhU9#d5#1n+2j8`+k;(H_$k)=wOW5Wkhp-eLQ@Nw@Q2x0S*5t z>xhj6&rn!AfJYJ4)RR7$BLdTLNEpQM{#h%f9)1Ka$k1F~lcrUT3$@Nwv%G&c`C9XH zN+o}{aLSg%Tbl2m80+6@`*cgFnBI$;hFe;(jD}VlmcAzIiDC{ph48~F&7I9n9_JB; zphcr|ZPDC-5O-0th%)rwKvW_Rx4r)1D{JqPo66rW$J}WGEjluJ3P(*cWh`eNys)y~ zXDmO!8$SEz^++3|r-h;Q8B}jS%TF6=F&-nb6WUozs$W35x+Rm)Ddy)bd@7gj5r2CT z)jmVp(sX{)2!oH<4YtV~g`fmmni|{3Vo+`!#cLwFRf@Ukk?11XSTl)R;u`yd-l9}) z;M}AL2sLI@n}RzDIuo6XnBvBx&;y*7Jg|}*uUei#NJE~1n1~*|Zd;|oNGQpTry&8A zbEJ7@!4~H$JkcElnx>=6a;AE>KBV0sXF)7X%R!_k_Ljx>)c>yI2Jio$DbusZZlKC* zcg4p{vEjV?OvztDcYxd^(QzdFZnev+X ztEcd<|Mi>j%?!Qac$o|f2?72(gxyw}$`&ge$@nBIH_Re`TKt&pzQu>hN-xP1PniX; z6KLY=+LT?Q*|1$Hc@e%`iR2q~O5)oE^T=brev+VjvDjG=qe<57F%dWE<{x7|ly#^@ z28q1SC&QB++twV>+h^mPcYU^+>M5TjnYbFtR_ZFhMc`Feh0eAS6=LqJPO&V;PnHq;=xJ=8vXCe9F4)xAJ z`vO+@2e2N8ag4BxP!D|mU4IKVNLRTbOgNgHv-5%uoKn&ZnjQY|DJo-6 zCvv)jKe3B0Mrv@-xKYyqUz|wZ;{oE(<^B3@ql1@eH^<)?{rZAUSt2%pdI{&TqSOrC zAp z_Cu*(?cF9PJNYuZQkNfug$f)vGitYqZ5M8ryvNhRPoWw+6cFjD@G;s!DFMq|{D9mS z2IJX}-5fmTj>q2^k5@y)D%Oh23|!0U+(@eL?|jR@KKIlNX`zWTl(eY!qKph3thW7d zM&zciCkY7{x+qkC(o7SO#UDjdpoH3;Wp9jl?Z%Fd)nOnsF1MN4Z|-DRxBU>;VfGhT zNf9`^X*>|g;5n*25gnP~kwiDSl4HL56-{ARD{1k6^bcsy1h{%JF_xUs6UJ<_XR_#t zwp_grfIy?K`?9UO@Vn2!mNn z&!W?iyYi1jkB=0;1O9fUI0THJsgY<4GXMBkQhw`MdnNQw1pfdN&hq`@lXZP78cPd&y zrPYr^g1$H1CjoQ9MD|UqSw}FQpTY~N9UV%b!$0R8kGW$1vBV!{pdL3?XX)rkw_=tn z`zIHNAh<;o3sLol*U$`7*>)CMzsN%NopIrs$Nu+*&6x7WJr}liw10q!`Y3?MZD7=! zfI(L^M5V&hk>4FVxBkBuK!UhqFaMv+VP2U$7QupydLh)f4xnN$%VnmDKS=Of`rdF{ z@u92we>7bMTa@9_-lDsamQLxeMMXeTS~>+J1*BtXP^7y-8YHB17m<>b?(PoBh2`U% zbA9h`n0cR>yC#*__%uawD`$KWmYX}%O*$+&EhNaE* zQT||dcb>$j1;@^OX7nX{A?o?>eNT-MK2X=OVFNaHIlGXJu3#woyO%*Mk?ga+;XMsR zoaIOR2Z=2C#-yRpIH1$^7_s=+1EmJ&akb5+k1-;dt}tqOd8IgkT2J~ zP7rb3+~!MAOfn+2;qQ1;t<~MPW3$Nf7zST_#51J}n#UKDMo||AeCvrc{qW)%Ol$tyi=@|B1GHP6wUgZcv;O;)kZ;F{Yh{*TIQb6r`W`7)J}SIykA zp>5fLn+;)}wt(3fSr$a>-UJq4{WU<$OVk4P%MuQ}SF}%|hyv*I0^lc;-(nsh#1KGU zKkJxTQdII&!9)5_vqhPafnNRvUo{aPZItRy{c((<=Ho=2V%cX-o5Ee1mKh+|6+nVMWzjZ)3DpmS89=8TAKDTn`L%*IMinHy zDqTG>*`dZfys!|$5sf&NV)8|O&)d{w#7`)dd6+nuBFz~TN)hPUs;l?X5UXKs4F+1W zW@W+fGhC=?DEo5Ipqmd^34>`;0eZ0^r!Vkt{F7&-6s74b=|EvKvLYI481Me^>^45+ z%jI9Q6^26XLW_V$c?<@9Fb1-0)&9okMW%scAM-os?66tcd+rcQksIs>r)42o$oH+4}d$H|K0xH2b^Qvv81;e^4})1OYNS~eaRTA*Ih@YLl*J%XL#kb zKRMyy$gY{Ddfr@|NB)!wxe0wdQ@OdC5Y#QZxkfslIeP-Mx{!UcYa16ce@$kkhuK+A zoJ_@Nk7OD5-lshdv38^DB`5*RsDPW>FZU81*<>*R43adH*SdQKfMZ^maVCQ#K27eR zQd8Kn)0ZXES9JQ{QCK!{@vgQV9VH4t*^hUR$d)+%m^vJlzD>-HPz8}1u9F!O zen<`+fxzgeJih@-ANo73kS7pm8YB)-3|x(AYs3UJ9bEh2Z(4)y^ExYJXOV^~tN^J> zh52*?aWH*s?y1*3tVsC&K=3qT!q@NH$tfy-{WgD%mOo}kGU*OoY-x>&w&pz8@`-x9 z<)NEyV<4wmtZ1S4*=7h2i5;CC_Uwh-{11)(xRv_XO zZnGaQ{@z1`KqH_rB~QR-J-ukf(|lb%mEhU3t^JQZ=;swjqwu`-9{b<;>=@KR@ zI4bU7z_9){X%+d6(l#%6_7g9_mR}3zrw*wnS*Yqv2Pgtb%IZ1`#?pWdE4;zmDDcbc zg-H6{Dj#z>IkeEpX9Xe7pcGA=S7pysdv$V+&4sPmapONYlL-6>DXtbL>~Dl&fyntM zKur%NUTjfKIAa1Mm2qOu1A+KQ1nG=+ zVje%uHA|?Ng*Jc)e4n?;%g_OjR0a2C1Lk7_J?PjWq-=nU0A0`&h_s`To}Ll{Wzm?7 zI);vs5dq>PGfSQ5tT#yKfqUYk%w4g`JU>^-v0!?|M^8RJc-m0xq44<*i>B>=afp&Q zy|L=28G5VLg!>is0Eyztmun#)Ys0^9_cPFdP8oBJJx_#e>1|zKTL(PEJ-QJUk{w7* zb020LxR;lchz_d(qpYY91C5W8jQ-f<_o1(j=oR-UySw-Cl!{D7KL?tq>EAy6 ztDLz`Svq_E1orJUTUd8x#v)SH(G)uSOk;6S)ku)c;#$B1_O-h6S%gPqk2pZc#IkG| z58voA7dPv-8P{&TyxWy9;d1Q}uBWWLv1jvGcD?Y@b9X}{*oKOS2=wst+l^B!fYyd{ zA&%YbC;N4iX0(rqPHi3qI>B6o;k&vqd7-a=l&4hKf07d(y@iNMj)~|!udge=I#4n# z26braamZFY1Uxsa6xCXbSaJ)?e!zEsQ$XPBTO2SRgzsUxTX+0Y862b2S14fa2zifJ zg9ImgOmA3z#dOIs!u&xzkF7|Qw_n$XSIQ=Bq9NKZuY^Oajj!d-jh>^o(6x;{CWscl zzAd6U>5y0B_$PPj@5(9@0{YUHMBG+P>l(g28mdO?cz`YB_FnV`J&Hmp*7e9Qz`mL*VQ2 z0Xjd7RXAaDw$lm;sL#tZW2T6me>~pLflXt}$OQZt#m5XAy-D4`ScKmKwr%_pzQD8f z?jO!@*PPF$x|_skuu2+MJMM9)gxjS-IAD9pb?w;vs4;(ZtCwbJlz+?P30)SRA&(Oo zNdPq@uV_}0$l`{`SWC$8wCUl}wgQf(-N*e6D>9qH~932DkG!4{*=9 zHnY@BeG4wfFAM)+7H;#;L2>X~aAUmpMc>JvSAKQJJcMwaX^Q+?h3u*=)xdbY@Gw-d z7F>Vxt7XsWx%4bD!Y05ty-g6V0vLNrrU4Db;y(}r%}nkw@^Ud@&rS(`!suR)(;fAOl7KW2HkoB0|sucF#Qb4Y4)jU_Gg-r z|H!|RO3VDKC@4X%Pqvux`+*&iroC4PRU*|BrU2H= zw=RpIXszg83v(us{uqW;E{@D`4rjNJsvDO@l zY2C*<%WPJ}PuS>nr)Ai`Auynd7Y*n%UwUVXy}sZZ+_nJv!e{pslIqY~1hRQR%X5Thrhy;RGEp1L{)h|3rsEyLR} z|8KjGBx5dE@`d}N!lXt)C%M7fDL^}@_E;*>!qfD?3L}j#@%g!D^7i|q?BdR6iTpVoQZ{k(hh2HEcS22Vb*(?7TF3CxB)p7{5;JxHR?uYB*<@XY19nqnV= zbsq~aLI~$y74un~@bcHJto&elPDsK6^H1xD#ET^4%VNm8WsevZfDJ^3i33 zl=iK#r%qU5E6nXNQuIA@+ETSATXKsw09H*JLx0b{kg9fZB5i)RR)i9tO!q{_W5MXuvnGEy+R(oSqL5Cqph7o^ zKh+igaMo=*Yc6wPsJIhs;3{;vyLRIwFJMt_f_iYT(e`|a1FGZxU5{IJ(mW>;6hv^n zvi`7i-CT|Lc%*cis-Aml{tya>lll4bdT~F=qMAw%^u#88g}7~h0uE^Lcfc|0X74J| zEWTQrlD1}adNfu|C?KkE8j0JYmULH+{`p7bg8m)QekOE22-N0S^CDolG~oS+v!XaQ zG?1e`!DtJsKZdAK^*md|&7&%f9qugOojkfRv_y*>_GB4W^P39$%;B?hx#$Tt)B(^d z%)gtz6g`dln1kYSFLB~$bF@))a$P82Ad1CtwFO@8o+xcUL~tC3LOcaNh$+pQ3IrC+Xg76vr<=VOt& zMKYO`$EmMShx~!<_a62+j2O$p@uKg~v8pT5III9r|Ix1w#SS7Q*)N#ME6=0Gk?&yO zQm%Tw*7oQjJ&t7DZ&CJn&GClc4w&16NTu2$w_qx^_(IeSBq>=_%B>y zNpD2eT>mh>3N>QjZD!VHr>cSMxzWFAK8rP$E@R?lr7kJZS{U!Z!{2gVmaMaIQr6kn+yGt|UiWtWh& z`UHZ1OFQ{YWN&@WOkI;{jclT}Bo7oVdPV*sU?s%p%tS@C-+Ko$j-Tl0smhT9E^{w3l=g%l}ZelB6r5jeC#3xU|K+(`A_`3+kpFfmhSF7oW&p4%}pBz4E`9^b)ub?>X_=* z&_h4)(jtR)gnR?Au-4}R<7JpEjU9);PrRSwI;LS`zel=6R+ol~b6<}kN*iEYeK8N% zpdV;IGgx7?C0lzsliS8q`;tI8^pS(PNjqTun^LX_1)tzjn*dFQM#}eNoHaROF+c^h zj36%$$%Uf17das7O8*Asu`r)7Vhrr^9!0!N>+P|{M9i28GAXPY`2 zlwV-A60xKNz&Jl9mEwz<#g}xrHU!8pY0uTY{F13$U2r5F7wjW$_lnBi*hy~Vx3VRB zOD*WAa@3x~!#}W-8mj*0LnLs2S`J;W1O8zi*U4vOd;`qaxNLKuwfqcX)=*|lHu>Fl zfu^Dd)}@#+eqarBnO^ddK2x3h7KUatMH-sNxu_3(zSQApp&%KIr~nj64u^jH%(cpP z30!lu7Bvqpo27nMbTrO{)>8T`%w=zc(-{0`Fctly2X`K!#=l)?aE7UiqwON@zkOsy zQh1L#1%u~5o7Ls|r+~HMlh@ZIjD)1Rga+mc!RXDx)sI$=5RK61PJ`>!&wWYIZ+k2* zM*DH8S1)`J7q^r#xF`5*_h(+Que^U*N^f-g^v=_rx!i|FL=bqrh(1w^_S_-CAAA;Q zKp6p&%BDZ{^7;BvjcZOZl4wM26}67>CrALJB@OGZmw{nOB zFd))ltXwaB+8)cDC0!)gtvK};dFo*AFF~7pacP}o3bvf*lZr$l4|Mb*k8%J-QQ&Il z>egd!ho@r#vr^3O$swjXx+UrA?4=$Mv)WDA{o`Y}lz0wi7zDp9O%J{wzvk3SP`*u+ zZagKZe2PDt?i!!)C;I7&h={1j$jF#s76vp4=AGztI#c{*dsf2)xK99x#h#x;1!)2g zh1L=&XHEK!o16VwFK2GYxhp=tS7(w0lz99)jY)~ApcJb=aS6P^I`{;zU#*Bm=+RSm z_K|f;a^DOdgue>>wlIZ?&l=HKw;HMuBGb|hGDV=qIp!R^aKg0a}AGN$;U-mE& z3t0%x>%g~q^0I8>+V!_ynO zZ1vTLK7S}|r=C8JH0MsmCnh!3kW86jTDT;|}3TiIUpaPNDO!Tj!|);KI`$a2|SB-)Kn-$D;zP@eT1pAODf zmkDij_fE=l&C=SBm5VXLL%ueL=pE(vt6J~Ct8s3Dc;zEwX^jlqv5W6d-DD%%RRDW6 zA-$rG-JW@}J6>t0Ymsz`xb`?$fP^CL>a+-48671Cw9|t^vc0I@@i0cIL6WdC2w}~Z zM>r!=l??w4r$M&(#7}+n$?Y4PnmQqXmQD8PH)%@wC9oCt^d-#m!G4*IyxExU^r*s9 zte&8GH0DH|b|vr-)A#EN+~;d|(3I-*4R$w)p7N_YL?l|tr&axCCcDv~vuzI-HGEP$ z!Oys@VxRM;{&I%pje~-9&?-qa%aUMs730C?l_oz8J9Y48Il!#udFP?=X*!U7XM*j^ zK;mDYXR#a(H*Q}eKH~n(RL(Jb%ngrQfS6U7xYTxC@D5*lpP>@Hm2=?rgO2_`H`D_z z_io2==76jBKM$)<>f9z$ubP%#ARn}@7q)&bAt^wsMIH5~;{hKa4K^!M9rruXN48Bw z&(3HvvZAHSs2+UZ#&AB@igffR7OLeL4TK*XnE>FJurK=yB0)lZkjH5TH+aIqhRXPf zTA^3YL|{H3t?0o68u%7PViO){19;RL2;`9+yzM(qvkz~`{V^*Nrb6x2en)gtwX#kb z6zGL}f3`++CU&}kcY17lgBnB|Z0-^0{C)YrgZ~LIKDN$RbY+A8caaIg$(v+0^Ri*m z{S)@4o2DXz>1x=MauS6dg5mb4@P(aH80fL}OHg)Yq9y~l7g^&7GE$o^@17=sI!BtY zE3cLhaw`Kyt^ZK;M*2zKx_7BNKpkkIf$q^(>0-Ii)FNzQz2cANo_maV#+MiKDB?X= z=iV@YL^A06X2TZ~jHDMeD=}k5n&G0d{GWLsFrDjZ3%MQ_Hq$nN z{9;BAoeQsu$czLVpKNREiNTWI7WPNd93~2r76LuY3S}hl$d+yvfK1aQ{RUK$qJr;T zE&7Tt;4ip^=fd;xnDPhSq1FD@#w%p2>6ZjRdl{=?p`R7Jwon)PntzJ_#cBIi9M^bR zeCxtSqk?}BTDFam&?*oT(K3*o3@o&jgWP;>81&s4u=n*gU7H{? z#e}6^jpx|sKI0F(0{%-MJxt$1Tp$7-mvi(3@YgTWw??@uwl0_Mj4n!4fi+)u7o3cN z0l84q12wil2eSZTKrIts-42BK0x11_8Sv(Q6bmK@hS%8!5&!u?UZupuc zix5s-X)~|D2fBw-l1}3%h`}d9_O~=0eo&v~D!c(rri$-e_|)s`Zz5?5?gy%ffZxw) zlf9{R8@h$}z>SLm##x**qIsA}1ujW7u8bc+7q3!7Nfcids6GoU1n5y^Fy3Yji5$Q3 zoOKa1(gAXwM`VX4uTY!!|26A=#?#1LWlUY^TQtBJya#@EKe8Jx;+LSMSO#o;uG@O6 z{P2y484tJJU8ji-)Tg66GAW!V?z@#{*%SSgVdRZ8%M*%T<;#W&qoI_?+i^{hf309M zBtMkQ^96Du{BZMM9SRpNNk zZlR!X>5)D0@0;D;C~|;|D<>1Sq?iLSn&1UX1zed(1Kd*#$|XiE<>&90h-%fF4TWT zuT>CI#n&+5pSsJ$e}hvk^!9!a*XVcK77+u+w2w(WL}aGZ=DmpHMdAcz>k2IxN2~QLV3TMQATpJz#_Sb;)^pNFB6Qs^<$wwiMyZ2>Yt-i(ju_*n!8V` zWe^KYW6Nv2-DfT*yS3|6Q?#AZG-ET>r^jn}IzoW5394=!p?MG4Bl3zVJng`sTeD08 zIgb1ncwlQkBEc`}b>p1R^pkbCX{-%uIlx8`=tpDSDrgb@VSn%2%=E$ioOA|RQGq-$0>7jtv6OnU%vru_Q7Vphcfc$egeFA?lVo*n|1WkEe|Vi zeUCMGtB-J=oi;7W^m$6pT;{fJ^Fk2HzIO1bE7G}|5|X3)Q4hC#!I{90>i*8kwfCHM z3V_+6l@%_)xfW;@_n+SH@|S6nr|{VO(R z6L{J_yYWE_fOmEe1R%`!_{8vQ8Se0wo2c8b!M|dfr8|CI?vc+}%89#!qe`(#3Y5!M z%GqO*|4mY^U6r<@9BBdl+LLyA3Dq*+Kv!LxdzBeJ1AE@K78!r`Y{X^2Z$iEmPiXIf zMY0c6o$l{*Sj#0Gw*hu@um8t`@DB|t&Q8p9$ zrZQ@(ab=$MVBQq$>afQW-?G)Kr$^Qai;>jL-{_G)KWu!4*5HMYeZS6d4wmH0msw|x zlcWS*(h~8-dRpWcD$SwDiB5C8A3ooA^^23MFbJj-Whc_i&k)YJ)Oge4G`Eb?e5r?; z`H-Ylx$WMyMuW7vLv=WMg31=tHj5%L-@oI_W>Cb1B90zzE=*;m;$fS_9@n1 zG2KmF>-(e8f#7iEO@%(sYNs=GJsi3RY`v11<_;tk{HyhJo!YGXrdmHP_SR~3{|i1h zWJiJgXZfT+!*LWNwk<>-0&{)%-l_g9aJ0AmW-^qY%0aJSC}N_N*Z+@n#Q9|h(tY11 zRJk<-KzsLU8%Av8{dBqDe>Va++Go?hj$(B@r<11wR03rk{v?!10Inq|A6AB|*OqGB zIYxTOVES0ER{gLLOEuf%PZDi?Iq^2|d#4-283f^&X#&i7_%(&1Gxp7JJ?uBRswe2G zl}!Wj?)I{U)NB=HP8Lj|A<~2w$!h;McE2Eor_h=;!f#1|Z&Q(&DuigGk*T^~$*Hnn z$&56BsMPrRC=gJ!8vrg&k`4AgY@~eoGa%T#)8mKad=6a*6n9h=kI#~rHtDP+k-;uq z>)9B1;-nJRaQS+!RVPKcj3KSCYS*3Es_t=9Boqy}OSm>xc#P@jyo{=Pm~r_jMmWru zbhX52KCH;#UjE`|IUzIQmtega51aJgv>2kuTzUsVckLBUf$u!+B1L0j!P%~2*E8RW z&=#HpldV*C#Mi|)@Q8Tg21Txl1wny)uTH@BOkd6U>dE`%%d{I4_vz6!KL(ZkJblf+ zc}UeHINP;I(hq%&x#Q+%jqTsh8+u~gA@q_$E8i=34{-Rd3|}bsT}q9+l+^M%>MY#y zyQiP;14)%hM;{j3{efklY@ks*N*Z;1g<)hWDS%IThR4_0)j-WiUb&{#DO1rnS*2~d z{8Wo2<-L37xM|!)&JaY(o4lQGQK$V!?_YyvS(PmFZQ_!F-yJu*07JM=BK|zvZY`MY zvq$?@;V)u0%hJ1hqSu0P#gvJf^$pc)>V6niwK*5IhDl<%CInLSBR%; zb4x+@l2D6~Y=__CplW2+>5nB*Ywo|)MWZ|wRv*P)h*dg|-OV(&w)F<1kD`BN3TkHc zBzp*fd7IgA7xfd{s|{N57$@>=o!Bp_cEXk331*RKIm(hIU$52Jy8R3ndb6Xobq{et zmVQp2kcf;aVEKO40nBC&V)J12km>3O0tB$XwFXAZiNgb^TBr;J5T(f$j?U= zvsw#$28zeueBFv6Y#o5rBw`!Tb5Mx*rjS4P&x%MefmytfBnHdg+a)#z;5Gfgzfc{D z&h#!8z1aENm+fK4XeoktVgtq|2T4ZD$^E%kQ}DO+?tB0LU6 zc_>x0`(R1w=20$EL5)A1HRA!?idNN=q$YzO(yRzG2Kq_$vHR`)xMjn(nawd>9f{wQ z!{}{iZP|#veZvm6{!9b?$qKwlsKf;j*(%q({ZjSS_g5yre-HRa5hu^-@A@fz?Wnw> zu2eI!*p%p)Zp!EC3eGWq!*7f%dw_+Sgc7@CUHo&(9UGh&Vwd}npXT_Z<*xx-j}_r> zsrmwq;fmk>0)`5u6k`V8_ZB@TlarvM>+JRM34yLo)1SiIZ;2whecj#fWeI|Ek1=3R zcAm`K)5|sNlaohSU!SPZ%OR?>3TJ@~_<=a+j_{PCnL<31?@IoV6lg(QY8LmJ1@8l1 z@%3@lJ`*d+geF>63B)QLAn^eFc@I`G;X4PHz6EXhz2DO%O2iT6>y=m?7v*r=Dl%3X} zN03;+hA1s>8AAD?g|j>QxQ!xX?dNo}AJ>N7PZaHHU@!o>pnw#GIrj!{HDcVijoKII zwrvR`=h|`49d12dG|e%5+od|j_w@3-An#VYndn%Pm0sM)hxa@jeK|4VIlaV=uZB(F z=}I!JV~ZYe8C{~GPbFa-xPku=sI4f??TwEPR4N8nCTO?q${=<-F#%iy9Z^zoz~oqg zMP*z*0%7Y(o9w>Bu=5Y8^3R*A7T@KPrBy1mFeY4w2ueI z`EMmVR`w&4WU5urkxq#Wurf0~a~q|lY5bn11;D12B++&5i%5zXWq0Ehuky;rKNc0D zI1%V`Qz~b95ZTHlIQ<|_*=6uYpEpY*Po)W0BBd7*kSHhv{oVu2yId@oe`A)@g=ANa zH_avy48B~Hzwn#;?0o8LjZP_{XL1}Vy#rfgDyf$)qAZ=n z1et@-rn5~omkSJ+PO&tdahkg2YTw>@<;o!qD1Vy*>9qsPSO*dgJlGQwnTZ721k=Z3 zJ4vB-sWPX`ON&>%hi5fe&avzM$f09}zKUz6E=F}oyxc=S#xi_e$-EmeM$8lBfJKw= zx{&1%;rEylP9EN;D~<~PFhE>99jC0&ihCKoQcEsbo+P>#UGS6>Ka!PrE)0a8>%K!J zpw#7ck4KKwax58uWre|54s#7&7u5$uY;D2MYwPW49wN8?kx8iOpVO_-$o?XT)juP8 z+~wl znl9*8#S5P|OI=<@o-TFeN6QfEA;2VYL2u`~cjwAOs8d4;FNusXYI5?R<#Qm{ky`|E zanH~0@za7e{Uci3=D^iUKzn`a)yjA2&pXC1e4S{K>DQ?%4PP;qwro65cZ|EWIt%Ag+r#;1CEuN(KP7D?fl9zCrjf z8Q83EN<>@&?_md&&BL)Z_jL5B3Y9ZLh}NT-WscMvRVjc<{3|YZC|I6J+72{4#94P%IZ8F(Z{&j+4sQy3lxgwwMA92lwafa$WZ= zG^*mHUw*SPK%;b&35M$l?;=-4<}ITCaQX}%n=zKTo2cAwaKdfS8C(+}(d#(sI2ycR z^4PJ3+L#PjV}MO77T0wcBgTkRh&Qp=g&O;}m-@w%lw$#19P(8IeiKI`HG&4zEky#m zBJRngD!@CV-6N)YPrD!TxxMIj z(8Cd!FAvT46UDK1z30}#5P_%%Nvar-Sj-xZH(kXXFb1&~Ja zq)zMmTV}io$*$H(nmA%P9kfNfIW244=fA>t>Upq6p`<{<@a=p2_BD+uND5Sp41kAa zNYkNIWG=vv)J0p7vzw|kDTEL5&O8@hU!Sm!ZNl{qu)oWI1P+a(_@xK*C^fbl? z%%9dOM0~fPO+R&(Xvc##3FWjqB^?|yo4P^_`JwxWTgt3W`;MIJxty$)*Wtd+6LjI0a_99XJEJ;B;G5_c(MQnzePS4l-*R8vS!k_PplnG1vMD@>)2* z{>Yj4Qr7MAX={IBg|d09ojQJ_Y6N7UU5h&A`h{Ng>+d1(;f9y;ipX@C1$FcMZ0%#0 zX%+1wG8G5^0cUYJFr<3LM4ixi54%+RH#Ylw8BU3`B*TdY`h=xSW>l6CKBbZOznpM< z8K2308x0Oh`z`($7es?BwrB~vTC$=R$&8pE{ArYmJbhXq2@qq4ok(HQrHCeEn zjzg(k4SZ4ISOL%=4kSGN;M(@J!qi>&9s6E~&Va;*C$$&8LW$qP%hzFrQ&ozAAI7<$ zzZHVk#QAw!xyJif|}6Air>F5e3-j z=8*Yem`C2`^WI+dw8ml8iUMc~0mK?Pob)noF~#n&uZowEv(Lbv8CDy)x)fE%XB~7C6wUEzN}Hx6&X$wmG%}E%E5zx+)YHJXniJR)UulT;(sYnE|Mv3N{GGY|J{N-9fOc;fmG1gwBgMQ-f>G3WL(=@ znpMPh=tB;SNY#EDRDC)Yv!dD7Ud4OlTw#2*x8v2clcM)OKtKyg)BD)ucOw2`^-%m; z59ReE;1*W*HJP=vnqWu3?9G7iz#=Q_Y{8vt?3)QlQ^B>(Qv^E)fOQNGc(j2aqR-vt zgs!+49%+Diqt_6qILg^|YtZ)xf(mI%j7|l;6Sb zr*ABsP+z|=y-#S}paZ=cTS06xP*60Z-iyL+;pefNNY~@hfj159O_O4dkIB~}?{fv>qg|}D5#39c$ zbOcuSzi@t6cx}5lq8QyJ<*es)%bdLLS1x3>dp(ZDxqv8ssRXcB+q(y)2&ilwQP5Rc zI)a4J8Yzwvc32w})XnnCt#OGl(xF1#1w!E(d5Nx&qh`h}b7m1KVr9YT!U1E^R}-zr z;nQBmcNtpZe=~@Z2xyx+O-)=ea%2Kn8N0Rkcg#?z&V2v^z_n=z2=Y+pP|yw(Xp?a4 zCwZRyfe6ao7U0B95S9Gb)->9R(p@ds^?o|q8kgyB7HbkS%J%j9;z-ppnocTUhnC&n zDXf%YPP~x^KBoA_G;^9+0t4+Y^5qi2m@u?cmXfmVQ$YCl_pc<;wa^V1f7f_@PiIIu z%6T6X<5CWuXHO7~lZjJ(OHROvPgV3ta*tefgUBT)ST?jwIPi&ww@tj075HGv6C31y zMNvm+o)^^XcC|OeD&^4s>FZ^_x&J-YTI|izIZ50thEDG!KrhM&M zFT5?_E4{4WS2{gT%hDr*cp~aQRe#vM-vB1N$t2@Co-}Mkh;vwYHYhJAOh@E&J@!@s z`4Ln^c*^mxBUZK#77jnkx%Oq!RxWQ(8}G7|^ffYJJYBL$y@+9}x!W;x6v$nf-g1_n z%0asttwbs}Ar0-+gC29iUwMyaX8!m7I9$y&$s)UK{d?v~GX@97X** zen4Y$rXT?;=S6o#yM41e)Qk7;cK^3R3V@v3<}v|#S&ypy9vQ)a>BdGNG_m*D)(RM< z3<59$JWd*(E+ceYx$BEm(s}tJ$-l0wW%iMn$hP-Hbc1`%S0nVo4<>}CZ@|4iAsCXY zv(=yKOg74SA?3wbp9bQR59|cuzhGUxW4ENbA|gaG1K+Nn$XS>nIL_!}(6^CS?!%J{ z(c`bnjZB>du^Z%%@c1du=+_deQY%T{Vz~q_7{%)o2+z;uF#_wEakGh?fKAb(|C zs7

*)qydW?6=6*=BCKvaH1N>glgD9|G4|b*EWj0*cPOHvIL9gL#0mXJU)6D_hDE zO`=F6pcxS}El>O~k)16ccXymB^FBxyn{baB$BkmKY+QespWFP~!)Uy|RGiM6G2s`Y zL6_wE^9*Zqpne7g?a|OmwQ?Iwdklbej`$QLSu-(_dx*-){e+_Rl9`_fYcbb}&^u&W zqKZJY`CQLSUoz%XM0NGb`u+|1M%+z_R(He%ZTpX#?QLx3#r315RQ+yqkxiQ#X%mqX zxb*#!X1&NuXvjtkV0Q65AsY>Ei-It-?N}QvZ6X)=Jqaw5Y(lPdnG&z@6oo(c_fMt! zv6?i&KBfCiuBy7sbI^zl>FBVu2;t+P*(S^C<7TP@b@fph?~o;|w}&ktPvm~6Q>IOj z_o(RMNBwB6p?a+wMfPJDz{`&JDDX9sX8v&zSuz`(aA6LXcMEo=SZVQc795XVYG>JT z)pLgzK5(x^U>)*e0jj873w8bXzCd`u;h;xw-Jz+{!)1UPfEV^SwBY$7H}UHo4f5H` zt!wJItkM9fEWjg7@B4lcTlSn;6fgO-E-!j6m}KV#Q~BW+5zfN07NH<38+X~)g!D0Xf;?SQ@zA_#Nn?g%-}$DuvJvD=KrK z{o=Vw5%u7v=8}HkWI-e%e(OFcy0vp~BT@|=xKvJw9p-Z`=HK!7cC|1#5-9-C|4tpC zy9tlcGHdmFWniI8(vR+5Y5@2-v<`Hzqqk)4T@`oIlw;nlAS^?EWF~j4_K=xUxFSws z1ZJFhh8OhUq7 zDsz{aFjw6umOMGlZw#eGJj>zSSw(co;GU0wEs{LsyUi2IJPwC4h*hsdpn)YV*IyUD zw07vj=*6|5Yi?R0t0X$>-{z&PwozWWt1TO^^@k^thW7|=|KG99`MdOmhIfiMYUt0X z{|<@nZOb(r^K|DTcOlC@E68s|&cnTVT9Ru+G^jJ+6;WXBV4_)h!5t&yPrWlS&{6O@ z^WB4>XrS78aeW|)w}yV<@E^x2Jn_a^JY9;7<(AhX_=6CPtsuK$BrOiInXM#EFETQ?M!NN^y>Ck2BreDPv20G zr(T8+gy_UGfev0@IriucDJE;2?&8Eq$a@`z4@3XiE!=zXSh-a>&cRrVz zw)7{8yATj7h?UZpMANAH>nv0uG0aS#Ne3lAcyYSp+TyTASzvL;_JSRuSvO0Zcynf_ z;ISB~9KIOKPEd=)eVh=LP#y;@M>yhRe8PF$=FWR08~}+`}BU8@k$oaDdmfLLnM{ zpXB}MjB|WIMDCN=Wg#MH!Yg8>;|}IrOuHY8tJ)n6$BB70a5+<%QoL zJ3VyNu6)pKm#-Ol@|M&GQta`TJ*Lb!OESS1IRM(eKD?K308$>{wZMo({tWP4HNBeN z=?!S%SpcHS0JHMmUiZGR--`E%wf`x)NY(=(Qu zfT(Vt(4OET`oB+{Pj}5~=wA^sphl3q>Lg?f)8|?7zl1vsx10QH#pw@ywxzBCz@P-V zmkhy0*MI~(e<8I^^uUPYh3HOX*(b*10V7o6wDK6Ci|tR*%@KML<1M!$ezP+u+J}AD z*BOO_Z-IQ0xp#Kbe~tJEXdla*@b1*v$_VejFPN-wV3eYEFal10swY9A zws|T$dP1^K13L}R#vaMwZFjJzyl~sj)snXAQxxj!9vZ*D?Y7`c=5edNuYl4~H}Lc< z?{{K=mV7ZOZ1T}y`wo7AqxcM`l@$2ISg@|b^>A==>9{6%p>0A@-BhMFPbpzDKX32u z1-p9*r10`Yzicw{f5K)SNpUol%zRWaF^8jKO2jg`jF0Hi|17@Rfqvy2pNWO%GzY%~0h=;@xLX&=U-RA-;v zo>%)buN@pd6H8+_!dS9k3(rKl^Vh^;RLTEq0V?zXW6_*KZuuOhLB4NJRY`<0JkkpX zzx-i8U3OvprNpB|KZrSWEXQSsmkb%c+oi1{W0Xyx%s*C67caYQr_GmG>*}rAd4SPs> zpzI27qWnLt=G*1EcRh11+~}bR`nmY}21!~9Th;0I)E+9VV^p&6%ul;I8kfd6_c-xf z>~t9?#%rddw_Ms%<5#XBOK!iZx&=8xyZh2YyQ14z*`nBzsA!`b&4P*Zt>2~bE#5og zbAj^(O^Ovqcdo10sh_1|PIN2C>Ez;P}@4{!giI{21_(FGak867?)sbj| z+2Ep3@CV3ghaDiU+`sea6%ooD20^^iq!1p|SBkv<@`PG{ct?g*;?B)(SMkOm4Ny@9 zV@R_epY0Vd7WeA5SK?E(s&6+-#r7aGD!EDPcu!{2f)~ZN{hL{-YdCv_{IVYHa-#Oy zFoOigX>EEMKTenU09`IPeq%(=$T$$LI`86Vbc)BcWVE{ODe_`qzzh&I1`5b$r_uuE zG@b@dj{r3Xo?Wb&pJxzO{NNI97x?gk7dC8eWenjd=D0|yHCiYNR8|l3Q>|AGKU*SG zUUP1VmGCcW$2~M{%tIo7c^3Wpfee#JU;s~ z773;Tk*|010KY;|bVUX_S-QL7q34pRWA^@Lh-i?RQN{zqaOTC>xG_kKII|XZrkQ%0 z)fa@k?~TB`JTaL)|I+A9)hr^mmJt#b+-ryUV%gSn(BDghi|yU-5D+Z7*0%VTd`9s0 z--h6=7u&GvXR9IrlkgX1=evii1C&1s!E-pukx27u1PJ+l`OvGET_Z6<4NO&-UyKfD z0Evg^%Spw_MmvErJx<2>U?PrAF&y!OPhf|T?~pSyImmI=44rjdO&pdy2E3@UjZzq^{nSB%_FT$?Xn{XJD0xE2(+<#`QGOSK%*F@~ZFXw8GLJ@!;tg&*;D_aP(D z8HyPKY2b7W<;O-nyMW;jfGv6q_mq!TLG@+L?^{mqJgGt z6JniUEBeCnf2Fwq$8u#Vi43D*@`(qmEdT0*ld-Lw;nq~U3K?xkiT-=hw_gh5oFN4i zEB~wn^%mi0`>*3%M5}Z!?bHW)T2t~G%OWoyhtTJm5L%M<068gA5*nrcT9mID7yunq zJ9?^~+sryP$3a4wFmAZmm5t&dGPcv&w=g z7(O~Y=Hz(tTFeZi`*RN>7mzWLMX?5)W{ih6HlUz@Z!q1XwKoD1#!4%)oaO;ph(1f^Jw1|0-B1pjGs3qW* zrAf`jk<^1rCJ3kPp*iJX>#gP>;mgLK)}pVf0RIglCP2m8 z{5~MM%}8`ji#J$EQ}nLZ4Z&J#Bxq2M{S9OzsfQzTE)qXQsz9>6HAt?KC8T6kQ)1`L zr-N~tZx>ulY{!BHVhOV0^+_hV zyY-CMWpbZ?GFzRmjQna<8|GHLRa|=%wqlrww}eYp_kyV#%Pajr*Q=qP-0RB19sc*` zoM};uCczupGC)Vm6lI#UBjmOyS9zZ_^(sL&ML0#kS|e!peCRd40Q7e`r3<0Fps$pW z0@VHpFJ-;$V1?ieY#HcADTDl zdgXw5!Q>CRe#l9)5VCRHxnT^l0Y%a~b@c=ZLM8XbVWF?&_T;+56ceDj^OoA$2)da* zP9LPHyl;h^Nai%!ax9~y!-PF34+*$1>^LQr52^;#0jDP6$GF9m;lG99+EmJKktB>& zGeoIKSAri&qie=rh!M~C?2osUR2M*qsK?{h8E`f-xG&Fyy?JC-DDak!T#mrUUgMT% z-ArWMG~sXKmYd*+fgt)L9r~^9PSf{SFa;Z{4t6E{@i!d#2E`+Gk9ZOqef4ZqXks;3 z8e%NSD!uFqyx8w#xOORravUX=$X=jZ9Z3f{RrVc)zRcM={uixc$S3dpA1mZ7hJfMY_G zAuPrW4Cus5-O8DUJsdFJvx_`#e<|l3>@t}yP8IV^1XL4?QXe9WN%7pi+Q9?Dri9*Q z(3-{c+5(nCJfT0kC0u++Gi;Wy7hfKthcc4~{W#Al8D%<)U*7vM@{ABO9G-e7C(w-9P`je-D70{ zD&ba7*iEtWY91>hHkT_&Eo<4?CpI}61h7HZkQ>q#LQq%X=ACi!35#EsY=Xy;Tsaz6 zw2n{Xgc_H1ukI{$A{=LJh6|6`Y{w2Iyq%6T_j|4qTt_sS*VV4q5`jZj8W-5pC+?ogK$|CVvs`CzD^_!Ik z;~qn#gs!Jgu!5rWZ}MMgXB)Ypb;O6%1hthKQspY}CwmQwUWH=htE$Wz?TTt+WFF8w zg;H|)YC-I0npWBs_FA9rG>LOhKh{k?hY{XrsRX;9W_vm^6HY7o5wR6X-pan1%se<( znaXCd$mnw0zzF1HQ?oO<$4_@qq4u5u%F~?(xl7IdE4S`E6N>RZqTAyQL1KGD19;KO zHLu$TjD6n*rM|HgbSLa@B|!6UNav!%?a8ENlj6c!AbhlRRv7Y#O{GCt3f{o`Jp{)tnXmV^|nzq_ZKVg>X0gD)9owy)eCf@EHTyCc50Sf(9KH}p|G>7`kNKV;O0!2VKPu-HCg>KBlU3;c&jcU;M7%m<+pn8F zMdIMp9u!G}UiG?P5$X&ytJBvQ%Sr!8QH6SvsE3n+hzpN7Lpy93(yCT8vmHgNlYm$A zQZ)fO(ARWND_i9=dE%%6#xbZ{JOqSOa%7u_svVtH2que{XtBXw<(27s4IF!7Is_+03TKR(mz z`*Qdr#8JXor%FE`m22h z2HU)eJ3PRU6-(QG0#U4YF*?#&tGCk+8O2!Y)GvydN!fEB)Ra^?8GE4@7(`c6YZ+M; zI%YP5=ChHC-em_?8hzuMlD6$Z9=2Nc?`qtQP_+RA^;B9Q=F~n*<+5o7BWHLXoL$>C1VeQCnSl7laG;9JT@GlF9N~?a~?t z)x-te<0-ySK>SH09VM0d(3e#TqRVHL6RMijbG5PV?@bpZc5QL`VZ8nK8X(wU|I7nL zegcae;Rd%sFXLU4bSB{2VD0TVuM&LK%Bh%uIoIy&cxr{nX74t&%HlnK{<*(daRe= z8k_mKoYi1Ww79%;IUAIgjF1JOfm;~aL62Eg!K#4XI6xU%@F%m*9J0q2)TNXn<2*w+ z7uqB8C3o@j;)81TlXpY-1$l5I&%DST+^@ZV1daR*$MTMMN#%CCu(1F2^W#1Sq`kHK z?2=(+DKNy@LV_`*uXYKUVL#?Rh50<4jFm-b66z8XpRJCNkCaK?Oq7MHsdRp(e{{PT zv$_;Rq2ocJj-b`gNv>1-vHDIE*jn_wf?elk2pC5hQ&xp}OXXtC_y!`0dua}^%U<>= zxJzy=#f>WXAE?dqm4p}a)-Qp>XLIc;#bIYRGiED-L;pfrR&e0hPtvEREwhn)z0ojk zS&Q;||H5j{G4HL?3yl<#r8nptW;&C$(Ak*%&|OH_u1?nGjR=vqsY+kfZEvX zs6TQrsz6r!D%zl~6RS<%7!_F2;Jtp@lu+YkU^%hD$hs6@0rn#%yDvzT2@fzI*9PQy ztmpY%3Xx2}%CJlzEHbQR^f3>K*8XXVF3T^K=&Ja$Ns*+Ot?cAb!cpAJ1u(Ssl+A&Q z_2GWVg~O399>YUYDith`c1O)urd$YoNrC#WhJR=Hrp2lb6A4K<>82HS=QOJ$gS=(R zE6K@XEhyMY`|?Sr6+LE;)lxGd#zuq_{Zk={St8*DdC?|uIh5G}WAwu8O2QRvt;S;J ztoTzwm8~@|!kJ!tKNoiQt&fKgo#{#{RRt_p|GgcSxFlhVa2Q#WqjWZHd5@b=#Ebvt zZx&`07su;(hHAK}Yqf+q`-2o7xvJfv1x}{6`2(vb&ZO(VO{Xqb@?sCYig- z^U|nrCrWCN8S3TLP8#8@6i=|AO2NJ}9l&Dn@q3Qa(~&R;+VIb5J{M5d$z#3%e9GK0 zCG}bbK7AEM1hRB~X~)J@R8RMRyxli-F*-SmKSAxY?DuviN8Dw-Ws5i6*ghr;NXAUS z&IRw;BU@nodD@iVPucp2)lB;!KETTR3YjCbm=-~zQXZ%V9B&v%h)<>`1K-e*(~Ulv;HNKEmjxc+YB7!3@ zy1C)_3t=b^d+;{jX(U5KgM;D|{F`1II3$<#>&qiPs+wO0Q8W|M5v&A zQZdxf^d#yO*}7(Kw`{Ub*QzI#L>xTswTRD1eQ)y9+Ji=?d7Ik(ku-rzW_05!`4`si z{-|7T#zKPMQeT5^+|^_(HG=fGQ5;|lc&MeJW~F5r{ogk{STG|_6Uh{Elf`*7K?FiV z7ul$Uo*EJUGA`6KSMogF<3;p*Q>TCE09%xISiQ zT&XIcH>r;7shA+@lb98$aM7S^p`a|E6bF>Ooygrf7}9L+a+{-V^YV)ZB&gKrK5(Q< zYz?48ZD{ca0?$$Z*om=*SNmG80N4*SB>2QC!n{U06w1ac{$6!qvW^Wn1mD-H;#0cs z&>O$~$vXBUWzs=e6`)7ky+uZ#xHtC)8pulaS};5uCFrE*DZMswR^H=rV+7Yu7qZ?z zg^t*A>W_kKoU8^!*2D|muJ^32d$h`2WSH<>vcmh2#Gj5F3C!k-49hP8ETor|1wYy4 z!7hi`_{17bB(WgD8mLyq&^6?W{Abr{u`M(}^vBybkNnrpPaS_)XNAJ{A1;iJY{c6Z zgGMvmkQNsE{okz>IK`(A{m%Qr1bjU94jRZlOMe`7t~=sbWg0SBSe5Bv3pvz66!Yk7L0^2NYW8+7-M&KV0PU{uaBxI7< zyCMbe=NOdmK@FC{_zAoTyXSN>=}xPsgHRex$jj}QY-XC}f~o{9%N#4y<9oymiSu#T z;<TqBBx#X|v>aFZRK^vC%`r%5eHKoKnlQa|1T zjjIPCz1!L5qot428VxGNFW}FCY=|wYgy7{LU%^AmW-S^@yk`p@|Gou6*yjx5cNoJ};6(i4W!!3k0C;myE6B$DGzIR%Wf>Lhd8Dk)qWO>A}QQYNeYYOpRy+w1+52ticC#^sN zfsJi1W{hyRJLcx|s-HawB*NH#*_y?k1hy*;nAf)40>Ecf&YJd>q!g%Misddtp_HH7o z&Tic&=sHrg_|2D;zuO1&5_id$q^iu$RK+s2EJsYW^njXxXL&hIb%*Wi1|zEEaBlZI zsja(u!L2KIo;n;3vYfTm&<8>Z0%$o9d`WU229-sXj4-JR!2vzd?|v~ZT17z^wXA6? zj?oH^C#ji0p;_iLCf65aD^wDD#5S3$NECIx=vh`(CK4%j_6$Z~Vc|PTWRdh6MK594R27*(5`^j8! zPot#_Sy+lDo!g;Nm(seeICAtqei(IOM=weM_zl;4mCHBma1gxYpxIHN>LSeD+kLs& z^hg9?8f?Rl-NStFW6@c91J?L2ePu_TFD=)Q%Fcys9Ut5%-$Ch?OM0sAv#-+pHb6} zDq&r@?Ue9KWtQIxc3F*C4EptoGF$(of?kza{?VBx_HZ&PGPnwM38vmcCis&oe0V`w zWc0b^953EN!EAu6$_g|clT`eh;^Yf>iSr$Eh=(J%dD{^?fq>pMm7eFz&(lu0z zyKskELOaS*N1EE`3#$q>vZG@nAYTj zaQRA8-_6D}w{pC_Yz6lqczfQdiQ+i6kTC{H22n5DvO@JgQ3AID331Yi0NK-Tv?{f6 zv7f6yt5c|9fMVUb{#cr~tukedVGh55@*t7aoWKraw%`|cRPj^R|89`ajo+RgS@R5c z28@DV>``xgn#$X61N?3d8(W-2#+q!2I@?fh-N{GtMX7YhhO z$YZXXu$Ky1IyInFBJj@C+e*J7vRx)1S0hQ|+n~m;=XqPtWA19n_G$(hfO>N$B+Him zE5LB4T<1MzwZ+<^f4{2hOZDu(sQ!alpTHabj=QroGs3vza0NbI5lD!@$P;`(b(}Yc zP(U|`9{Y)h)X4e~kQ|06c}1*UUn3~ZQ}hXRW@(J}_f1NZ5Q0!ekmYayS{J5(p%U>HA%w;R1qygWRTZ0oqMQ?~dFQ#>RVJ zEJ8XR^|4EQTcGZk+BbkceRmfN6YH5~L{dLfo6442<)Vt41#-!wnB=(?p4Gyz$X5N_ z(@HO7Vdrqtzxfa5Y0y70N5buQHcBLa^q;&`G6PxC)H`Vi3gg;}{xW>8k!QwOBErM0 zz~Z_!w1)56@Q$_jg?$rLy=#s_4duzJK>6DV>VAQ#Hu3CKE8@<3w`}t36i4OBdj&ey z_IS^}YJ0rF*q?o_G@us+{Nuo9pf!*zrxsvFu5r+ojy;OS?xHeN5mi;(YTv;D_-;sq z4--`yZHppHxc#ZiDMX3O@4;s3q4%lCdo7{!q-5(WLZz@qMC&T_SDQo_m}gRqBWT&7 zvnVgmElvWdM0QNt%X|Xm4z*IIw(_DAp+QN@N?1IMF~(m$5AWiqG<0h(D-O(c>L% ztB4sF`EY^~HPKc6F&h2C$J#Vv-r2l^Ox|>gsd0gcse}){*Y@(5Kl*@tl4T9Kf!i*+ z{A5tecUT{Gn0h?>V#idq7$Ruln49MV-E}nMJ*OLyocOmGf{`MR&tIv|?5IvTPgHOB z)`8BSo}Jlru@Cle<&i$c!~f9DNW=pOu*)4Zy{)c>-PqUSbrk_}?Ty$xnaMB68KzL9 zeJCRRm!MM;nL-ls^e}#6rd489MecEC(+S>u;xYn}tmCz6v}`PQF-W)esgX)+Bm@mb zf4YD8(t|-!FEd(P8i3>d9}sRq**a?zFts>NKs;&-4YDPn*!7_^SG%*}cYWo(KKH@q zo5#oFg^O1Y$XbcWb6z=!4qH(51u){`#^NS!=t)NTP|WS&!U8dWE&Q)5sE<21Y;os! zeoVgr;vBppu(;H?bIr8KP|{V3DnGqmUT;wQntyYx3@S{ZyiMb$xdt!6D2u z^S(I02D>gv6n2;2Ec&@Y7N zFZdhn=@yn)>zfmhF89Z?k)=@_j$2G4FxNqHWYMwZICZVYDmVDjArXg~o}VkEls#A* zZm?r1B`)tfW{*;3WX73vqiKw%#RV9SMv+JX8e)6PG!0qTut*4N@c1FE4UggSvJJ|e zfM$@j=Dn;4jq2C!KNj;rp&ArRj5HEW{IL@T@HefI@<_#`&{D}vAI72Aan$+d9Ml6> zE_`VcRp%itt1}~wKd%bDE#lV=v=N?S>A8a@6aV1bYO1;u?icc93!ldbWa+lZguwAn z`PeY$Ws+Bf35nAhu)mSHzz%~*(Xxe@wrB^u=Z57>c|tt4&kmNp5;MEeNU(?|VJ5y| z#kT)w`<=0}J@;#s-c-V|kd;NEt@tt{C`g%SQ2EAzeu$Q_tBh>1(_mD&_$=m$bGo!A zqg8E-KGGGdX_*BFNHyC6IR8)+Dif%h!(qRl=YMGUbW3-;-OE- z5^#|*uGxkVES9WwHG0!)hSL+4{eFkug12twQfI~2ua#HPA~6Qb*ZQ&@@td$?GM+xx zDV&DZQC(3*;eEu21%VeVf3NF9rbhG(#R}9&AvEr@_#*p6nzV?JQX(bj7d8RY*B;Ws zQ(>qPao5;Ntq))bW`U_3QuvrR);vR=*u_Uib-uTD@ll!9{?ym}-Z1h0kF>mm_)U+r zI!dPF>PuTq(@8wq!|M*?mGu+Ev7Bh1++*;Gh*?k%IS6^Rk_*%)oFD3|1!?7BF=(}V~F{Jw)pooem(OHZpG?|rq6-SP(oru)q(LNHW zqwOGR&GQy}glj6dDryPrm;~gf`Rf%ZbF;USjYvNjoPX=J6<_80Q>yYe#3+C*_?P%k z+Z~rKMk9tdK@wK*9gdUIlf#SaologU_bmd5a{n`BfT%N~xDkT>h*)ZR#BZ2>);A-9 zKptHEsuyuK$DWb_b14AN>{%o~v3|id)8eO5>?gPMli+GVt-#uw1`L1^29zIiCk$(NDL|1O*$*S2 zMwAiP$fxj}zhB3DiMFl+D>q9)c7#7)TPr}0J_DZdSe8*q$q>RM6r$*%FB7eV%q3Fy z?#@D#shFzPfni3L%M6DcETn%D@RERpYK^$pDlM3OL5rjHRF%5jIa%zZ7Pq!UD>>M;$FXGN+iUK4v+XgA8=Fbn zX5+DX{lXOL%hjHT)yv=+B0~P8W>yrS`4zuc#zl4I`c6M*Y=ZVNhLPx*xxn(3)xxoL z%Tt}|^p9NS4F#kb4aYj)DwZ7kEu#cd%MpU_7ti|Q(4?km@{D5c$U0@Fl-BxPa)u5b zPb0xNL&IV%1M&kJd%O9N3hhieBJ?zP!NYEJvG6~xgb(2+N^4xZz%`($JOG@5limX? zCiEdA7Q+*;5+EhpmFae(zGTZ)(-LoAvlBn_#l93HFYSOIy+I{6DK>Pm25?oz{Dao*|fm zm?T9vP4@c;&>mp?5I7M-Z^OLBA{3-8f;yeUilQ;dUUShJF+A4j6g(2&MwRCnaiKc6 zEVgzpXw-3M`*I4#aLPkDDIeP3Hw~EHUH`Y<#ukIm8&Rp3zW`>S3@=JP$n0jU6a>4>;#PnT-J_`pFH;I-U_#RV)z$O_LH<0o-@o46tOc8mT~ zuYN<_ZpbYDtapmESB6uOTe1y1lSdd)kYLtu5m*}6=8{_A9j3HHG?VV8@p4oy>qrmj zcPvq7UjJc|@*0HE>8k{$V2F3d=i^XAsV9&f@@tZGrPN!x(gw<81Xl9`zv9JxX`K0I z0^{;l-JIWfg*|*uA|EP~tZtZEzlgL%GNH5_I%?-5^PFXMf_xmIkb|cc@=6@^cRB`8 zPdA~{njyEPdjnV7Y~5V^lwnqW-X2oq-%%Zn5|$#6F~o)|PBQHz{7ii$CHUJEM;Sayqelwc@O9@Wi z1fa&c2mowU6I1t~%fW>J(2~49@F^RTU$vrbnRmyZT4Yf@tN01!i#tvFkit<4RH;^+0bHq$Duo z0M)M@Se>Z}dGwy<#G6s)mYGMWzL?9X=|1My{qcCD0d!M}p>ABVPYu27F?+xjQa^93 z)UqoE{qM-5JErw9Fow0Sbi+-oLh7D03Ltp0Vu)4>6;4(vvd_9e@ilk995w}g;r3U> z{3Qqle!QUG!rOqSe{Y7?aUi*rr=OO3a3B`OAV_u1DYRFY^Hc3w6mC4HjM=`vs4gb| znm1Vd6GSo7^Oy)06`b}GnqI|DB~|PF&BjD7tbi;?a9YkiSVO~NM%#1HDZI0HO)WrR zS;(B*v~%S9Ft(J74&6Db@qZ9jjpn4V%)7fdfA3W{#DTN;%ZGgjVGxIy_jh`T%RDjd zzyFj6w0=8EKDbnHe?RM`{yb!d@HoEVc_b`bO})K9zZ^n>6;O!45$Hg`;RnQ^hO>Wc z;(&7h0_gO$68L`IzxVvTNguoh0)lij_aK5idx>k#ru$9Tb#Iy$yJr=5Im0@0vJl`) zwdY`hcHMADmr>AA1Y=|?+TasAc48d2-7b*`2s#loKp|xlSSsrafoc-pmjjIxM`_XZ zpp?KKJ#4*HMp)ScfjCx=LgH;$(U0=aZon#Hh10mfd7BhYHR+Io}xILg5dU4o73i*MWOm$=Xj>lG495$csZEb;{eCRYVC~A+iUg7zLdh#tb z@}I|I%}<6}nG1j7U$}1y>rAzUi3i9J7{!hDa9)3(X%&%End;W>c>%^75Wo(|8Rt<# zXOgtC_MRDlC|k>HztIFQ|70RQ2>dDe@m@PC=Wa^c2OY@9OhE%@rbXM73v>n@kD{Fo zl5dwpeS~Q(@r{NJ7*ZE;FcV5eaec9B`6KK5!(nR~n_20i@i$i~X-^onqZD^`WP#h4 zuCj~l_CXi!Vqy}lL!Xda0&0m*noyo1gc! z{w-yt8g6>?)Dq{P{J_M&fHprdxL#A2HRWvrlBioNNSaxQRz0OqrwI~etU_Lk@ioEa z6*Hpnr7D!yuQU1MDuZW)43h!}dT}=8@uBxdr}|uc-pyi#uSn2Gb@2~XQ7t=%q!KN} zImF4O2R)VvV{aI1QYPfd`FJa`i#`cgp+LZW-Qc=IJ`!tx+!$G%?kT-5Tu3xqhVE%Y z2Lioch9^)70Lq1!nG>XdS?5QHM6i|Pe!>12b$&Qs`>){7x3{GI8+6ZSS2x5*6hRN` z;lV*Z-OD48^~E-nlTOK8aycf=2ApoMyy$(64MC`C_-OZX@KUH{tD zVVX5S0k23D$tWzFF;6)!YZ5W{j4bVPG*&9VYhl??l65yU?L=A7WT5y2d$M2Dpm!3P z;dqWX?tiQbzcGJH9b6J0(@4U?*-cK4~XJL z9xmLSTS50@LBGIfy4S8lytrg-qBEnbx|7ebfaW<}Fub~*Dtlt-R|7&Ah?fjtcJFL- zzv7fb@Pc5<&x$Yq>=FPTit-I2lTeQy3J*OhL@ZhqRA)km&d#>!C`}$I5l_$Ih=(3R z%5>B*b1nWuYIqMjOy4v;O416BX| z6Up`4^5?JlIK2jw{#g@)U+T5d8?j*7v#jq{K4;kO2fDrVnnmM_aMVhkcz!;cbegF$ ztryP|Q?9c zi}F`oJo5{eFPAAr-_~`RQD7=4MF3f!$3jhFjb)A3t|}E(SH%H@&l+h*I%OC>WOizj zD0X!#@%lF(Fy+`&HfN-kxXWHNcaxKl9S?ux_;=AhIn3+b?ShZ1#% zB3577S^2Xid{TJ^o%Ofg%`e*ZpL(iZwWGCyICMV2SY-RtH?{G{ST_}>e_slTo%t}n zs$6{*WZ~38?{Yj@?eb4ShxLPt)P1p>cp)i5z&fslT?e>aAY+$fs6Eo3qEeupIe-wI zAZGJhLo$)Cxf+#s<9j96PxLa?C*4CpF7^#_M7p3plkR`M@rau#pFq2lHLGbFYwy?YROljPx>-`H25gmQ(IA0knUF6 z;hcD9Uc1VFD$CXy{V#B{397G-Bq7-qvmx>}Fu%?@JlDO%fm8ECBWH-E;P4>R*X;!( zJ&x&~S~heMje)gTaGfvhOQlZ!^7wRT7`P`%B6UvVBjA02Tz#H^>g&) zz=a0YvE})3v3>Ii`QDwBBx}U}^7v%_pH1#V_1LVpLx?krS*6`=K?2o* zoBJ|xOGt3d$y+>padM3CuYUnZM_R?K{1Wx+JnOtgT2&&SB^=$hXOcNK91W@l{La79 zj?!@zzEq4m>Mmly&A~&~{K`xZJf&GLWA&WyJn2y2PVsq#p&iZs>vGCs@Eq1TxfYdB z##@S#j)-rTwK)MFct@lw=xh7l0F{OV&PjixeA8+L{=&DK*0QBGt8$CouV0k>1?L>R z=pGf{Etq!ywaqWMfAMzNJPIB{lBVpVnjsS5!NMLAV;24XXDsHhAAMCFxw)OSYLAjk zCmny2qg70ZG^RAi>n^qWZT-HJ z2k!ro)34G(ZbniPV9C-m8UKWYt&%L^tmpjBf{3g%b zl+3?GE^N}T-!Aye@yRETcQZ5f$Ap!6s3op+;|&3DC32TjvKXJ<%Ii1Yf+u)h@xk{# z@Li-D(~kaw7mmP5XW!Evpn)bBMw)D3Mt!-1lmA8?rUhL#izw#xl-a{#42F)YR_Fvg zOO1;_8IYZx$*-DnzhiT__Z!?m_s|*-dR}Ou*P>PKD}JLb>#ILKX?9YaOx|tCc|n5_ zKjC)`jzPUaAAGjH?#vpAJq5^Dz1Z7UwQ1{m!2}J-+$HX({Nl<9xb&giY>zdh{UJJQT4WVxFWpQy`KFc~GE-yv?iK zM8y0xB)Mlm2Ph5VC2CJPOVEb|4N`N7Sf_Af6$)0MMF1;@XciK3z~bTN9#6*A&pn%E zDz(E}>MLvL!^z_B?@>mG*Nk{AZO_S~IOY`bA9 zE2+4q;+2CVuXj~b@wgoE5#t@Q#RtQMxq*6bGsB@-fOwJ+5pHJme6{cJnQXJhM>GIw zTKV^~0C^UH(8PMH-dqFI6-0&3+T^6hWzrNNZWAyvBZ@|e4Xp{W;~^0d8tIoU2!qWL zzjVk5w?4oxR^3}ITRLQsBOKiciR&>D% zGBR)PP0kPBN3FhTV4?m!LkUW6z_rFt`f^H!cWg(;Ok@gmBvX?QQ|@Z?4;JXxHeJed zxM~tU(?&EkB2luGZJUM>XO1uH^?wHpnM>r;5o0{2pUP4!eJvB$-eJoTX@x;qRtT9B!6Zgng%#B0rVc4EalL zFT0w^D9NahPQJvK&aUrhNb+LiJUo7ZVsXShCH zKo7k)-m#`mfDLD^`(g3*l{1Q-V3nLqonbevUGH9q*Dn2htZa?FRL^+gu!F@tR5*cE zuIv?1H?aM0JFu|J1n55XRE3zsoxjE{MOuLbg>56Pwzr2+IiD?W5UzZ`fuGZ<3{kn{ zan|{*{a$8&L+*m`_)3W)m0gVDh{RdT;B|x^!o%{qtB6}y!CM>|P+|I77=EyxlHiV| zQ%slyrdc5Th*X@J;Y5N#OL6x&{NeSFA+wBzekQ^(0s8-*is{Y97V%^FY!I3MilbiU z5X;vx5vTDm+!~7emZrtj*|GTd!AnL#qbXOjUqxyg@d3i|i#w0b)z8fd5B;NSoT)f? zb|Pyp`U~j6DSb6q0&sZo__ir{=&X|-;4xB+GWS#BCfpZw{LJTpB5e!z_WA{V+>RR{ z%5ghe6Xz3Eb9%qwd|DZ4xFyFET-QxqF4Ow&CzSRf;SoYZl3$=i=Z*8s72#LF?Wb;L zS_JpFqq--G<0hXV(||&fVU%wRU!%9&=h^M1cSQx_NL7o@Vo}c+^GQzdOgU)ys6Nxn zjT+1!3kS}y;tD1e4=m|nyrs+3%|>SCF08os&C-Zf|4g&ysMl3kA?V^Ha2f(I+=@g(cLG%vTHjU`$(!fp$H?yVvju~5rQ9j#JeH5sSd*Quy6phgS z#_Z^yYd0(X-vLH=a`zxUB%D&DT7g@FKX2qy7n~xw`=h-9Vt7iWSV4Rlf@XU!nMF`` zIS`8GMaiUZ5L#j^ba9BJ(1oV)YRQd78}aka+f9=ON%t+JmjH}c<<*iXxO8qwb^!lEhBr^SCoxL z#9hcOB!tKuU~{qKSo$8>yfFTf-*QUh|M7GeXw%l`9^eMec}mkY{WZ#NgeZapF1mkw zS#~8K@|rq_|0i_5_%(B$Za3l|ShNuC&mBJB;q6EIo+80ch#O&`8s_ACVC|8+rV30g z#^J2XEoiO)!9My5&>^2Y*T*qtia7iNf^(n)UOFHYA4Y;@04c^b5+wmw@6>2^Z@j5o zTA%PceFM4?cW1!)T$f;^M;CWY$P+~zl}VSY_(7A0j!p}F@Zg35hzG+ArdK+juo1^u zonT~1n8?T~H+rfQWW|sR@A2OVrN^EililK~#ttOzvzIuyUpXcY+wE5|T8ig`k^Qsc z?aV0&R`ZaY2>zZL0l)m#QVc-*qxHNGKD3^jMos|0&Mj~waHL-UxklzS(1BL!;Hw|- zy?6ya9HtF7{4`ZKv-E;v-|kcswr%e3_3fGw5Wj97Es`|P4F%dUXxjdOC@1P}iM4T` zQ%QtchT3h3x4kJMBt)fiH<|P-=BOPzYg0^BE0Q(ee;Kvyq}1wulVZ;4N<0IIin)Iff1Dd$CPMapH-FW)pwKE9phY${CDxZImT}pEUQ5-!G_@HN*5aCk6)dzeC`2Ag z@&8_c8n~wVVp8wlUjk<8#eg&tYea5D@u#wiFBBPDqC^{_!d6LoC3*R0`t-o)DR5|@ zlLA~fad_V@|KjGG;FdxHpc3^Zzv}w8@FRaJsdB2#)>^YdWW^E?@Jk^g|E*-8yVU4Sp>G}B@rL^DqbmQsm`!@asMIN2xxvg&G zc5ZD3*egIvN||(Z3@$#7SWD`gHAR17MQpUhq})Hpn$zmTuK3iSPi)obZ5kYlHkt6w z-i0?V5Bd5w&#-ArUK6qeo7_F^JpOw4H~hA(h9cPawO8GSum8&P-yE%ExnX$#T?&YpQd96gdhf0*?u$+>1J03JRRAK zbL@(l^+VS9JN^&DKs>(#PVaEzE8^fd;Uym86(0N!H{&&4Jl*03BoKy;DgU$r{@~K5 z78oP}824h{DV>Ki%T&mLD&Lp<-O9Kq8X~9yh~8kGX#%k>Tv&x+oamq&Y173&RucgL z`0AAIC!Of6+qQ;M-hQo%2)Y340F;*>#vtSpbPP98&9Qa94bv8|QqTyEA(#pHnm}34 z0t|q+iiok_4ecOM59IKEP&$aA3Q(S^#G4Q*OT`rn!@bP7JMn)iSXJ2VT^r zM*&^!2p(6J47%hP9>8L$`>e_ds5K;`UiIBp24^)&)Rd{?7DdYgJ2Ix^uk-$s5 z?#A~ix*9>R2HUyW7c?kUMyvCxp{o1sMkjbUJt!gqK1d2wzIkG?zBwC|qzG@g zwN14%r^(&idcFWo*eWT%tmF%v(}%*PaKOw@F9W;)!D9n(00-3SIc5DckK-Q&083CS11}yW5=Z9z5`eYj%&;?|2`Oj zmSo;WpoL+yy0=?HE+V>8M9}EDmHN~@G>|aP*a$Qi5mWbL7IJW#s-$URQ1?;KrhVJY z*AVhN@WPh1G%Ev`=1nMtVr=tAImXv>VI$5;J;8Z&9#ehR&XqAW zP)YKMusv{hrGn63f|UjiVOUR&;W@!)41#=f-9seM56C5ujUT>rM=l+H7%V&yj^Ulp z+yJZ$XeW3z|v(J2tIH`s7Ex-%~C4L ziz5tD0wn!)EKxN@P30V!20-7D2=2$woDiBbcFT}r4!^iYtiG=SZPhofy|FHP|N6d} z_DzE;uU-4>%Vyqx=e1k##~$~*J#QD=Ww-p?`1q-D^GpCdZ-0B+wO)S((0}sx*+|L_ z(C=R30(1xJ=WDsWzrcSP`Wb;fC4V+0|3v_}+=X2xf40lf;ByiHwgdb*6#zRlVYRU2V&=om32FEEdOhJTe~ZKE9R?cS-oC_lw|9vC26vBd z@XgBA*Kn@hO2S{|dS=-^EjoO<5!0ESq=3!(PIVj|h?xQqsdNE3`{$4fKxTjF4bdI3 zwjJ1~QDAy9r}IRUzZl?xW&nATNuSm&CKJCA*yYu;l};V-0W3W?12v;rRv1hExxg@q zgPhHq#)#~cW;T)uCP#BfO;83|M`-OOWLyEAA!)v=gjhw!E5ho@TIHn#NaOiYmXnfzp32JSnY)*{pkJsyT0tXW{Ho%!6cKst;r);Lhl5@pL-ZK3GyNfw_>bn(uYZCQw&xI7uqW)EA?{`3QOu zL;_7J1%vtxOh^e+>A=BG6$5&}k_KyOn^XRmwpyo?m|%s5bf#CNOy(Am7)3%rZEJ%P zgfsysU`mavZ!C&VGIc@s-5sM;1dHn!pc{#UR`PKJ%1Pf8$>wb+rN}wn(2$%{xo3g0 zQatFqGtrY}9G6TS#Uc!)*`zu^7}FUtD8;wrxgCu}Sy$wLQCG|WdeE03li#ywjtNNV zF_k?pJVJf}y^G+ofGx%{ohGnvV7Wg! z?h!=0AsRog)wF_~0N!-J=|4h4Koi3_$4b;QND2pyd8?bIzEPyC2XJ`6Gy+Tqyz4$6 zfaR#~?HqI7c>ZGv_(CE!SE&(@XuSa<0n9^>P=hrh&DI=wSYa*Eq+lCu%f-(&U>P&b zq9O!|AtUV{^=-!R({}~+^z&TLg9b;FH z`2^ITy`E?9y+#1k17c4AR6hR}=`Y}~96!fK08}o&@8$l1)-DNv*bxBZi~y(<0Qe;V zu#@{^pXHQ6=Fgb3Xd&r8Hd((9kpkLB9dknrmhr=2>AoR{w;YBT zj!~+BQ=_q8nf$GcIG8ifKSTg9XWAwKV1oS99+LKY5ZtfLu&U23A}of0gC!?+OGJ`l3+H6fbhaEuJTcI6z9siB<)dos=I|)Q)ITJ?iEq@9l;O=N$+z;a);3|dM@M_ zMw+t|$nuMAmP)iytGlgDSW-%rGQf!bh@3!5wJT8h)PeF#*c_8t;XVnS6bNpv`%&tF=J2L6k*V|% z0C8|i;v>*9MULqkr12BQr=zw3W@R+&xGf1EZj2XuS`%4)LZYr%Y7JU5p4UUJGcys$6 z#}|LV_a8sv{nI`C=KsaZuMUW(zr+3MTdGRn7$J~IB7lTv!C1|omWU~@+0q0= z;bT?|2uBkEP^3UwkvSp@3?cw{qf>vI#@>`{X{xv2xSb5+*^2HQZts?3SNY1FbI&C4 z&f7u9CAQ}?Q2w502hEI%Ybf^e%fIy6wd1~Y%-`s?zvO2^;OA|h>%W(;{Z!jN69CWK zfB5#3gWRtE`WOHH{rqj8nR!1U7qEZWb64j82Ae=SLBc-s|W)KDDWx|&FdU*pVx(y@PL9&gg65_?R zOk{I9uW{ARXq@_jE0Q-_T`yqnOaoEEeU*2Fc)3c~s2cLZPFp}tZRCqh)k1k#WF|B` zrYfVhy+6a+jAWD|cn(9;z~}*%^4sSP&}$&7#%5?|MSciOH!x}%Pzu4I z(jZt@l?0h9U!B~KxEp>}R9L*mYXibm3%w4;uK#ENx_~Uyhl%wPF@mWxu4JbXvy#D3 z@us57>OS$ANSasav?^+hQMJhQI$qxegN{iY0HowcjX#dO^hd}+R zbR%83iyUAHNT!R-^ArJLYBMvyPHej_zzGS@4o0QR8iBE}aTYVgAt%uH1BsC}!IZRm zb|cZcBW?!9GSn9u#xgM4m=dk#!DpKXx(yiy0$~lXfz}2x7xj4&GEoU(skEbQ9?{H+ zj0LA?h_L|v62CsY$8TQ#fD=C8e}6dPX-#~6_a1+LdyDt?e}_Ljynv&B63yPD+nj&w z;Pjjtbv~is1riQc+0jTBkl%s~Y0%uL$sZp=e2ds+x`)=--j#v_pbqa5&)AF zVDvw?e^t*|?*8WlKzu>~OclT<5&xas-!@{v3h);KKo-Qtw#=`^1uzK!BrF?N54?N% z0eAU?*W)8@Pe0Rt}2SaZeSD$tsXrl*drlfJvQ(MfzlLl zz;)wHGl+8i_T6G!C*p&qRd!&A$myv1^(I3;!z2a>GSyyg zlMrY|Re}Xg_rmF(%~DZ%O{xS}^v61pjLR9!Ge}Ip5X%PqA~!QS*cO|bxuV(^5YTIk zI`zQ?XcM?dweK7ei$H2;4sS)7B2_=z9rB8V%gnCo&qq=&?8*DltE8fo5|z8aiUo`k zHV52^#Ct{T1Mub((V3+EP(NhlGLa8CG3vaJ4XQP60{hAK9%i$D`0n19V%9Qep7tgQ z5Fw&=jOwc(0Gpk~w>hsMLi6oo(hPB+k_O4tky$xlKVw$^uPA*2hMW@jrq3E)YMB&! zF<}u(5t0Bwxo^4)`auXxYle%RDgq$6W5)iL+RZ>YRS)yCH72LJi%bbhUD9;VSlq(U zoMcefaV<9$O5ywxv?PG0$aeOajXG0qRJN~j`RAAdX0CiGW^(cAA2Fk*)x6blX7ig| z`ml8>J11fyNlZ~0qZF&$5ofvvmVh()W#}tJc$5bKT@E3WMNFV>srys+Sp9Z-@rVo| z@sWtOk!+PpfV#d0rWolfXA`*Q>(j;&L<5ah4}h;=jz4Q50xIN$QhzUS?E`!BnFiAB1`Y+Ve1X9D1P`;XZ!Ch(s+?&`7EKI8KEi#J`$`0eud zi`Vz>+sph5)bq7V$-jWU7Pgf7GtxBk{Z((+9ca5~ze)N}p#Qnje&+~s9BA`Rj=MW&0#D4(HQ5Tv|2eJ#uTdiiX0cQbX>=)Xp&mOsT zl+0;rl#qF!snVKhQJ;)(8W<6dNU9FN2<42}B*9xTOJlbH0{9sRSXl_nC^S%NhAkop z$%83PHv)FV%)2EhVTwRR0E))BjPgpFKLG{^7Dg&cSJA4bDC@`>y^q2E=-^EW$;20M zVGg;MqllE<5G*`VGJW=)oS?~!K#y2r%adn-KhZ;3{i>Xhuqj!Ngi4rkiM>W*bw;$y zJ%51bmje1BB-g5XL19dgW(${0UxZ1?>DhIB<~`RHCV)_Gx(hH>nX~%rG28${s^6GlD_g1gaWk0%tl2z{ zsSYXEcteXldfc#SrH~MV>^eklW5eN8E!akNHr@N4OyiK{3d(Jt#*^#=T@M43GGx@i zF#=R;JCIQkYbj8gL8=8^pGiprf}8y`LAAunnCZZRO+*v?e2~G8AOtJr3IC7A$Y^5LI|9jIUiGH)b!ay{j-_D7L}aT zeO=sOE8wHyU;u81(qt0L0)p{0s>T*6`_kdz$c3};7;1|aRKuhrZJ@P;#R0)l45RFU z_aaF)n8s&HE0@KP=;AA?4g~I>4*2l!E421Ce)H-FjO7NueR#xgAD^%seuukbgW(l$ zNFZMU+4PA5^i%7un<8=s>Kp8IIZFhVe~{(&6BXe%r2q)%d$c(&Oz)e@fFXL!bZsGl zzTvF@cy&k-R#^|98kf*D)Ze*#NpssachuP4ey=%i|9ZV|Vl2HjAIWv>?qyu;JHuNS zuU&4n+&DY&ztQdTcI@}tr-wgp|4!R80r0&2`))sHG=J$ByYlDdKD#{NGsoI~f1WYO zXAHBz%ANq2QvUkALOS)Jsysj~>b>Pg0JKs7ln1~L?C+xg=L7)3zuO=IU`e1axBt!1 z?~(w>^M98FfFA2eAS}^sz~Hd<7BBr@@$H8P^p<#g+wgGr6%G%-!RtS~pqWvSwa;Xv z)uU{K1o%;ge0n`aE`ZT{K6RT6{TRv5V6H#X5y9O491R}K=O3eCtjz!K!!SBuvu=pa zoc=C1JMRQfJ%PS57vBpFr(q0&ehVrzV*v5A0WAQt{8z|TI<#Hk$#XGByyS;TBw{~N_BvogK`T%n}D_c4jJVw>{~<5chls17k!Np$P9RE@MPM> zFyA8K0Gc~hZ%rH5? zz9d#0>UMX|>9>nN3>-wlOxTz1~|=>f#|- z!_6{;b!^>#Mepl-!wrWBEFsbaR8tf&)ddEm=AKhafk`B= z1~%ixx(;9(-w|vlYz;;u%_i{oofisKE$ncveo|!^VUCk*_RWluU-j#zV+~TaRQt|n z2+_?f6WNS?BNOX9M@*tAl8P3~R7!y{Rbg>B42KaIiYTw@Yp&~r@LQ>jI6+EL)8_$6PXG?> zn81l8SyM!};}0LcM&J!zEcf{O_3!YIAMoA7Kp$^$yPR-b{u^w(!GfT|PSJgvbFR>_ z0CiReB9p_$s^@wVywl$xU{0SN3**`(8xSG$K5N3pE#aX?>a}I)H9&esD(qgIA{)DMaBW|D?b>m_5F+4t z`{TAfDYb(s=bK&Gf3f440C?X1eKtG$@sr1${rb5#UGD$P-+MyfQw2coe&2nDU3|aQ zvv7C({I>yp*kz<&gun#*Iivj6F6I6SvjJbU&nX%7Y3i3-zW z!rGK6!W8w*hR61V?_Yn9Z%+^SA0Hmk`bXT~INl#$<00Mv{Uv;Tfx~)0cw%^{nqVyu zRsM}`J{YO+R2luH-1|$~pET}EIr)1PDNjcAdl2Y*I3rlSp?4AhIQf)EjzKj5y2)IR zM1T*1=8?+tA2j$YU&K-X06fhe1irpfl>q>w6UZfO0`qW#FM!F>e3oOY&$W{Ma{-l! z4TKKXTQ?B^O>3xL5qRaTdnC=qkibEN!if|(0FmECRb0 zMuByv=wOTd_s-W39cVW|KiDj}*Z}xbc}QsA0{F`Gq^?29`HiZN<1nU~NnVg)=<@cl zGJ;qP@Q@VV0M~P-0hW#y4)?+9Du%;$YC5aBBmtfY)9)t9rEz-d2LO&k5^Ucs_sHX0 zygR+eA09uV<-g&7eDw!>d%VN~6lYm%Dm8dcS8{Z=2CX&LzV}`(gB!DhY009XEqu|2; zG@~QEZ+Z1qonZ9cV!ENeg+Q*f4Y7A~HvnOoeC0BL>n!rSXq{wL|Skch})>yPyO#%DGCaDn_ z6SNuTI-Tvan=$5scup2-qX8sBQhl2ZAUrqQ1K1Y3M1U@XNzEP_wg3Pi07*naRQ3xO z*s4?s2wYtsi3imab|I&aG#nZU2&M_B@<9@;tKb2@XO@p+2guZzM&7rAK}wyT~^m4tkMQe$VaK-$0w%9$zX&C1!uc?%N81PoV62zGcEd6H<~zjPRQ# z0wt791tnP{b+P~qem>`!$*9$Kq=RpM0Qxsm#H#!4*~P6pp8xR+1k%sj^Y*#znE-g+ z{_>ms4A#!B{`#fEe)9Os{huC}pM7n&M&I@+kFgH0vwu0CO?&5CDnqyEf0YILQ~@Aq zf0_Li0Z@7WXU_gR0>G#mm~Q@+3IIJ&>z`I`hAJP_w6MNMKYj-+KjQA8L;RyJ0-i@XwRA&U-iHDwf}fP2GXMsq#^;Wfe~t&ay6+M z%2d#RSz~&D_qy`@L!Vi>@d?a`ZKZXjNCaz!-V>>WcattTXIa6`plp%|CV-tJgkoN% zXflxx`-Z5nZq8}D1$AyRZPP-zh=Qi* zy@C1oP3KeuM0pg<^MU*>kkiPJKwy*Y7vS1vWRg9+Uj!ke-mA|{0XK;Fnt9wsKop^| zGmDFy%{f0mK@uUsW8pT5ky7$FbkDWZ2CsQ6?0;GL`Vkl);S?ib5jZr*pk96|1S()^ z7^vBrX&x%SC&1$x*P*Ls-?6Pf$ycJrT~&p!eZ>g1mBiXRAhsi|0G8cspov`s&HqsT z64)ZI0O$1cu8J)+2HTCSteR#lx2N<76112`j!=0@xg~BSx+U@?Sv^QdW)iHoy3HaY zEECx8Gp8wv}e_!5j z5LP~^W#`kfH~wh;jM906eYN&5^7MRXo;IQ$F#*Zq5#4ScvW{O! zy)m!8%HrjsC~OZ!!>|jlvYo5WJWP?iX6U8}wm^MCl67piEPY#`LhlPmosb0IxiSr- zEj|HSCO>PkSP4mhx$0gOg*%i4UU{n%9ciB%;Lb8;*yT@GCy1Ryy9wAt$e&tcV;L1u z&a$mygi{IxG7r2~H!jlCxBB1?r67oiI3(}W!A)KTA@KnbgSjJ;J~zkc~?}FSKpQF59POD zL#Y?8NHgs0JZkP#Fpq$G|Fu$?oJkAny})LG=sV&hF$tUb94PRwcG{-{j1ZxxdvQj> zn8DjN|5s`Tvy8SjCu!t3$YX(}4CxDCpyGyevU1{`@l5LjU8D^XGj$?Ub=^xn6Dp6U z6E~E?#{hGc^Ap+SF2NV?MX3=Q-!$7IP{1Y6o|mrsIx1?OK_3%uSVi(K*vKl&Z9K&Y ztoopK1`PE}^?BpG-LC+hl1z-lZ0kniyuD`K_sacRvF#5cN4UumRuJSZl zolbrv^*HMNfOj9h#lRc9KD@^_Z+?&W;~xL~eud@txIH|f#eav7JHSFpJHhtMYnQL>HOUw6tz*v#fZU#O_0X#09Lm|( zegS`~-F6cHUCw`j{h0#LO71^&Jgw&|`fry6fb9u@da@<1oBf>=0G`aFJGFt|y?%?k z{D}Yc;So2FZ}E5td^o(u<9LIJ7x48Zj;9;I0^Q|WoIZ2?3-k|306nN#t+W6H!G3CG zW1-T0Nzk7`XXF_40Kjly<-@+*{WBb0rTshrtd#nXB!Y;O(`Db7>pZ%_o_Oz~5%l8; zGw+-xg_!yF>A+DE=|E2DtEs+UD(AIu5Rwt8bS_d|Yf}1WmCLul-ah)EXflZ+J+t-s zRi-NdF5)Y~R-xBcx#4r|J3l&5CUXSC4LpwmQ%#*XQ91cGP0&ol!*CtDa^cFn>urcE z`m9h+b}iuQp)vD|7ZM9yi~gpr*=;M8NLvV-i?XiIY+wXAGbgA;OfG4t;U9KeI32cfPb+z)?@ZIr6 zhL~ZhFBmyb0Vcj4*a(>V+{IMwVbngE$Q4`A8IAP4iUZqy3kQZd?{^OoWhCWt@ku8_eug#=FZHSob5yNQB043nnY$-O)7{&b5SK*&FT|`ZaFMWjtW_z*-V>v< zVn|CKGm_8VYTtmytL6bfgS8YvB7JgEpA)HQzRfQOJs;zg@?gQ{KeDiYU{xR1dktKM(*;~&Kyz(V^vH$F|&YOGt zF8lm3e=FPPF6*=H{R`Y?8`(AjKiMw(6h1xhnE-g+emR?6{JtMKbH&Y{r3f&A{~`h0 z_~0*T|EC1NPU_#rGyy8WKM4Ri{Z9e_Ll43}2>{6Pw}3y*{@(HvmY-hnp4A z9`JHJ;Z^*ALwk$$7I+%B__%z9Cwz_N@iktJ10&vTY`Og4f`h;FXC)JGKOKF6hAQh< z`TvyuH)POW*^8!q{1S5wJUZUiNtWrme1-Dg_y@4T1T4zWerEI=bVyZ%g%l2q&Us=qzD zBC1LS$k1vYHs#4>S_c7>iq;i|nudE~7RE@7&M1(%0RL{?W5(-DpW0J0Np$j=*yJZ8Sn94!Bjx;QsFwUU;WCY z`<_6$%N(%T3>;TlL{{G}m4Z%(=VOx26FgF#LdW}TSXuMF6?JXEaubFexkQOEN_W)IHXF_rhia$7MLsjj1sQJqL=Y zP&X&Zms>EtrN}NbbmJIYoCH!x5mRXih|Nrsq>lko*VtqM?Br7+sgC=q(Kti%g`T=}y%pSL<$Om97oU5DKzDI5)T9+;T zAS$h_Zo61GKLN{X=!0ZYCa?^H9RnFG^XLb1G(&m)Z3&uMrXv@ptiMrJ79MCRv(uC^ z$OmRQKC?|BsIr2&^8hM>hc_oCIOf!nNDDlk7CfzA<9K|Dmp3;!EJu9A2aNV39^BB! z8{~1|>vlwpJA8aP0+8wOer*7o6T}3|nk(29s3b6z2xes81^C%{Z8*ea0LDrIRXTYx zUS<5L3Ipt%HlzIvFlY>b&zR|doHdWsT!T-yJ!t|@2WGAc77{0LVyHMQIKZVs^9KR7OS?U7^V@A>hu$Mxm$*#+R3)6e}k(f-5l z)7}3-0JN(}f6gfXbqc_^iuRWRpa8!Yooz<~pil#U5*8H!0F<*oQ|~0cZWmnce#CzF zExvmHfdBPf;Gv!H_b;B|t$m5-Z@jl`8<$>4|nu6zb+KS8WOv>Dr~WF)!NQl%K01dktEXMt=Kn3pnw zAk-$5sOsnSo`Zx#^reabFckrw%Vz=*P=n?RH?+;C0Vu^VQb@S&F&24H{i75Go>I_k zlK2{6t7u{o)Etu3(3sq9EXu>Dd@iZxTo$DBNytA7@827?IU)Ho$k2{SZLRX!-6 z0rhF6{|tTZc2cU$fV@U>`VrK;;}F3X@}Cf?=mPNp_DeUag3`h0{^08X??;XCvFr33 z)@0U7(IC?8V92-`V4e8-;)PKSrvyd=x|D)#CqNzDfE|bveG#@6wDf5}3`g6XhQKXg z-GOsQwt#~NZANdPj6rpt(?19Z`Is1*g}h-TtH=;hz$b%f>?vt?N%Hr-;o>ZvxyTktQ2fW?CM$YuWoQi<;|GBbSKW`RvDFvE&n;_ee zR1b>CEUyT6h)cw!wvJ*a9Z0XfYQw^ez~gJV$}o&1rg<(CNvAztRO- zbz()z>%EA;)|{k*&Zj_?3#h@k(6MQUX-!z>Tnc%I%%s zHv&}^f_d(|=7&s}1vagI+!@tJ&=RY=p|w($K()4Wwo3>!y8vqHUN<{Pyj>=1uq$vJ zxk#8MAR1akdUKRoA_dmV$vq=jy&s{lSm1wiM>Ccg>>8C5q$xs3@SO+A0o2w!CJHDE_?A~esZyrAIag2o>2rHYHTW{!~tvSB^d~*8IWMvO#t52Ud1-3yNCPqkSGrj?}3tt(=&j85~rFQ z56W!3NMClzIPOXS99Ky*<#?r6d2^^$4!{&xfg3k43_| z)&f!Eqrj#U%$o+OZH7E2Fq{zA0FW4NNDH=&_NV6lTG)_8Og)?UFHz-d9hb`;BL0M)U*YTXcgPptt#fwc+Zk2`1_W7mrvX3X}1CG*X9EgGg_@BhU(bTVwX^KeL zlKPtm34tO2eEsw`qzovtzjFAmJb!A|X0AW3qyH=7zaHAx|FmVp_b+}%KfS@fzk9%| z%a3sXfH&uR{Om9BFka%ke~InkIdgU`5LU}DuW;N1_LTT*VV{lw9sMIVAzVj}M)SWi z_UjFccnFktAt!7dK#Wc^2P=-px6U^^YPdjhdL#>H5|Pcq|C+=d+bM}P#ts09W= z%dULv4Frv|lvRP(5v%H)VM)kG%7w~izOYGZT53yRt+%;;O~lTURCM+iP@9#FloKwX zoMwnkL_#u3Old4Zq9>3&2=JtrWqo!=#~VaaR0JnTQfzL_EglK%vGT%CB0PeC&;n?k zrS)RUl@mj5_$}6wtwu`LeYzP#bwmp;{5s0mkR{0IijI{gAu_>z$@U8rZ%vVIDC#O; zS&Mi^j(M(G<2F^QOWak{{Vi}<=UCG7X1c#x3>H``!Uh5pr6?`6fH&TNR4#YjheR!L zjl@mLvjLb0qwsM|z`@tO)FLwqbv=Z`1tdeHO{{sT>ZrRdP*Z)G5o%lDr0ypw@~?Y@ zEH&_yA9#^LcC9p6z7NK+08GWq%)>X#esa}6f~JjVKy0jN(T3*LQg7%!P`o5*uS^x~ zaO?sZ`lQ&t!n`_+3%LApr zz;q>_fKhW&m7?7B8R}9bM%;1N06RI!L}`?VR23T-Wv+7~nMHMw+461ZdYEk@`KU}$ zSwXdV5ul4n)#0=`vN(sXT_()d{-ivo!uSxy5J!#Iw0zl+R@obq`jJqBcc zpsyvFn&4b#35*`-av^MBUy9Ucn{l40xqwVxd9RYxgw!n~ryofHtx8*&aCM|g7Vi-HA9~CdHU>4=R35oDmQo-tS9^&?7iyyISgI7S>D)xdpf$< z=yn=t^&D=23q{*?nbkr6aIG*?OweF9jA zqaLcznvRB~HRcdTg&`Z4tsjT1h0666PTdNX(A_%OnDF2n=UoPN(ko;!8#-SISAPIVJzoYlh!osf`|i2 z>i5ICA{j~OC6EAS$u|RJ;3x0|n_dpt=nqinuH?PF+8&bemZnd)ow=c0D9`eOiju<= zxteBNAQ;kuIw0^GkQ5()qFA&3np&5x*F29g0)5ELX`{)L8_=4g2h$vY#MvBM(pal& zMNE4Jhex0>!Iq2EWFRJ+JOLC1<2parL!xBsI&V6dYm5lUqwzjRmN^%ryQk(;_FPfp z5x@{g-UN0FsagT3Bj8`l)T?0~`iz!U;&O6WYr$5@`8sBPmh$gifT|@ZtA$-j=`$(y zuhrk|m-Vp%P^s&4-B%c7?pSW*QlDf28k_g?YEyfaM}rG!7XY)teC4Z-Qs;DJsFM9G z6``!Oi~73y2wtj9vZUrhru|&s?+N^pZSBYJE?}hY;>jp>3qwCO?D8eqcuPb8@OzLs zuPZ?!uw~)|ewaiYC~Fdq4J>lN*rriq|8PxAf8m8y#R&wRJsm=X`d)E+E~cS~0**&T^u@iDkx=6p+97(B=K(pFSDhDqq z{s?518jOTrhEx@avDv{Jg!kW#Fump?XbkWK1*8Yl5^fC}6U)C3AaKqkz(S3oiGtKF z$(!i{_VfV3VijtvO6g=t#a5+dOj15b-oR5NnNDnQ44V3*4US{p^DOp6W^ytWOpxr+ zq~SF`Z>%4iPFSw?am@-9-EfUA{F=@yB=`w#cn z`x*E5&+*dlv2Cxh=Ud?XSA6gjvV9=SF}~ol-v-kaYI4+Ml5>H@KAy#(RIXF%At>UC zf6ldzt4aVX4<*Y9TfoAph%gSOIp)>xpcF<6o659FL!=ZZz%0#qHIH&oT&~a`Y5N!4o(O=a?H}9hS4@2N$ghv>du;#Bhu=o~KRU)1K$y>-Ui9ZgJ|49JgQ0}k5{!#Le#Pk3FP>-HVV_5u* z2b|k~;??`t01Q7ozsG;SdXDY=AMoYdFKRoNn*abH07*naRPijEa*-JcD3dm=!eQo& z%#_hzQWY@Z@D#8Qnfk#dsE=qs7;><5A6>E^&}%WTHHZx-|~=W z9<>(FnS)AqdQ5=tJOxJGhq5FUA+}y+$mE`0=aV!jJmSDIFq(PpBQQoNlIC*-UVt}u z9Y`Otj{6z(h0n9y8b901`4u=lOJ*R%KqTg$~-+Ri4l(@n!@bI7x9aj9p+$ zf{i7$r9```AeazV7zmcKB2<_@3|e7df&V(MreDHHCbUD&K3t^|t#X^CBsfk90*{Qr ztw{1bMrx83QRX#Fvp50QF(_N!U=z^VNO(n`)KGI2EAlzf&6G*&bM?QNDIq+!ioO;> zQhK0rf1~%BFYgK6<5Z})t}9@ub+fW$CZK4VIByLAdBfD_B;l=+jR#~}%n<;Vz4J`8 zo(Ky>GmK4s0z>Km5f%XfZjEIEZPop*v;}bL3%6B15i)*vM$~h#M5pOItL=~kR86wu zp$L9eP#BVElq$!u{2`_Z90W?$uj+G;#)kEEo=}-asbn${uCbX?LezIx^t#yRB>4e= zX*dx;gl?5x_1nFC>(dR2C`C&Rh&8GcItO_fr22y!+j~S}1N+UU0U5cbrW)TZIG>Kj zYBk4mgjWE>Ks&#BMY3I_&e)9iya%v1V~S165LBedfMHKoacHr86e3vGFH>b_LEn^l zc`0ib)S zU2x9-1!unl04f-+P;-q`Kr`{06l?yA6qC+%Pw3eJYb0gM7|@;1Rd*`4v|h{brHZPQ zkKwa2fXC|EHR(mHOXg)8W**<1an@F^@@iimj#|InKC1vc?g6l-k*lx0I;_?LH-CG( z&0UAv`?US`x7&8N#}2Yb_TTJyA^@JYU$@!Sk59h;=u3O#*I(Lq{I1(Cv<2dCkF8+# z@%17Aa+&#|2mpaG<3h1Oeh~o86W)&CpTNHzbNwgSA0h%I@jtr#`=H^Ul>#6>CID)A zXTXxyRTQhB5E!BH#P?sk2DTsZzrA_D%ZGP(I49nmzQox7i07AQX#I?g)A6wmK#_mY znIA^UzQSp+q;1wPlM0|IpLHV>4~R{ zZm=Okxd3v=ja-ZF9H8T})+N!wTufa_BoxWB3GTUAgC6p!>%jyZl&$iQM>1N}jHQHP zgk-YL58HD_D>GvPbFUzWgG+z{qcY?xP}zc@p_ddLQfStBDkAGL<%1U1ft-JX3Tvbxm*Qn6|9qY5j80iuWON? zy2Z>DPv*G;Ko6zQ$a|q?%pz4JcUOWFNidn~xePa3XjXMY&AwI_QO}G<%4KF<*y?BX zo%J2_wItjHrd`GmIp?PWrB!u7QgIOqEssWqOaY=AgcACm0Nk({+c`sHX>&R96IfAk z5%YmJhRSwo98?8}D%HtrJAfG>khv$Sk4WBsOec~&q=30cVpHTiMbI*uuP#T_&v76( z_$?E%l&!Z>j8qhvs&P7rJ*9$-OsPkJCQ3C#m(2#4=EVf}$FIqoV-J1tqhqhX_WHZ*)9?Qlw`*eN_p{wz>!A~bVL|pY{=de`FD(Tge3nFhQ2q%#VPF{ zjQ(3U*u^lyDD_t~Cx@Z$TqMpYe24%@%o^?y2HOP^8m0P8K+7Cjc&(^>0t7(GMSjVy zN2I_IWFsxG5t8yMWgs%AsbGPY)QYI3!8*%1aX}yOA}b7Z)|NbcJ{ zPa{5CCVWN8%ps+NY7v}SUS~5}7K+fjLcu&=y;q~r)@Ri9xca6M;WL*Q!qUFxokRh9 zc?}#UFP6hDVob(a0>#y3Y%ua$5pm&*+5Y9hR>VN16*S_15=FkSVPy|6qODSqMxu#X zxQymjzbj+ALUffYUitHYh#9ZSB#F_bd~vA|g#YV4TAE6BRTL07mZ3vprm2MPAsyw{ z0w;`SiB@yMR5VqNy&|$M5=2TF)4tn`1+tVA27xVK!;zgyRQ4p%896cwbna1fASm>0{Li|-T>BSUy~aUN-I{Tfo9I= zyPiePyf5gsD}Zr*YR5FMqbJV%e+>n!?Neau_;aCqc(uRBUHmsr5AU$sJ-)ktfgjIb;Qsw9 zyn6SXfWWz`vMlDC3nNPX+gy2<;a>&~hKLRr?KgP=#MqcSn1&b)Jt*_Xz5%--z=%Zd zbn)LuV}yS67HQFg0Etm-liApztLyi!sPRb)>s{aOk?__C%7!AB z8zXEw#R)`)92R}%XbZ6!Wo=BH!20AH%# zrNETyTB21yC+JFFrj~Uvg~5sp8Zz4SB6^PZGuOB%a>fOGr&`?BPpS_zKC1!seU++F zx0f=lPf1c=oY6XU(PFG^QoJni6&0yLru$O_c8J*p27C zDB=Q8+LPK}>_*H;s?OnRUaKgq6i@Xx)ug4ikt(IBJ-djS%?+MGRhY)e2_g+3GC^as zR8^bKcZkSqD)Ab+nT&h0GtBPktXuCraq7v`0gy;7MT0Ueke68O&cKZDqsFNN+lAlN z)sT6bj{sOwxz!Tr=j1`1gqfdNjVC*c<83Dz(Pek!HV|zfhr`U_8`XzU^gB9F(o8`L zBUv1!o>Sx>0St?o3TKMSN2LoWEug>q60csI@a*{+KkRSu-G{f>^Cz5a$DIMMo;`!( zgts5=*nU@zcyR#z4S5`F>U}ZIeAKUXJR|f4?hpMCiIt4QHCFXTZ(JaB`hWyhRNvP5 zOjrMUUx5Gi=LGwb`>)*plKbb(?dR(i>Gw7y^}h!HGuOYO{gV8b+22$E=nCwkJbw_x zBazkH0%;OF~$y!Ahzz5O%3$rAvZeomMxQ1*Bk;I0!JeSR0Lq* z5P_oTnQ|&eV&=^j9xO~)2v-#%Ta{}9Cc2qmN_RG^fuuU{q)dGzrqPyF zT_4SWk!X>uzwJIjwkZ-D0#HqAfuWQP1IYp^1$dn< zNpjS^XmtKh17Z(?A;}Y{*s!@Ec3tzxobuzVO{7ND{|Z^EO{(2m^A&kLtbrNruF48L zuVawP02)}D&8Vf7l0ksGB}+@rKAkzu4SNCz8cG@you?|lz$Y?T7SW_6X^s}W|8Pn0 zLvme{>^u_FS<=?IhT7Ft@xdZUeOAOhLh}|QcO`cxPayzF$pQaKtr7E_G^e*ICg%9m zeu7||UJp_Ix0FR##NAxbTOsp$X0Vm3t=YG2ri1`$1C38pyH{!f)VDZ@pzEzzEGFTSJ^WMhm3JB)D@J z&2~|17CpPPNbtey%0~HG1f3gT^aQbtWyt6$brhdOZ$I4Q{lmXuSjX4T{))Hbd;I+2 z0z3WRc=7U#HonH&%b$>At4AUXdA*=3R;(V-#WK!&kaGbL*+fV*^)?>FXup&JB8N#v z`6MChp;aYVkGyU5O}qMOSH#t0P`{1`Fw;i3Uz0{Y{?~P^J@Vf1_<37y2GZ4-x*cSX z9CJM1-{N+4Zy(wByV!0U+#Y%FcHiOk69MqFJ-&Tz6xpM{KK|bAr29*+AAN7mumbjc zSu)M5{Z_B@iWDfo?*;r_?6Q8km!Th}gVqAg0=|s{0U%?)R)9Z0A^@hVzZdu)WWjF; zfJyrUSSEjQbN!CoE@n%w`Ho0z*(+Mf>VlKz7Lf9qg=Uhs8f zMbH`fuZ?nl%!PN>Ypmb1P`@Oj0|LCT>FgTTkzC9|M1wO=y=wt#DRAV6sF!>Y7$xLl%iR&dTI43pw^am1vfM=Fiko}} zSdOeJ9HiUIJJ(>HAV&9t3#*)6wwS&08YqxehHNf5GlHKVIza!Q`&0*n&$Lrhy-ry-l=I&5mW76X%b0* znZ`inf+T#AXDiV7ZMDmkc0Oyhsd=aNdD>AmvltO#c*oT?p0 z1bWvz)O zgOp53qrOOb1Z=6)0d?YL>v@AcuxS9spoc}7O;(A@%_TK&9N*qaC5^#;YigMyOi$og z7@_I##P@QL=s9iT^ENfz#o+qAf!CQkr}Y5P(&62Kmax;HI;17q7JOD@AbX&>BeyOx zm1h+(m{MQ~%M+jDMiO8?uQI?=cOmj57x8C_P`WxNo*j?E%KBW~Vz4Wi{^&CLh|8{zzBwjuZq+TZ@QL?6{ei!| z?KgT^pWWtl*ShJkgY1{F8Sq2^JZ=A9Zy(S7^T*87x5tmait-=cpX+?X)o7T5bk?S>=;2{Tp04gXj>j&r)&|Lr0?qK_`iW|Q83`#vJMeyn zw;9#8rU?BIH@<2cSlm^C*K4K0BDh9lgvxS)syR-v?$>c_ zS8gv=8v#!{-17sl)1ObNv)W`DD;nrXU()py`5-`Mwbm@M$o*=np$Q|$mx&~qQRQmG z!b9rUtjHzMorigwl;%V}O0MEbkR!j+f2p~_u3Y&ed*7&tRt@87sn^d1$Ah_;BUCjKLW|IUV31;QR zCU9>EPt9#P&$-5Q&UV!})p#O#XEVwUolDJ0R`<>|X7xsj;b;QQ^R!dvu4~K_fkr8v zfJN?P%>!BIs?-%w>1CNz<3NB>J{|?$6E!E)bL}c4f1SS?c6wr%$S{a}Kz-gS3wrER zrfLONeP{M9jiCg}Gs1OYQ_B{Z^XIzgI=MCfOs+ensA!lzCth=&#Uy`9&CxPpdntwp z_@Vc6_8-ohtO=jXvcY_%$?SYmmKRJW`*OoFrjM#@VCz0lOgVUb7ooQ4zGZ04o5rz% z+Hv7~O=>En#=2n|#FCs+dj~y5nsHuE7`C9FN6Pc%`Q{6KwOjum}J<^dIi8^q81)UvN~`TqM<}iEu4dK$UBp zklaj!ET)2|=0I3I2e8To>J;i5wqrd**ai4n6ZeITbe|mWR%d=r&koEgIo)dc>6aW>WP(JF7+=`r@kiXh{R8fx zh`)#O&-wJDVGi^1P1@}u01`CxtLQ%?{vrT|0YheggGzx&2YSPhvw!am(OEKZ?2`O< z#~6lqFrYK978jewPM009%L3bQOvAsD4qF1bDKai#!u4CSJYbUCAC2I?Oz8;F4|Tou z03CimITxm7EtJsWFtLaV^{F~`pcW^LDp$X(JYUy~GQ~1* zk%CqZ@gfEkHmWsGMHx&IY#|vWWNb zo6~u{$Go7Ub;B1Z+^)wm)8Y;Jz zV7?;dRP&gm);Z;a9x(qAof7}W<*+e$rbpfUP=e?Z^;!3gLy*Rd^iik0ioq&&< z>|v1uPTV)e3P?rqwLllAHH|g%aB6`fCwK#gP4Nnfzb)d+Gv#k#v+p!30?aWaNov)5 zCZ`H16`#7$M0usz^1Hyo~O zP2DFDU>BedO{ygj=RG!=9Rf|vQ-DT#h(z1eHVQPOSfoQ5NU0`J=b1Jo|2`72iJAt$QvjCHUq$>)BtY{r`#a?P&+>jl3V;NB=s~1N|BU#r z9Jb@|>`Fjv{ucM`Kk>i+{4<6pet3S5H~tmw-hG1??_bPFbSNL!8TufoubU9ILT-95 zvN5Wk1|JO;Jbpw&?%QR43_kZ9muYS;@|>l1kgJr z_FEA6Ka`$!V4AjV0pLM-)wve&J!Re`L#0q;#T{sawVTVS-W8?u1Oar(OodEbK$~d< ziVSLXmJ!UOwVT}gToGm~MF1rN{JTPMF!-)U0l&L)q^)xiJd~5Vbw>NT7Qn5d&>+Za z<_9~Y!|W?b$Sje6GGAULM+V%wj+;gI+8n?Ja0wv3vAb*<-$yn+elSsP~NKvlqFs3!&e(M zaIqXSMPWtNH-0$=Lb753X#>+jK=PoeZ;W6PO+|1UR$r^~Sq+$kKs0#@2#naEN(EAG zm;)PlkM~>#X0^&I(A77a-Upl7w}9D5kr~QW7`s4u>DBWPE!KI5DpSnlb%0}fw7UjQtGtk-cpq4 zk0!`ZrY2>s-W=*H4~{C!^05Z!}C1^zJ2v4m`!rHHGh)QIb1;Oh6ZOEU_c`tQ2>``_92sr&h~aeE>Fo;CnC4B-#ap(6q?RT(X z$d6GF8JC%Hf4HJ@0;<$`vs6;7=zpXmMgxW;VnbJ%Kd59MM#J76m(Fs3wgcH6Jt*_f z-4HvahMB`0V-GUXxARw7h z;*fGd63OsH8uR|q*^irmP6t7^OS+tfxo`z+qUCaFCmEEIgWFUe00j7TU1>Hw4#F$) zxb6>9fXOhW^<0Ej6%W((C^uA~xFpcl410o|aV!aR85jceNbrqOqZl+qo6A4LJfAq6 zGaOU?pBwu{MovG9D*2c&*tsOB1Yu?ikV1X3%(8kj*jD#Up9!{E(_}X?F*eA=)F${V znYTfz1()%jvz@I8&x!;xwM8j$OBK;Jn^N^|9Lt+PbqB$yFWmJ}e`|H0n!(Md!C%#N zpPLm41eWbeNxu6sj)WZ8O=&MoKd^)JoItM91}aqm>i2etwx;@S4Pn&yaDeKkRgSRy zCg759yJPIs23K_c*oT=@Y%@YX26Mlg*9TU4zB*oH#m06XYLoIYm?Ji8%uopua1zhz z>H{l9qVDH3!YshA(9I{z}<6WW@9wNf0cIsG62^byFOu%xkEMaao<=z3gI{Y(O5 zD6$U{S`e8#)bC8GJtTFkatu@wvD1I|=|Y(x7EF{CJ9 zkRKT)`o`z;ktZmURs?uN!^6W1#5f`FCC>I8-q{a$eR+d>`%nDGt9#tr7x?>6Ut{kM zx0qP^dOI?U$Az7Sv=~F0^R8z!|4Az|L9+g{A`1A~sgw{s3D%aFDJ&kJiQ+$kz^~G) zG(Px7tr@PCxmO=mbJp=s>dnuA{Yq8*)HdJx%yIwf+u@e|_P5)Mv`5~%-FJBXL;yT( z|MP9OCi9tZj8FV5)?d$vSz^{|VVsKqD8OG}zr`x`H%t4C^}6K#?I8C*I{sg|`?KsH zEch@i;9s@vDtE5HOag%o={x-NJznOwIN2LKJWIUIXV~!yw*L{Q4=-^}VE9q;PoqB* zPzpG>syDj#yCnZJ-~WV^4n9X?X}{qZp%Q=LutC@Vu~)vo1H)juG3pS85r)1uVCOYm|i-h&$q9aSf zTfmFxxfbcjl>2!wG6Xv2M>2}ki1aax0MlVp-d(x;To~(e4iAT`=fur8G65R{!GT92 zTA~Nf#hnh-mOvmdn$HDUwa+9F+-B}IlE4g!nL`d>f}fsJc+}y|X1YWG%iIeDty8*= zL#jt$)=RHIZMi)c|KqUP*Fr#hvx6$a06S6f0B7_v4RCjT#){Y-fta1x_?0VMb5H7k z&?2%y{r#ls9FjJt(A!*eXUYqLuI=6!u^S@4%xtz5`)A!35*=*wlD~reY$_c9+kCpz zGZnxl5i}()2Fm>p;CYq?+jPfjd^Ve8&P2>=_eqk}v6VVf9KO1 zVFk=`0yx9U1xMN}1t>_tuPYA-qmMw1i#qMp{b1i$yH)hs43;rdX<$l4aYIY`K@-8rT zk^tv($cUHu^q#EZ(^IOV=EyVqbjSqO1(^qcY&7znS`7nAYDYpWW+a}$2+aw~b8$;t zy5Ym+8Qkx2cemkwYk1gRqx+9|XNEoBAx;5{ZxC@pV6Z|)W>*RBWzK=Db(^IIs6Tw&gDX{ztbt z@BWHopSIuac1s4?Cyx8n{@R`hfZy|GS3f>`+^62No7Y!=a{ITnMm!w1);jr7Z??nh zxzMt8oE`tk(ccVox%FK81pZsO{Y&!i9*1&&0{a60mGAF|e1G_0wErUlprmoB^E(26 zJupE45tev=zMvuTJb%Vr{x|;c^LspOXMFqo9&i0iJpcI{JbQSC^syd>Nv_&qBm#mf zrMVnS)(N-n7-)!8PJe8OG~|r_Z_MGBA^^p zhJbDWd7%q(-G+n!+)m^*&5$Z0Y6f&U=}Rr^33&uiR%&Gig|%>RsVV~wAQM~XBsLUj zMy7Haad4YfE@;h~!7^~zXr?qD&Lta+iXyY5lnKxz6q(b4JVfS{DOwQ;WxAFoskd@I zU2COUHpKxNEtC>QK=0#jMq{YaJ7DuX3O;hUk-Cz>z7#>HLE(+K4sPcZJwr9KSPsm+c5 zD;cw=%(fbVS{U=iArL<=89ayVb1kR5-6d0R1)xRpB-A(NQ`V;0T`h!L0yxt&FI)@q z0t?OQ1mE~2maCG$0D!YIZNjlWHz~cwydS(_UFUBGl{dpOQDfaarnS_XIoINJMzy7` ztz*g@vUK<9$}SNwbe&fM9Mg4Zjr9U_sn0JE%zz?tdT)^Auw=WAr50X|1D>Bp%@H=o z$GB_C`H$HaaWagJ$lIfOoBDHoZdOV|>RE6A!S%Iv5Y~tcEYh$%HOzq=hp4XP-$(FW z=5%!(^^BUFM!WXMnDYDjUT6P95(Lf@uKT08rslCVa8{f15yLqqa{cpWs$Rm24_%1Y zm>4swXyrj`Zm7A^)nCfjB@M_^gKHwEZ-z_^^&E!AP(;GUz_vN(Q32hQLw^I67-Qqy z!LqTHkii=rw&sqb+kbU*%fy!QW0(yqvelh)A#$a>WX?X!kFa^)GB}rRnVf6PmYS&6 z9>Mv2ASX!x-T$2Ps{AZkjlY~kSZnO(A@#tl_E7}5b8fSphLtcw?tI>*Nre*NeC8x< zY7W|*b3|SoAEwDMVA0TqW83HhkU7xhXH;`rq%q2$1H(9{w#H7A2!xRc4y8F(KQyFB zfm-2czK|($e|UjsXn6I-8E^A7zI*opANm`dz2j~(Jhv~<;CR?iYD2Mbb1*AfKUpuT z-||o$U{*A;#PC$5fP|NPArgp21%Qb-a1n6Br6mVSo2NeNYW2y2%kc&muyz|Rj z9e7B=IlOcA*EQ7Z8GSquYYzU1C^&w|FOUfH?>}?gzvA}T<$QF1e=FNBUDRXm-RyfJ z0DiCAuNe*Y=&zscSax`Ax9{2YPrf)vu&(ywV*;Rz{pvGZ5fkU+J_&$B&cAs+LIA9& zzk8s05dcF3z`^j(R`h?m`yUAagrffo=mTZ`cO(D^%=*^x{j2Zs96#af*B9LN3ohp~ z-uXA!-u?k!#vNL3GxA95pL%G>fqqFwhj)Z?HjwpdJme z>tAK$ABOCZ5gx(wFyJx(bkMChF~tuR(P~hx|3MkxmA477_&_s~ z1p?}+=w$(GbE6!3v7qGj=ny9@Aw%fSZ+zwyYdV$5al4ArOdWjP5Hs>AGLc@n;Vvm{PuV=={ui z-T)DWVdbPBObw@~Qvi47E;soO)U7ippP7<;3Tc9daLw62Moz;&EAXVWiMrf*&RU>X zHW^$7^)WZ%#2z_&hC(|4%`c0BTY7mv8D=^xc!K$=kFGj!)o(7@sWPhu1$=jx9 zO*?#c-IwNyR6DG*gWBdK+@UD#pax@_c-Ht2z#`BZ=DcS)FyQFsXf1J?pqM@jVKkmq zzSL@4rL~Z)%4G}~kQd3Juj+bY@H4&oOOTK`dI!{;U?TwcNv@1E?7_KaL!$NIoaahG z2+$9qvE5z9djnFN8NsVngfMMqFs(zZexy<~k|l@P#vuWbz;!BR zOZx!e;c}1h`cFW6g=hX9#`ZlPE)T%=pZL?4XFSI%{Pl-FqVJoyuQ)9HZvSD9+-fXV z)yYMa$p|pZ7r;vX&!Vo!eJcUaCy`jy0+@O=y9e*R);5M(n;fUKk71@A-ofEG)4O@K z_i&)0I4-_-c(ma5xWflr?SA~rKi=$D9P=C7{?!SA+jGxPy!Wa7wLK94ztip4bpB5r z^Vt5|eZTbi$N9z{Io9m)_pTlTbD@+6Wxyf`N)k2+fRg?n$00pqmF{AEM#1pUZ{sIq{ApntzK#AwKFNagm&aKy!sLkq~A z1i%2$cdq6<0pCH%{~(Z#z$}du2?8E9&WMyR0OiabBn%q32=00im;ALIzzOlH(-5*uaNo&qPL`C2%@+l#$XIFSP+sq{1PGiuG-wmq!KS4rz|5Pk^H$&^(qIt;6ae>chB8STT0>P1 zd7v^M7eKCsapfhu%Tqy-C3i{sg9~Tg2HuCR#l|eDXPBiL-FyPS5Mfc*Fc;mn&ciE$ zs;FNo+S$PLjIKZ41olElH}KqcU9(~JC-za+@ea$G2i-QqNm1DVrXd@WgwKp(8V>qh z%<)%1Hq_^)(!xNnZ(t4eW>5+z9QvtQs-jD^jiZ7HrcFVA;qFTceFZ}G$B1763D zht}coCm^1Iv*jl?vHX()ozF6?U-)pIV|0=gC`BPe0Ib#70{K3_#`FQDp3(uDP;6qWr_B-P^e%1Cw06cB~QrmHXUcdWc zzv+Ql`Ttic06$3n55K$2{VKP=jQ*D4p8&tpPRB&SS9!lBTFsk(s#%_m3&`yqw)Qu? z7~kUScO9?q?(zNoOYHFy&o5u$yq}St2n$8?C0tCEQbU!taqV*=tZXoY4E{D`(A7VJ z27qHUpgXM7{ePrmjD~S(=zC+%-yq13F!b&i7Xt--?;tRlS$1Hx9_aGi56$s?-f^Ub4O;QJ`UpFlnp3x?Wc_5r*j_0A2qvx>Ckn!xUJBqIYJq?a4r4Mc0ADJ}l*GZSp@j zzK^EAYZ@a;c(0Tb2jmIBK3H}mN8%!EoihZqLICa96xAV;Rs$5)_cir4%s+NEKxB*-+n66(mM8 zRx~hy%c1VuNG|q~Xgf*1>4YzUIAqdi5sQRS+D9&c`5{aq% zGp7lGLDv`yX~zwa3L{Y}pL8dI3M{{Y5pxdqN|jNcu+66t>Ih8Iv&b_f=w0FfHlGst z2vE7Q<$4e!rztGvZYf`i6aud$%;g!N)TL?*$5dYQ0Y#gkXg#itBl)mn|EzWgrn1A$ z=^K-PjXacAwPlp1K9ov%g66Y44uDehXq-03lvM6xg*bp zI1OZzVy)9Rz|3G8f4g$|AIt2om5b5aPG5czx5i0dm5%IuW zXaQWH4Ch1Gh5%P`aa_?tu7|mZE)WglqL{|ebd5eq5)GBds=QDK^NNS0#+z>a$iyX? z&wVmR{-YT#dr-Ej1!S%5Qt1c=z`K?WeuzdUrr}@HLVeb_*7Bh8$;BrP~e);+7^mD z85h*PIcz(s8WxdI5q1{=&;Vpr1K1RWOE5Y+!=9Ln{wgJTz>;fTlC*x*JXDQ@0>HNV zHUuP1?&Oi!iv1E`82W-7yccZ}O#+}WMHmxywguA4@8Ym9onx>*-vk)yU(Km?Ts27z z4fR{goCH&S&Nza+;NmzZ=uv4k*N4_Uz1imV9&h! zogXVgCCm6LX&#u(RF%SDCl&56V3^^-4Vx!SX**#K8v*Z$Z6lF1E~*+KBC7l_OHkoD zpCN95Wg)9SAKFd*$tq>Wml}i>Rar}Z5@*%-M35q}$T_un&1VQ;AP>F{1d7N03uoj% zq%83&Q5Sg?1wSRIwg6M6(hbc*To%cTN=bmRKYEaO2+ie_PXKme^NZOk!pu)J&-d^om~!E(UEu_vEZDK#7tu(9Ow zG*?`N0NX=UYSHH}uK;9%qko zi8xI9RwF+FW01tmm&XF661nmPNEBn4^)QU$$gLJId|qpPGlNc6gp?+w;J4&)0zRJd zp-rbBmmlh0I)Ls z^J~LDbDG>R;!k1#%JruVj{jE3xnNtY8B{+l4R4>l!|Rvd;@^LMkC*R0;Nb-PaQ^~! z`8Tw8U*gVKvlmzkg;W@fwS8I2k8bY-{HZj65zfc#Xvn@Ha>K|bov@_+gQ3PAGysg= zkRKXN{nD_H#ueuv$d3m@?lz;f*@50=2BwG$63Bh!R1d2_R1)+`>Q69H?)l7Pg-dpw z0$;(!ei$feuSI?m=xxr3?cN7^P$GJiJ6h-c4>L;Fwdmi13zf=;AA4X#Ohd3rO-O-x zD;2>An!+jalof3{EaFBmN?5t&T=-!+pI0tvDEHRD6og^G?uHh?DS$XJY8RQ5(rRtj zU6H9hR`fxs1}3nbV@%m90#lv9@797D%KyxYpyiC(lDILECOIXt^S%JnK^;XVgxXWl zrKSb#j9}{Tf?vS1aD$~xqC~_zHWx)HKLq$(k(?qm+~o&=1!OiP+UDp|KCoNZifk7# zFnDnRP`%(bYl+XiXDl+SrGSw7cb%*2dZK_w$f4fLbD@sWd{v!I(?ceQrk@R)rjRg9 zC-g8NJh7P;+C!BK!27bDfu^#XffYr(D2lrQIIFKjE>K$LX>Q8R*LbV@7`hFVH&^c= zA;%&PwUVg8xrnMGxa4`V6I4pgqniLIyg(|@P6hVWT*lOf49GyuZV2J3yihsVN*B=E zIdYN=RZ*e3f|`*ek5Uy(>IL=-qJ{y(*c#4TNP%RCMgu!<#++-RT37#ulSs26(Aivs z9>;kB*TM{D?8g8NCB0ycKnM-wa#oaZH%jp%5biTF-b~{>RvRs~4;XdFlCcBM6s1g@ z1YGxO3*;mu48Tw&4?{hFSt{{r@wp~erm3j}p1Ugota%hc5DzC2lSz<2__t%kRDDGw zNnyGNnFQ6A_3T&w6bb6dstd4X`p5CQ#(Gm5rOm8wIp#YyaQ#5Cjs4%9W2vP6HOHYT zf}Tu)Ih}cZBiN@LrAQ!wi7etkqf4nyWe(_M2QZ4&NzUUflS&Ld8*=0OZ6mRhX^@v6 zOC3s0cS-<_DFXSIDI%<@!=P%uzN0eyKZn+gUxwsx+e2zmaY-rVp%CF>gP2!<`-#By1k4mfK~+fQUc=U(5q+W?T$}@J$z>WakpKa&ToEu zgsS!K072N7h-lJDv!D-^2D;N4P!Yu>dow)@=v(DT;c(1v8d!)ttjzu>bs-(wt)_{$eB@tD7d&EMfRe~YnhFf6k8 zQ-%|YhFCxV0fH{~htZ|`0;Kupx>4zW2^?6CoCCQItYuh>sQ~A6%*O*b4G7ZxJMuq) zxlGYmz!xJZ=OQIj!58NH2b!MW&W?=7RgpMF5R205iqNFQyP~#it-=O5D#B5kf*qvs zuTs))$1t1X>0ktl&coi&T|u41#W^1wOwF|j<@UP(gNm+Xb}n^Cf*tKl)_uEES|}!? zUOx6co0tu?v5wFK>)FPNj;bY;{~3%1Ef?dU(hQ8^Vga_X1tXdO^ZSdkSai{fP>1N@ z9i3MH0ur!tU`#-q%LWkA^0LV&QWdE==WTl-=-gyE#x?n??VYsvAt#?u!Z?mRBSs6e8$Wjq4T5z9)n=jv9ia+1X>UeW2=wXS5gx~DerP*%+U(t=As!_ z-^&3jM=tA@6!E)q){kYQC!otmIoA_j~AUf-{Xctz?fHR9>Evd3RCstFZK zkOvU}qd;80#lRTWX&>bjS6;h3-b>p9s$sVQNccrPQtK77g5fk7#%7p zIBq4fSi@a=K&WjO*XA6W>(zz=B31%%@@9_*4#dr3GI`2uLtohyHIUphv~5u2R%@bZ zJ;cl|vv?p8gG>jT6x}p~0BX*6JE+ysy2RLQm_r%@k$f#4jHv~aT0!;@z%-UA&0zO0 zM|$8k2!yTS$gvP%vboTJV^-RL7zh*vRN9JJ10H5f8$mw6@g>GE{Ncs7IA6ZTwD0lf zx9@Ob0uO%#&My^Nzj(#%O&O6}Xsz&oKb_cXj2{qxLC4{g<0bS7Qi(0Q5@}XgYV)Uhm6G6J61RyYIg2ThARe z2Y&4!z|&rOdhQ?jczU1tk=H(UzK%}-z^CIM?huo#4Vo)Zz^D%{)c@`LZxG;`=btL$ zS5*He6#qJJ%K5Kozm>8-cTsEet2Q2OIGMegjxZz!)>yFPH6HxW`10{J5(D48_!{3o zd;vdyi&t-7F}iOHmIjZKr;)eZFv9@SS=J_9kr!uazcobJ8;ErSf}!<{fin+aI`X9I zKUMz80yr1B?KTbTGywz#NZmhD6u|}LgmOP2BZ_~|b?G0K2`k^W4W9wnWb+lZpMrur z3Y7_!Py>ye+zx>mP3O6iD%8PfuY(czWi|EYn=N*fUN#sR6sZTR91+el8{e z+Q*2@o}cDW?s8Ju8io?`vzqI!Hc*t%#AHy%U{thz@y09io4(Tx=$BjHT<}KN&t!SB zjH0OFF?*`DK{TYq7Xktf=}SaZbezxERC767c8P$S`mmhf5&?tL(09#|WxzVnwEVgr zbNczcMJn<#)&Uv+d#Q-fvkl&#^wmI7I5ZYh*H4YL0^0i7jn|o~pus8))j^kqS!hC~ z5+o=(CZDnF-OYS>#_CXta9{E+on6u2N+Al}*H9#HgG|^DMqISVUzL2UQhuoZ365b5 zYNA?Pu5svg^>+bFCI@yQFMY_HNC6-@%1H?J`!Lu8fsv8XqI1h^gMc;ktk@&jI7?pJ z?XKd2J}Izm#CAYd^<`JL*lemaLma--R$%a0tdKI4MzuowsVWng?KG#{rT9{}as}e{ zBDX2c=HQB1n+iMtn&rNvv$(tqUM^R07g9q-G!vvf>)Ftgm;&O(@3FK2Rk_ z4T&614Vfri0RRg)Jk`v5JqgpiTiheUn0)7YPHNnw_9|eVN<$OCurAInd0g3`8bTUB z`mAtVfhvICw&9*SpWqsFXoIb2e@?(|d#Lyew5Cl4oA#DmI+t&-&xXMkfs3gU8^_Re z7={>Jm`tj$c`VowywIR5(j`^^n6 zkC*uN@dy0J`yUYa2A}!DXE(ssZ?V>a!~*f>T3CA|%7)_qU7Ax9sZ#;Ud@H9rx5y*4 zT^5H`y544cJxGH6wZN4CY?D-VEA@`+5&7Y{PsgX@fBN_Y0Q`!NpS$3E?0wIkw-3+% z*!Mj5+DFfoFwW0 zd)C}NNE(!$tax}4Je;7n4FvGjfwGigut38gHcfo@O?IAVBJ(*Kr~!;I(LC=@ve$a z4nUEr+}@Z_p{4UZwkkp?hu^CRwmdkK)wq%#$ITf1UjQk*R|7$V&lJuz2bGe|u&UIb zZfQ-?9aSnT*UtG5w>BC9bY41wRS=53K;Qx`)&>Cp6*)i5Da;jB?vU+hD{<)ArlOXl z%hJk}Yrx#}Btt^O5qXmq0XATfW(|C-cIr$9cRd8#><|rl8uLm=S1>RvXPs&rU|C5S z|19lDV{}z_I_cWw4Oux_3R!hU0eyGXV=o7y9Nq#jhT7T2PAOPPK*LeMgN!$4bQ}iw z3ysw!5Mh`i>oPf|%}`P9Oh$iw=+<+C4~Oyd=|#~M6?rhP8c9%Wcug9P>jcob?#Kqy z%HgRS7)q;X&_nZz_IMUcw)Gg6ZI%d>Qd04=rPPhX8IfMq_Q^J^h*S(?L>!#65M3LU zb8jXAN9$<^jjLI6P$y|OlPy#^^qCZSTVC@ZyMLMfv-bpu9Z}OB&J-Y+T#ySTmjIjA z9o<)@18{n03*nWYU>Xy7Qv>SWkc=L0m3dLV-3T%y5Yx0qmSf8HwwieAV}Rp)6lhg_ zR6`s5-t90-&0qBR0X~Qcz*|f6C$*neKU8~}lkuTGU%GF1KCi9PX)uXVis6A>p0egA z#PWf_;Gub(Ah_%qS~>)5dtpOrSIrGeI-vkHW-_rg5A>WCV&J)eg+iW8>&76^VWHF{ zjYAg=z1T(2nlWk(J`>^EcUOt#N&GUjb~~R1CyH=F5IE7LY7P86My1lA?UgiW%-L4s zcXYZ@ZEFT}x=7vYQS(eGA8}^0Y-(RM=Y8a(_A#~1Sb$Al%LH__!02?uNZ=+m!=ocd zVmuIBNT`3pT9k6cW+h?3_Zd##lB9|cZcUTvGx_W4ATg{d=j z#jJnp8Uk8sKiaEZEqvwuTVLS*TK(>io_l)ekw5z0pSnhVo?Q?g|zNm$Ud&<9Z{!P(+=KJR}`Tkqz zuK<8+uK#8LP}$#}FaQWP$ek!y-6{n@CbI!10l&X|`5HI>4*%PC@9^^R9lrbgz#IP> zw>N);&(GjF`jaLxqLgVB%J;8`f6@Of9gzbGM+Tk$nFA)L-{3goz&Z!)@jyNjG+4`} z-tRakfdHTU-UY)s4KYb0gq;3WMx30SVYj`fQ|Xnok;$3lP;* zh`bEVWnk{9(-1l%urgV?$fZtQ=7B@-3Jq1X4uRCT?XtnQEl|{78A}6OWKIJwlt_If z-xo+cPFi7^!3aADaO6z_Sd#|V!3U#(A0fR2QW5=Be(-P_?V)=CfMhOj881!P z?^}$CqFM8XRXLy>WF4M{P+jc_;FwgNPN}Lh;zO??ijRH)G(6aWT}OSEYIBWGbf4KU ziT`1bq32;*b8w z(J{4mB#nOR8j!voo?X$R#zZ;rOGD@Ycpt7*0;ee0P~^2r1J=0eKWc0o`dQh4!cadX z$W#%dnPuI4gD#SPKqZhI*T^*>zCY(}6zFGwOZ+cW0F5Z>L;bkS#P*?NNtjBVfo&aT zoqohr0agJ|v(_BR;cAE7#(S{nJ_S~7?;rjAP=xeMes7fyeAM$DR>TLTSZHjm!#d&% zmk8lXR1DN3;iB0usRt@`nswUe@)bOLUCZ)qZwH)-XB0KK*vwwA;)3d$X& zld#zSuKNWzcbdGg2!a#ilup6btEoN#Q27^~4gl^GOU|;_TCM!+NVQK=UxQ9FY4}Gb zj*%D{6t7Ldv#KJvfap@`$ucJ>8jDJcP(LU-zqII#NLVuM0NBETWM=?3aG;(6td;P= z_HxT+qhE#$MvY07-&xe0O&zz~X-x^*I3od^!L{#T6uQ_4&4Pgm96_%`F6zaa+y{^p zCglFdb@!+-lL8|>F_z)Du~h1*HSkD29|bS1Szw-;_n@s}W(Z#}cMNm(fjQDd!AV0( zmmy`~xhfoyB_?Q#!xo956sA|Wt$)F*S2w(kZ}9D#H+b;>1ONQhOWfis{M)x*Q>1t& z_-_NU*g2@NuYFCOWC{}O)Di0Nlr}*5>*RcAg&$LnOjc&tyU{}&wOgCp(o{-@vhW5?y%zt-ay|7g$k>(kesp1b`02>|%D z9d`HMkG}7N_k8R_*Tv%L=W21eE*7=IKKX3zy>0N;ImS_pz32jH;B=#3Mqz6E!KDxZ$V90$9ta)I?fpZSvBxg3l5hs7v za;(^SfANmS6m$Fd7-K&&g`i}Sr0qyd7Tpl+gIr*VrNQW1Ovt&CgP{=7U9?h7=ZU7V z=Hj&u33VaB5`FzC(N;B%9D0!CcQY?E?^MvMgqcu16ULlhPdOBBecfUTl$RZYjE51jhjTl1qef=Z+_@^0XW3d6wKVBQD00i_ zCqGk}A_o{fTZ41J-RV3ea8=YOdUusyTR>Cc-ALQc*mbZg+U$p-gjoYb_p0BA=37yh z6BkNxUY063fCR!+YrG@(72#uKyoP7nZHI~Wd|@Eq!cNb`DNtr8KRQ;`Y2P&Gx~|K> zZx!;=;n1?Nt_!jrpvI4as1(>6dk)TWa@$waXDf=il4&b)yiP|ev?tgm^{sB4vt#gK zBc#7^T_!K=fxbUQJ4@Vf9Aq#!AaTw6_2Rm%MC~6?EDFRC~ zQ9OYaA(1pS#1P9O1ItMEuGE#%IdO2V)q2PEZ10N|9XE&>B{5iPCzt^9Y{%FXbtah0 z_o3%&W2>EgP6HMPeav3V3lXETws40B}%CB-CbO5m>UDHTYR2Sy^V0V+&%|5b5MS*wnsr z@ZRv=5k@9}Iro3|FKY>|gXxPnj1&W<6aeg>^o5K?hgo3!UUdZ82nxyMPBA>d6f8&1 zSIGB}D;pwb&=0g-HnYY@E1h zTN5BH89^|}4sf_JZ6-}AdcpQ_?XRxIpKDApSZW>1zAqGz09?-D-nsA1$?lxDV&FWr z%dc;Lb|Jld(a#nAE9??K@xD*Tf8X)6YwaWN``Gz9J^=uqj-Pk@*hsQxe!ng*PhYnu z@4NhXIdabEe?|U3p!*Mt?q>*D}GQ~vJ-|F()wS+!cWGvVnH<~rfy zZ}`mq9bdh9hqvPezWMC8cr(7j=YRh#UcMVG=$6-pkjP&qImjuI8tNq1`9a!T43_j0 z0DyBK%n@^7y??+;C*^J#kd8Bqx&G6ObBGnB`{yz`m-2)Z%!W$?pd!a*Xh-fKp=_!< zRdEL^H=Uwr9?_2{0Wa%({gmTa^v5V#r_rEHGfd^o)=tJfHCx;+tTrU;?=PXU>|tar zHh5J#BbFoHC*;@}=v>S2gBi@EHm{oBz6vlfD7YMW^7&NNNF^HnQs$EUb5Jj!8=z@&LiYCM4oY>BV zEk_wylv;Eou$h!jW2pKOX1kw`Qst+Cna*=$lH>>LL)P4{@uz)h(yVB4Nr0wl?SSc=SI`-tV-6~!OAodP{em&!z6$YRyh zt@s|-b=@j47eR;FhsxHafP=b6SnC471xkp8V``g>iqD$qLj8)~znZ^u!6D`(NJ<9mOnmmeexT+P(aUsWY5@4EhudX7fIvCAA9zh?wN zuhf@^>0T9~zHX({z?}I}ZJ{+t%%{>1xi)5A`iV|^Q2Y>dY6@tq3Kmtxjr~A}26EhC zhKOjkL#Iu-bNyJ_tBuan0>9G{I0V|l6b-&uv;_LaK&teU8W>vVSM>{w^lc&t6h|#4 z4$vtmfI!X~=w`4CVwJ9E*IS8u7@+DURY{ad~> z0S>a+;Ha7y1f~VtM&tds%{C$-eE;0-oGJbf4SD}KqBz&-DmhL zAMoYpFYzv4;BRkUkcA-l#l?g?LDCOl8-skvbCN}Ti|l;gWvHp&VM?7oyU*$ z_j9j3Irj+w_%$8&^X9)j^QI5ZJ-wFQ{rACQbbmhY=)8B=D1*FTzvgn@|IOSvfdEDQ zAENtvwAz2s{cXe@05C-JcMqU`zliE%A8578V0QOQS2Sl}Iti@Vw9tg1#N@y_Dh?c1wU|!>lRLyT*a7BS} zn(Pu}G#Rr|{Aaa7zcxtq#>}SNFMV&31xnF)Y8lq!pg`bMU%H~T zCL0d{rXGNO9$Js&b1An~;*m1eT!wg2wX4Ki(Z8emMGkd448am$&7v?^My6=F~sDk_BRJb&UD{?(2F6Mf@Tub zwNV0s$c&!iUzD^4%LG zyyRP_`nu+1Ex!RYsEJX=I+O~+IWZkLLAv#!F%*#$`E#uadYHau4FI(XU=$S8cUkE( z1QqY$oNMLJ4iH3HnOjFeb4SY`*#^n>^<)ENf0x)@i;Fk`T8(+%6(9hu@7Vk6G?MUd z;Ad0&(=akY7)h`8<9tYPEFPMZ%d8ncrgbFhyt@GVVqB2=pK$2{Btai=W#dv*qKI6u zD)m4Z0}0zrui1Jey!Y(+Xqg0o2X${&SYH#x5EJX8L|b{j96;2jCGepZO0@GHmozIc zCsT7TGz2R?GLY0}1#ZTpaopDaW(2_uz>6D@kB)PhG*A}IlT3>Q;-*;sB)iLQ1e9_HnL!TN zphgbCaZtz>4kI54$O4E2nj{zC0$3j3A9y^!1nd=F+#Zm}UvaKSyc_?92LvAM54aty zbX53mAB_NOuH3(fh1~XLJ=D{VN~A z2C^0dy|;{?%ZF-?Tpzuzd)GFyMfY=lcD_^&lm}_9ofm{xph82TR z|3^c-7n1ID^dC>dde6-x3|Nytv4ETjPl~b4js~RY*`PYVLE>E$`Fk)L;g6{(_H`pF z3VTuIb)Am(1DzMg2%}g73M;3g{gC2r8=#7o6fHX}DJTa53kxCfJlo?c2~sRYMW-8v z=nEqRZVahiCq$p7hjy+&fKKtl1a31Kxn|OFKPyTBJaq4%;g!Q-E82O?6j;)Rx-~t! zoqicAn^8cgpwb4)xZdcR40Jc;pPOt{Yr|tIk=kT1n$cJbR5l~piyg95W3i+mhSNZu z0YAK{_F>rd%^^zrutIHkYjO;itWt*@INi%>0B*|Rb|`Pvwjy=`4MWu8)UyVif-%aW zr65}jREjMP=1kbk?FH)g%9%LmvtY_WFQ@&Gfg`3Y%%u~d^Jnri^ zIuAKAdeLr`ZFz4PYJEofJUi zp35!)!YZA1?aUn8w@WpgYcE-JNmyD=?N-bifKDTq9*(0jhF8s*NfyOKm9isHwZwXG z2$awmDzP?}q}!~7RcOKB7hV)a-RDu*@G`Q-g zqtm}qk?SGQ14!U-i8t~+>?pY~bpvk52s+G8;4MR?SpkfLX$%B=ja6Ip-kKkfbH}s- zl>)8jhMZ$uPHFJFfaWwh&u5r!$(VK{;FLg(<7Na$8R=%ud8G^h1%U4|m>~z>lfO69 zOl1`;6F!5g_Zm|S&^NLCE){JF=twIq6h2+02pE8HE_m6%f&lXbLew7Dd@ROQ#UUJI zMTObMBxVrM82XN>HAn)VOcx>HeH^-Ok`-7^t2>Z40LySV2eMmYJ{o)^j++s+9EmX~ zj(6rlD2L>B8wf0>N?0Hd>KkNEm^lt}tejXr`Fv@JRILUp5WN5@*$x_0Dr!m{cFT-Y}vCX|XmAquW%hCW@#)o#9b;I^Ul zUvX5g=GjlZ@29T$OL36@-yT1=&3@^}Cjj6Ve%J@U{G2yGIsH?gwfm1g_x6hv+w%aS z-8=u~cw8O+`=1LsYbv)RvA+`hBLkoW|5V~n`TiRKn1IRvnh5~7XZ}}weSVAEc!Sr!x#2N>hqb=K@%~F>ykL~Isfz{{h$GFPAb>ytfdMNW z9s?PJAiz41;iUa9IsakG|37F5z8{z|SSjgbslOFe_RmM}sQa9TbJ7v1(zo-JfpppU zG7@oSixyoYNBy@cUvo0=(X;YYFa0apXsFy@)g}*FT&xAXotRYQXmp)r8g@lFH$`F7 zd5<0Wubnu7TomGKYdcfG3%V2@%J>?&Oo}C^*rSXXdBd>&&JQN%O2AW5I^dQ9 z5<+$7|k4a0S=ihyj)sW20DnAQj)(}**!abq?|a> zj^UM~41xyZ;y_>oXVpHy^)UB~BdiH1sLJ{}6j&FmT6kT-tWe-jnY^9u)Xg0u* z2xBR(UjZ<`INE8#hyoJLRF_=V!qjzE(SR>Ut&!u#HF3@DAdG{;Z7_67%BaZyFxbO> z-nx!7t4QlE|879(R+_8PekfYJG0}Of-PhFyhFtYfV^kRB@8!=*r24_4Q2YJ;A!5U@m-lq{yl)x7I86kO5;bnPgCH8GXgeww#x!{YXv z)}J!!S8~n{t({PGwRaTfcx`}44x+ns6|kMqy5%hI6HrvRz$b#H0l-&?gDS1@0Q3r_?pgxvo!KJWrLClxW=o9neF2bm`0#=&&6f0-u(-*Suc9Yk=%!D}kB^)*jH#5U<$d4OvxUG=&%`*zOt^+>^}MOM=gul2S*A$ct1CTVWmnz^aNG}M=jyw_ znhfkRq}&Q%XCjw%ie)$**dg$5Y0oY;h$R^xBY>O^yhx?0k#V>@aNHJP6d%lC@Ie~~ z;j~qpD4%7mSzN5yL>waqAT1CU3LH3KNn1^@XvPcR@oT(r$L+;yJo;;#{x^JczQtQ# z!0`tlK8Msu@WD}ekD5?%)t*B3U`W}TK=v@LF`f0^eMalJK(nOXGt~cS+4fOyfPI}B z1DE+yli``$&&$8tQn=pV#b*1+HTqii;eK;B34iRc%k=$;xBilkOOO2H9v|z&>uXQX zUH<+A0DLxVt_`{jRodRm5O4Zd>n%P6}0QMA8kbIkQe=lEaC`*jMyu`q016#pyo ze`NrW1wgfb0RR>GM>+h39@mX0ig(Q1);AdbANXSa6~F%>@%_u+;F}j;BIj55;_t6; zn*&oDU20=P$e`#1U0yuka`+DfDEMbm`CmyEK&%1<2p-IN@FxxV?m#Zb8o;CS{nrVs zwMEkMJ+RJgaHsNY<5b&M$t5Vd7ut6(G~hBGsy}B$8`7Tl#=nCG$DDzP#0|Fd`7dWGHmDy0|7M;xiV#sJm)SK=5>`nbBb1#YSf73m2_*YvJ*0LZS+ zNhSfndmqVihUd+Y?zn|=9-aB_7L0Z=*IQ9FWBz>6R1+YLU-KYGrBrAL0&OThcQ|;D zl!9Qi6@jgi-e01N!jPV%XD1!wVpW7d5gLq_{XsTpQ!tIxdK)F+#ODhcKMtN3*0Sve z-B-;Y16mWJa?>NWfuF&Mb{YD6!9Yi>bBa}Q1s`;M<`nDkLn#DBi3X^UZC05ktS1j` zdbaa{hwtw%?E=`&=}qT-mW?H);B=6c81ijsdJQS5Yu z!Fl^A8}osFIp>bPr*#pGCH&x*d3JZRXqEeZ7Ns{-!-=7;{AhGUKb_0ysQ%P1p+>iNg5edvy=_pM&qW7T{wC;igqVrqAuelZ`?P${|HM(w%PoGC|G z*DbPy888RerhHGQr^+C1;7s3B>B6q@Gc`7E+pMo=ECxe?0ij>&S=td><%AU-U1LK3 zm_Uv|J#dY^(Uk*cvf=Nj$ah1*c4wRVD#SEwfvQx5Mu{O6>9?L+luu$wpA$Fyezv<7IBEQt=L%fZjR zW_c3GU8TujKvnB0mP$M-1l(izW*n`e>y%LKlAtm0Q}OAkNXaH z@A=?u&wb7=|2_T8lh^vR)#7~rT^*3D-NwquQ7*Yb06>YAq4WH!%wH+|+t}s)%E{*s z|1QOUy9)l@iTwp|Df8C?f0QZ)Gug@`D@&_r@D*KnhuiJn@FKp21@L}+j(PqQK702i zJRKvv(R2hI#?V7ruxw7sY9_t^Kvp@waH;%L;eX{o%$*95%P}7h%=5rnj>mN5boe7t z^p%de40!^!xZyl5Y{5Tu&6>cRieAeBnt^63z$>Cbu%L{+qD-y?a%~52W=iZ%&kbNb z25IglLq?%K1G=10_QkRtgy}MV>oovXN)X1bI?USpA`>C7B1HLS#4Ny)gx+Zk**W6| z+5`hMBC|blDWtE!NK#3|4Zf0p-<&0xqTX**q({QfBz1o5XASMd#VSBZ&~GpYHb9SM z3~y6{KBD?YMgy@B-oq`#S2<*mWMa58%Dyh8zmSZ;0>E%aog!JH35Pet_&1giE(pM%oRDc!>-H6Md=nN^CYpO>bFFz_4_5)ocE#2$Z0GvrnL)n zol~mlh|LfvZ3lB>)UGdZITBmUu1XT#te2@c`JCfsWxE3pRT{6-dGO;$pcm_M4n$7c zj)m?cbnd1c<25#8AQRLofH4Q&_a1-(^+0Dib#6E#{}}=%)t2qg%4zb&pS94HB}8h` zyuVZxkTYY^IHGd%aR)+o6DOS)tPQr*uy+GaH{{{CDLTItZMOkbnM5f4rJLK(5n9w5 zlskQ+mkZN;gv1vGkgn2YffzXVLxL<6eNPxVnw-ftBWOy8DwKy$tpU0=hZ$S~r=g41 zoF?0g^!^-<9EKs*NyydlNE{AE-_zhL#1Iqn3ioXcm$O@K1t82jcfO~yKE`S-DjOPx zJe2Cg@Hq7pgf5H-c!qN0rRSi&n6Qqh6X49oJR%EZK(n1-E^$vX(dwuw7`ezsC+mgn z5We*V7_=bcp-O>PX4Fa}n4~m?5)n=3S{&L}Ou0s(R0kN-Iba40rn%v!o0zgrZnQlL zeY2bGwbnR4mVxa!1auhL62$~?qrG4g@S{yOOgB6lpXb30I2|Vv6V#xA0rNCqI&5%( zi(FW?1e6Rsz>wxxZaC9m?(nf1hbvZ6CXGY_AR$Q{dcvvb{qRKQzz=_a1-H*J#^-o( z{5#J17VrJ9z-{3c{|lBcFSc9m$zveoQ&x_D0yf(Dhm(=YfKGPwBYp6G zJ-0@P>>gVjQw{dkj~?8kZ;19u=GG#rwW^%@D;QAs4f|ki=soQ6hdp_%u9=tDui!z; z%lsIiaNR6_#m5z2`A0gs*=^6&4-R|g{F4)(0DxcW@m%LVealDQ@WJ_~*Lvpf4_>>j zCidi-w%^wPfHvlil$FA&K!A$=`vm|PYB*rOxDFw-%^NkM-kJD?)_zUU0Bi59%iQ%0o_?J?*q zPZ`v#LyZEkv4X;WHW_)RA~Pc{t__N++_D@KND1$)DcIvyr3WROBLg#1luUsJL&n%z ziD?8Ttc)XdLJS%OBMq3q^i=M0Dwo!2Y)H&#IfK;rLA1MkMbgg+iGIbIPkb z6nUC@76*;L2t`zi7Mc_xWZth7#bs@>?3T@A-21Sn#iDVT31OhQBigQ&fD8W2)Lr%`& z(IxrV_<2~DeoL@z8cZzc7H`Y=qV0GTg>8f13xImgYAC+F|AbY`#57mKEs=1K|CV~u*hQ|Pas6QI_D+P~0& znx_!32(@XkVU|9B3^hwCGO2kKisri4ydkT=L5FsNPJC%BT-!U7j+sMyiL1RX)xqj{ zgwO3g>0(^pb$+$~iB6jc4ZhTzE+FF2e4y&O?TBw(qy9@7)|DoZS{suf$RVF&U04p= zF}>Vt-EZA%5b$fq!+;EH6?hzuJSev3LymeH&af^M7Yh>6)O`s&y=7pf(@{jNDM<%P zU}$I!B+#7N4wR=K!AQMI_-)F>t_%=Be-_oBxXgQqRpCyyS7xWz_%N1qjGC|3&OIyj zh<@#^c`RqH*26`lbU9g5A)1D3&N%e`Q>}G)`=9I^tzU<7QKA6H0G(+?!c#NZ z0=N~>spog07{}n82$eTEPQzS=coE1WSPu8(nsK<1Az;*$In$*5VYq33nF?0G3~M^= zHKAHj1ID-j*#O#6Phg&dtdjLRe0B`HeDNQ6yI$kX`W7#4i5K%rYn#4NHc9S1qtX{Iplp4%=El{j zuT;mrzw0`2`Mn-DFRvNyUx(e9zLz!q{`}M9XMqL3g5%Qk{}9L1d&!Ty_ObJId;$PI z9si#kPwmT(z32K<=PDm~m&gGf{;S&mrR3j`<8RK0|M&?2fUcOFe-kHA94l2}#+IQ0 zJROfC@$GMZz^nNle|q;lj`$niKHTuee}_1~#&Lc{5xRE%i!MoeKNCF5>fzr3I{Fqa zQNMwehpcLq^$Uvo#Ttm|Saab0d0?K7p;CW&vQ%IMfMuBPjZ|QH6LCVGy`04Wa;j~O zIq>nAvb2q*pO$joS7JrtRL=X&w=qygYy=HF zqyS%wZ7H3nk&-!AV$5WXd*%JQxpM5$l=o2dnf9 z1e#1Xwd7kF)Ag9@i*Z@sR-l<5rDxHVSv0+Jl0GIiFHQ#~A`0AbDXa`>uWC}>yf zU*5G{`zrzkBe{n(3kh6*-LnCnxO9($?MwZY`d)z)X2_sO>yg09g=J%}H^F_5OOkD{ zQTtrFwP0@N-e5afZq^j=FcT9?DJ7TnBmrb>79`CSMdSq-@J)Naq%g0cqS(FyF*z6A z!90J{wI|mI*Vtak>w2Oi)&)!g0uUmRQQyt~Z_B8hk`zC8WxhyIgrv+5iJ`6ZAl?s~L zo8kSju2y*2*Lt1$bbLDg8;?%_z%T6hxr@Ye@B7$i|10M&%Vq!loN;bcd z2duz*e2yQEFR{+A@#5Vpp|SL^nDY;0I8|WHkn&JdUXv|)Ndb8R>p;$fAV3U7@dW~$ z2i6*hX_)U1#AKz+ox!}09vpxl2N(^=HK5$ zE1gbb+sjcJOmQ$XItY>N@U}|2p~d|U-OLFzJ@#5td{=+ipJOv+0}Y%0j_zj&V6k$@ zs{UAL3^~&xo?BbWk?S0NUFT+7XCaSXfe=H^TB&R6{gpF+w}@SyvKvsKYu6U9)5A8q z<R3}^G2`hz8Vx#Kc?%M!j!h4l&89XFYtin=3pDFF-Y|u z*3OzIOSM5@SQ?omDZx2cpVgd))*{Y-vHQGZ_5u?bc^`7PINj9=0*3*D3I#GX+Xp+J z-y=9LS^@A*Ure!!AxUzR}5LhGP=Q>uqSrDaXbZ!xJL zzzYK4h6FPsVTY*wVhlj-I)n^G%v0YN^1oW?a%fU6lW!kCIU9rI;i-5kpo;!vOA z0Md{iWX73e=Av$fh1h!rJ0{L)wB4ksktQPns)&(dp9sV$NFV};w_oDL=Le444Y6Kh z`8V*-zr*2QA>RU6UuY4Fz2?+3uSKQKSOtZ=*O8hVRfaOPFQfo~jcFE3rnCWoN-5~A zr1lj<>mQ)bYpuBp_g~hFzVZESAN=<8uxHLabM@=?_LJ{@?sFgeu3yXXvG(~TAD;k# zU(jLw&(D4H&p7wY>t$d+>)8W4r%LDT?zMf+^xiVa=;vf3_H+u8k*ren7YHyq(tia2 zqVxU90Fd&(&kYC&2q|M^I-VDZ59Y9|9;mSo{ zsVF7s|0yTljlY)>M&mELbQmMzMo=f^Be-yTd5SJ8ggOw4wp$rYGTwA8ELy%XoZqPu zdzF_u07XL?#djHE&8O|0Yti*wiqh>&aMOlT4F>r7L;?eFc&9PIjXB&E^)yEJy_gDs zGzb#IyuTwXJCeJ~`M1h>nW7C7NGNA&zwmG+DYBdRVg=z9Jv&D z)x6O93gtAzt(zgPbI1)<s*(Pd>?#_mxfzUBn?QiEn0p`Kn=K8y_Gq%-4o57ePq3;T^%&}UR*vW-wZ3xsiv@C> zC)Dvs%~jyxP133RP-~CYzvLck#&-$2$HU zuiyV2e>q>n{KUiYzmW3_4g$M4?8edE^8wcEu&S0q|Gid|v28{GITB{0=P<{Z_qE!2 zHjo2g3V^_NDpJLxfYt{<@5@itkUBIK_H&Stu?^D8{nWLuuRV8s>~(wQ+($mE7|N&P zzw3Ceub#g4^xWm|PXNF#>G-LcWgmIVbLXF&GrNE7qvslZy_~;ZOAf=+(tb2>Qh-23 z4DJB{KUnsqMgNNGe*pkG=YK4iPkv5Lf6@Qx>^~9wE8ccF{o8uSbynEzJ3Nd(<7NCE zfMMky;E#U<;&Y7iAT`jqxFdzSX4RoGWR496B$fUbl;5%djeO7u?jBqHjx%)Gl8ofi{vOFb+eQBJYX_uey{OsyxsM zz)w0pRZ6Rc{E{{8D~bw}^J1dwMQ)tE=#jwAZx<~&A)_2p+P-v&)fFyXR1v#@t+8&d6k|<%jOy%jsj=GFl*myV4`% zxK>Qt0nx6}>|WlRjJVu}zq|5Q0h~eSC!7v_wYevlzdv}sQUV}H*kD~2Z|T0R#>t?8 zY63D?M_Nq^_K&&B5C+pjnh5~(IO=u7D%Qg09LS4!7a0X3IaY;(QBD5LiN?Q{t8$r4n8a3|gB2qb5#vYJ&l- zpRj4*<;>BLB#rgbRvNeE_!_VQmSMQbIhhi>b2l7vDA(mXY78Zqx>Ud3iK#Rp z@=~gvINQ+_wNA~GwMd;l)Hclw34&Qg+dq5g)s^`!0&%Fj+Y0`$EA5RF6@sq zkZDv$c_^2onlmq@Diig$=)?0Gk*iBxQYbX;tSJ5^1ZjKB*Pw|2aMIx{V5`ct)ts}z z>zxa*m8_$#=c)9hl!tI-j+B!;McW_P;6gbRtAISQq_S98i~Ur}{Xj)>dJY%~Y094sBgS_qyDXD;Vt`m4?ESeN~mfKnHWFZ;xSI zm$kUAKcybOWIco46l@*Q)5DVSlFItM03ZNKL_t(C zp?&9Y1oe>~AK>^B=?_@>7rc*e0Q>+P|B46uXW03bI+WMEE)!NjKyAoKt;^Z=M`{Bg zILU^nHN5btVgNWO0~~q}0VD4v&1$_@d-mE^3be9KYB9K)-B0g*pLzPOedY>!*yZzW z+tmB)`E$>`_t`J|vDbeE$6dSq58p%e<+Jx<&zyg9;u8Sy>G*$kbXe~4cV3)*!xPaz zG%b~R{<#4F<@b+^>OZ6WjQHEd`5)t&?_Ugn0swZ2zdPr@>ef{q*b9P7isgYA3x0fy z7yf4)_yLdO0cZXW^ZXMY=5LUQ7W=C*f27dL(NEUC&H5cG^A`gKmidbu$T*PeKrBau zV@*>0aXMlV0GP{Rr(vCB0g#@^NX1GTCoyICIDa=ObNd9QQ6z|E?$|w*&pk@ury?yE zv^#*#!R%bv@?DaD@R?aFzQm%;(fQ9Q<1;S8c4jmlDx%Ntr$tmj$Ytm}QjG4sBN+I6sS?wMy5CNnO zqBgKn5pxhoSVKTrVvP6;QALD%f9&^zPU2qGL^m zmc7<20FB$Y3INtM%0Ucl$DwS$nkX8}S>TYnKf_|;Jv57Cc_@9d3i4~l~Q6o#-bG+ z(N6x=@m*?xHdTBBuS;tIAgZ?QiVL|YvYAdWyjD`KSG%kzbr7ukEQ0@=8-eHRLSB2L z13m?+_$At`IpvuI=;{lNcj$`%pg>>0;)JVGda9j}m|?v(U%!%o4fhH+tp}PzL*EAn z@?;PO=F|g9Yo?UdSg)oJsM-;LQ=sZ`*{c@6XdaGu)Epa*V;a_B@LRO)6rNbiFk@ku zk*x(o8230IvZs7e^tRR?gwhvkETjm6Y{>WT4`hCc<8ZvX8BY5SkNG{q6EBX0uiqgS z;Uo99CeViKWpT*ddm559jOA!nE8wzktMe1KBn)lRZ4e4bR+O%7-T*bf+4h|80lk09 zCbRC`>!7^+{pt90{1=W-0KhNgxQn{~%-28mnLclK|K0t4ALY;c^H<-(wll!>GkYDq zG6Cwfa`-DXz&$1QSEc?gx&Ctat=Isf`nw$ej`~-=f0GRZe);_x?YH`0|Gs%~!tsb# z>p$_}{|d9Wc<-O#oqq|u`zP4^9Ke#gzm{q#z!%LQwg51du=rF2pM}vq^WK= zfuD3y_me3xr4n6jlHm7Mpt|yPIsXWhK}K7ZNxX_&_EH+TBhYG#QsbWhrZIAM1KVSz znm`fwx?njIhaR%Ptzz#~dciuRRWTDjH(*svoN_1+pdXID66Yzz6sUebWgHLZ4HhtG zx_@)ghCwGW^*Y4la8(;YeV;t4&Nr{|ad}HBx{bN3JoJ10(vUh?ERG(C0XaEEBiCHG z80F=#u?$_EM2nP}`k=BTY-p|tM7eZLUsOH=ft`y;LDAqt5!FsNs>jeXQ{5gt|3VYH z)tHE;!vXdixCXCOJLvs3wZ~skI2Y?otfGKY1Qz#>ik!n)77!Bt8={_{ znrI`*WI2Eqq-$k+tufG;vPDY2X}DZ{&ZQpRPSzv!^+Et;hO%>HUOUJu-jWhm^xBjnq2;kL=S8zDqoi_nZL8vG%i-vl&aL_)q z&V~jZXOrHM1vqU6*tGxa8WERuqF0Rc;@`|+|wg};`Lw4aWQlL+mEN;nIC!WW9RGm1OWU4AJ_T*qwo2d=YQ-{ z&%giqS!_>!w|cKOnsWTTepk+a)BP=*1#pf0Uw_K^zXt%GQTs0dz^{~lZ2%R^DJ3QB zoPS2~7ry=SHOBY`Uw!uuw{_zC7oXvc{T{bBzlY72e1CHBUQP-Z+~CV$*tz~0+xcHP z5bJ;`T(s5==Q0X0svmsINT|N9@^|5K-eXhU(`C48Gs}oBwdFEMN)#(pOU=&g8p@0ykq#I} zDscvdp%_)>xJtL3S6T+!W#e?Gb}k(U-GA)ymuiC%K&-%&BK+;7(>!JL4T(QR1Zk-< zI@u&CqMmK1B6zNh{!;L*oWnd+-YBG9Q18o2bT`XIRJuzRP$A6%MXyRjf!DF#z`dMm zb5sSS_28IM`SQlx@rvSCIlYVHWCq+|s);T^DnL1;YzLInpwFA}y~}nAu>74CTkG(l zgVtC9GY&<+&@6$9%$C#BPK6w)qMIJ6JlbJ6Pa5~**tGp61GXq5t|}A(P;J}@#1u8Q z^7PARy~qzp^zWWh+3y#>pG}$VyjChe1>GUTxPC97O-%`a&h9imTV|z1+1>c92=284 z0|4dT(~+q>@4P8>}t7&vdasLVa_%a=Z1sX@*R$ z-*%$|_juXM`(YCTdfDC!Y_p@<+8F`eYyg50xN+_CRSuV7j?z^KmRW?s59hjAe-CTN zKFolb?e|2o&5lv)T*4x-oMjDDV_29;8MIh68P z`=(*9K@ApZEac)?Xs15PuG`|jLu=y7{S3K)M*#!Ff!j3TtpN`ljAJIwC>4C#Q8Cme z!*CpixB*xW9|OY;6NWRV^c~v5WS_x6q30CvP?7fN)WZrq<@^lx_MhZF?EOf4a@$0l1A_vSSZnwYSkMF-h+0a5`2VIF~WU|8%@R2j;RagBH_p zK3b#e^8{&iYU?!_@ef(bCQj^3Fqe9klcbzjMGH#38Y`tvE}^zdu3JS6mZ0tdP(|4w z#68;>I}Ly*h46q@0XJimX+rtHCeOo+!h-?>(q%{$6&_%Izn-T6f{LITtR3Bzqyr8a z;mZy4U~ch?^kxCf0!=CkBuA#iryK$*+6a*0mWE+;6#ajP_1rnVF%x~7 zz;C49a>?9z;su(d<{6+d9*SOS953ToIOLct3GjuYbq2LrX8YpJ(l|F$ry`cE*j^|~ zHPp4OyDv4L6J#0HxChsjskXa;`%uU+UQXuG0gjbs8s(mwsX1l3X!UOy!^NsV@)-bZ z#==ueTQ}7hZScJf?CF_i0)7}-FAnLGXunPCQj1~0oOB8ffwZCP_e2s0KaM@-ns#5} zq3TGMXl47kP``Gz99`md_@%vy@l^91Or1djhx;7}*3J#LUjA*i-!p)jOsyMYdO>3d z>6b1C{`E4ksx5;dWOO$LhGMR4rUWujYWU9SC(!PYt|lGIq3w>tjl($P)oaUY{Xe? z7`d(bYy(Nob>tfHwW{RN>jd`L2Spf>ve!&B{8@Ve_u^PwFCGS9w>`cIf#jvzHyWN1pk+Im{P+EZ|!C(mvy6s`e{0#B- z_jvK}0)P1YJIwJ7zMF3m=fruN)OgB)_UbQt7W+k!l`GF)3wD@50YEFXA+b=^A+kCl ztsVc+-X%HWZBJ_~v<84yn=6>ur=N4nFMrzQppkxx%WPEJaebN zs^fq3`99V!*Vmq&yZrqL0QhwL^kL8ZfBC&PyUXvS)Yjk0yhFbL0Hb~?zh44><5Jph zT-5%DfC1zG@JWaN2@r56^j8c3T2KHInGW+u`0)*1*kAC)+c$Xs_!8f~_#NKkcX;{! z6<)j_SgsO0O_noQI#JmM00v6*kCwhm-Je9bl}0ci2?)d-m}?-yVUtS#kw!g$_l`Ba zH~V=S9v>a&q9YTE{+BXsOc{Xz_@Wb)MnK>M=(HzagURnM2S$1DIT(4XzU-WS$c}W@ z0uG~gfEz@;l+zJFWV9g&$F3OH`D; z=p7qu3sM~h4@HY$SThi*_R#Z`{y_y@E9d_zSjea!07Zigj3$K)VjCRjCE(OfTs7#G zH(18JoUd@Ogpz~#w%`|5&1i?g4o4^%e8~7(3B-*R3W}BrwQClA&@WVb8NdLUA*HoY zcte%ZE6~Am&t2gx`fNFz=(^odPQR(&%kKy%Z#lNnVUS?hpuxWwa_q8a0MD%z?0-i` zi0i&aNSsR|U%3=f3pz_tLV{{2`Xacr7XE1c8GZAed*A=X?$I_{NG)VnxC8fx8Q_uG z)y+keM9y@aQ{7d$#NsPpFc_LLQMRw`-)%^EaRJk*Ybxzkls{FXq6MH(jh<~0c}d-< z$IyLR?s1aU2K6C5Qs^FB?^h)Kx-Ip6`~KS$9gj8!`0m992&bj`n($7 zt>d7!#kkBV-A*xHZp7qG`zs?H2JRc03>ag*Lc4Dr!2ndZ>z zKM1Z$R5L(Fo0Vh|Q}fDe4_Oz%&bT~KtzA}KnFP%<_n37^>&CXWhqF=vbzs;|%R*z0 z=RIVLl`H^L0nyhy#3Wn6XQ-vE#*uDA>>#Z(8V^++!41f@=duSd4lzsz8@n5JwCXDU)uSxbRW&tJa6Q{M35 zN3ZaDJ>gHU|A^P?FL?5WS2x3$KZk|T3#0~Lsu!HLC9Y{k)firv(EO>$zoXJkmr&fa z(P>x=je3R`4VAi+x0=c5zlFns+3hPG z0eUo<^gv=(6#yXD4fDKV#y~7bo(JM|Or;F0lTQD08seliW&=1+!|N{$a{?GN(x&n) zRYIA9fS`drPEz5fC2Rd^UkV3IIkFCwWO75E>>C`W4O=2Qa#(8Pu$iPZ-e~AVl@T;W zSQed5FU$F2AchP+f)4l8e?-dJFG0fGxyNeraM6c>j;=cZKY?Yb(p@aGH$*u|DdJk)mpGZ zS`CIy7f8r~Pda^vGfG&>=y#%%zWqqAwhdO7ShBH7XfG0UjDt=Mpz&47@B#HLP-2Wr zHX3t_Wsn{;*0;JeMYY(cxTu1cft5_7nc1Mwp=ehmmEDo({wP2IqS$wyCAN_qU_*{7 zqqvx|kg%>|QU0Xs9*e%71&DN6J$j2vR&}K>v^bn{nL~!--PjWyE7g~=%COvlVoxx& z$Us&3r8aKehVnEu--_lRfIlb3VOR%nD$-jO1J;B7M2Mv`Ua#+PnDdq)KX*4PoyWmN$J5Ex+1?nqQg(tSVV zv+w71F=rxjYhy$?j@FK1^}`YZRBaHw(CM}!Tf7!X91^OlGLv*5>5NWrPTzoL6V!eZ zFcb^GS0LOmlirn=4InchVOZ|42$fvrfC|yd2e=nN?O7}&(-<}B>MT`-AX6_lV=1!d zYnAbgg|1k^dCL2(5^v%cLf8it|I6dn*s6We%y!>uEgS>D3@q5zhzMZM+iX1%gqRlA zr{LPAFh_y1?r2ufNRERDs9Hp=1^lia?k}JYUE~cFeL#Him=qI}Mo(2o=aulguo|R!q$0`0M8%Bk&=PV<7$a zSotNM$8Ye2#Bu%-=sL0Yp7kD;^`7sIGWX{zrjh0J*Ef3u=2!^Jt~8NtP?w-!r3IqL zddEsG$mB&*`Fg7xTtpKA3L-q__NTqjT-W2_T>sOKmmcq>w*9V; zN89ejYuXF1KfLfB0QjCA_7$V&ZSTMMy1nBwSEt~zIMvtMsekzV1^}`*t&Z|n#9#S= zG*SuxkmG*`04U$z7e+AvoIt?v1-Gl(zq9~U-Vc{De+Gu1>>9?z&iChRF~9=j_B*^9 zzr)ChIiB!5{}XHe5*9aZg3cccQp!@CI7?>cEpzT@>mVZ_8PQ*0?ms!o3 zc?uyPY0QH!ioVgn^K<8Qo}L)STFP)o-qaw9$}a~zm@_z_T+vL4rCpqDVAD*iS>2>6 zt`doQt#;D_Apq7fJ~RcEj6QZDH(Em>_GJ~DqN}N9mM%egjDYM3!)-9n7A9lPoKEMW zAy(AyGjrE8m-E}Wmkb2ij<{d~J*J9N1=wv zwWFFnOb6G6or8~d@&MpY-3w4DLNo|d$JN2Ri5^^xpw7#$wYwJjy1@#Wr>++QhB7e* zaDb^ljLHj$m>_sqwzML-0dy*b>+@s>By-rY9iBv`4xm#O47(&DA~DTGrzK@NgWyy- zDZRlJNHW+qd8QC3^;v-$nlHF8dWODVO@N30Q**Ay*O1e(Ku`o=xigRIPGiaxa4Ct1 zt-c>n1iJ>(?snLY;I?jnZY)tlf#2yR9oa0C^TJ#zy7{u6%A4XpIX9c`QXXWDy8tqo z9y6TxvmKv(53mx5cYb2C$xi z^uWywoj;$6!-2UB5-wtdzvBBTP{dMf2d0BivjSZCR8@e?nFMU$Ha~?Qj_2dIm~kS< zZvX_w{0}bpHK0uczI&yd=}OU%ohkblS)UU405l7OziY3>{y$YxfM%-6skYvqYhoFc z#sZ*H3Yuy20uXR_%L+W8zFV(r-FO2_xc;4&m-X5e2)JJU5g>Ti_x>jw|E|Y*=k zGQ{NnOA7zC3@d>1+-)Auzo%(iq3FO?H`J? zyPU{~#LQGgi&jom3K-DyXv1}rD2_%|MD8fgC9<3{lxn{UIou9{4uxEMR?aD%cXx{3 zd0tDu8E%OdT3RcWf?$fSDgvjJhRV&%u+HhNh<_<6Lry2abGcn;_d)Ig^SEt`OqEwq z#*wktis``G<9xnpa;V`6BIwGlvyU7`XB8Ie|M0wSHT5bjH5x~01A#skQ zeAZwe2A_1qQv!i0#(*VolOq`h%*p{*1hWOK>OPDB7y%DD?sHw*_GT>e22ytQ)popw zoV&HQ6IS`>mbvrzfxceqKIxP5&0>xg!!&@_fhcgLSPdZsbxVOGayXDO+CfL$Op&(C zDv;29%E#0AI@C5w-Qa@4w#X2p0GoE&Ai%c83Ct)0?N3UFnHnpRP(c&;VYq1(EubU2 zad0t4HGlNM?3E7}4UnzfP&The;#i41nA2Z5^&SM`YAn`;nI|q0M+Y4;wOQoOgRU~8 zR-k}{_Ik&=Y<+e=T?Bxl%WT?Ur=`Fk2iMBejN`eY!Qgz!kg%Z{#!XnyrJc&zs&(>I z{|um=xNtgNl^SAN!$OnY2jDl5@p3Wp4UmW=0oqz?gbQ+N001BWNkl|^ zpCuNDn%^Cj#CFWpUl_){rU20d88XGT5pA6L)arX|ka-x#D63zH`kvW90hvXqNH8Z% z=}MFhQrbP&{QOEs;gDe8&17Exp}vLoHrHN8Mul-LD&bG<2_D73F_pd5>n=b7szzX3 zGk^ljlzJ!jkEtI+8%;&EQ_olV_ys_~9Y-WA0}GByAvfhd+(m%hdS4vlGTUmc63SWo zbXBt$GKWk70}9ImnbzrM&>D{rRyedrO1Stotn^a(oNK^l;5-ts3~?I9Z7Da!nbPrU zao3y!hfl;o;DS^*Luh5?9#tvVDd*aW95bdHwY{(^%%hqdw3cCL3tfnyNd_^akRQ8%(JEt)>)U`zwU{&@TGj*)Da z|H}xfpE8`=`B!PbVgQUT_ZMOVNbSEE02j6Y1^`6)cYy%gG9_>A>ih!&rvdZ}v{eKQ% z4J;fu&jay%Bkdo+nvQuY|9=^50&zNG8tdRrIj3D#iEVo>Ahdbbx^I=!pOCsfJD{0? zSK~gFi#zBnjo1!jCREQpJL-@sA=pk$(wU7i@Gh$zDXAJF#A9f92fybRkthN5a(1hS zR3ZrAt7vFFckH^-N1ewNMb^CxqoK02$!4fz z6rfyI!_>W0szDmnwW+JOcS_T<(8vOv8t^{DI6UBnn~_1_)qYn8J>(2xYca@9R0<8R zRn+&Q>{m_kqK{WCVF$$N-_yCA;A@@vqVcsMr8ca;+ZZfkxvhNtJ~$YeV_m!6w{N{Cqjm>49+mLl6?9Gfk@LwJ2$EOfW{j%W~x6DjHp??UXd!OZ3kal zaz^Tzx~hX=*ZHoty3DiEOaQi{b_LgJkn|j`_6!+zH~w8|KE1S+6Id!}**F)LfI^71 zkSbA-UY&m#o9gSRflz&4_fuo<(c0DeLhp#b`v7k0n;HDbQ?MWMTZ7xh-;PD614x1j~v z+*C#|8dNaN(@||Z_L^PY7SNba!%YvI=m%jxy2KwfJ}Ygih&cu{FzONT8Pq7EKLAAV#|;$l!d z=KNQr-~5{UPx{kV`M>-=;x77Mf`6l_{-yda7C=Y*EBe3xhI0OuA&twH&Peijjn9Al z2Yg_E!Y@91Muy?<$4_vsU*h=UXFv=s)FvZEmQ9kLowDA@02r8+?++*B5Q_MxBXA(+ zff)zR7<4AXS>8_y|K~Y6Cvq*|oQ5+P^_MNtd3iCpp)KXdwm~8%WKD_j$#6`_sfmOi zDxatD;c@^s!!f~}cLR+kS#MQmy+r^Aqu;qCVAGa>_4nOWT|gdvt|YxLq5MZ$^`#u| zsqe_n8Wl;Ydr2UXSdm>rd=!E%sxKqQjJ_;DVn`RgGPO}GS-6VWZ+bAJ?sjIEltKwc z2@PmXp#Y`@(h|pT3<(WJ#KWdbx1UBjcU#wWBf0le7*UGcrROkZtSibluyq?|)p^qxYYK0rfT(@gWwxosbt5mV6(K{e?0k}J-#E0+GwMeT06*9_^H~n_0JEYNYrQ`OL7H$X zgh$XYPi&S%9qp=wW|7P30q1uZBm5EDc_OeWxUJ{EHDHulb5cgT=~*pV(y`{>X`EMw z)|_U8Sl<$bQnk*8TLW7F=iyYJ)f!2sXh)^%^QF9B4&FGSR38XH;Aam*E443J=Z{l= zAbTI^;Wlc`+kjYC;?o2xC$|B_lMZbGbtcEMD=<7&18j$9*#@2f+~s{Ya8&1lRPl8$ z$-$+(@;wf!nn4a=R0PzGX&QyJN$&#&G6#*ND&Z{I7qe2>xUm$NI)uW6XyI7gwQ*2D zHDU`Al4()%fays!|B(flR31JZxdoQ98=1P6N&?T2CIx_0KE5d6HB3Sbo@!qg4L?L* zcLPQgaLjgbG5u;Bl*+v8G|LQW4iB}FnU?(v;-K}?Z`Rdi_$8^3(v_;Srba( zfKt{>V_whT3uZ=}O!IaSO}lFk(*(&Fz!$&3haU|bH^*OJ{|)Qu*ZAnCf4~R%GyLt# zPZ9H#)`SOdy7~EgQL7nKLYC~LJ&$S~>NNzlS9Oc`Jgiixy6W|N2Sv>w9qg+aKle2JD6R9$&ls{T=}LHy`%KFK_wW zOSakNwO(xA^7o^IfB#zEpWn8_Ur2ymgh?3r;s(IIIMEsarSM;o{?7H!hkXAH0JzT< z{c8Z=lK*d(XwkoN{e2EXoZ}I>9?K8~Vm-zgn11o+G|MF)zUjGQ0 zgNnf^$1-IEWU2cDE$o*A3rquWy@o|){}l(-{c|Aaz?uVrff){*19>{;G)zVOEx1|D zX;?}oHdHPlk8=`DM_v}+;Afs?%wQ@aZrYq>oRwJ9j6|-019%#SWr^3IK;DRGO(YXF20XGIgL0)C7S5<1-HzRbP3S2IF@vaRX~o575}K;Z(0z zUT3b57@DjiITh3y;Fy{ML~b|7A%i7`V;r_imx(f3wW0AuV>86$Uik`6lCdsMBd|BL#0ENW0Uq`e){ZvYWk>Wf*cYU>6MQff zdxlJrn;f`lz*Lm!mi2w>IU1NEy)6@_uzrQ4?3!VYT%@l*N1#Wo7x-NRCsZyo{b4!gO^ zE&?nIW-Ql7CbX#7bz^E*i%MMp1=JFX)?OTVHKmCa#0Vu*P?lK{8=6vX;93!jB^Bpj zX;xqNS^&L3325uNs_~i{lhy4_;&6@2x}S>t-xSU6i)f9O<5qjbahZpywYADkq8JS| zE;J|0ku7?!>t+ihOanqG0tNyW#V!N*y-*{Su%T%^RS>%yAV4s%!0uw}M2g`vte+_j zq>~KpYpM0CqT!XsQTi(s{3Q5w-7}%S^PwsOOKk?@a{*n}a%o>}8z%*R)XB=6h%L^^ zOJr?h?YuWCl9j&UU9xipuW@7`r`8*>TS6KK1|Xlb2FyyGGy)c>$^ye-s$S4-qV|kh zH%Ij)Cqt*@8DJ}v0zo!G_jmF=u2b4$3vfvQ8L%fYBd6ARt<4VVH<(dCID|}%Sz12= z=z^eo5j-5gQ*tjb81hEjG8O@YS1SMUTB_{E2R!Ww_XpI(1~c_z-WaO8i&@&j}^Kx4=W zxs$BQfzA@r(WD6^?M1uT&7i$ptgEcoEt^?`B__qE z%v{rn?BWT&34p90KM@(1F#LRgdhN_95CWZ`$cZBL2)(cs+xz!v(m ziu{-2e>wkE^6!BGK-&KW0JyLKvK)Rbn%9*sbHIF+G&BV{RM4xBj9Pfi9mjCvZMzJGSLC=ani7(0F4Li1ICm+j!n7S^>+D6{XyE_ z5Z(N8jjKhdfo<}l36|_*kwH@d@ zL+MfF@WOV^bcAVL*B6_Pz`tGXnPSTnt0tr&aBa&}`&X(-uLpJi)i1&I&0N(r&WbM6 znU2f7w06a?){dwytS*iuI0R#rkfC;Ma6-#31!M&jsVYmJtT4lrqU?2vDK^x5L255a zh}O=v&y_Y&jJgs7B{P8Ir-%hERAk9n28^l=8+ zNCy;15P%B+h4Kvmhx#CDj;Y;;*le+^*Zwpyy^PnZ085+#P7duU0zoYK5VI!v0DJ+r zaEd|>Ls(!b=Pl!axnsd8)?6tQo)|$VIUJbN;Meki7O+$*Kt=}|TF4KHmuG|PMZ*6XQPMlWcDl#5ldNWA*2w5ogGw0K zY#DA0raiet8uvP*4YChC-DN%R&(>a3fRgcH?rg1>_5r;7cV7Os>udeoFC5ly|Bn*} z1YT~k@8j_v0Qg^iyks{%{@pf(?JqRj_R0hh{eM_A-M{ku&3E*F$nm$wT>nd{Ker{K zeZ}*NdL5TVw-(O;CBYNJ|Bl=EJ#O{~AOm0GCz$7d;P(6pj!ASmWI33OK%RL>^ zP^K(G06>uDzt+H72Ozm5 zwLIIr3~@&1%1PJf+YYgIwn~_XP6HiktR&^SP;%#YZboW;(`S7P`njAkD}VyHINyvC zF)yA2G=LUny6%k~QOv8;tmumpj+bXw3MgyKEIW6#XNfxjF*yJshy7L&iNh|=G5?Q> zI4go{+R*V#)<8I;s)sh>nY_n}?3K~pj+bsHfSq&hb~Y(E>dD) z)#rw?Pjub(SN+?4`Yo-Cm)8F43*~flKVv)P26R<~@*Dj6z47MxzUoE-xRfSCqhO|}ab4Fm z4nr3m`adogYXZeWtL(#exlV7lxW!EK<8Z@x z&2o-&81fc~L#z{Xco0E~u?S}0fT|yw(-=hPamRSJV$8X z6`N8ZRaISThrZ@j?mMdEZe4oe@Atv-H&^DXba?e#j|0|5Vq;4+I<2QK1pMXqE{0PtUzYyya9POmh`)TaA!z7G;Gv}~8jR6bC$^)?uMf?xsIuPNA z^T1pO&M?e5kmo>rIk2Yprg}ab&QoRb7HE*3J2%!8QJa~Vr}CL^%4?gts1N08hgWc2QXdqdhY0Z)Wh}1aB(xR?)yAKt?+}oet}$ zRJGsD4RIL!Nqu`#tv+q%TNVYhqMM#HqDlkV$94qDf#^tDIa`N}{gdm#kUm0y01BO? zr17uom%|f-?K)8E?My9!q4Pt@P~c;oijbMz%MBRhqj&i_S)ojXMh4k00n(liJ@b?X z#F1!4>qZbXB#TH;?1UOQF7|?J{K&sS8s|)0DV(5lUt(@8gr&LGPHG*GS_<`$m!pOq z#&&kU)e&F)k#BXb^}_r1j_W`g=w3+Q0|zT^FhBcJWnvkfN3j+{Xv8q6 zN&sDzbZXgD?tY1W)*1lKAu<*CJb4%}lNB$5@7XKu@Jo9L&(7;E$Oxh1Qz=7@Jp}jn zp=++>HHL3-JriSK1(?cUJZI>8J_znjGio#>f#6}hhtmytIF1bI;0TN_MwmW7lQ4!Q zfeKTqz-%BSm5OIr!#njNLpIJJ<6s5>eKR`V++w+MbtzTtN$ya}390!vNW*71x8+)2 zGkaY#J$nH%2HJB=&T{CP1|+uYiv9z@YuSfmkA0g2oFd5(84lnkJ)BcjnFJC`Zi$qB z&^{OkFmAwlZHSo|hry@Ao(yqJc)-Wsaom1`8~zMn;lxkyJpT)8{REZ{ zTSAM|>EP+%JQ+s_g{?9jfq}>a83$6F>73F6SO@03VTB`~59CSkV6K7Z=K)M-oq8BW z{+^u?#n5KHWZXzq&15t!S)0u=RO!70+QDQbno*5}3^^Hd0Z^zcNTD1FtQk19<@r*s ze1Q%~mbX)=D}&-~o)$uP)>F;zD`9R^C}e-{vUP;cdsi(-OK`YcE-i-}c_VON;0V3cTZfvL<8Q zcYSuqalPP|y(Y^MG;rBYMg2WBr(I<`gL~1susv#*>cLF@H|LOFZnQvMQKB;h+zJGM zN$9j*)Ab>mb`g_??r%ZPe$%124=lZO1Fs?6Kp-7pinw~A4KS`#&NZVdJRCQ@e{$ZA z8zYcs?6um2MrS$0y2*s?lnS7u%P{US^DvB=WCEB3Fw-{EDXXs}h6n=0hoZL`z?#Wi z_D-)*N`@k(4(@LOO@1{*-A6lS?u-miou&T>&q&wDH4WZ6=Nz zfuH#$a17ZZD(QNp0u#X?25yG)RRFg@o{l31JPi|k_Vm(-f&>AT3Xl|44O^nnbB<9s z!vK&4$thbb3WMiQ@RSC-{TdUWpEJ-cDs(bqLL zH7^zGf9>&7dq2MSjy?Q60Pq7pzSV@etPQnT-5E%i-|wUULiI&EYp356W3bGh zjZ|*`V~M}Z?|w-ED5Za2FtE%YD(}C-75#gn`J27qI&Az6x8t|C*&hK*Jm)7k=YL?W zpQ3ndTu%)Z>31{M%!M5MlqZ!35{`uftqV|U|MP~J%=14N|Hm@KIWU)FE$?=kuT9i{ zM%Lq$Fx0j?QQmaONh@)-b)qSgjV0f&-3mUkoEG~MO^c$<8QZZV*z{r

*Ef!4uCj;3rEY4Moh0df4J?Mxmh)1s*p; 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

C6;G4n;Czyx^&#*dAGTox=48!a( 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

FF3V`HsCto}5q2f7cgLvd197G#uM5Y9woxU|aU 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%0AMeXKGJ4usrhxMi2FT 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