diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm index 0c841a4ad3..65d38a131d 100644 --- a/code/ATMOSPHERICS/components/tvalve.dm +++ b/code/ATMOSPHERICS/components/tvalve.dm @@ -180,7 +180,6 @@ /obj/machinery/atmospherics/tvalve/process() ..() . = PROCESS_KILL - //machines.Remove(src) return diff --git a/code/ATMOSPHERICS/datum_pipe_network.dm b/code/ATMOSPHERICS/datum_pipe_network.dm index 8441461342..74134e6ff2 100644 --- a/code/ATMOSPHERICS/datum_pipe_network.dm +++ b/code/ATMOSPHERICS/datum_pipe_network.dm @@ -1,6 +1,6 @@ -var/global/list/datum/pipe_network/pipe_networks = list() +var/global/list/datum/pipe_network/pipe_networks = list() // TODO - Move into SSmachines -datum/pipe_network +/datum/pipe_network var/list/datum/gas_mixture/gases = list() //All of the gas_mixtures continuously connected in this network var/volume = 0 //caches the total volume for atmos machines to use in gas calculations @@ -11,13 +11,8 @@ datum/pipe_network var/update = 1 //var/datum/gas_mixture/air_transient = null - New() - //air_transient = new() - - ..() - Destroy() - pipe_networks -= src + STOP_PROCESSING_PIPENET(src) for(var/datum/pipeline/line_member in line_members) line_member.network = null for(var/obj/machinery/atmospherics/normal_member in normal_members) @@ -41,13 +36,14 @@ datum/pipe_network if(!start_normal) qdel(src) + return start_normal.network_expand(src, reference) update_network_gases() if((normal_members.len>0)||(line_members.len>0)) - pipe_networks += src + START_PROCESSING_PIPENET(src) else qdel(src) diff --git a/code/ZAS/Controller.dm b/code/ZAS/Controller.dm index 791e17de20..9688fabf72 100644 --- a/code/ZAS/Controller.dm +++ b/code/ZAS/Controller.dm @@ -128,6 +128,16 @@ Total Active Edges: [active_edges.len ? "[active_edges.len] Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count] "}, R_DEBUG) + // Uncomment this if you're having problems finding where active edges are. + /* + for(var/connection_edge/E in active_edges) + world << "Edge became active: [E]." + var/i = 1 + for(var/turf/T in E.connecting_turfs) + world << "[i] [T]:[T.x],[T.y],[T.z]" + i++ + */ + // spawn Start() diff --git a/code/__defines/MC.dm b/code/__defines/MC.dm index fb15a693bf..5620f51b3b 100644 --- a/code/__defines/MC.dm +++ b/code/__defines/MC.dm @@ -1,15 +1,28 @@ -#define MC_TICK_CHECK ( ( world.tick_usage > Master.current_ticklimit || src.state != SS_RUNNING ) ? pause() : 0 ) +#define MC_TICK_CHECK ( ( TICK_USAGE > Master.current_ticklimit || src.state != SS_RUNNING ) ? pause() : 0 ) // Used for splitting up your remaining time into phases, if you want to evenly divide it. #define MC_SPLIT_TICK_INIT(phase_count) var/original_tick_limit = Master.current_ticklimit; var/split_tick_phases = ##phase_count #define MC_SPLIT_TICK \ if(split_tick_phases > 1){\ - Master.current_ticklimit = ((original_tick_limit - world.tick_usage) / split_tick_phases) + world.tick_usage;\ + Master.current_ticklimit = ((original_tick_limit - TICK_USAGE) / split_tick_phases) + TICK_USAGE;\ --split_tick_phases;\ } else {\ Master.current_ticklimit = original_tick_limit;\ } +// Boilerplate code for multi-step processors. See machines.dm for example use. +#define INTERNAL_PROCESS_STEP(this_step, initial_step, proc_to_call, cost_var, next_step)\ +if(current_step == this_step || (initial_step && !resumed)) /* So we start at step 1 if not resumed.*/ {\ + timer = TICK_USAGE;\ + proc_to_call(resumed);\ + cost_var = MC_AVERAGE(cost_var, TICK_DELTA_TO_MS(TICK_USAGE - timer));\ + if(state != SS_RUNNING){\ + return;\ + }\ + resumed = 0;\ + current_step = next_step;\ +} + // Used to smooth out costs to try and avoid oscillation. #define MC_AVERAGE_FAST(average, current) (0.7 * (average) + 0.3 * (current)) #define MC_AVERAGE(average, current) (0.8 * (average) + 0.2 * (current)) diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm index ac5f7120fd..e71ced7e29 100644 --- a/code/__defines/_compile_options.dm +++ b/code/__defines/_compile_options.dm @@ -1,2 +1,8 @@ #define BACKGROUND_ENABLED 0 // The default value for all uses of set background. Set background can cause gradual lag and is recommended you only turn this on if necessary. - // 1 will enable set background. 0 will disable set background. \ No newline at end of file + // 1 will enable set background. 0 will disable set background. + +#define PRELOAD_RSC 1 /*set to: + 0 to allow using external resources or on-demand behaviour; + 1 to use the default behaviour (preload compiled in recourses, not player uploaded ones); + 2 for preloading absolutely everything; + */ \ No newline at end of file diff --git a/code/__defines/tick.dm b/code/__defines/_tick.dm similarity index 51% rename from code/__defines/tick.dm rename to code/__defines/_tick.dm index 4c88fd643e..2c761b86f9 100644 --- a/code/__defines/tick.dm +++ b/code/__defines/_tick.dm @@ -1,7 +1,9 @@ #define TICK_LIMIT_RUNNING 80 -#define TICK_LIMIT_TO_RUN 78 +#define TICK_LIMIT_TO_RUN 70 #define TICK_LIMIT_MC 70 #define TICK_LIMIT_MC_INIT_DEFAULT 98 -#define TICK_CHECK ( world.tick_usage > Master.current_ticklimit ) +#define TICK_CHECK ( TICK_USAGE > Master.current_ticklimit ) #define CHECK_TICK if TICK_CHECK stoplag() + +#define TICK_USAGE world.tick_usage diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm index deaaec0fad..b577225e01 100644 --- a/code/__defines/machinery.dm +++ b/code/__defines/machinery.dm @@ -105,3 +105,37 @@ var/list/restricted_camera_networks = list(NETWORK_ERT,NETWORK_MERCENARY,"Secret #define ATMOS_DEFAULT_VOLUME_FILTER 200 // L. #define ATMOS_DEFAULT_VOLUME_MIXER 200 // L. #define ATMOS_DEFAULT_VOLUME_PIPE 70 // L. + +// Fancy-pants START/STOP_PROCESSING() macros that lets us custom define what the list is. +#define START_PROCESSING_IN_LIST(DATUM, LIST) \ +if (DATUM.is_processing) {\ + if(DATUM.is_processing != #LIST)\ + {\ + crash_with("Failed to start processing. [log_info_line(DATUM)] is already being processed by [DATUM.is_processing] but queue attempt occured on [#LIST]."); \ + }\ +} else {\ + DATUM.is_processing = #LIST;\ + LIST += DATUM;\ +} + +#define STOP_PROCESSING_IN_LIST(DATUM, LIST) \ +if(DATUM.is_processing) {\ + if(LIST.Remove(DATUM)) {\ + DATUM.is_processing = null;\ + } else {\ + crash_with("Failed to stop processing. [log_info_line(DATUM)] is being processed by [is_processing] and not found in SSmachines.[#LIST]"); \ + }\ +} + +// Note - I would prefer these be defined machines.dm, but some are used prior in file order. ~Leshana +#define START_MACHINE_PROCESSING(Datum) START_PROCESSING_IN_LIST(Datum, global.machines) +#define STOP_MACHINE_PROCESSING(Datum) STOP_PROCESSING_IN_LIST(Datum, global.machines) + +#define START_PROCESSING_PIPENET(Datum) START_PROCESSING_IN_LIST(Datum, global.pipe_networks) +#define STOP_PROCESSING_PIPENET(Datum) STOP_PROCESSING_IN_LIST(Datum, global.pipe_networks) + +#define START_PROCESSING_POWERNET(Datum) START_PROCESSING_IN_LIST(Datum, global.powernets) +#define STOP_PROCESSING_POWERNET(Datum) STOP_PROCESSING_IN_LIST(Datum, global.powernets) + +#define START_PROCESSING_POWER_OBJECT(Datum) START_PROCESSING_IN_LIST(Datum, global.processing_power_items) +#define STOP_PROCESSING_POWER_OBJECT(Datum) STOP_PROCESSING_IN_LIST(Datum, global.processing_power_items) diff --git a/code/__defines/math.dm b/code/__defines/math.dm index 0729a4526d..79dc1b4d24 100644 --- a/code/__defines/math.dm +++ b/code/__defines/math.dm @@ -2,9 +2,13 @@ //percent_of_tick_used * (ticklag * 100(to convert to ms)) / 100(percent ratio) //collapsed to percent_of_tick_used * tick_lag #define TICK_DELTA_TO_MS(percent_of_tick_used) ((percent_of_tick_used) * world.tick_lag) -#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(world.tick_usage-starting_tickusage)) +#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(TICK_USAGE-starting_tickusage)) //time of day but automatically adjusts to the server going into the next day within the same round. //for when you need a reliable time number that doesn't depend on byond time. #define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK)) #define MIDNIGHT_ROLLOVER_CHECK ( rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : midnight_rollovers ) + +#define CEILING(x, y) ( -round(-(x) / (y)) * (y) ) +// round() acts like floor(x, 1) by default but can't handle other values +#define FLOOR(x, y) ( round((x) / (y)) * (y) ) diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index d8fdac657f..a5d262e6a3 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -227,4 +227,21 @@ #define MAP_MINZ 3 #define MAP_MAXX 4 #define MAP_MAXY 5 -#define MAP_MAXZ 6 \ No newline at end of file +#define MAP_MAXZ 6 +// /atom/proc/use_check flags +#define USE_ALLOW_NONLIVING 1 +#define USE_ALLOW_NON_ADV_TOOL_USR 2 +#define USE_ALLOW_DEAD 4 +#define USE_ALLOW_INCAPACITATED 8 +#define USE_ALLOW_NON_ADJACENT 16 +#define USE_FORCE_SRC_IN_USER 32 +#define USE_DISALLOW_SILICONS 64 + +#define USE_SUCCESS 0 +#define USE_FAIL_NON_ADJACENT 1 +#define USE_FAIL_NONLIVING 2 +#define USE_FAIL_NON_ADV_TOOL_USR 3 +#define USE_FAIL_DEAD 4 +#define USE_FAIL_INCAPACITATED 5 +#define USE_FAIL_NOT_IN_USER 6 +#define USE_FAIL_IS_SILICON 7 \ No newline at end of file diff --git a/code/__defines/process_scheduler.dm b/code/__defines/process_scheduler.dm index f1e30c23ed..4bc841022f 100644 --- a/code/__defines/process_scheduler.dm +++ b/code/__defines/process_scheduler.dm @@ -15,4 +15,4 @@ #define PROCESS_DEFAULT_DEFER_USAGE 90 // 90% of a tick // Sleep check macro -#define SCHECK if(world.tick_usage >= next_sleep_usage) defer() +#define SCHECK if(TICK_USAGE >= next_sleep_usage) defer() diff --git a/code/__defines/qdel.dm b/code/__defines/qdel.dm index 168a6adf0c..f50c012ce3 100644 --- a/code/__defines/qdel.dm +++ b/code/__defines/qdel.dm @@ -9,9 +9,14 @@ //if TESTING is enabled, qdel will call this object's find_references() verb. //defines for the gc_destroyed var +#define GC_QUEUE_PREQUEUE 1 +#define GC_QUEUE_CHECK 2 +#define GC_QUEUE_HARDDELETE 3 +#define GC_QUEUE_COUNT 3 //increase this when adding more steps. + #define GC_QUEUED_FOR_QUEUING -1 #define GC_QUEUED_FOR_HARD_DEL -2 #define GC_CURRENTLY_BEING_QDELETED -3 #define QDELETED(X) (!X || X.gc_destroyed) -#define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) +#define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) \ No newline at end of file diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm index 75780be3eb..be04fa1d7f 100644 --- a/code/__defines/subsystems.dm +++ b/code/__defines/subsystems.dm @@ -12,4 +12,8 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_GAME, RUNLEVEL_POSTGAME) #define RUNLEVEL_FLAG_TO_INDEX(flag) (log(2, flag) + 1) // Convert from the runlevel bitfield constants to index in runlevel_flags list +// Subsystem init_order, from highest priority to lowest priority +// Subsystems shutdown in the reverse of the order they initialize in +// The numbers just define the ordering, they are meaningless otherwise. +#define INIT_ORDER_MACHINES 10 #define INIT_ORDER_LIGHTING 0 diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index eb1ef73eb7..1dffebf607 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -182,7 +182,7 @@ Proc for attack log creation, because really why not var/starttime = world.time . = 1 while (world.time < endtime) - sleep(1) + stoplag(1) if (progress) progbar.update(world.time - starttime) if(!user || !target) @@ -229,7 +229,7 @@ Proc for attack log creation, because really why not var/starttime = world.time . = 1 while (world.time < endtime) - sleep(1) + stoplag(1) if (progress) progbar.update(world.time - starttime) diff --git a/code/_helpers/sorts/comparators.dm b/code/_helpers/sorts/comparators.dm index 8c1f954a00..58f9251392 100644 --- a/code/_helpers/sorts/comparators.dm +++ b/code/_helpers/sorts/comparators.dm @@ -13,8 +13,18 @@ // Sorts subsystems by init_order /proc/cmp_subsystem_init(datum/controller/subsystem/a, datum/controller/subsystem/b) - return b.init_order - a.init_order + return initial(b.init_order) - initial(a.init_order) //uses initial() so it can be used on types // Sorts subsystems by priority /proc/cmp_subsystem_priority(datum/controller/subsystem/a, datum/controller/subsystem/b) return a.priority - b.priority + +// Sorts qdel statistics recorsd by time and count +/proc/cmp_qdel_item_time(datum/qdel_item/A, datum/qdel_item/B) + . = B.hard_delete_time - A.hard_delete_time + if (!.) + . = B.destroy_time - A.destroy_time + if (!.) + . = B.failures - A.failures + if (!.) + . = B.qdels - A.qdels diff --git a/code/_helpers/time.dm b/code/_helpers/time.dm index 3a6bcedcd1..6dad42e128 100644 --- a/code/_helpers/time.dm +++ b/code/_helpers/time.dm @@ -11,7 +11,13 @@ #define DAYS *864000 #define TimeOfGame (get_game_time()) -#define TimeOfTick (world.tick_usage*0.01*world.tick_lag) +#define TimeOfTick (TICK_USAGE*0.01*world.tick_lag) + +#define TICK *world.tick_lag +#define TICKS *world.tick_lag + +#define DS2TICKS(DS) (DS/world.tick_lag) // Convert deciseconds to ticks +#define TICKS2DS(T) (T TICKS) // Convert ticks to deciseconds /proc/get_game_time() var/global/time_offset = 0 @@ -19,7 +25,7 @@ var/global/last_usage = 0 var/wtime = world.time - var/wusage = world.tick_usage * 0.01 + var/wusage = TICK_USAGE * 0.01 if(last_time < wtime && last_usage > 1) time_offset += last_usage - 1 @@ -111,13 +117,21 @@ var/round_start_time = 0 //Increases delay as the server gets more overloaded, //as sleeps aren't cheap and sleeping only to wake up and sleep again is wasteful -#define DELTA_CALC max(((max(world.tick_usage, world.cpu) / 100) * max(Master.sleep_delta,1)), 1) +#define DELTA_CALC max(((max(TICK_USAGE, world.cpu) / 100) * max(Master.sleep_delta-1,1)), 1) -/proc/stoplag() +//returns the number of ticks slept +/proc/stoplag(initial_delay) + if (!Master || !(Master.current_runlevel & RUNLEVELS_DEFAULT)) + sleep(world.tick_lag) + return 1 + if (!initial_delay) + initial_delay = world.tick_lag . = 0 - var/i = 1 + var/i = DS2TICKS(initial_delay) do - . += round(i*DELTA_CALC) + . += CEILING(i*DELTA_CALC, 1) sleep(i*world.tick_lag*DELTA_CALC) i *= 2 - while (world.tick_usage > min(TICK_LIMIT_TO_RUN, Master.current_ticklimit)) + while (TICK_USAGE > min(TICK_LIMIT_TO_RUN, Master.current_ticklimit)) + +#undef DELTA_CALC \ No newline at end of file diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index c3b7196d7b..4d2242d8c3 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -1361,3 +1361,48 @@ var/mob/dview/dview_mob = new . += T.contents if(areas) . |= T.loc + +#define NOT_FLAG(flag) (!(flag & use_flags)) +#define HAS_FLAG(flag) (flag & use_flags) + +// Checks if user can use this object. Set use_flags to customize what checks are done. +// Returns 0 if they can use it, a value representing why they can't if not. +// Flags are in `code/__defines/misc.dm` +/atom/proc/use_check(mob/user, use_flags = 0, show_messages = FALSE) + . = 0 + if (NOT_FLAG(USE_ALLOW_NONLIVING) && !isliving(user)) + // No message for ghosts. + return USE_FAIL_NONLIVING + + if (NOT_FLAG(USE_ALLOW_NON_ADJACENT) && !Adjacent(user)) + if (show_messages) + to_chat(user, span("notice","You're too far away from [src] to do that.")) + return USE_FAIL_NON_ADJACENT + + if (NOT_FLAG(USE_ALLOW_DEAD) && user.stat == DEAD) + if (show_messages) + to_chat(user, span("notice","You can't do that when you're dead.")) + return USE_FAIL_DEAD + + if (NOT_FLAG(USE_ALLOW_INCAPACITATED) && (user.incapacitated())) + if (show_messages) + to_chat(user, span("notice","You cannot do that in your current state.")) + return USE_FAIL_INCAPACITATED + + if (NOT_FLAG(USE_ALLOW_NON_ADV_TOOL_USR) && !user.IsAdvancedToolUser()) + if (show_messages) + to_chat(user, span("notice","You don't know how to operate [src].")) + return USE_FAIL_NON_ADV_TOOL_USR + + if (HAS_FLAG(USE_DISALLOW_SILICONS) && issilicon(user)) + if (show_messages) + to_chat(user, span("notice","You need hands for that.")) + return USE_FAIL_IS_SILICON + + if (HAS_FLAG(USE_FORCE_SRC_IN_USER) && !(src in user)) + if (show_messages) + to_chat(user, span("notice","You need to be holding [src] to do that.")) + return USE_FAIL_NOT_IN_USER + +#undef NOT_FLAG +#undef HAS_FLAG \ No newline at end of file diff --git a/code/_macros.dm b/code/_macros.dm index 38b9d15c71..04dfa4eb1f 100644 --- a/code/_macros.dm +++ b/code/_macros.dm @@ -2,6 +2,8 @@ #define CLAMP01(x) (Clamp(x, 0, 1)) +#define span(class, text) ("[text]") + #define get_turf(A) get_step(A,0) #define isAI(A) istype(A, /mob/living/silicon/ai) @@ -87,4 +89,4 @@ // Null-safe L.Cut() #define LAZYCLEARLIST(L) if(L) L.Cut() // Reads L or an empty list if L is not a list. Note: Does NOT assign, L may be an expression. -#define SANITIZE_LIST(L) ( islist(L) ? L : list() ) +#define SANITIZE_LIST(L) ( islist(L) ? L : list() ) \ No newline at end of file diff --git a/code/controllers/ProcessScheduler/core/process.dm b/code/controllers/ProcessScheduler/core/process.dm index 9f08241978..2965a52abe 100644 --- a/code/controllers/ProcessScheduler/core/process.dm +++ b/code/controllers/ProcessScheduler/core/process.dm @@ -124,7 +124,7 @@ cpu_defer_count = 0 // Prepare usage tracking (defer() updates these) - tick_usage_start = world.tick_usage + tick_usage_start = TICK_USAGE tick_usage_accumulated = 0 running() @@ -142,7 +142,7 @@ /datum/controller/process/proc/recordRunTime() // Convert from tick usage (100/tick) to seconds of CPU time used - var/total_usage = (tick_usage_accumulated + (world.tick_usage - tick_usage_start)) / 1000 * world.tick_lag + var/total_usage = (tick_usage_accumulated + (TICK_USAGE - tick_usage_start)) / 1000 * world.tick_lag last_run_time = total_usage if(total_usage > highest_run_time) @@ -222,14 +222,14 @@ handleHung() CRASH("Process [name] hung and was restarted.") - tick_usage_accumulated += (world.tick_usage - tick_usage_start) - if(world.tick_usage < defer_usage) + tick_usage_accumulated += (TICK_USAGE - tick_usage_start) + if(TICK_USAGE < defer_usage) sleep(0) else sleep(world.tick_lag) cpu_defer_count++ - tick_usage_start = world.tick_usage - next_sleep_usage = min(world.tick_usage + sleep_interval, defer_usage) + tick_usage_start = TICK_USAGE + next_sleep_usage = min(TICK_USAGE + sleep_interval, defer_usage) /datum/controller/process/proc/update() // Clear delta diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 4ca4bebf0a..3ecb3b7fcb 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -12,7 +12,7 @@ var/datum/controller/master/Master = new() name = "Master" // Are we processing (higher values increase the processing delay by n ticks) - var/processing = 1 + var/processing = TRUE // How many times have we ran var/iteration = 0 @@ -27,7 +27,7 @@ var/datum/controller/master/Master = new() var/init_time var/tickdrift = 0 - var/sleep_delta + var/sleep_delta = 1 var/make_runtime = 0 @@ -54,13 +54,17 @@ var/datum/controller/master/Master = new() /datum/controller/master/New() // Highlander-style: there can only be one! Kill off the old and replace it with the new. - subsystems = list() + var/list/_subsystems = list() + subsystems = _subsystems if (Master != src) if (istype(Master)) Recover() qdel(Master) else - init_subtypes(/datum/controller/subsystem, subsystems) + var/list/subsytem_types = subtypesof(/datum/controller/subsystem) + sortTim(subsytem_types, /proc/cmp_subsystem_init) + for(var/I in subsytem_types) + _subsystems += new I Master = src /datum/controller/master/Destroy() @@ -73,7 +77,9 @@ var/datum/controller/master/Master = new() sortTim(subsystems, /proc/cmp_subsystem_init) reverseRange(subsystems) for(var/datum/controller/subsystem/ss in subsystems) + log_world("Shutting down [ss.name] subsystem...") ss.Shutdown() + log_world("Shutdown complete") // Returns 1 if we created a new mc, 0 if we couldn't due to a recent restart, // -1 if we encountered a runtime trying to recreate it @@ -87,7 +93,7 @@ var/datum/controller/master/Master = new() var/delay = 50 * ++Master.restart_count Master.restart_timeout = world.time + delay Master.restart_clear = world.time + (delay * 2) - Master.processing = 0 //stop ticking this one + Master.processing = FALSE //stop ticking this one try new/datum/controller/master() catch @@ -114,7 +120,8 @@ var/datum/controller/master/Master = new() var/FireHim = FALSE if(istype(BadBoy)) msg = null - switch(++BadBoy.failure_strikes) + LAZYINITLIST(BadBoy.failure_strikes) + switch(++BadBoy.failure_strikes[BadBoy.type]) if(2) msg = "The [BadBoy.name] subsystem was the last to fire for 2 controller restarts. It will be recovered now and disabled if it happens again." FireHim = TRUE @@ -262,35 +269,45 @@ var/datum/controller/master/Master = new() iteration = 1 var/error_level = 0 - var/sleep_delta = 0 + var/sleep_delta = 1 var/list/subsystems_to_check //the actual loop. + while (1) tickdrift = max(0, MC_AVERAGE_FAST(tickdrift, (((REALTIMEOFDAY - init_timeofday) - (world.time - init_time)) / world.tick_lag))) + var/starting_tick_usage = TICK_USAGE if (processing <= 0) current_ticklimit = TICK_LIMIT_RUNNING sleep(10) continue - //if there are mutiple sleeping procs running before us hogging the cpu, we have to run later - // because sleeps are processed in the order received, so longer sleeps are more likely to run first - if (world.tick_usage > TICK_LIMIT_MC) - sleep_delta += 2 + //Anti-tick-contention heuristics: + //if there are mutiple sleeping procs running before us hogging the cpu, we have to run later. + // (because sleeps are processed in the order received, longer sleeps are more likely to run first) + if (starting_tick_usage > TICK_LIMIT_MC) //if there isn't enough time to bother doing anything this tick, sleep a bit. + sleep_delta *= 2 current_ticklimit = TICK_LIMIT_RUNNING * 0.5 - sleep(world.tick_lag * (processing + sleep_delta)) + sleep(world.tick_lag * (processing * sleep_delta)) continue - sleep_delta = MC_AVERAGE_FAST(sleep_delta, 0) - if (last_run + (world.tick_lag * processing) > world.time) - sleep_delta += 1 - if (world.tick_usage > (TICK_LIMIT_MC*0.5)) + //Byond resumed us late. assume it might have to do the same next tick + if (last_run + CEILING(world.tick_lag * (processing * sleep_delta), world.tick_lag) < world.time) sleep_delta += 1 + sleep_delta = MC_AVERAGE_FAST(sleep_delta, 1) //decay sleep_delta + + if (starting_tick_usage > (TICK_LIMIT_MC*0.75)) //we ran 3/4 of the way into the tick + sleep_delta += 1 + + //debug if (make_runtime) var/datum/controller/subsystem/SS SS.can_fire = 0 + if (!Failsafe || (Failsafe.processing_interval > 0 && (Failsafe.lasttick+(Failsafe.processing_interval*5)) < world.time)) new/datum/controller/failsafe() // (re)Start the failsafe. + + //now do the actual stuff if (!queue_head || !(iteration % 3)) var/checking_runlevel = current_runlevel if(cached_runlevel != checking_runlevel) @@ -307,6 +324,7 @@ var/datum/controller/master/Master = new() subsystems_to_check = current_runlevel_subsystems else subsystems_to_check = tickersubsystems + if (CheckQueue(subsystems_to_check) <= 0) if (!SoftReset(tickersubsystems, runlevel_sorted_subsystems)) log_world("MC: SoftReset() failed, crashing") @@ -337,8 +355,10 @@ var/datum/controller/master/Master = new() iteration++ last_run = world.time src.sleep_delta = MC_AVERAGE_FAST(src.sleep_delta, sleep_delta) - current_ticklimit = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.25) //reserve the tail 1/4 of the next tick for the mc. - sleep(world.tick_lag * (processing + sleep_delta)) + current_ticklimit = TICK_LIMIT_RUNNING + if (processing * sleep_delta <= world.tick_lag) + current_ticklimit -= (TICK_LIMIT_RUNNING * 0.25) //reserve the tail 1/4 of the next tick for the mc if we plan on running next tick + sleep(world.tick_lag * (processing * sleep_delta)) @@ -389,13 +409,13 @@ var/datum/controller/master/Master = new() //keep running while we have stuff to run and we haven't gone over a tick // this is so subsystems paused eariler can use tick time that later subsystems never used - while (ran && queue_head && world.tick_usage < TICK_LIMIT_MC) + while (ran && queue_head && TICK_USAGE < TICK_LIMIT_MC) ran = FALSE bg_calc = FALSE current_tick_budget = queue_priority_count queue_node = queue_head while (queue_node) - if (ran && world.tick_usage > TICK_LIMIT_RUNNING) + if (ran && TICK_USAGE > TICK_LIMIT_RUNNING) break queue_node_flags = queue_node.flags @@ -407,7 +427,7 @@ var/datum/controller/master/Master = new() //(unless we haven't even ran anything this tick, since its unlikely they will ever be able run // in those cases, so we just let them run) if (queue_node_flags & SS_NO_TICK_CHECK) - if (queue_node.tick_usage > TICK_LIMIT_RUNNING - world.tick_usage && ran_non_ticker) + if (queue_node.tick_usage > TICK_LIMIT_RUNNING - TICK_USAGE && ran_non_ticker) queue_node.queued_priority += queue_priority_count * 0.10 queue_priority_count -= queue_node_priority queue_priority_count += queue_node.queued_priority @@ -419,19 +439,19 @@ var/datum/controller/master/Master = new() current_tick_budget = queue_priority_count_bg bg_calc = TRUE - tick_remaining = TICK_LIMIT_RUNNING - world.tick_usage + tick_remaining = TICK_LIMIT_RUNNING - TICK_USAGE if (current_tick_budget > 0 && queue_node_priority > 0) tick_precentage = tick_remaining / (current_tick_budget / queue_node_priority) else tick_precentage = tick_remaining - current_ticklimit = world.tick_usage + tick_precentage + current_ticklimit = TICK_USAGE + tick_precentage if (!(queue_node_flags & SS_TICKER)) ran_non_ticker = TRUE ran = TRUE - tick_usage = world.tick_usage + tick_usage = TICK_USAGE queue_node_paused = (queue_node.state == SS_PAUSED || queue_node.state == SS_PAUSING) last_type_processed = queue_node @@ -441,7 +461,7 @@ var/datum/controller/master/Master = new() if (state == SS_RUNNING) state = SS_IDLE current_tick_budget -= queue_node_priority - tick_usage = world.tick_usage - tick_usage + tick_usage = TICK_USAGE - tick_usage if (tick_usage < 0) tick_usage = 0 diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index 7dff609c76..bd9a2aeafb 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -28,11 +28,10 @@ var/datum/controller/subsystem/queue_next var/datum/controller/subsystem/queue_prev - var/static/failure_strikes = 0 //How many times we suspect this subsystem has crashed the MC, 3 strikes and you're out! + var/static/list/failure_strikes //How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out! //Do not override -/datum/controller/subsystem/New() - return +///datum/controller/subsystem/New() // Used to initialize the subsystem BEFORE the map has loaded // Called AFTER Recover if that is called @@ -66,7 +65,7 @@ can_fire = 0 flags |= SS_NO_FIRE Master.subsystems -= src - + return ..() //Queue it to run. // (we loop thru a linked list until we get to the end or find the right point) diff --git a/code/controllers/subsystems/garbage.dm b/code/controllers/subsystems/garbage.dm index d6db860d5d..9deed740b6 100644 --- a/code/controllers/subsystems/garbage.dm +++ b/code/controllers/subsystems/garbage.dm @@ -4,11 +4,12 @@ SUBSYSTEM_DEF(garbage) name = "Garbage" priority = 15 - wait = 5 + wait = 2 SECONDS flags = SS_POST_FIRE_TIMING|SS_BACKGROUND|SS_NO_INIT runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY - var/collection_timeout = 3000// deciseconds to wait to let running procs finish before we just say fuck it and force del() the object + var/list/collection_timeout = list(0, 2 MINUTES, 10 SECONDS) // deciseconds to wait before moving something up in the queue to the next level + var/delslasttick = 0 // number of del()'s we've done this tick var/gcedlasttick = 0 // number of things that gc'ed last tick var/totaldels = 0 @@ -17,27 +18,32 @@ SUBSYSTEM_DEF(garbage) var/highest_del_time = 0 var/highest_del_tickusage = 0 - var/list/queue = list() // list of refID's of things that should be garbage collected - // refID's are associated with the time at which they time out and need to be manually del() - // we do this so we aren't constantly locating them and preventing them from being gc'd + var/list/pass_counts + var/list/fail_counts - var/list/tobequeued = list() //We store the references of things to be added to the queue seperately so we can spread out GC overhead over a few ticks + var/list/items = list() // Holds our qdel_item statistics datums - var/list/didntgc = list() // list of all types that have failed to GC associated with the number of times that's happened. - // the types are stored as strings - var/list/sleptDestroy = list() //Same as above but these are paths that slept during their Destroy call + // List of Queues + // Each queue is a list of refID's of things that should be garbage collected + // refID's are associated with the time at which they time out and need to be manually del() + // we do this so we aren't constantly locating them and preventing them from being gc'd + var/list/queues - var/list/noqdelhint = list()// list of all types that do not return a QDEL_HINT - // all types that did not respect qdel(A, force=TRUE) and returned one - // of the immortality qdel hints - var/list/noforcerespect = list() -#ifdef TESTING - var/list/qdel_list = list() // list of all types that have been qdel()eted -#endif +/datum/controller/subsystem/garbage/PreInit() + queues = new(GC_QUEUE_COUNT) + pass_counts = new(GC_QUEUE_COUNT) + fail_counts = new(GC_QUEUE_COUNT) + for(var/i in 1 to GC_QUEUE_COUNT) + queues[i] = list() + pass_counts[i] = 0 + fail_counts[i] = 0 /datum/controller/subsystem/garbage/stat_entry(msg) - msg += "Q:[queue.len]|D:[delslasttick]|G:[gcedlasttick]|" + var/list/counts = list() + for (var/list/L in queues) + counts += length(L) + msg += "Q:[counts.Join(",")]|D:[delslasttick]|G:[gcedlasttick]|" msg += "GR:" if (!(delslasttick+gcedlasttick)) msg += "n/a|" @@ -49,116 +55,179 @@ SUBSYSTEM_DEF(garbage) msg += "n/a|" else msg += "TGR:[round((totalgcs/(totaldels+totalgcs))*100, 0.01)]%" + msg += " P:[pass_counts.Join(",")]" + msg += "|F:[fail_counts.Join(",")]" ..(msg) /datum/controller/subsystem/garbage/Shutdown() - //Adds the del() log to world.log in a format condensable by the runtime condenser found in tools - if(didntgc.len || sleptDestroy.len) - var/list/dellog = list() - for(var/path in didntgc) - dellog += "Path : [path] \n" - dellog += "Failures : [didntgc[path]] \n" - if(path in sleptDestroy) - dellog += "Sleeps : [sleptDestroy[path]] \n" - sleptDestroy -= path - for(var/path in sleptDestroy) - dellog += "Path : [path] \n" - dellog += "Sleeps : [sleptDestroy[path]] \n" + //Adds the del() log to the qdel log file + var/list/dellog = list() + + //sort by how long it's wasted hard deleting + sortTim(items, cmp=/proc/cmp_qdel_item_time, associative = TRUE) + for(var/path in items) + var/datum/qdel_item/I = items[path] + dellog += "Path: [path]" + if (I.failures) + dellog += "\tFailures: [I.failures]" + dellog += "\tqdel() Count: [I.qdels]" + dellog += "\tDestroy() Cost: [I.destroy_time]ms" + if (I.hard_deletes) + dellog += "\tTotal Hard Deletes [I.hard_deletes]" + dellog += "\tTime Spent Hard Deleting: [I.hard_delete_time]ms" + if (I.slept_destroy) + dellog += "\tSleeps: [I.slept_destroy]" + if (I.no_respect_force) + dellog += "\tIgnored force: [I.no_respect_force] times" + if (I.no_hint) + dellog += "\tNo hint: [I.no_hint] times" log_misc(dellog.Join()) /datum/controller/subsystem/garbage/fire() - HandleToBeQueued() - if(state == SS_RUNNING) - HandleQueue() - + //the fact that this resets its processing each fire (rather then resume where it left off) is intentional. + var/queue = GC_QUEUE_PREQUEUE + + while (state == SS_RUNNING) + switch (queue) + if (GC_QUEUE_PREQUEUE) + HandlePreQueue() + queue = GC_QUEUE_PREQUEUE+1 + if (GC_QUEUE_CHECK) + HandleQueue(GC_QUEUE_CHECK) + queue = GC_QUEUE_CHECK+1 + if (GC_QUEUE_HARDDELETE) + HandleQueue(GC_QUEUE_HARDDELETE) + break + if (state == SS_PAUSED) //make us wait again before the next run. - state = SS_RUNNING + state = SS_RUNNING //If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond. //Don't attempt to optimize, not worth the effort. -/datum/controller/subsystem/garbage/proc/HandleToBeQueued() - var/list/tobequeued = src.tobequeued - var/starttime = world.time - var/starttimeofday = world.timeofday - while(tobequeued.len && starttime == world.time && starttimeofday == world.timeofday) - if (MC_TICK_CHECK) - break - var/ref = tobequeued[1] - Queue(ref) - tobequeued.Cut(1, 2) +/datum/controller/subsystem/garbage/proc/HandlePreQueue() + var/list/tobequeued = queues[GC_QUEUE_PREQUEUE] + var/static/count = 0 + if (count) + var/c = count + count = 0 //so if we runtime on the Cut, we don't try again. + tobequeued.Cut(1,c+1) -/datum/controller/subsystem/garbage/proc/HandleQueue() - delslasttick = 0 - gcedlasttick = 0 - var/time_to_kill = world.time - collection_timeout // Anything qdel() but not GC'd BEFORE this time needs to be manually del() - var/list/queue = src.queue - var/starttime = world.time - var/starttimeofday = world.timeofday - while(queue.len && starttime == world.time && starttimeofday == world.timeofday) + for (var/ref in tobequeued) + count++ + Queue(ref, GC_QUEUE_PREQUEUE+1) if (MC_TICK_CHECK) break - var/refID = queue[1] + if (count) + tobequeued.Cut(1,count+1) + count = 0 + +/datum/controller/subsystem/garbage/proc/HandleQueue(level = GC_QUEUE_CHECK) + if (level == GC_QUEUE_CHECK) + delslasttick = 0 + gcedlasttick = 0 + var/cut_off_time = world.time - collection_timeout[level] //ignore entries newer then this + var/list/queue = queues[level] + var/static/lastlevel + var/static/count = 0 + if (count) //runtime last run before we could do this. + var/c = count + count = 0 //so if we runtime on the Cut, we don't try again. + var/list/lastqueue = queues[lastlevel] + lastqueue.Cut(1, c+1) + + lastlevel = level + + for (var/refID in queue) if (!refID) - queue.Cut(1, 2) + count++ + if (MC_TICK_CHECK) + break continue var/GCd_at_time = queue[refID] - if(GCd_at_time > time_to_kill) + if(GCd_at_time > cut_off_time) break // Everything else is newer, skip them - queue.Cut(1, 2) - var/datum/A - A = locate(refID) - if (A && A.gc_destroyed == GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake - #ifdef GC_FAILURE_HARD_LOOKUP - A.find_references() - #endif + count++ - // Something's still referring to the qdel'd object. Kill it. - var/type = A.type - testing("GC: -- \ref[A] | [type] was unable to be GC'd and was deleted --") - didntgc["[type]"]++ - - HardDelete(A) + var/datum/D + D = locate(refID) - ++delslasttick - ++totaldels - else + if (!D || D.gc_destroyed != GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake ++gcedlasttick ++totalgcs + pass_counts[level]++ + if (MC_TICK_CHECK) + break + continue -/datum/controller/subsystem/garbage/proc/QueueForQueuing(datum/A) - if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) - tobequeued += A - A.gc_destroyed = GC_QUEUED_FOR_QUEUING + // Something's still referring to the qdel'd object. + fail_counts[level]++ + switch (level) + if (GC_QUEUE_CHECK) + #ifdef GC_FAILURE_HARD_LOOKUP + D.find_references() + #endif + var/type = D.type + var/datum/qdel_item/I = items[type] + testing("GC: -- \ref[src] | [type] was unable to be GC'd --") + I.failures++ + if (GC_QUEUE_HARDDELETE) + HardDelete(D) + if (MC_TICK_CHECK) + break + continue -/datum/controller/subsystem/garbage/proc/Queue(datum/A) - if (isnull(A) || (!isnull(A.gc_destroyed) && A.gc_destroyed >= 0)) + Queue(D, level+1) + + if (MC_TICK_CHECK) + break + if (count) + queue.Cut(1,count+1) + count = 0 + +/datum/controller/subsystem/garbage/proc/PreQueue(datum/D) + if (D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) + queues[GC_QUEUE_PREQUEUE] += D + D.gc_destroyed = GC_QUEUED_FOR_QUEUING + +/datum/controller/subsystem/garbage/proc/Queue(datum/D, level = GC_QUEUE_CHECK) + if (isnull(D)) return - if (A.gc_destroyed == GC_QUEUED_FOR_HARD_DEL) - HardDelete(A) + if (D.gc_destroyed == GC_QUEUED_FOR_HARD_DEL) + level = GC_QUEUE_HARDDELETE + if (level > GC_QUEUE_COUNT) + HardDelete(D) return var/gctime = world.time - var/refid = "\ref[A]" - - A.gc_destroyed = gctime + var/refid = "\ref[D]" + D.gc_destroyed = gctime + var/list/queue = queues[level] if (queue[refid]) queue -= refid // Removing any previous references that were GC'd so that the current object will be at the end of the list. queue[refid] = gctime -//this is purely to seperate things profile wise. -/datum/controller/subsystem/garbage/proc/HardDelete(datum/A) +//this is mainly to separate things profile wise. +/datum/controller/subsystem/garbage/proc/HardDelete(datum/D) var/time = world.timeofday - var/tick = world.tick_usage + var/tick = TICK_USAGE var/ticktime = world.time - - var/type = A.type - var/refID = "\ref[A]" - - del(A) - - tick = (world.tick_usage-tick+((world.time-ticktime)/world.tick_lag*100)) + ++delslasttick + ++totaldels + var/type = D.type + var/refID = "\ref[D]" + + del(D) + + tick = (TICK_USAGE-tick+((world.time-ticktime)/world.tick_lag*100)) + + var/datum/qdel_item/I = items[type] + + I.hard_deletes++ + I.hard_delete_time += TICK_DELTA_TO_MS(tick) + + if (tick > highest_del_tickusage) highest_del_tickusage = tick time = world.timeofday - time @@ -169,18 +238,33 @@ SUBSYSTEM_DEF(garbage) if (time > 10) log_game("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete)") message_admins("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete).") - postpone(time/5) - -/datum/controller/subsystem/garbage/proc/HardQueue(datum/A) - if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) - tobequeued += A - A.gc_destroyed = GC_QUEUED_FOR_HARD_DEL + postpone(time) + +/datum/controller/subsystem/garbage/proc/HardQueue(datum/D) + if (D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) + queues[GC_QUEUE_PREQUEUE] += D + D.gc_destroyed = GC_QUEUED_FOR_HARD_DEL /datum/controller/subsystem/garbage/Recover() - if (istype(SSgarbage.queue)) - queue |= SSgarbage.queue - if (istype(SSgarbage.tobequeued)) - tobequeued |= SSgarbage.tobequeued + if (istype(SSgarbage.queues)) + for (var/i in 1 to SSgarbage.queues.len) + queues[i] |= SSgarbage.queues[i] + + +/datum/qdel_item + var/name = "" + var/qdels = 0 //Total number of times it's passed thru qdel. + var/destroy_time = 0 //Total amount of milliseconds spent processing this type's Destroy() + var/failures = 0 //Times it was queued for soft deletion but failed to soft delete. + var/hard_deletes = 0 //Different from failures because it also includes QDEL_HINT_HARDDEL deletions + var/hard_delete_time = 0//Total amount of milliseconds spent hard deleting this type. + var/no_respect_force = 0//Number of times it's not respected force=TRUE + var/no_hint = 0 //Number of times it's not even bother to give a qdel hint + var/slept_destroy = 0 //Number of times it's slept in its destroy + +/datum/qdel_item/New(mytype) + name = "[mytype]" + // Should be treated as a replacement for the 'del' keyword. // Datums passed to this will be given a chance to clean up references to allow the GC to collect them. @@ -188,20 +272,26 @@ SUBSYSTEM_DEF(garbage) if(!istype(D)) del(D) return -#ifdef TESTING - SSgarbage.qdel_list += D.type -#endif + var/datum/qdel_item/I = SSgarbage.items[D.type] + if (!I) + I = SSgarbage.items[D.type] = new /datum/qdel_item(D.type) + I.qdels++ + + if(isnull(D.gc_destroyed)) D.gc_destroyed = GC_CURRENTLY_BEING_QDELETED var/start_time = world.time + var/start_tick = world.tick_usage var/hint = D.Destroy(force) // Let our friend know they're about to get fucked up. if(world.time != start_time) - SSgarbage.sleptDestroy[D.type]++ + I.slept_destroy++ + else + I.destroy_time += TICK_USAGE_TO_MS(start_tick) if(!D) return switch(hint) if (QDEL_HINT_QUEUE) //qdel should queue the object for deletion. - SSgarbage.QueueForQueuing(D) + SSgarbage.PreQueue(D) if (QDEL_HINT_IWILLGC) D.gc_destroyed = world.time return @@ -211,44 +301,37 @@ SUBSYSTEM_DEF(garbage) return // Returning LETMELIVE after being told to force destroy // indicates the objects Destroy() does not respect force - if(!SSgarbage.noforcerespect[D.type]) - SSgarbage.noforcerespect[D.type] = D.type + #ifdef TESTING + if(!I.no_respect_force) crash_with("[D.type] has been force deleted, but is \ returning an immortal QDEL_HINT, indicating it does \ not respect the force flag for qdel(). It has been \ placed in the queue, further instances of this type \ will also be queued.") - SSgarbage.QueueForQueuing(D) + #endif + I.no_respect_force++ + + SSgarbage.PreQueue(D) if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete using a hard reference to save time from the locate() SSgarbage.HardQueue(D) if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. SSgarbage.HardDelete(D) if (QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion. - SSgarbage.QueueForQueuing(D) + SSgarbage.PreQueue(D) #ifdef TESTING D.find_references() #endif else - if(!SSgarbage.noqdelhint[D.type]) - SSgarbage.noqdelhint[D.type] = D.type + #ifdef TESTING + if(!I.no_hint) crash_with("[D.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.") - SSgarbage.QueueForQueuing(D) + #endif + I.no_hint++ + SSgarbage.PreQueue(D) else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic") -// Default implementation of clean-up code. -// This should be overridden to remove all references pointing to the object being destroyed. -// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE. -/datum/proc/Destroy(force=FALSE) - tag = null - nanomanager.close_uis(src) - return QDEL_HINT_QUEUE - -/datum/var/gc_destroyed //Time when this object was destroyed. - #ifdef TESTING -/datum/var/running_find_references -/datum/var/last_find_references = 0 /datum/verb/find_refs() set category = "Debug" @@ -283,9 +366,17 @@ SUBSYSTEM_DEF(garbage) testing("Beginning search for references to a [type].") last_find_references = world.time - find_references_in_globals() - for(var/datum/thing in world) - DoSearchVar(thing, "WorldRef: [thing]") + + // DoSearchVar(GLOB) // If we ever implement GLOB this would be the place. + for(var/datum/thing in world) //atoms (don't beleive it's lies) + DoSearchVar(thing, "World -> [thing]") + + for (var/datum/thing) //datums + DoSearchVar(thing, "World -> [thing]") + + for (var/client/thing) //clients + DoSearchVar(thing, "World -> [thing]") + testing("Completed search for references to a [type].") if(usr && usr.client) usr.client.running_find_references = null @@ -295,16 +386,6 @@ SUBSYSTEM_DEF(garbage) SSgarbage.can_fire = 1 SSgarbage.next_fire = world.time + world.tick_lag -/client/verb/purge_all_destroyed_objects() - set category = "Debug" - if(SSgarbage) - while(SSgarbage.queue.len) - var/datum/o = locate(SSgarbage.queue[1]) - if(istype(o) && o.gc_destroyed) - del(o) - SSgarbage.totaldels++ - SSgarbage.queue.Cut(1, 2) - /datum/verb/qdel_then_find_references() set category = "Debug" set name = "qdel() then Find References" @@ -315,61 +396,47 @@ SUBSYSTEM_DEF(garbage) if(!running_find_references) find_references(TRUE) -/client/verb/show_qdeleted() - set category = "Debug" - set name = "Show qdel() Log" - set desc = "Render the qdel() log and display it" +/datum/proc/DoSearchVar(X, Xname, recursive_limit = 64) + if(usr && usr.client && !usr.client.running_find_references) + return + if (!recursive_limit) + return - var/dat = "List of things that have been qdel()eted this round

" - - var/tmplist = list() - for(var/elem in SSgarbage.qdel_list) - if(!(elem in tmplist)) - tmplist[elem] = 0 - tmplist[elem]++ - - for(var/path in tmplist) - dat += "[path] - [tmplist[path]] times
" - - usr << browse(dat, "window=qdeletedlog") - -/datum/proc/DoSearchVar(X, Xname) - if(usr && usr.client && !usr.client.running_find_references) return if(istype(X, /datum)) var/datum/D = X if(D.last_find_references == last_find_references) return + D.last_find_references = last_find_references - for(var/V in D.vars) - for(var/varname in D.vars) - var/variable = D.vars[varname] - if(variable == src) - testing("Found [src.type] \ref[src] in [D.type]'s [varname] var. [Xname]") - else if(islist(variable)) - if(src in variable) - testing("Found [src.type] \ref[src] in [D.type]'s [varname] list var. Global: [Xname]") -#ifdef GC_FAILURE_HARD_LOOKUP - for(var/I in variable) - DoSearchVar(I, TRUE) - else - DoSearchVar(variable, "[Xname]: [varname]") -#endif + var/list/L = D.vars + + for(var/varname in L) + if (varname == "vars") + continue + var/variable = L[varname] + + if(variable == src) + testing("Found [src.type] \ref[src] in [D.type]'s [varname] var. [Xname]") + + else if(islist(variable)) + DoSearchVar(variable, "[Xname] -> list", recursive_limit-1) + else if(islist(X)) - if(src in X) - testing("Found [src.type] \ref[src] in list [Xname].") -#ifdef GC_FAILURE_HARD_LOOKUP + var/normal = IS_NORMAL_LIST(X) for(var/I in X) - DoSearchVar(I, Xname + ": list") -#else + if (I == src) + testing("Found [src.type] \ref[src] in list [Xname].") + + else if (I && !isnum(I) && normal && X[I] == src) + testing("Found [src.type] \ref[src] in list [Xname]\[[I]\]") + + else if (islist(I)) + DoSearchVar(I, "[Xname] -> list", recursive_limit-1) + +#ifndef FIND_REF_NO_CHECK_TICK CHECK_TICK #endif -//if find_references isn't working for some datum -//update this list using tools/GenerateGlobalVarAccess -/datum/proc/find_references_in_globals() - // TODO - Impement Global Variable Access - // for(var/global_var in _all_globals) - // DoSearchVar(readglobal(global_var), "Global: [global_var]") #endif diff --git a/code/controllers/subsystems/lighting.dm b/code/controllers/subsystems/lighting.dm index dd59d0629c..8817d83ad5 100644 --- a/code/controllers/subsystems/lighting.dm +++ b/code/controllers/subsystems/lighting.dm @@ -50,27 +50,27 @@ SUBSYSTEM_DEF(lighting) stage = SSLIGHTING_STAGE_LIGHTS // Start with Step 1 of course if(stage == SSLIGHTING_STAGE_LIGHTS) - timer = world.tick_usage + timer = TICK_USAGE internal_process_lights(resumed) - cost_lights = MC_AVERAGE(cost_lights, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_lights = MC_AVERAGE(cost_lights, TICK_DELTA_TO_MS(TICK_USAGE - timer)) if(state != SS_RUNNING) return resumed = 0 stage = SSLIGHTING_STAGE_CORNERS if(stage == SSLIGHTING_STAGE_CORNERS) - timer = world.tick_usage + timer = TICK_USAGE internal_process_corners(resumed) - cost_corners = MC_AVERAGE(cost_corners, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_corners = MC_AVERAGE(cost_corners, TICK_DELTA_TO_MS(TICK_USAGE - timer)) if(state != SS_RUNNING) return resumed = 0 stage = SSLIGHTING_STAGE_OVERLAYS if(stage == SSLIGHTING_STAGE_OVERLAYS) - timer = world.tick_usage + timer = TICK_USAGE internal_process_overlays(resumed) - cost_overlays = MC_AVERAGE(cost_overlays, TICK_DELTA_TO_MS(world.tick_usage - timer)) + cost_overlays = MC_AVERAGE(cost_overlays, TICK_DELTA_TO_MS(TICK_USAGE - timer)) if(state != SS_RUNNING) return resumed = 0 @@ -163,4 +163,4 @@ SUBSYSTEM_DEF(lighting) #undef SSLIGHTING_STAGE_LIGHTS #undef SSLIGHTING_STAGE_CORNERS #undef SSLIGHTING_STAGE_OVERLAYS -#undef SSLIGHTING_STAGE_STATS +#undef SSLIGHTING_STAGE_STATS \ No newline at end of file diff --git a/code/controllers/subsystems/machines.dm b/code/controllers/subsystems/machines.dm new file mode 100644 index 0000000000..7738544024 --- /dev/null +++ b/code/controllers/subsystems/machines.dm @@ -0,0 +1,160 @@ +#define SSMACHINES_PIPENETS 1 +#define SSMACHINES_MACHINERY 2 +#define SSMACHINES_POWERNETS 3 +#define SSMACHINES_POWER_OBJECTS 4 + +// +// SSmachines subsystem - Processing machines, pipenets, and powernets! +// +// Implementation Plan: +// PHASE 1 - Add subsystem using the existing global list vars +// PHASE 2 - Move the global list vars into the subsystem. + +SUBSYSTEM_DEF(machines) + name = "Machines" + priority = 100 + init_order = INIT_ORDER_MACHINES + flags = SS_KEEP_TIMING + runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME + + var/current_step = SSMACHINES_PIPENETS + + var/cost_pipenets = 0 + var/cost_machinery = 0 + var/cost_powernets = 0 + var/cost_power_objects = 0 + + // TODO - PHASE 2 - Switch these from globals to instance vars + // var/list/pipenets = list() + // var/list/machinery = list() + // var/list/powernets = list() + // var/list/power_objects = list() + + var/list/current_run = list() + +/datum/controller/subsystem/machines/Initialize(timeofday) + SSmachines.makepowernets() + // TODO - Move world-creation time setup of atmos machinery and pipenets to here + fire() + ..() + +/datum/controller/subsystem/machines/fire(resumed = 0) + var/timer = TICK_USAGE + + INTERNAL_PROCESS_STEP(SSMACHINES_PIPENETS,TRUE,process_pipenets,cost_pipenets,SSMACHINES_MACHINERY) + INTERNAL_PROCESS_STEP(SSMACHINES_MACHINERY,FALSE,process_machinery,cost_machinery,SSMACHINES_POWERNETS) + INTERNAL_PROCESS_STEP(SSMACHINES_POWERNETS,FALSE,process_powernets,cost_powernets,SSMACHINES_POWER_OBJECTS) + INTERNAL_PROCESS_STEP(SSMACHINES_POWER_OBJECTS,FALSE,process_power_objects,cost_power_objects,SSMACHINES_PIPENETS) + +// rebuild all power networks from scratch - only called at world creation or by the admin verb +// The above is a lie. Turbolifts also call this proc. +/datum/controller/subsystem/machines/proc/makepowernets() + // TODO - check to not run while in the middle of a tick! + for(var/datum/powernet/PN in powernets) + qdel(PN) + powernets.Cut() + + for(var/obj/structure/cable/PC in cable_list) + if(!PC.powernet) + var/datum/powernet/NewPN = new() + NewPN.add_cable(PC) + propagate_network(PC,PC.powernet) + +/datum/controller/subsystem/machines/stat_entry() + var/msg = list() + msg += "C:{" + msg += "PI:[round(cost_pipenets,1)]|" + msg += "MC:[round(cost_machinery,1)]|" + msg += "PN:[round(cost_powernets,1)]|" + msg += "PO:[round(cost_power_objects,1)]" + msg += "} " + msg += "PI:[global.pipe_networks.len]|" + msg += "MC:[global.machines.len]|" + msg += "PN:[global.powernets.len]|" + msg += "PO:[global.processing_power_items.len]|" + msg += "MC/MS:[round((cost ? global.machines.len/cost_machinery : 0),0.1)]" + ..(jointext(msg, null)) + +/datum/controller/subsystem/machines/proc/process_pipenets(resumed = 0) + if (!resumed) + src.current_run = global.pipe_networks.Copy() + //cache for sanic speed (lists are references anyways) + var/list/current_run = src.current_run + while(current_run.len) + var/datum/pipe_network/PN = current_run[current_run.len] + current_run.len-- + if(istype(PN) && !QDELETED(PN)) + PN.process(wait) + else + global.pipe_networks.Remove(PN) + if(!QDELETED(PN)) + PN.is_processing = null + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/machines/proc/process_machinery(resumed = 0) + if (!resumed) + src.current_run = global.machines.Copy() + + var/list/current_run = src.current_run + while(current_run.len) + var/obj/machinery/M = current_run[current_run.len] + current_run.len-- + if(istype(M) && !QDELETED(M) && !(M.process(wait) == PROCESS_KILL)) + if(M.use_power) + M.auto_use_power() + else + global.machines.Remove(M) + if(!QDELETED(M)) + M.is_processing = null + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/machines/proc/process_powernets(resumed = 0) + if (!resumed) + src.current_run = global.powernets.Copy() + + var/list/current_run = src.current_run + while(current_run.len) + var/datum/powernet/PN = current_run[current_run.len] + current_run.len-- + if(istype(PN) && !QDELETED(PN)) + PN.reset(wait) + else + global.powernets.Remove(PN) + if(!QDELETED(PN)) + PN.is_processing = null + if(MC_TICK_CHECK) + return + +// Actually only processes power DRAIN objects. +// Currently only used by powersinks. These items get priority processed before machinery +/datum/controller/subsystem/machines/proc/process_power_objects(resumed = 0) + if (!resumed) + src.current_run = global.processing_power_items.Copy() + + var/list/current_run = src.current_run + while(current_run.len) + var/obj/item/I = current_run[current_run.len] + current_run.len-- + if(!I.pwr_drain(wait)) // 0 = Process Kill, remove from processing list. + global.processing_power_items.Remove(I) + I.is_processing = null + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/machines/Recover() + // TODO - PHASE 2 + // if (istype(SSmachines.pipenets)) + // pipenets = SSmachines.pipenets + // if (istype(SSmachines.machinery)) + // machinery = SSmachines.machinery + // if (istype(SSmachines.powernets)) + // powernets = SSmachines.powernets + // if (istype(SSmachines.power_objects)) + // power_objects = SSmachines.power_objects + +#undef SSMACHINES_PIPENETS +#undef SSMACHINES_MACHINERY +#undef SSMACHINES_POWER +#undef SSMACHINES_POWER_OBJECTS diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index b3450c5b3b..a315ede40f 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -178,21 +178,21 @@ /////// Shotgun /datum/category_item/autolathe/arms/shotgun_clip_beanbag - name = "4-round 12g shell clip (beanbag)" + name = "2-round 12g speedloader (beanbag)" path =/obj/item/ammo_magazine/clip/c12g/beanbag /datum/category_item/autolathe/arms/shotgun_clip_slug - name = "4-round 12g shell clip (slug)" + name = "2-round 12g speedloader (slug)" path =/obj/item/ammo_magazine/clip/c12g hidden = 1 /datum/category_item/autolathe/arms/shotgun_clip_pellet - name = "4-round 12g shell clip (buckshot)" + name = "2-round 12g speedloader (buckshot)" path =/obj/item/ammo_magazine/clip/c12g/pellet hidden = 1 /datum/category_item/autolathe/arms/shotgun_clip_beanbag - name = "4-round 12g shell clip (beanbag)" + name = "2-round 12g speedloader (beanbag)" path =/obj/item/ammo_magazine/clip/c12g/beanbag /* Commented out until autolathe stuff is decided/fixed. Will probably remove these entirely. -Spades diff --git a/code/datums/datum.dm b/code/datums/datum.dm new file mode 100644 index 0000000000..a9fea93f9d --- /dev/null +++ b/code/datums/datum.dm @@ -0,0 +1,23 @@ +// +// datum defines! +// Note: Adding vars to /datum adds a var to EVERYTHING! Don't go overboard. +// + +/datum + var/gc_destroyed //Time when this object was destroyed. + var/weakref/weakref // Holder of weakref instance pointing to this datum + var/is_processing = FALSE // If this datum is in an MC processing list, this will be set to its name. + +#ifdef TESTING + var/tmp/running_find_references + var/tmp/last_find_references = 0 +#endif + +// Default implementation of clean-up code. +// This should be overridden to remove all references pointing to the object being destroyed. +// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE. +/datum/proc/Destroy(force=FALSE) + weakref = null // Clear this reference to ensure it's kept for as brief duration as possible. + tag = null + nanomanager.close_uis(src) + return QDEL_HINT_QUEUE diff --git a/code/datums/weakref.dm b/code/datums/weakref.dm index 348d73b0b2..6c17c18bca 100644 --- a/code/datums/weakref.dm +++ b/code/datums/weakref.dm @@ -1,10 +1,3 @@ -/datum - var/weakref/weakref - -/datum/Destroy() - weakref = null // Clear this reference to ensure it's kept for as brief duration as possible. - . = ..() - //obtain a weak reference to a datum /proc/weakref(datum/D) if(!istype(D)) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 1062232664..87b9d38d63 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -19,7 +19,7 @@ /////////////////////////////// /proc/pick_meteor_start(var/startSide = pick(cardinal)) - var/startLevel = pick(using_map.station_levels) + var/startLevel = pick(using_map.station_levels - using_map.sealed_levels) var/pickedstart = spaceDebrisStartLoc(startSide, startLevel) return list(startLevel, pickedstart) diff --git a/code/game/gamemodes/technomancer/spells/flame_tongue.dm b/code/game/gamemodes/technomancer/spells/flame_tongue.dm index 271240ad05..ffc12344e8 100644 --- a/code/game/gamemodes/technomancer/spells/flame_tongue.dm +++ b/code/game/gamemodes/technomancer/spells/flame_tongue.dm @@ -22,8 +22,7 @@ welder.setWelding(1) /obj/item/weapon/spell/flame_tongue/Destroy() - qdel(welder) - welder = null + qdel_null(welder) return ..() /obj/item/weapon/weldingtool/spell diff --git a/code/game/gamemodes/technomancer/spells/illusion.dm b/code/game/gamemodes/technomancer/spells/illusion.dm index e2afb8d120..5eac627728 100644 --- a/code/game/gamemodes/technomancer/spells/illusion.dm +++ b/code/game/gamemodes/technomancer/spells/illusion.dm @@ -62,8 +62,8 @@ illusion.emote(what_to_emote) /obj/item/weapon/spell/illusion/Destroy() - if(illusion) - qdel(illusion) + qdel_null(illusion) + copied = null return ..() // Makes a tiny overlay of the thing the player has copied, so they can easily tell what they currently have. diff --git a/code/game/gamemodes/technomancer/spells/phase_shift.dm b/code/game/gamemodes/technomancer/spells/phase_shift.dm index 5b06a7e704..336dbc4314 100644 --- a/code/game/gamemodes/technomancer/spells/phase_shift.dm +++ b/code/game/gamemodes/technomancer/spells/phase_shift.dm @@ -37,7 +37,7 @@ for(var/atom/movable/AM in contents) //Eject everything out. AM.forceMove(get_turf(src)) processing_objects -= src - ..() + return ..() /obj/effect/phase_shift/process() for(var/mob/living/L in contents) diff --git a/code/game/gamemodes/technomancer/spells/radiance.dm b/code/game/gamemodes/technomancer/spells/radiance.dm index 4d1fb551ee..fe7d83f713 100644 --- a/code/game/gamemodes/technomancer/spells/radiance.dm +++ b/code/game/gamemodes/technomancer/spells/radiance.dm @@ -25,7 +25,7 @@ /obj/item/weapon/spell/radiance/Destroy() processing_objects -= src log_and_message_admins("has stopped maintaining [src].") - ..() + return ..() /obj/item/weapon/spell/radiance/process() var/turf/T = get_turf(src) diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index 351c1bd3b3..e210119445 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -203,12 +203,7 @@ var/global/list/engineering_networks = list( /obj/machinery/camera/proc/upgradeMotion() assembly.upgrades.Add(new /obj/item/device/assembly/prox_sensor(assembly)) setPowerUsage() - if(!(src in machines)) - if(!machinery_sort_required && ticker) - dd_insertObjectList(machines, src) - else - machines += src - machinery_sort_required = 1 + START_MACHINE_PROCESSING(src) update_coverage() /obj/machinery/camera/proc/setPowerUsage() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ff32e65c07..9bed646bc5 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -173,7 +173,7 @@ /obj/machinery/clonepod/process() var/visible_message = 0 - for(var/obj/item/weapon/reagent_containers/food/snacks/meat in range(1, src)) + for(var/obj/item/weapon/reagent_containers/food/snacks/meat/meat in range(1, src)) qdel(meat) biomass += 50 visible_message = 1 // Prevent chatspam when multiple meat are near diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index f476c295e2..7e867af9a7 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -118,16 +118,12 @@ Class Procs: ..(l) if(d) set_dir(d) - if(!machinery_sort_required && ticker) - dd_insertObjectList(machines, src) - else - machines += src - machinery_sort_required = 1 + START_MACHINE_PROCESSING(src) if(circuit) circuit = new circuit(src) /obj/machinery/Destroy() - machines -= src + STOP_MACHINE_PROCESSING(src) if(component_parts) for(var/atom/A in component_parts) if(A.loc == src) // If the components are inside the machine, delete them. diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 442703a42e..cf2449f1d3 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -94,7 +94,7 @@ singulo.target = src icon_state = "[icontype]1" active = 1 - machines |= src + START_MACHINE_PROCESSING(src) if(user) user << "You activate the beacon." diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index f3df144ea7..cc41d779dc 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -57,6 +57,7 @@ M.adjustOxyLoss(round(dam_force/2)) M.updatehealth() occupant_message("You squeeze [target] with [src.name]. Something cracks.") + playsound(src.loc, "fracture", 5, 1, -2) //CRACK chassis.visible_message("[chassis] squeezes [target].") else step_away(M,chassis) @@ -408,7 +409,7 @@ /obj/item/mecha_parts/mecha_equipment/gravcatapult name = "gravitational catapult" - desc = "An exosuit mounted Gravitational Catapult." + desc = "An exosuit mounted gravitational catapult." icon_state = "mecha_teleport" origin_tech = list(TECH_BLUESPACE = 2, TECH_MAGNET = 3) equip_cooldown = 10 @@ -1041,7 +1042,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger name = "passenger compartment" - desc = "A mountable passenger compartment for exo-suits. Rather cramped." + desc = "A mountable passenger compartment for exosuits. Rather cramped." icon_state = "mecha_abooster_ccw" origin_tech = list(TECH_ENGINEERING = 1, TECH_BIO = 1) energy_drain = 10 @@ -1071,9 +1072,9 @@ log_message("[user] boarded.") occupant_message("[user] boarded.") else if(src.occupant != user) - user << "[src.occupant] was faster. Try better next time, loser." + to_chat(user, "[src.occupant] was faster. Try harder next time, loser.") else - user << "You stop entering the exosuit." + to_chat(user, "You stop entering the exosuit.") /obj/item/mecha_parts/mecha_equipment/tool/passenger/verb/eject() set name = "Eject" @@ -1083,7 +1084,7 @@ if(usr != occupant) return - occupant << "You climb out from \the [src]." + to_chat(occupant, "You climb out from \the [src].") go_out() occupant_message("[occupant] disembarked.") log_message("[occupant] disembarked.") @@ -1186,3 +1187,98 @@ #undef LOCKED #undef OCCUPIED + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack + name = "ion jetpack" + desc = "Using directed ion bursts and cunning solar wind reflection technique, this device enables controlled space flight." + icon_state = "mecha_jetpack" + equip_cooldown = 5 + energy_drain = 50 + var/wait = 0 + var/datum/effect/effect/system/ion_trail_follow/ion_trail + + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/can_attach(obj/mecha/M as obj) + if(!(locate(src.type) in M.equipment) && !M.proc_res["dyndomove"]) + return ..() + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/detach() + ..() + chassis.proc_res["dyndomove"] = null + return + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/attach(obj/mecha/M as obj) + ..() + if(!ion_trail) + ion_trail = new + ion_trail.set_up(chassis) + return + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/proc/toggle() + if(!chassis) + return + !equip_ready? turn_off() : turn_on() + return equip_ready + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/proc/turn_on() + set_ready_state(0) + chassis.proc_res["dyndomove"] = src + ion_trail.start() + occupant_message("Activated") + log_message("Activated") + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/proc/turn_off() + set_ready_state(1) + chassis.proc_res["dyndomove"] = null + ion_trail.stop() + occupant_message("Deactivated") + log_message("Deactivated") + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/proc/dyndomove(direction) + if(!action_checks()) + return chassis.dyndomove(direction) + var/move_result = 0 + if(chassis.hasInternalDamage(MECHA_INT_CONTROL_LOST)) + move_result = step_rand(chassis) + else if(chassis.dir!=direction) + chassis.set_dir(direction) + move_result = 1 + else + move_result = step(chassis,direction) + if(chassis.occupant) + for(var/obj/effect/speech_bubble/B in range(1, chassis)) + if(B.parent == chassis.occupant) + B.loc = chassis.loc + if(move_result) + wait = 1 + chassis.use_power(energy_drain) + if(!chassis.pr_inertial_movement.active()) + chassis.pr_inertial_movement.start(list(chassis,direction)) + else + chassis.pr_inertial_movement.set_process_args(list(chassis,direction)) + do_after_cooldown() + return 1 + return 0 + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/action_checks() + if(equip_ready || wait) + return 0 + if(energy_drain && !chassis.has_charge(energy_drain)) + return 0 + if(chassis.check_for_support()) + return 0 + return 1 + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/get_equip_info() + if(!chassis) return + return "* [src.name] \[Toggle\]" + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/Topic(href,href_list) + ..() + if(href_list["toggle"]) + toggle() + +/obj/item/mecha_parts/mecha_equipment/tool/jetpack/do_after_cooldown() + sleep(equip_cooldown) + wait = 0 + return 1 \ No newline at end of file diff --git a/code/game/mecha/equipment/tools/unused_tools.dm b/code/game/mecha/equipment/tools/unused_tools.dm index 1b6d8c9e23..c7ef794c4e 100644 --- a/code/game/mecha/equipment/tools/unused_tools.dm +++ b/code/game/mecha/equipment/tools/unused_tools.dm @@ -6,134 +6,6 @@ - -//NEEDS SPRITE! (When this gets ticked in search for 'TODO MECHA JETPACK SPRITE MISSING' through code to uncomment the place where it's missing.) -/obj/item/mecha_parts/mecha_equipment/jetpack - name = "jetpack" - desc = "Using directed ion bursts and cunning solar wind reflection technique, this device enables controlled space flight." - icon_state = "mecha_equip" - equip_cooldown = 5 - energy_drain = 50 - var/wait = 0 - var/datum/effect/effect/system/ion_trail_follow/ion_trail - - - can_attach(obj/mecha/M as obj) - if(!(locate(src.type) in M.equipment) && !M.proc_res["dyndomove"]) - return ..() - - detach() - ..() - chassis.proc_res["dyndomove"] = null - return - - attach(obj/mecha/M as obj) - ..() - if(!ion_trail) - ion_trail = new - ion_trail.set_up(chassis) - return - - proc/toggle() - if(!chassis) - return - !equip_ready? turn_off() : turn_on() - return equip_ready - - proc/turn_on() - set_ready_state(0) - chassis.proc_res["dyndomove"] = src - ion_trail.start() - occupant_message("Activated") - log_message("Activated") - - proc/turn_off() - set_ready_state(1) - chassis.proc_res["dyndomove"] = null - ion_trail.stop() - occupant_message("Deactivated") - log_message("Deactivated") - - proc/dyndomove(direction) - if(!action_checks()) - return chassis.dyndomove(direction) - var/move_result = 0 - if(chassis.hasInternalDamage(MECHA_INT_CONTROL_LOST)) - move_result = step_rand(chassis) - else if(chassis.dir!=direction) - chassis.set_dir(direction) - move_result = 1 - else - move_result = step(chassis,direction) - if(chassis.occupant) - for(var/obj/effect/speech_bubble/B in range(1, chassis)) - if(B.parent == chassis.occupant) - B.loc = chassis.loc - if(move_result) - wait = 1 - chassis.use_power(energy_drain) - if(!chassis.pr_inertial_movement.active()) - chassis.pr_inertial_movement.start(list(chassis,direction)) - else - chassis.pr_inertial_movement.set_process_args(list(chassis,direction)) - do_after_cooldown() - return 1 - return 0 - - action_checks() - if(equip_ready || wait) - return 0 - if(energy_drain && !chassis.has_charge(energy_drain)) - return 0 - if(chassis.check_for_support()) - return 0 - return 1 - - get_equip_info() - if(!chassis) return - return "* [src.name] \[Toggle\]" - - - Topic(href,href_list) - ..() - if(href_list["toggle"]) - toggle() - - do_after_cooldown() - sleep(equip_cooldown) - wait = 0 - return 1 - - -/obj/item/mecha_parts/mecha_equipment/defence_shocker - name = "exosuit defence shocker" - desc = "" - icon_state = "mecha_teleport" - equip_cooldown = 10 - energy_drain = 100 - range = RANGED - var/shock_damage = 15 - var/active - - can_attach(obj/mecha/M as obj) - if(..()) - if(!istype(M, /obj/mecha/combat/honker)) - if(!M.proc_res["dynattackby"] && !M.proc_res["dynattackhand"] && !M.proc_res["dynattackalien"]) - return 1 - return 0 - - attach(obj/mecha/M as obj) - ..() - chassis.proc_res["dynattackby"] = src - return - - proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob) - if(!action_checks(user) || !active) - return - user.electrocute_act(shock_damage, src) - return chassis.dynattackby(W,user) - - /* /obj/item/mecha_parts/mecha_equipment/book_stocker diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 3b8cf65816..50012fe95c 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -117,20 +117,18 @@ projectile = /obj/item/projectile/beam/stun fire_sound = 'sound/weapons/Taser.ogg' -/* Commenting this out rather than removing it because it may be useful for reference. +/* /obj/item/mecha_parts/mecha_equipment/weapon/honker - name = "\improper HoNkER BlAsT 5000" + name = "sound emission device" icon_state = "mecha_honker" - energy_drain = 200 + energy_drain = 300 equip_cooldown = 150 range = MELEE|RANGED - construction_time = 500 - construction_cost = list("metal"=20000,"bananium"=10000) + origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 4, TECH_ILLEGAL = 1) - can_attach(obj/mecha/combat/honker/M as obj) - if(!istype(M)) - return 0 - return ..() + var/ear_safety = 0 + if(iscarbon(M)) + ear_safety = M.get_ear_protection() action(target) if(!chassis) @@ -140,25 +138,22 @@ if(!equip_ready) return 0 - playsound(chassis, 'sound/items/AirHorn.ogg', 100, 1) - chassis.occupant_message("HONK") + playsound(chassis, 'sound/effects/bang.ogg', 30, 1, 30) + chassis.occupant_message("You emit a high-pitched noise from the mech.") for(var/mob/living/carbon/M in ohearers(6, chassis)) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M - if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs)) - continue - M << "HONK" + if(ear_safety > 0) + return + to_chat(M, "\Your ears feel like they're bleeding!") + playsound(M, 'sound/effects/bang.ogg', 70, 1, 30) M.sleeping = 0 - M.stuttering += 20 M.ear_deaf += 30 + M.ear_damage += rand(5, 20) M.Weaken(3) - if(prob(30)) - M.Stun(10) - M.Paralyse(4) - else - M.make_jittery(500) + M.Stun(5) chassis.use_power(energy_drain) - log_message("Honked from [src.name]. HONK!") + log_message("Used a sound emission device.") do_after_cooldown() return */ @@ -335,3 +330,35 @@ projectile = /obj/item/projectile/bullet/incendiary/flamethrower origin_tech = list(TECH_MATERIAL = 3, TECH_COMBAT = 3, TECH_PHORON = 3, TECH_ILLEGAL = 2) + +////////////// +//Defensive// +////////////// + +/obj/item/mecha_parts/mecha_equipment/shocker + name = "exosuit electrifier" + desc = "A device to electrify the external portions of a mecha in order to increase its defensive capabilities." + icon_state = "mecha_coil" + equip_cooldown = 10 + energy_drain = 100 + range = RANGED + origin_tech = list(TECH_COMBAT = 3, TECH_POWER = 6) + var/shock_damage = 15 + var/active + +/obj/item/mecha_parts/mecha_equipment/shocker/can_attach(obj/mecha/M as obj) + if(..()) + if(!M.proc_res["dynattackby"] && !M.proc_res["dynattackhand"] && !M.proc_res["dynattackalien"]) + return 1 + return 0 + +/obj/item/mecha_parts/mecha_equipment/shocker/attach(obj/mecha/M as obj) + ..() + chassis.proc_res["dynattackby"] = src + return + +/obj/item/mecha_parts/mecha_equipment/shocker/proc/dynattackby(obj/item/weapon/W, mob/living/user) + if(!action_checks(user) || !active) + return + user.electrocute_act(shock_damage, src) + return chassis.dynattackby(W,user) \ No newline at end of file diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index c2f590c561..6cc507aeec 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -5,4 +5,23 @@ icon = 'icons/obj/items.dmi' icon_state = "strangepresent" density = 1 - anchored = 0 \ No newline at end of file + anchored = 0 + +// Shown really briefly when attacking with axes. +/obj/effect/temporary_effect/cleave_attack + name = "cleaving attack" + desc = "Something swinging really wide." + icon = 'icons/effects/96x96.dmi' + icon_state = "cleave" + layer = 6 + time_to_die = 6 + alpha = 140 + invisibility = 0 + mouse_opacity = 0 + new_light_range = 0 + new_light_power = 0 + pixel_x = -32 + pixel_y = -32 + +/obj/effect/temporary_effect/cleave_attack/initialize() // Makes the slash fade smoothly. When completely transparent it should qdel itself. + animate(src, alpha = 0, time = time_to_die - 1) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 0bf146f037..f6eec0de71 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -104,7 +104,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa sleep(8) if(!powernet_rebuild_was_deferred_already && defer_powernet_rebuild) - makepowernets() + SSmachines.makepowernets() defer_powernet_rebuild = 0 return 1 diff --git a/code/game/objects/items/antag_spawners.dm b/code/game/objects/items/antag_spawners.dm index ce358bc1ee..100c113994 100644 --- a/code/game/objects/items/antag_spawners.dm +++ b/code/game/objects/items/antag_spawners.dm @@ -12,7 +12,7 @@ sparks.attach(loc) /obj/item/weapon/antag_spawner/Destroy() - qdel(sparks) + qdel_null(sparks) return ..() /obj/item/weapon/antag_spawner/proc/spawn_antag(client/C, turf/T) diff --git a/code/game/objects/items/devices/communicator/UI.dm b/code/game/objects/items/devices/communicator/UI.dm new file mode 100644 index 0000000000..806120c5e6 --- /dev/null +++ b/code/game/objects/items/devices/communicator/UI.dm @@ -0,0 +1,238 @@ +// Proc: ui_interact() +// Parameters: 4 (standard NanoUI arguments) +// Description: Uses a bunch of for loops to turn lists into lists of lists, so they can be displayed in nanoUI, then displays various buttons to the user. +/obj/item/device/communicator/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/key_state = null) + // this is the data which will be sent to the ui + var/data[0] //General nanoUI information + var/communicators[0] //List of communicators + var/invites[0] //Communicators and ghosts we've invited to our communicator. + var/requests[0] //Communicators and ghosts wanting to go in our communicator. + var/voices[0] //Current /mob/living/voice s inside the device. + var/connected_communicators[0] //Current communicators connected to the device. + + var/im_contacts_ui[0] //List of communicators that have been messaged. + var/im_list_ui[0] //List of messages. + + var/weather[0] + var/modules_ui[0] //Home screen info. + + //First we add other 'local' communicators. + for(var/obj/item/device/communicator/comm in known_devices) + if(comm.network_visibility && comm.exonet) + communicators[++communicators.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address) + + //Now for ghosts who we pretend have communicators. + for(var/mob/observer/dead/O in known_devices) + if(O.client && O.client.prefs.communicator_visibility == 1 && O.exonet) + communicators[++communicators.len] = list("name" = sanitize("[O.client.prefs.real_name]'s communicator"), "address" = O.exonet.address, "ref" = "\ref[O]") + + //Lists all the other communicators that we invited. + for(var/obj/item/device/communicator/comm in voice_invites) + if(comm.exonet) + invites[++invites.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address, "ref" = "\ref[comm]") + + //Ghosts we invited. + for(var/mob/observer/dead/O in voice_invites) + if(O.exonet && O.client) + invites[++invites.len] = list("name" = sanitize("[O.client.prefs.real_name]'s communicator"), "address" = O.exonet.address, "ref" = "\ref[O]") + + //Communicators that want to talk to us. + for(var/obj/item/device/communicator/comm in voice_requests) + if(comm.exonet) + requests[++requests.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address, "ref" = "\ref[comm]") + + //Ghosts that want to talk to us. + for(var/mob/observer/dead/O in voice_requests) + if(O.exonet && O.client) + requests[++requests.len] = list("name" = sanitize("[O.client.prefs.real_name]'s communicator"), "address" = O.exonet.address, "ref" = "\ref[O]") + + //Now for all the voice mobs inside the communicator. + for(var/mob/living/voice/voice in contents) + voices[++voices.len] = list("name" = sanitize("[voice.name]'s communicator"), "true_name" = sanitize(voice.name)) + + //Finally, all the communicators linked to this one. + for(var/obj/item/device/communicator/comm in communicating) + connected_communicators[++connected_communicators.len] = list("name" = sanitize(comm.name), "true_name" = sanitize(comm.name), "ref" = "\ref[comm]") + + //Devices that have been messaged or recieved messages from. + for(var/obj/item/device/communicator/comm in im_contacts) + if(comm.exonet) + im_contacts_ui[++im_contacts_ui.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address, "ref" = "\ref[comm]") + + for(var/mob/observer/dead/ghost in im_contacts) + if(ghost.exonet) + im_contacts_ui[++im_contacts_ui.len] = list("name" = sanitize(ghost.name), "address" = ghost.exonet.address, "ref" = "\ref[ghost]") + + //Actual messages. + for(var/I in im_list) + im_list_ui[++im_list_ui.len] = list("address" = I["address"], "to_address" = I["to_address"], "im" = I["im"]) + + //Weather reports. + for(var/datum/planet/planet in planet_controller.planets) + if(planet.weather_holder && planet.weather_holder.current_weather) + weather[++weather.len] = list("Planet" = planet.name, "Weather" = planet.weather_holder.current_weather.name, "Temperature" = (round(planet.weather_holder.temperature*1000)/1000),\ + "High" = planet.weather_holder.current_weather.temp_high, "Low" = planet.weather_holder.current_weather.temp_low, "Wind" = "[planet.weather_holder.wind_speed]|[dir2text(planet.weather_holder.wind_dir)]") + + //Modules for homescreen. + for(var/list/R in modules) + modules_ui[++modules_ui.len] = R + + data["owner"] = owner ? owner : "Unset" + data["occupation"] = occupation ? occupation : "Swipe ID to set." + data["connectionStatus"] = get_connection_to_tcomms() + data["visible"] = network_visibility + data["address"] = exonet.address ? exonet.address : "Unallocated" + data["targetAddress"] = target_address + data["targetAddressName"] = target_address_name + data["currentTab"] = selected_tab + data["knownDevices"] = communicators + data["invitesSent"] = invites + data["requestsReceived"] = requests + data["voice_mobs"] = voices + data["communicating"] = connected_communicators + data["video_comm"] = video_source ? "\ref[video_source.loc]" : null + data["imContacts"] = im_contacts_ui + data["imList"] = im_list_ui + data["time"] = stationtime2text() + data["ring"] = ringer + data["homeScreen"] = modules_ui + data["note"] = note // current notes + data["weather"] = weather + + // update the ui if it exists, returns null if no ui is passed/found + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if(!ui) + // the ui does not exist, so we'll create a new() one + // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm + ui = new(user, src, ui_key, "communicator.tmpl", "Communicator", 475, 700, state = key_state) + // when the ui is first opened this is the data it will use + ui.set_initial_data(data) + // open the new ui window + ui.open() + // auto update every five Master Controller tick + ui.set_auto_update(5) + +// Proc: Topic() +// Parameters: 2 (standard Topic arguments) +// Description: Responds to NanoUI button presses. +/obj/item/device/communicator/Topic(href, href_list) + if(..()) + return 1 + if(href_list["rename"]) + var/new_name = sanitizeSafe(input(usr,"Please enter your name.","Communicator",usr.name) ) + if(new_name) + owner = new_name + name = "[owner]'s [initial(name)]" + if(camera) + camera.name = name + camera.c_tag = name + + if(href_list["toggle_visibility"]) + switch(network_visibility) + if(1) //Visible, becoming invisbile + network_visibility = 0 + if(camera) + camera.remove_network(NETWORK_COMMUNICATORS) + if(0) //Invisible, becoming visible + network_visibility = 1 + if(camera) + camera.add_network(NETWORK_COMMUNICATORS) + + if(href_list["toggle_ringer"]) + ringer = !ringer + + if(href_list["add_hex"]) + var/hex = href_list["add_hex"] + add_to_EPv2(hex) + + if(href_list["write_target_address"]) + var/new_address = sanitizeSafe(input(usr,"Please enter the desired target EPv2 address. Note that you must write the colons \ + yourself.","Communicator",src.target_address) ) + if(new_address) + target_address = new_address + + if(href_list["clear_target_address"]) + target_address = "" + + if(href_list["dial"]) + if(!get_connection_to_tcomms()) + usr << "Error: Cannot connect to Exonet node." + return + var/their_address = href_list["dial"] + exonet.send_message(their_address, "voice") + + if(href_list["decline"]) + var/ref_to_remove = href_list["decline"] + var/atom/decline = locate(ref_to_remove) + if(decline) + del_request(decline) + + if(href_list["message"]) + if(!get_connection_to_tcomms()) + usr << "Error: Cannot connect to Exonet node." + return + var/their_address = href_list["message"] + var/text = sanitizeSafe(input(usr,"Enter your message.","Text Message")) + if(text) + exonet.send_message(their_address, "text", text) + im_list += list(list("address" = exonet.address, "to_address" = their_address, "im" = text)) + log_pda("[usr] (COMM: [src]) sent \"[text]\" to [exonet.get_atom_from_address(their_address)]") + for(var/mob/M in player_list) + if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat) + continue + if(exonet.get_atom_from_address(their_address) == M) + continue + M.show_message("Comm IM - [src] -> [exonet.get_atom_from_address(their_address)]: [text]") + + if(href_list["disconnect"]) + var/name_to_disconnect = href_list["disconnect"] + for(var/mob/living/voice/V in contents) + if(name_to_disconnect == V.name) + close_connection(usr, V, "[usr] hung up") + for(var/obj/item/device/communicator/comm in communicating) + if(name_to_disconnect == comm.name) + close_connection(usr, comm, "[usr] hung up") + + if(href_list["startvideo"]) + var/ref_to_video = href_list["startvideo"] + var/obj/item/device/communicator/comm = locate(ref_to_video) + if(comm) + connect_video(usr, comm) + + if(href_list["endvideo"]) + if(video_source) + end_video() + + if(href_list["watchvideo"]) + if(video_source) + watch_video(usr,video_source.loc) + + if(href_list["copy"]) + target_address = href_list["copy"] + + if(href_list["copy_name"]) + target_address_name = href_list["copy_name"] + + if(href_list["hang_up"]) + for(var/mob/living/voice/V in contents) + close_connection(usr, V, "[usr] hung up") + for(var/obj/item/device/communicator/comm in communicating) + close_connection(usr, comm, "[usr] hung up") + + if(href_list["switch_tab"]) + selected_tab = href_list["switch_tab"] + + if(href_list["edit"]) + var/n = input(usr, "Please enter message", name, notehtml) + n = sanitizeSafe(n, extra = 0) + if(n) + note = html_decode(n) + notehtml = note + note = replacetext(note, "\n", "
") + else + note = "" + notehtml = note + + nanomanager.update_uis(src) + add_fingerprint(usr) \ No newline at end of file diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm new file mode 100644 index 0000000000..e69de29bb2 diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index 5d1e1f3802..d5a4114aff 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -37,7 +37,8 @@ var/global/list/obj/item/device/communicator/all_communicators = list() list("module" = "Contacts", "icon" = "person64", "number" = 3), list("module" = "Messaging", "icon" = "comment64", "number" = 4), list("module" = "Note", "icon" = "note64", "number" = 5), - list("module" = "Settings", "icon" = "gear64", "number" = 6) + list("module" = "Weather", "icon" = "sun64", "number" = 6), + list("module" = "Settings", "icon" = "gear64", "number" = 7) ) //list("module" = "Name of Module", "icon" = "icon name64", "number" = "what tab is the module") var/selected_tab = 1 @@ -191,16 +192,19 @@ var/global/list/obj/item/device/communicator/all_communicators = list() if(istype(C, /obj/item/weapon/card/id)) var/obj/item/weapon/card/id/idcard = C if(!idcard.registered_name || !idcard.assignment) - user << "\The [src] rejects the ID." - return - if(!owner) - user << "\The [src] rejects the ID." - return - if(owner == idcard.registered_name) + to_chat(user, "\The [src] rejects the ID.") + else if(!owner) + to_chat(user, "\The [src] rejects the ID.") + else if(owner == idcard.registered_name) occupation = idcard.assignment - user << "Occupation updated." - return - else return + to_chat(user, "Occupation updated.") +// else if(istype(C, /obj/item/weapon/cartridge)) +// if(cartridge) +// to_chat(user, "\The [src] already has an external device attached!") +// else +// modules.Add(list("module" = "External Device", "icon = external64", "number" = 8)) +// cartridge = C + return // Proc: attack_self() // Parameters: 1 (user - the mob that clicked the device in their hand) @@ -258,288 +262,6 @@ var/global/list/obj/item/device/communicator/all_communicators = list() exonet = null return ..() -// Proc: ui_interact() -// Parameters: 4 (standard NanoUI arguments) -// Description: Uses a bunch of for loops to turn lists into lists of lists, so they can be displayed in nanoUI, then displays various buttons to the user. -/obj/item/device/communicator/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/key_state = null) - // this is the data which will be sent to the ui - var/data[0] //General nanoUI information - var/communicators[0] //List of communicators - var/invites[0] //Communicators and ghosts we've invited to our communicator. - var/requests[0] //Communicators and ghosts wanting to go in our communicator. - var/voices[0] //Current /mob/living/voice s inside the device. - var/connected_communicators[0] //Current communicators connected to the device. - - var/im_contacts_ui[0] //List of communicators that have been messaged. - var/im_list_ui[0] //List of messages. - - var/modules_ui[0] //Home screen info. - - //First we add other 'local' communicators. - for(var/obj/item/device/communicator/comm in known_devices) - if(comm.network_visibility && comm.exonet) - communicators[++communicators.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address) - - //Now for ghosts who we pretend have communicators. - for(var/mob/observer/dead/O in known_devices) - if(O.client && O.client.prefs.communicator_visibility == 1 && O.exonet) - communicators[++communicators.len] = list("name" = sanitize("[O.client.prefs.real_name]'s communicator"), "address" = O.exonet.address, "ref" = "\ref[O]") - - //Lists all the other communicators that we invited. - for(var/obj/item/device/communicator/comm in voice_invites) - if(comm.exonet) - invites[++invites.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address, "ref" = "\ref[comm]") - - //Ghosts we invited. - for(var/mob/observer/dead/O in voice_invites) - if(O.exonet && O.client) - invites[++invites.len] = list("name" = sanitize("[O.client.prefs.real_name]'s communicator"), "address" = O.exonet.address, "ref" = "\ref[O]") - - //Communicators that want to talk to us. - for(var/obj/item/device/communicator/comm in voice_requests) - if(comm.exonet) - requests[++requests.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address, "ref" = "\ref[comm]") - - //Ghosts that want to talk to us. - for(var/mob/observer/dead/O in voice_requests) - if(O.exonet && O.client) - requests[++requests.len] = list("name" = sanitize("[O.client.prefs.real_name]'s communicator"), "address" = O.exonet.address, "ref" = "\ref[O]") - - //Now for all the voice mobs inside the communicator. - for(var/mob/living/voice/voice in contents) - voices[++voices.len] = list("name" = sanitize("[voice.name]'s communicator"), "true_name" = sanitize(voice.name)) - - //Finally, all the communicators linked to this one. - for(var/obj/item/device/communicator/comm in communicating) - connected_communicators[++connected_communicators.len] = list("name" = sanitize(comm.name), "true_name" = sanitize(comm.name), "ref" = "\ref[comm]") - - //Devices that have been messaged or recieved messages from. - for(var/obj/item/device/communicator/comm in im_contacts) - if(comm.exonet) - im_contacts_ui[++im_contacts_ui.len] = list("name" = sanitize(comm.name), "address" = comm.exonet.address, "ref" = "\ref[comm]") - - for(var/mob/observer/dead/ghost in im_contacts) - if(ghost.exonet) - im_contacts_ui[++im_contacts_ui.len] = list("name" = sanitize(ghost.name), "address" = ghost.exonet.address, "ref" = "\ref[ghost]") - - //Actual messages. - for(var/I in im_list) - im_list_ui[++im_list_ui.len] = list("address" = I["address"], "to_address" = I["to_address"], "im" = I["im"]) - - //Modules for homescreen. - for(var/list/R in modules) - modules_ui[++modules_ui.len] = R - - data["owner"] = owner ? owner : "Unset" - data["occupation"] = occupation ? occupation : "Swipe ID to set." - data["connectionStatus"] = get_connection_to_tcomms() - data["visible"] = network_visibility - data["address"] = exonet.address ? exonet.address : "Unallocated" - data["targetAddress"] = target_address - data["targetAddressName"] = target_address_name - data["currentTab"] = selected_tab - data["knownDevices"] = communicators - data["invitesSent"] = invites - data["requestsReceived"] = requests - data["voice_mobs"] = voices - data["communicating"] = connected_communicators - data["video_comm"] = video_source ? "\ref[video_source.loc]" : null - data["imContacts"] = im_contacts_ui - data["imList"] = im_list_ui - data["time"] = stationtime2text() - data["ring"] = ringer - data["homeScreen"] = modules_ui - data["note"] = note // current notes - - // update the ui if it exists, returns null if no ui is passed/found - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if(!ui) - // the ui does not exist, so we'll create a new() one - // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm - ui = new(user, src, ui_key, "communicator.tmpl", "Communicator", 475, 700, state = key_state) - // when the ui is first opened this is the data it will use - ui.set_initial_data(data) - // open the new ui window - ui.open() - // auto update every five Master Controller tick - ui.set_auto_update(5) - -// Proc: Topic() -// Parameters: 2 (standard Topic arguments) -// Description: Responds to NanoUI button presses. -/obj/item/device/communicator/Topic(href, href_list) - if(..()) - return 1 - if(href_list["rename"]) - var/new_name = sanitizeSafe(input(usr,"Please enter your name.","Communicator",usr.name) ) - if(new_name) - owner = new_name - name = "[owner]'s [initial(name)]" - if(camera) - camera.name = name - camera.c_tag = name - - if(href_list["toggle_visibility"]) - switch(network_visibility) - if(1) //Visible, becoming invisbile - network_visibility = 0 - if(camera) - camera.remove_network(NETWORK_COMMUNICATORS) - if(0) //Invisible, becoming visible - network_visibility = 1 - if(camera) - camera.add_network(NETWORK_COMMUNICATORS) - - if(href_list["toggle_ringer"]) - ringer = !ringer - - if(href_list["add_hex"]) - var/hex = href_list["add_hex"] - add_to_EPv2(hex) - - if(href_list["write_target_address"]) - var/new_address = sanitizeSafe(input(usr,"Please enter the desired target EPv2 address. Note that you must write the colons \ - yourself.","Communicator",src.target_address) ) - if(new_address) - target_address = new_address - - if(href_list["clear_target_address"]) - target_address = "" - - if(href_list["dial"]) - if(!get_connection_to_tcomms()) - usr << "Error: Cannot connect to Exonet node." - return - var/their_address = href_list["dial"] - exonet.send_message(their_address, "voice") - - if(href_list["decline"]) - var/ref_to_remove = href_list["decline"] - var/atom/decline = locate(ref_to_remove) - if(decline) - del_request(decline) - - if(href_list["message"]) - if(!get_connection_to_tcomms()) - usr << "Error: Cannot connect to Exonet node." - return - var/their_address = href_list["message"] - var/text = sanitizeSafe(input(usr,"Enter your message.","Text Message")) - if(text) - exonet.send_message(their_address, "text", text) - im_list += list(list("address" = exonet.address, "to_address" = their_address, "im" = text)) - log_pda("[usr] (COMM: [src]) sent \"[text]\" to [exonet.get_atom_from_address(their_address)]") - for(var/mob/M in player_list) - if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) - if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat) - continue - if(exonet.get_atom_from_address(their_address) == M) - continue - M.show_message("Comm IM - [src] -> [exonet.get_atom_from_address(their_address)]: [text]") - - if(href_list["disconnect"]) - var/name_to_disconnect = href_list["disconnect"] - for(var/mob/living/voice/V in contents) - if(name_to_disconnect == V.name) - close_connection(usr, V, "[usr] hung up") - for(var/obj/item/device/communicator/comm in communicating) - if(name_to_disconnect == comm.name) - close_connection(usr, comm, "[usr] hung up") - - if(href_list["startvideo"]) - var/ref_to_video = href_list["startvideo"] - var/obj/item/device/communicator/comm = locate(ref_to_video) - if(comm) - connect_video(usr, comm) - - if(href_list["endvideo"]) - if(video_source) - end_video() - - if(href_list["watchvideo"]) - if(video_source) - watch_video(usr,video_source.loc) - - if(href_list["copy"]) - target_address = href_list["copy"] - - if(href_list["copy_name"]) - target_address_name = href_list["copy_name"] - - if(href_list["hang_up"]) - for(var/mob/living/voice/V in contents) - close_connection(usr, V, "[usr] hung up") - for(var/obj/item/device/communicator/comm in communicating) - close_connection(usr, comm, "[usr] hung up") - - if(href_list["switch_tab"]) - selected_tab = href_list["switch_tab"] - - if(href_list["edit"]) - var/n = input(usr, "Please enter message", name, notehtml) - n = sanitizeSafe(n, extra = 0) - if(n) - note = html_decode(n) - notehtml = note - note = replacetext(note, "\n", "
") - else - note = "" - notehtml = note - - nanomanager.update_uis(src) - add_fingerprint(usr) - -// Proc: receive_exonet_message() -// Parameters: 4 (origin atom - the source of the message's holder, origin_address - where the message came from, message - the message received, -// text - message text to send if message is of type "text") -// Description: Handles voice requests and invite messages originating from both real communicators and ghosts. Also includes a ping response and IM function. -/obj/item/device/communicator/receive_exonet_message(var/atom/origin_atom, origin_address, message, text) - if(message == "voice") - if(isobserver(origin_atom) || istype(origin_atom, /obj/item/device/communicator)) - if(origin_atom in voice_invites) - var/user = null - if(ismob(origin_atom.loc)) - user = origin_atom.loc - open_connection(user, origin_atom) - return - else if(origin_atom in voice_requests) - return //Spam prevention - else - request(origin_atom) - if(message == "ping") - if(network_visibility) - var/random = rand(200,350) - random = random / 10 - exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms") - if(message == "text") - request_im(origin_atom, origin_address, text) - return - -// Proc: receive_exonet_message() -// Parameters: 3 (origin atom - the source of the message's holder, origin_address - where the message came from, message - the message received) -// Description: Handles voice requests and invite messages originating from both real communicators and ghosts. Also includes a ping response. -/mob/observer/dead/receive_exonet_message(origin_atom, origin_address, message, text) - if(message == "voice") - if(istype(origin_atom, /obj/item/device/communicator)) - var/obj/item/device/communicator/comm = origin_atom - if(src in comm.voice_invites) - comm.open_connection(src) - return - src << "\icon[origin_atom] Receiving communicator request from [origin_atom]. To answer, use the Call Communicator \ - verb, and select that name to answer the call." - src << 'sound/machines/defib_SafetyOn.ogg' - comm.voice_invites |= src - if(message == "ping") - if(client && client.prefs.communicator_visibility) - var/random = rand(450,700) - random = random / 10 - exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms") - if(message == "text") - src << "\icon[origin_atom] Received text message from [origin_atom]: \"[text]\"" - src << 'sound/machines/defib_safetyOff.ogg' - exonet_messages.Add("From [origin_atom]:
[text]") - return - // Proc: register_device() // Parameters: 1 (user - the person to use their name for) // Description: Updates the owner's name and the device's name. @@ -553,252 +275,13 @@ var/global/list/obj/item/device/communicator/all_communicators = list() camera.name = name camera.c_tag = name -// Proc: add_communicating() -// Parameters: 1 (comm - the communicator to add to communicating) -// Description: Used when this communicator gets a new communicator to relay say/me messages to -/obj/item/device/communicator/proc/add_communicating(obj/item/device/communicator/comm) - if(!comm || !istype(comm)) return - - communicating |= comm - listening_objects |= src - update_icon() - -// Proc: del_communicating() -// Parameters: 1 (comm - the communicator to remove from communicating) -// Description: Used when this communicator is being asked to stop relaying say/me messages to another -/obj/item/device/communicator/proc/del_communicating(obj/item/device/communicator/comm) - if(!comm || !istype(comm)) return - - communicating.Remove(comm) - update_icon() - -// Proc: open_connection() -// Parameters: 2 (user - the person who initiated the connecting being opened, candidate - the communicator or observer that will connect to the device) -// Description: Typechecks the candidate, then calls the correct proc for further connecting. -/obj/item/device/communicator/proc/open_connection(mob/user, var/atom/candidate) - if(isobserver(candidate)) - voice_invites.Remove(candidate) - open_connection_to_ghost(user, candidate) - else - if(istype(candidate, /obj/item/device/communicator)) - open_connection_to_communicator(user, candidate) - -// Proc: open_connection_to_communicator() -// Parameters: 2 (user - the person who initiated this and will be receiving feedback information, candidate - someone else's communicator) -// Description: Adds the candidate and src to each other's communicating lists, allowing messages seen by the devices to be relayed. -/obj/item/device/communicator/proc/open_connection_to_communicator(mob/user, var/atom/candidate) - if(!istype(candidate, /obj/item/device/communicator)) - return - var/obj/item/device/communicator/comm = candidate - voice_invites.Remove(candidate) - comm.voice_requests.Remove(src) - - if(user) - comm.visible_message("\icon[src] Connecting to [src].") - user << "\icon[src] Attempting to call [comm]." - sleep(10) - user << "\icon[src] Dialing internally from [station_name()], [system_name()]." // Vorestation edit - sleep(20) //If they don't have an exonet something is very wrong and we want a runtime. - user << "\icon[src] Connection re-routed to [comm] at [comm.exonet.address]." - sleep(40) - user << "\icon[src] Connection to [comm] at [comm.exonet.address] established." - comm.visible_message("\icon[src] Connection to [src] at [exonet.address] established.") - sleep(20) - - src.add_communicating(comm) - comm.add_communicating(src) - -// Proc: open_connection_to_ghost() -// Parameters: 2 (user - the person who initiated this, candidate - the ghost that will be turned into a voice mob) -// Description: Pulls the candidate ghost from deadchat, makes a new voice mob, transfers their identity, then their client. -/obj/item/device/communicator/proc/open_connection_to_ghost(mob/user, var/mob/candidate) - if(!isobserver(candidate)) - return - //Handle moving the ghost into the new shell. - announce_ghost_joinleave(candidate, 0, "They are occupying a personal communications device now.") - voice_requests.Remove(candidate) - voice_invites.Remove(candidate) - var/mob/living/voice/new_voice = new /mob/living/voice(src) //Make the voice mob the ghost is going to be. - new_voice.transfer_identity(candidate) //Now make the voice mob load from the ghost's active character in preferences. - //Do some simple logging since this is a tad risky as a concept. - var/msg = "[candidate && candidate.client ? "[candidate.client.key]" : "*no key*"] ([candidate]) has entered [src], triggered by \ - [user && user.client ? "[user.client.key]" : "*no key*"] ([user ? "[user]" : "*null*"]) at [x],[y],[z]. They have joined as [new_voice.name]." - message_admins(msg) - log_game(msg) - new_voice.mind = candidate.mind //Transfer the mind, if any. - new_voice.ckey = candidate.ckey //Finally, bring the client over. - voice_mobs.Add(new_voice) - listening_objects |= src - - var/obj/screen/blackness = new() //Makes a black screen, so the candidate can't see what's going on before actually 'connecting' to the communicator. - blackness.screen_loc = ui_entire_screen - blackness.icon = 'icons/effects/effects.dmi' - blackness.icon_state = "1" - blackness.mouse_opacity = 2 //Can't see anything! - new_voice.client.screen.Add(blackness) - - update_icon() - - //Now for some connection fluff. - if(user) - user << "\icon[src] Connecting to [candidate]." - new_voice << "\icon[src] Attempting to call [src]." - sleep(10) - new_voice << "\icon[src] Dialing to [station_name()], Kara Subsystem, [system_name()]." - sleep(20) - new_voice << "\icon[src] Connecting to [station_name()] telecommunications array." - sleep(40) - new_voice << "\icon[src] Connection to [station_name()] telecommunications array established. Redirecting signal to [src]." - sleep(20) - - //We're connected, no need to hide everything. - new_voice.client.screen.Remove(blackness) - qdel(blackness) - - new_voice << "\icon[src] Connection to [src] established." - new_voice << "To talk to the person on the other end of the call, just talk normally." - new_voice << "If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time." - new_voice << "Remember, your character does not know anything you've learned from observing!" - if(new_voice.mind) - new_voice.mind.assigned_role = "Disembodied Voice" - if(user) - user << "\icon[src] Your communicator is now connected to [candidate]'s communicator." - -// Proc: close_connection() -// Parameters: 3 (user - the user who initiated the disconnect, target - the mob or device being disconnected, reason - string shown when disconnected) -// Description: Deletes specific voice_mobs or disconnects communicators, and shows a message to everyone when doing so. If target is null, all communicators -// and voice mobs are removed. -/obj/item/device/communicator/proc/close_connection(mob/user, var/atom/target, var/reason) - if(voice_mobs.len == 0 && communicating.len == 0) - return - - for(var/mob/living/voice/voice in voice_mobs) //Handle ghost-callers - if(target && voice != target) //If no target is inputted, it deletes all of them. - continue - voice << "\icon[src] [reason]." - visible_message("\icon[src] [reason].") - voice_mobs.Remove(voice) - qdel(voice) - update_icon() - - for(var/obj/item/device/communicator/comm in communicating) //Now we handle real communicators. - if(target && comm != target) - continue - src.del_communicating(comm) - comm.del_communicating(src) - comm.visible_message("\icon[src] [reason].") - visible_message("\icon[src] [reason].") - if(comm.camera && video_source == comm.camera) //We hung up on the person on video - end_video() - if(camera && comm.video_source == camera) //We hung up on them while they were watching us - comm.end_video() - - if(voice_mobs.len == 0 && communicating.len == 0) - listening_objects.Remove(src) - -// Proc: request() -// Parameters: 1 (candidate - the ghost or communicator wanting to call the device) -// Description: Response to a communicator or observer trying to call the device. Adds them to the list of requesters -/obj/item/device/communicator/proc/request(var/atom/candidate) - if(candidate in voice_requests) - return - var/who = null - if(isobserver(candidate)) - who = candidate.name - else if(istype(candidate, /obj/item/device/communicator)) - var/obj/item/device/communicator/comm = candidate - who = comm.owner - comm.voice_invites |= src - - if(!who) - return - - voice_requests |= candidate - - if(ringer) - playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(2, loc)) - O.show_message(text("\icon[src] *beep*")) - - alert_called = 1 - update_icon() - - //Search for holder of the device. - var/mob/living/L = null - if(loc && isliving(loc)) - L = loc - - if(L) - L << "\icon[src] Communications request from [who]." - -// Proc: del_request() -// Parameters: 1 (candidate - the ghost or communicator to be declined) -// Description: Declines a request and cleans up both ends -/obj/item/device/communicator/proc/del_request(var/atom/candidate) - if(!(candidate in voice_requests)) - return - - if(isobserver(candidate)) - candidate << "Your communicator call request was declined." - else if(istype(candidate, /obj/item/device/communicator)) - var/obj/item/device/communicator/comm = candidate - comm.voice_invites -= src - - voice_requests -= candidate - - //Search for holder of our device. - var/mob/living/us = null - if(loc && isliving(loc)) - us = loc - - if(us) - us << "\icon[src] Declined request." - -// Proc: request_im() -// Parameters: 3 (candidate - the communicator wanting to message the device, origin_address - the address of the sender, text - the message) -// Description: Response to a communicator trying to message the device. -// Adds them to the list of people that have messaged this device and adds the message to the message list. -/obj/item/device/communicator/proc/request_im(var/atom/candidate, var/origin_address, var/text) - var/who = null - if(isobserver(candidate)) - var/mob/observer/dead/ghost = candidate - who = ghost - im_list += list(list("address" = origin_address, "to_address" = exonet.address, "im" = text)) - else if(istype(candidate, /obj/item/device/communicator)) - var/obj/item/device/communicator/comm = candidate - who = comm.owner - comm.im_contacts |= src - im_list += list(list("address" = origin_address, "to_address" = exonet.address, "im" = text)) - else return - - im_contacts |= candidate - - if(!who) - return - - if(ringer) - playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(2, loc)) - O.show_message(text("\icon[src] *beep*")) - - alert_called = 1 - update_icon() - - //Search for holder of the device. - var/mob/living/L = null - if(loc && isliving(loc)) - L = loc - - if(L) - L << "\icon[src] Message from [who]." - // Proc: Destroy() // Parameters: None // Description: Deletes all the voice mobs, disconnects all linked communicators, and cuts lists to allow successful qdel() /obj/item/device/communicator/Destroy() for(var/mob/living/voice/voice in contents) voice_mobs.Remove(voice) - voice << "\icon[src] Connection timed out with remote host." + to_chat(voice, "\icon[src] Connection timed out with remote host.") qdel(voice) close_connection(reason = "Connection timed out") communicating.Cut() @@ -832,314 +315,6 @@ var/global/list/obj/item/device/communicator/all_communicators = list() icon_state = initial(icon_state) -// Proc: see_emote() -// Parameters: 2 (M - the mob the emote originated from, text - the emote's contents) -// Description: Relays the emote to all linked communicators. -/obj/item/device/communicator/see_emote(mob/living/M, text) - var/rendered = "\icon[src] [text]" - for(var/obj/item/device/communicator/comm in communicating) - var/turf/T = get_turf(comm) - if(!T) return - var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) //Range of 3 since it's a tiny video display - var/list/mobs_to_relay = in_range["mobs"] - - for(var/mob/mob in mobs_to_relay) //We can't use visible_message(), or else we will get an infinite loop if two communicators hear each other. - var/dst = get_dist(get_turf(mob),get_turf(comm)) - if(dst <= video_range) - mob.show_message(rendered) - else - mob << "You can barely see some movement on \the [src]'s display." - - ..() - -// Proc: hear_talk() -// Parameters: 4 (M - the mob the speech originated from, text - what is being said, verb - the word used to describe how text is being said, speaking - language -// being used) -// Description: Relays the speech to all linked communicators. -/obj/item/device/communicator/hear_talk(mob/living/M, text, verb, datum/language/speaking) - for(var/obj/item/device/communicator/comm in communicating) - - var/turf/T = get_turf(comm) - if(!T) return - var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) - var/list/mobs_to_relay = in_range["mobs"] - - for(var/mob/mob in mobs_to_relay) - //Can whoever is hearing us understand? - if(!mob.say_understands(M, speaking)) - if(speaking) - text = speaking.scramble(text) - else - text = stars(text) - var/name_used = M.GetVoice() - var/rendered = null - if(speaking) //Language being used - rendered = "\icon[src] [name_used] [speaking.format_message(text, verb)]" - else - rendered = "\icon[src] [name_used] [verb], \"[text]\"" - mob.show_message(rendered, 2) - -// Proc: show_message() -// Parameters: 4 (msg - the message, type - number to determine if message is visible or audible, alt - unknown, alt_type - unknown) -// Description: Relays the message to all linked communicators. -/obj/item/device/communicator/show_message(msg, type, alt, alt_type) - var/rendered = "\icon[src] [msg]" - for(var/obj/item/device/communicator/comm in communicating) - var/turf/T = get_turf(comm) - if(!T) return - var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) - var/list/mobs_to_relay = in_range["mobs"] - - for(var/mob/mob in mobs_to_relay) - mob.show_message(rendered) - ..() - -// Verb: join_as_voice() -// Parameters: None -// Description: Allows ghosts to call communicators, if they meet all the requirements. -/mob/observer/dead/verb/join_as_voice() - set category = "Ghost" - set name = "Call Communicator" - set desc = "If there is a communicator available, send a request to speak through it. This will reset your respawn timer, if someone picks up." - - if(ticker.current_state < GAME_STATE_PLAYING) - src << "The game hasn't started yet!" - return - - if (!src.stat) - return - - if (usr != src) - return //something is terribly wrong - - var/confirm = alert(src, "Would you like to talk as [src.client.prefs.real_name], over a communicator? \ - This will reset your respawn timer, if someone answers.", "Join as Voice?", "Yes","No") - if(confirm == "No") - return - - for(var/mob/living/L in mob_list) //Simple check so you don't have dead people calling. - if(src.client.prefs.real_name == L.real_name) - src << "Your identity is already present in the game world. Please load in a different character first." - return - - var/obj/machinery/exonet_node/E = get_exonet_node() - if(!E || !E.on || !E.allow_external_communicators) - src << "The Exonet node at telecommunications is down at the moment, or is actively blocking you, so your call can't go through." - return - - var/list/choices = list() - for(var/obj/item/device/communicator/comm in all_communicators) - if(!comm.network_visibility || !comm.exonet || !comm.exonet.address) - continue - choices.Add(comm) - - if(!choices.len) - src << "There are no available communicators, sorry." - return - - var/choice = input(src,"Send a voice request to whom?") as null|anything in choices - if(choice) - var/obj/item/device/communicator/chosen_communicator = choice - var/mob/observer/dead/O = src - if(O.exonet) - O.exonet.send_message(chosen_communicator.exonet.address, "voice") - - src << "A communications request has been sent to [chosen_communicator]. Now you need to wait until someone answers." - -// Verb: text_communicator() -// Parameters: None -// Description: Allows a ghost to send a text message to a communicator. -/mob/observer/dead/verb/text_communicator() - set category = "Ghost" - set name = "Text Communicator" - set desc = "If there is a communicator available, send a text message to it." - - if(ticker.current_state < GAME_STATE_PLAYING) - src << "The game hasn't started yet!" - return - - if (!src.stat) - return - - if (usr != src) - return //something is terribly wrong - - for(var/mob/living/L in mob_list) //Simple check so you don't have dead people calling. - if(src.client.prefs.real_name == L.real_name) - src << "Your identity is already present in the game world. Please load in a different character first." - return - - var/obj/machinery/exonet_node/E = get_exonet_node() - if(!E || !E.on || !E.allow_external_communicators) - src << "The Exonet node at telecommunications is down at the moment, or is actively blocking you, so your call can't go through." - return - - var/list/choices = list() - for(var/obj/item/device/communicator/comm in all_communicators) - if(!comm.network_visibility || !comm.exonet || !comm.exonet.address) - continue - choices.Add(comm) - - if(!choices.len) - src << "There are no available communicators, sorry." - return - - var/choice = input(src,"Send a text message to whom?") as null|anything in choices - if(choice) - var/obj/item/device/communicator/chosen_communicator = choice - var/mob/observer/dead/O = src - var/text_message = sanitize(input(src, "What do you want the message to say?")) as message - if(text_message && O.exonet) - O.exonet.send_message(chosen_communicator.exonet.address, "text", text_message) - - src << "You have sent '[text_message]' to [chosen_communicator]." - exonet_messages.Add("To [chosen_communicator]:
[text_message]") - log_pda("[usr] (COMM: [src]) sent \"[text_message]\" to [chosen_communicator]") - for(var/mob/M in player_list) - if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) - if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat) - continue - if(M == src) - continue - M.show_message("Comm IM - [src] -> [chosen_communicator]: [text_message]") - - - -// Verb: show_text_messages() -// Parameters: None -// Description: Lets ghosts review messages they've sent or received. -/mob/observer/dead/verb/show_text_messages() - set category = "Ghost" - set name = "Show Text Messages" - set desc = "Allows you to see exonet text messages you've sent and received." - - var/HTML = "Exonet Message Log" - for(var/line in exonet_messages) - HTML += line + "
" - HTML +="" - usr << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0") - -// Proc: connect_video() -// Parameters: user - the mob doing the viewing of video, comm - the communicator at the far end -// Description: Sets up a videocall and puts the first view into it using watch_video, and updates the icon -/obj/item/device/communicator/proc/connect_video(mob/user,obj/item/device/communicator/comm) - if((!user) || (!comm) || user.stat) return //KO or dead, or already in a video - - if(video_source) //Already in a video - user << "You are already connected to a video call!" - return - - if(user.blinded) //User is blinded - user << "You cannot see well enough to do that!" - return - - if(!(src in comm.communicating) || !comm.camera) //You called someone with a broken communicator or one that's fake or yourself or something - user << "\icon[src]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning." - return - - var/turf/t1 = get_turf(src) - var/turf/t2 = get_turf(comm) - if(!is_on_same_plane_or_station(t1.z, t2.z) || !video_source.can_use()) - user << "Request to establish video timed out!" - return - - user << "\icon[src] Attempting to start video over existing call." - sleep(30) - user << "\icon[src] Please wait..." - - video_source = comm.camera - comm.visible_message("\icon[src] New video connection from [comm].") - watch_video(user) - update_icon() - -// Proc: watch_video() -// Parameters: user - the mob doing the viewing of video -// Description: Moves a mob's eye to the far end for the duration of viewing the far end -/obj/item/device/communicator/proc/watch_video(mob/user) - if(!Adjacent(user) || !video_source) return - user.set_machine(video_source) - user.reset_view(video_source) - to_chat(user,"Now viewing video session. To leave camera view, close the communicator window OR: OOC -> Cancel Camera View") - to_chat(user,"To return to an active video session, use the communicator in your hand.") - spawn(0) - while(user.machine == video_source && (Adjacent(user) || loc == user)) - var/turf/T = get_turf(video_source) - if(!T || !is_on_same_plane_or_station(T.z, user.z) || !video_source.can_use()) - user << "The screen bursts into static, then goes black." - video_cleanup(user) - return - sleep(10) - - video_cleanup(user) - -// Proc: video_cleanup() -// Parameters: user - the mob who doesn't want to see video anymore -// Description: Cleans up mob's client when they stop watching a video -/obj/item/device/communicator/proc/video_cleanup(mob/user) - if(!user) return - - user.reset_view(null) - user.unset_machine() - -// Proc: end_video() -// Parameters: reason - the text reason to print for why it ended -// Description: Ends the video call by clearing video_source -/obj/item/device/communicator/proc/end_video(var/reason) - video_source = null - - . = "\icon[src] [reason ? reason : "Video session ended"]." - - visible_message(.) - update_icon() - -//For synths who have no hands. -/obj/item/device/communicator/integrated - name = "integrated communicator" - desc = "A circuit used for long-range communications, able to be integrated into a system." - -//A stupid hack because synths don't use languages properly or something. -//I don't want to go digging in saycode for a week, so BS it as translation software or something. - -// Proc: open_connection_to_ghost() -// Parameters: 2 (refer to base definition for arguments) -// Description: Synths don't use languages properly, so this is a bandaid fix until that can be resolved.. -/obj/item/device/communicator/integrated/open_connection_to_ghost(user, candidate) - ..(user, candidate) - spawn(1) - for(var/mob/living/voice/V in contents) - V.universal_speak = 1 - V.universal_understand = 1 - -// Verb: activate() -// Parameters: None -// Description: Lets synths use their communicators without hands. -/obj/item/device/communicator/integrated/verb/activate() - set category = "AI IM" - set name = "Use Communicator" - set desc = "Utilizes your built-in communicator." - set src in usr - - if(usr.stat == 2) - usr << "You can't do that because you are dead!" - return - - src.attack_self(usr) - -// Verb: activate() -// Parameters: None -// Description: Lets synths use their communicators without hands. -/obj/item/device/communicator/integrated/verb/see_video() - set category = "AI IM" - set name = "View Comm. Video" - set desc = "Utilizes your built-in communicator." - set src in usr - - if(usr.stat == 2) - usr << "You can't do that because you are dead!" - return - - src.watch_video(usr) - // A camera preset for spawning in the communicator /obj/machinery/camera/communicator network = list(NETWORK_COMMUNICATORS) diff --git a/code/game/objects/items/devices/communicator/integrated.dm b/code/game/objects/items/devices/communicator/integrated.dm new file mode 100644 index 0000000000..a35d642632 --- /dev/null +++ b/code/game/objects/items/devices/communicator/integrated.dm @@ -0,0 +1,32 @@ +//For synths who have no hands. +/obj/item/device/communicator/integrated + name = "integrated communicator" + desc = "A circuit used for long-range communications, able to be integrated into a system." + +//A stupid hack because synths don't use languages properly or something. +//I don't want to go digging in saycode for a week, so BS it as translation software or something. + +// Proc: open_connection_to_ghost() +// Parameters: 2 (refer to base definition for arguments) +// Description: Synths don't use languages properly, so this is a bandaid fix until that can be resolved.. +/obj/item/device/communicator/integrated/open_connection_to_ghost(user, candidate) + ..(user, candidate) + spawn(1) + for(var/mob/living/voice/V in contents) + V.universal_speak = 1 + V.universal_understand = 1 + +// Verb: activate() +// Parameters: None +// Description: Lets synths use their communicators without hands. +/obj/item/device/communicator/integrated/verb/activate() + set category = "AI IM" + set name = "Use Communicator" + set desc = "Utilizes your built-in communicator." + set src in usr + + if(usr.stat == 2) + to_chat(usr, "You can't do that because you are dead!") + return + + src.attack_self(usr) \ No newline at end of file diff --git a/code/game/objects/items/devices/communicator/messaging.dm b/code/game/objects/items/devices/communicator/messaging.dm new file mode 100644 index 0000000000..c775a70499 --- /dev/null +++ b/code/game/objects/items/devices/communicator/messaging.dm @@ -0,0 +1,162 @@ +// Proc: receive_exonet_message() +// Parameters: 4 (origin atom - the source of the message's holder, origin_address - where the message came from, message - the message received, +// text - message text to send if message is of type "text") +// Description: Handles voice requests and invite messages originating from both real communicators and ghosts. Also includes a ping response and IM function. +/obj/item/device/communicator/receive_exonet_message(var/atom/origin_atom, origin_address, message, text) + if(message == "voice") + if(isobserver(origin_atom) || istype(origin_atom, /obj/item/device/communicator)) + if(origin_atom in voice_invites) + var/user = null + if(ismob(origin_atom.loc)) + user = origin_atom.loc + open_connection(user, origin_atom) + return + else if(origin_atom in voice_requests) + return //Spam prevention + else + request(origin_atom) + if(message == "ping") + if(network_visibility) + var/random = rand(200,350) + random = random / 10 + exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms") + if(message == "text") + request_im(origin_atom, origin_address, text) + return + +// Proc: receive_exonet_message() +// Parameters: 3 (origin atom - the source of the message's holder, origin_address - where the message came from, message - the message received) +// Description: Handles voice requests and invite messages originating from both real communicators and ghosts. Also includes a ping response. +/mob/observer/dead/receive_exonet_message(origin_atom, origin_address, message, text) + if(message == "voice") + if(istype(origin_atom, /obj/item/device/communicator)) + var/obj/item/device/communicator/comm = origin_atom + if(src in comm.voice_invites) + comm.open_connection(src) + return + to_chat(src, "\icon[origin_atom] Receiving communicator request from [origin_atom]. To answer, use the Call Communicator \ + verb, and select that name to answer the call.") + src << 'sound/machines/defib_SafetyOn.ogg' + comm.voice_invites |= src + if(message == "ping") + if(client && client.prefs.communicator_visibility) + var/random = rand(450,700) + random = random / 10 + exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms") + if(message == "text") + to_chat(src, "\icon[origin_atom] Received text message from [origin_atom]: \"[text]\"") + src << 'sound/machines/defib_safetyOff.ogg' + exonet_messages.Add("From [origin_atom]:
[text]") + return + +// Proc: request_im() +// Parameters: 3 (candidate - the communicator wanting to message the device, origin_address - the address of the sender, text - the message) +// Description: Response to a communicator trying to message the device. +// Adds them to the list of people that have messaged this device and adds the message to the message list. +/obj/item/device/communicator/proc/request_im(var/atom/candidate, var/origin_address, var/text) + var/who = null + if(isobserver(candidate)) + var/mob/observer/dead/ghost = candidate + who = ghost + im_list += list(list("address" = origin_address, "to_address" = exonet.address, "im" = text)) + else if(istype(candidate, /obj/item/device/communicator)) + var/obj/item/device/communicator/comm = candidate + who = comm.owner + comm.im_contacts |= src + im_list += list(list("address" = origin_address, "to_address" = exonet.address, "im" = text)) + else return + + im_contacts |= candidate + + if(!who) + return + + if(ringer) + playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) + for (var/mob/O in hearers(2, loc)) + O.show_message(text("\icon[src] *beep*")) + + alert_called = 1 + update_icon() + + //Search for holder of the device. + var/mob/living/L = null + if(loc && isliving(loc)) + L = loc + + if(L) + to_chat(L, "\icon[src] Message from [who].") + +// Verb: text_communicator() +// Parameters: None +// Description: Allows a ghost to send a text message to a communicator. +/mob/observer/dead/verb/text_communicator() + set category = "Ghost" + set name = "Text Communicator" + set desc = "If there is a communicator available, send a text message to it." + + if(ticker.current_state < GAME_STATE_PLAYING) + to_chat(src, "The game hasn't started yet!") + return + + if (!src.stat) + return + + if (usr != src) + return //something is terribly wrong + + for(var/mob/living/L in mob_list) //Simple check so you don't have dead people calling. + if(src.client.prefs.real_name == L.real_name) + to_chat(src, "Your identity is already present in the game world. Please load in a different character first.") + return + + var/obj/machinery/exonet_node/E = get_exonet_node() + if(!E || !E.on || !E.allow_external_communicators) + to_chat(src, "The Exonet node at telecommunications is down at the moment, or is actively blocking you, \ + so your call can't go through.") + return + + var/list/choices = list() + for(var/obj/item/device/communicator/comm in all_communicators) + if(!comm.network_visibility || !comm.exonet || !comm.exonet.address) + continue + choices.Add(comm) + + if(!choices.len) + to_chat(src, "There are no available communicators, sorry.") + return + + var/choice = input(src,"Send a text message to whom?") as null|anything in choices + if(choice) + var/obj/item/device/communicator/chosen_communicator = choice + var/mob/observer/dead/O = src + var/text_message = sanitize(input(src, "What do you want the message to say?")) as message + if(text_message && O.exonet) + O.exonet.send_message(chosen_communicator.exonet.address, "text", text_message) + + to_chat(src, "You have sent '[text_message]' to [chosen_communicator].") + exonet_messages.Add("To [chosen_communicator]:
[text_message]") + log_pda("[usr] (COMM: [src]) sent \"[text_message]\" to [chosen_communicator]") + for(var/mob/M in player_list) + if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat) + continue + if(M == src) + continue + M.show_message("Comm IM - [src] -> [chosen_communicator]: [text_message]") + + + +// Verb: show_text_messages() +// Parameters: None +// Description: Lets ghosts review messages they've sent or received. +/mob/observer/dead/verb/show_text_messages() + set category = "Ghost" + set name = "Show Text Messages" + set desc = "Allows you to see exonet text messages you've sent and received." + + var/HTML = "Exonet Message Log" + for(var/line in exonet_messages) + HTML += line + "
" + HTML +="" + usr << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0") \ No newline at end of file diff --git a/code/game/objects/items/devices/communicator/phone.dm b/code/game/objects/items/devices/communicator/phone.dm new file mode 100644 index 0000000000..293af38f0a --- /dev/null +++ b/code/game/objects/items/devices/communicator/phone.dm @@ -0,0 +1,380 @@ +// Proc: add_communicating() +// Parameters: 1 (comm - the communicator to add to communicating) +// Description: Used when this communicator gets a new communicator to relay say/me messages to +/obj/item/device/communicator/proc/add_communicating(obj/item/device/communicator/comm) + if(!comm || !istype(comm)) return + + communicating |= comm + listening_objects |= src + update_icon() + +// Proc: del_communicating() +// Parameters: 1 (comm - the communicator to remove from communicating) +// Description: Used when this communicator is being asked to stop relaying say/me messages to another +/obj/item/device/communicator/proc/del_communicating(obj/item/device/communicator/comm) + if(!comm || !istype(comm)) return + + communicating.Remove(comm) + update_icon() + +// Proc: open_connection() +// Parameters: 2 (user - the person who initiated the connecting being opened, candidate - the communicator or observer that will connect to the device) +// Description: Typechecks the candidate, then calls the correct proc for further connecting. +/obj/item/device/communicator/proc/open_connection(mob/user, var/atom/candidate) + if(isobserver(candidate)) + voice_invites.Remove(candidate) + open_connection_to_ghost(user, candidate) + else + if(istype(candidate, /obj/item/device/communicator)) + open_connection_to_communicator(user, candidate) + +// Proc: open_connection_to_communicator() +// Parameters: 2 (user - the person who initiated this and will be receiving feedback information, candidate - someone else's communicator) +// Description: Adds the candidate and src to each other's communicating lists, allowing messages seen by the devices to be relayed. +/obj/item/device/communicator/proc/open_connection_to_communicator(mob/user, var/atom/candidate) + if(!istype(candidate, /obj/item/device/communicator)) + return + var/obj/item/device/communicator/comm = candidate + voice_invites.Remove(candidate) + comm.voice_requests.Remove(src) + + if(user) + comm.visible_message("\icon[src] Connecting to [src].") + to_chat(user, "\icon[src] Attempting to call [comm].") + sleep(10) + to_chat(user, "\icon[src] Dialing internally from [station_name()], [system_name()].") // Vorestation edit + sleep(20) //If they don't have an exonet something is very wrong and we want a runtime. + to_chat(user, "\icon[src] Connection re-routed to [comm] at [comm.exonet.address].") + sleep(40) + to_chat(user, "\icon[src] Connection to [comm] at [comm.exonet.address] established.") + comm.visible_message("\icon[src] Connection to [src] at [exonet.address] established.") + sleep(20) + + src.add_communicating(comm) + comm.add_communicating(src) + +// Proc: open_connection_to_ghost() +// Parameters: 2 (user - the person who initiated this, candidate - the ghost that will be turned into a voice mob) +// Description: Pulls the candidate ghost from deadchat, makes a new voice mob, transfers their identity, then their client. +/obj/item/device/communicator/proc/open_connection_to_ghost(mob/user, var/mob/candidate) + if(!isobserver(candidate)) + return + //Handle moving the ghost into the new shell. + announce_ghost_joinleave(candidate, 0, "They are occupying a personal communications device now.") + voice_requests.Remove(candidate) + voice_invites.Remove(candidate) + var/mob/living/voice/new_voice = new /mob/living/voice(src) //Make the voice mob the ghost is going to be. + new_voice.transfer_identity(candidate) //Now make the voice mob load from the ghost's active character in preferences. + //Do some simple logging since this is a tad risky as a concept. + var/msg = "[candidate && candidate.client ? "[candidate.client.key]" : "*no key*"] ([candidate]) has entered [src], triggered by \ + [user && user.client ? "[user.client.key]" : "*no key*"] ([user ? "[user]" : "*null*"]) at [x],[y],[z]. They have joined as [new_voice.name]." + message_admins(msg) + log_game(msg) + new_voice.mind = candidate.mind //Transfer the mind, if any. + new_voice.ckey = candidate.ckey //Finally, bring the client over. + voice_mobs.Add(new_voice) + listening_objects |= src + + var/obj/screen/blackness = new() //Makes a black screen, so the candidate can't see what's going on before actually 'connecting' to the communicator. + blackness.screen_loc = ui_entire_screen + blackness.icon = 'icons/effects/effects.dmi' + blackness.icon_state = "1" + blackness.mouse_opacity = 2 //Can't see anything! + new_voice.client.screen.Add(blackness) + + update_icon() + + //Now for some connection fluff. + if(user) + to_chat(user, "\icon[src] Connecting to [candidate].") + to_chat(new_voice, "\icon[src] Attempting to call [src].") + sleep(10) + to_chat(new_voice, "\icon[src] Dialing to [station_name()], Kara Subsystem, [system_name()].") + sleep(20) + to_chat(new_voice, "\icon[src] Connecting to [station_name()] telecommunications array.") + sleep(40) + to_chat(new_voice, "\icon[src] Connection to [station_name()] telecommunications array established. Redirecting signal to [src].") + sleep(20) + + //We're connected, no need to hide everything. + new_voice.client.screen.Remove(blackness) + qdel(blackness) + + to_chat(new_voice, "\icon[src] Connection to [src] established.") + to_chat(new_voice, "To talk to the person on the other end of the call, just talk normally.") + to_chat(new_voice, "If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.") + to_chat(new_voice, "Remember, your character does not know anything you've learned from observing!") + if(new_voice.mind) + new_voice.mind.assigned_role = "Disembodied Voice" + if(user) + to_chat(user, "\icon[src] Your communicator is now connected to [candidate]'s communicator.") + +// Proc: close_connection() +// Parameters: 3 (user - the user who initiated the disconnect, target - the mob or device being disconnected, reason - string shown when disconnected) +// Description: Deletes specific voice_mobs or disconnects communicators, and shows a message to everyone when doing so. If target is null, all communicators +// and voice mobs are removed. +/obj/item/device/communicator/proc/close_connection(mob/user, var/atom/target, var/reason) + if(voice_mobs.len == 0 && communicating.len == 0) + return + + for(var/mob/living/voice/voice in voice_mobs) //Handle ghost-callers + if(target && voice != target) //If no target is inputted, it deletes all of them. + continue + to_chat(voice, "\icon[src] [reason].") + visible_message("\icon[src] [reason].") + voice_mobs.Remove(voice) + qdel(voice) + update_icon() + + for(var/obj/item/device/communicator/comm in communicating) //Now we handle real communicators. + if(target && comm != target) + continue + src.del_communicating(comm) + comm.del_communicating(src) + comm.visible_message("\icon[src] [reason].") + visible_message("\icon[src] [reason].") + if(comm.camera && video_source == comm.camera) //We hung up on the person on video + end_video() + if(camera && comm.video_source == camera) //We hung up on them while they were watching us + comm.end_video() + + if(voice_mobs.len == 0 && communicating.len == 0) + listening_objects.Remove(src) + +// Proc: request() +// Parameters: 1 (candidate - the ghost or communicator wanting to call the device) +// Description: Response to a communicator or observer trying to call the device. Adds them to the list of requesters +/obj/item/device/communicator/proc/request(var/atom/candidate) + if(candidate in voice_requests) + return + var/who = null + if(isobserver(candidate)) + who = candidate.name + else if(istype(candidate, /obj/item/device/communicator)) + var/obj/item/device/communicator/comm = candidate + who = comm.owner + comm.voice_invites |= src + + if(!who) + return + + voice_requests |= candidate + + if(ringer) + playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) + for (var/mob/O in hearers(2, loc)) + O.show_message(text("\icon[src] *beep*")) + + alert_called = 1 + update_icon() + + //Search for holder of the device. + var/mob/living/L = null + if(loc && isliving(loc)) + L = loc + + if(L) + to_chat(L, "\icon[src] Communications request from [who].") + +// Proc: del_request() +// Parameters: 1 (candidate - the ghost or communicator to be declined) +// Description: Declines a request and cleans up both ends +/obj/item/device/communicator/proc/del_request(var/atom/candidate) + if(!(candidate in voice_requests)) + return + + if(isobserver(candidate)) + to_chat(candidate, "Your communicator call request was declined.") + else if(istype(candidate, /obj/item/device/communicator)) + var/obj/item/device/communicator/comm = candidate + comm.voice_invites -= src + + voice_requests -= candidate + + //Search for holder of our device. + var/mob/living/us = null + if(loc && isliving(loc)) + us = loc + + if(us) + to_chat(us, "\icon[src] Declined request.") + +// Proc: see_emote() +// Parameters: 2 (M - the mob the emote originated from, text - the emote's contents) +// Description: Relays the emote to all linked communicators. +/obj/item/device/communicator/see_emote(mob/living/M, text) + var/rendered = "\icon[src] [text]" + for(var/obj/item/device/communicator/comm in communicating) + var/turf/T = get_turf(comm) + if(!T) return + var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) //Range of 3 since it's a tiny video display + var/list/mobs_to_relay = in_range["mobs"] + + for(var/mob/mob in mobs_to_relay) //We can't use visible_message(), or else we will get an infinite loop if two communicators hear each other. + var/dst = get_dist(get_turf(mob),get_turf(comm)) + if(dst <= video_range) + mob.show_message(rendered) + else + to_chat(mob, "You can barely see some movement on \the [src]'s display.") + + ..() + +// Proc: hear_talk() +// Parameters: 4 (M - the mob the speech originated from, text - what is being said, verb - the word used to describe how text is being said, speaking - language +// being used) +// Description: Relays the speech to all linked communicators. +/obj/item/device/communicator/hear_talk(mob/living/M, text, verb, datum/language/speaking) + for(var/obj/item/device/communicator/comm in communicating) + + var/turf/T = get_turf(comm) + if(!T) return + var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) + var/list/mobs_to_relay = in_range["mobs"] + + for(var/mob/mob in mobs_to_relay) + //Can whoever is hearing us understand? + if(!mob.say_understands(M, speaking)) + if(speaking) + text = speaking.scramble(text) + else + text = stars(text) + var/name_used = M.GetVoice() + var/rendered = null + if(speaking) //Language being used + rendered = "\icon[src] [name_used] [speaking.format_message(text, verb)]" + else + rendered = "\icon[src] [name_used] [verb], \"[text]\"" + mob.show_message(rendered, 2) + +// Proc: show_message() +// Parameters: 4 (msg - the message, type - number to determine if message is visible or audible, alt - unknown, alt_type - unknown) +// Description: Relays the message to all linked communicators. +/obj/item/device/communicator/show_message(msg, type, alt, alt_type) + var/rendered = "\icon[src] [msg]" + for(var/obj/item/device/communicator/comm in communicating) + var/turf/T = get_turf(comm) + if(!T) return + var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) + var/list/mobs_to_relay = in_range["mobs"] + + for(var/mob/mob in mobs_to_relay) + mob.show_message(rendered) + ..() + +// Verb: join_as_voice() +// Parameters: None +// Description: Allows ghosts to call communicators, if they meet all the requirements. +/mob/observer/dead/verb/join_as_voice() + set category = "Ghost" + set name = "Call Communicator" + set desc = "If there is a communicator available, send a request to speak through it. This will reset your respawn timer, if someone picks up." + + if(ticker.current_state < GAME_STATE_PLAYING) + to_chat(src, "The game hasn't started yet!") + return + + if (!src.stat) + return + + if (usr != src) + return //something is terribly wrong + + var/confirm = alert(src, "Would you like to talk as [src.client.prefs.real_name], over a communicator? \ + This will reset your respawn timer, if someone answers.", "Join as Voice?", "Yes","No") + if(confirm == "No") + return + + for(var/mob/living/L in mob_list) //Simple check so you don't have dead people calling. + if(src.client.prefs.real_name == L.real_name) + to_chat(src, "Your identity is already present in the game world. Please load in a different character first.") + return + + var/obj/machinery/exonet_node/E = get_exonet_node() + if(!E || !E.on || !E.allow_external_communicators) + to_chat(src, "The Exonet node at telecommunications is down at the moment, or is actively blocking you, \ + so your call can't go through.") + return + + var/list/choices = list() + for(var/obj/item/device/communicator/comm in all_communicators) + if(!comm.network_visibility || !comm.exonet || !comm.exonet.address) + continue + choices.Add(comm) + + if(!choices.len) + to_chat(src , "There are no available communicators, sorry.") + return + + var/choice = input(src,"Send a voice request to whom?") as null|anything in choices + if(choice) + var/obj/item/device/communicator/chosen_communicator = choice + var/mob/observer/dead/O = src + if(O.exonet) + O.exonet.send_message(chosen_communicator.exonet.address, "voice") + + to_chat(src, "A communications request has been sent to [chosen_communicator]. Now you need to wait until someone answers.") + +// Proc: connect_video() +// Parameters: user - the mob doing the viewing of video, comm - the communicator at the far end +// Description: Sets up a videocall and puts the first view into it using watch_video, and updates the icon +/obj/item/device/communicator/proc/connect_video(mob/user,obj/item/device/communicator/comm) + if((!user) || (!comm) || user.stat) return //KO or dead, or already in a video + + if(video_source) //Already in a video + to_chat(user, "You are already connected to a video call!") + + if(user.blinded) //User is blinded + to_chat(user, "You cannot see well enough to do that!") + + if(!(src in comm.communicating) || !comm.camera) //You called someone with a broken communicator or one that's fake or yourself or something + to_chat(user, "\icon[src]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning.") + + to_chat(user, "\icon[src] Attempting to start video over existing call.") + sleep(30) + to_chat(user, "\icon[src] Please wait...") + + video_source = comm.camera + comm.visible_message("\icon[src] New video connection from [comm].") + watch_video(user) + update_icon() + +// Proc: watch_video() +// Parameters: user - the mob doing the viewing of video +// Description: Moves a mob's eye to the far end for the duration of viewing the far end +/obj/item/device/communicator/proc/watch_video(mob/user) + if(!Adjacent(user) || !video_source) return + user.set_machine(video_source) + user.reset_view(video_source) + to_chat(user,"Now viewing video session. To leave camera view, close the communicator window OR: OOC -> Cancel Camera View") + to_chat(user,"To return to an active video session, use the communicator in your hand.") + spawn(0) + while(user.machine == video_source && Adjacent(user)) + var/turf/T = get_turf(video_source) + if(!T || !is_on_same_plane_or_station(T.z, user.z) || !video_source.can_use()) + user << "The screen bursts into static, then goes black." + video_cleanup(user) + return + sleep(10) + + video_cleanup(user) + +// Proc: video_cleanup() +// Parameters: user - the mob who doesn't want to see video anymore +// Description: Cleans up mob's client when they stop watching a video +/obj/item/device/communicator/proc/video_cleanup(mob/user) + if(!user) return + + user.reset_view(null) + user.unset_machine() + +// Proc: end_video() +// Parameters: reason - the text reason to print for why it ended +// Description: Ends the video call by clearing video_source +/obj/item/device/communicator/proc/end_video(var/reason) + video_source = null + + . = "\icon[src] [reason ? reason : "Video session ended"]." + + visible_message(.) + update_icon() + diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index cfd3b398e3..fd997a03c5 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -141,7 +141,7 @@ user.visible_message("\The [user] directs [src] to [M]'s eyes.", \ "You direct [src] to [M]'s eyes.") - if(H == user) //can't look into your own eyes buster + if(H != user) //can't look into your own eyes buster if(M.stat == DEAD || M.blinded) //mob is dead or fully blind user << "\The [M]'s pupils do not react to the light!" return diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index e4c1bb3f20..f3bc620d08 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -26,7 +26,7 @@ /obj/item/device/powersink/Destroy() processing_objects.Remove(src) - processing_power_items.Remove(src) + STOP_PROCESSING_POWER_OBJECT(src) ..() /obj/item/device/powersink/attackby(var/obj/item/I, var/mob/user) @@ -50,7 +50,7 @@ else if (mode == 2) processing_objects.Remove(src) // Now the power sink actually stops draining the station's power if you unhook it. --NeoFite - processing_power_items.Remove(src) + STOP_PROCESSING_POWER_OBJECT(src) anchored = 0 mode = 0 src.visible_message("[user] detaches [src] from the cable!") @@ -74,14 +74,14 @@ mode = 2 icon_state = "powersink1" processing_objects.Add(src) - processing_power_items.Add(src) + START_PROCESSING_POWER_OBJECT(src) if(2) //This switch option wasn't originally included. It exists now. --NeoFite src.visible_message("[user] deactivates [src]!") mode = 1 set_light(0) icon_state = "powersink0" processing_objects.Remove(src) - processing_power_items.Remove(src) + STOP_PROCESSING_POWER_OBJECT(src) /obj/item/device/powersink/pwr_drain() if(!attached) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 3223e26649..1d515e863b 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -52,6 +52,7 @@ /obj/item/weapon/implant/Destroy() if(part) part.implants.Remove(src) + part = null return ..() /obj/item/weapon/implant/attackby(obj/item/I, mob/user) diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 7b6e6184f1..375c6eee68 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -100,3 +100,4 @@ icon_state = "survivalknife" item_state = "knife" applies_material_colour = FALSE + should_cleave = FALSE diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 6afacb30cb..d66cd3efab 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -32,6 +32,13 @@ origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1) attack_verb = list("chopped", "torn", "cut") applies_material_colour = 0 + var/should_cleave = TRUE // Because knives inherit from hatchets. For some reason. + +// This cannot go into afterattack since some mobs delete themselves upon dying. +/obj/item/weapon/material/hatchet/pre_attack(var/mob/living/target, var/mob/living/user) + if(should_cleave && istype(target)) + cleave(user, target) + ..() /obj/item/weapon/material/hatchet/unathiknife name = "duelling knife" @@ -39,6 +46,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "unathiknife" attack_verb = list("ripped", "torn", "cut") + should_cleave = FALSE var hits = 0 /obj/item/weapon/material/hatchet/unathiknife/attack(mob/M as mob, mob/user as mob) @@ -56,6 +64,7 @@ hits = initial(hits) ..() +// These probably shouldn't inherit from hatchets. /obj/item/weapon/material/hatchet/tacknife name = "tactical knife" desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Space." @@ -64,6 +73,7 @@ item_state = "knife" attack_verb = list("stabbed", "chopped", "cut") applies_material_colour = 1 + should_cleave = FALSE /obj/item/weapon/material/hatchet/tacknife/combatknife name = "combat knife" @@ -75,6 +85,7 @@ thrown_force_divisor = 1.75 // 20 with weight 20 (steel) attack_verb = list("sliced", "stabbed", "chopped", "cut") applies_material_colour = 1 + should_cleave = FALSE /obj/item/weapon/material/minihoe // -- Numbers name = "mini hoe" diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 2533a07e63..c2952cfc1e 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -97,6 +97,12 @@ icon_state = initial(icon_state) to_chat(user, "\The [src] is de-energised. It's just a regular axe now.") +// This cannot go into afterattack since some mobs delete themselves upon dying. +/obj/item/weapon/melee/energy/axe/pre_attack(var/mob/living/target, var/mob/living/user) + if(istype(target)) + cleave(user, target) + ..() + /obj/item/weapon/melee/energy/axe/suicide_act(mob/user) visible_message("\The [user] swings \the [src] towards \his head! It looks like \he's trying to commit suicide.") return (BRUTELOSS|FIRELOSS) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index a58986b8a6..078548ed3f 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -592,8 +592,9 @@ /obj/item/weapon/storage/attack_self(mob/user as mob) if((user.get_active_hand() == src) || (isrobot(user)) && allow_quick_empty) - src.quick_empty() - return 1 // Is this return even needed? + if(src.verbs.Find(/obj/item/weapon/storage/verb/quick_empty)) + src.quick_empty() + return 1 //Returns the storage depth of an atom. This is the number of storage items the atom is contained in before reaching toplevel (the area). //Returns -1 if the atom was not found on container. diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 4542da3085..82da1a2f33 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -67,10 +67,10 @@ var/list/global/tank_gauge_cache = list() return /obj/item/weapon/tank/Destroy() - qdel(air_contents) + qdel_null(air_contents) processing_objects.Remove(src) - qdel(src.proxyassembly) + qdel_null(src.proxyassembly) if(istype(loc, /obj/item/device/transfer_valve)) var/obj/item/device/transfer_valve/TTV = loc @@ -609,6 +609,10 @@ var/list/global/tank_gauge_cache = list() /obj/item/device/tankassemblyproxy/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here. tank.ignite() //boom (or not boom if you made shijwtty mix) +/obj/item/device/tankassemblyproxy/Destroy() + . = ..() + tank = null + assembly = null /obj/item/weapon/tank/proc/assemble_bomb(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb var/obj/item/device/assembly_holder/S = W diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 33ed9f96e1..c8af607576 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -133,7 +133,7 @@ Frequency: /obj/item/weapon/hand_tele/attack_self(mob/user as mob) var/turf/current_location = get_turf(user)//What turf is the user on? - if(!current_location||current_location.z==2||current_location.z>=7 || current_location.block_tele)//If turf was not found or they're on z level 2 or >7 which does not currently exist. + if(!current_location || current_location.z in using_map.admin_levels || current_location.block_tele)//If turf was not found or they're on z level 2 or >7 which does not currently exist. user << "\The [src] is malfunctioning." return var/list/L = list( ) diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index b78f5d4585..7a619477ea 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -19,6 +19,8 @@ /obj/item/weapon/proc/cleave(var/mob/living/user, var/mob/living/target) if(cleaving) return // We're busy. + if(get_turf(user) == get_turf(target)) + return // Otherwise we would hit all eight surrounding tiles. cleaving = TRUE var/hit_mobs = 0 for(var/mob/living/simple_animal/SA in orange(get_turf(target), 1)) @@ -35,6 +37,13 @@ if(resolve_attackby(SA, user)) // Hit them with the weapon. This won't cause recursive cleaving due to the cleaving variable being set to true. hit_mobs++ + cleave_visual(user, target) + if(hit_mobs) to_chat(user, "You used \the [src] to attack [hit_mobs] other thing\s!") - cleaving = FALSE // We're done now. \ No newline at end of file + cleaving = FALSE // We're done now. + +// This is purely the visual effect of cleaving. +/obj/item/weapon/proc/cleave_visual(var/mob/living/user, var/mob/living/target) + var/obj/effect/temporary_effect/cleave_attack/E = new(get_turf(src)) + E.dir = get_dir(user, target) \ No newline at end of file diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 723998d4da..cd24c90839 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -181,6 +181,9 @@ icon_state = "alienplating" block_tele = TRUE +/turf/simulated/shuttle/floor/alienplating/external // For the outer rim of the UFO, to avoid active edges. +// The actual temperature adjustment is defined if the SC or other future map is compiled. + /turf/simulated/shuttle/plating name = "plating" icon = 'icons/turf/floors.dmi' diff --git a/code/global.dm b/code/global.dm index b630b52074..70d4293e48 100644 --- a/code/global.dm +++ b/code/global.dm @@ -6,9 +6,9 @@ // Items that ask to be called every cycle. var/global/datum/datacore/data_core = null var/global/list/all_areas = list() -var/global/list/machines = list() +var/global/list/machines = list() // TODO - Move into SSmachines var/global/list/processing_objects = list() -var/global/list/processing_power_items = list() +var/global/list/processing_power_items = list() // TODO - Move into SSmachines var/global/list/active_diseases = list() var/global/list/med_hud_users = list() // List of all entities using a medical HUD. var/global/list/sec_hud_users = list() // List of all entities using a security HUD. @@ -107,7 +107,7 @@ var/list/IClog = list() var/list/OOClog = list() var/list/adminlog = list() -var/list/powernets = list() +var/list/powernets = list() // TODO - Move into SSmachines var/Debug2 = 0 var/datum/debug/debugobj diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index de0c88d170..5cc2b690f2 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -192,6 +192,7 @@ var/list/admin_verbs_debug = list( /client/proc/cmd_admin_delete, /client/proc/cmd_debug_del_all, /client/proc/cmd_debug_tog_aliens, + /client/proc/cmd_display_del_log, /client/proc/air_report, /client/proc/reload_admins, /client/proc/reload_eventMs, @@ -309,6 +310,7 @@ var/list/admin_verbs_hideable = list( /client/proc/cmd_debug_using_map, /client/proc/cmd_debug_del_all, /client/proc/cmd_debug_tog_aliens, + /client/proc/cmd_display_del_log, /client/proc/air_report, /client/proc/enable_debug_verbs, /client/proc/roll_dices, diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 7a3eec5ef5..b24c04b6f4 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -277,9 +277,9 @@ /client/proc/cmd_debug_make_powernets() set category = "Debug" set name = "Make Powernets" - makepowernets() - log_admin("[key_name(src)] has remade the powernet. makepowernets() called.") - message_admins("[key_name_admin(src)] has remade the powernets. makepowernets() called.", 0) + SSmachines.makepowernets() + log_admin("[key_name(src)] has remade the powernet. SSmachines.makepowernets() called.") + message_admins("[key_name_admin(src)] has remade the powernets. SSmachines.makepowernets() called.", 0) feedback_add_details("admin_verb","MPWN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_debug_tog_aliens() @@ -291,6 +291,36 @@ message_admins("[key_name_admin(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].", 0) feedback_add_details("admin_verb","TAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/cmd_display_del_log() + set category = "Debug" + set name = "Display del() Log" + set desc = "Display del's log of everything that's passed through it." + + if(!check_rights(R_DEBUG)) return + var/list/dellog = list("List of things that have gone through qdel this round

    ") + sortTim(SSgarbage.items, cmp=/proc/cmp_qdel_item_time, associative = TRUE) + for(var/path in SSgarbage.items) + var/datum/qdel_item/I = SSgarbage.items[path] + dellog += "
  1. [path]
  2. " + + dellog += "
" + + usr << browse(dellog.Join(), "window=dellog") + /client/proc/cmd_admin_grantfullaccess(var/mob/M in mob_list) set category = "Admin" set name = "Grant Full Access" diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index 5e5a176128..e4c5a10d35 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -49,6 +49,7 @@ var/related_accounts_ip = "Requires database" //So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip var/related_accounts_cid = "Requires database" //So admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id - preload_rsc = 0 // This is 0 so we can set it to an URL once the player logs in and have them download the resources from a different server. + preload_rsc = PRELOAD_RSC + var/global/obj/screen/click_catcher/void - + diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index b90161293d..012a74ef6c 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -105,11 +105,6 @@ del(src) return - // Change the way they should download resources. - if(config.resource_urls) - src.preload_rsc = pick(config.resource_urls) - else src.preload_rsc = 1 // If config.resource_urls is not set, preload like normal. - src << "If the title screen is black, resources are still downloading. Please be patient until the title screen appears." @@ -296,8 +291,7 @@ if (holder) sleep(1) else - sleep(5) - stoplag() + stoplag(5) /client/proc/last_activity_seconds() return inactivity / 10 diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 727f66de9a..6975163cc2 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -54,7 +54,7 @@ if(alt_title && !(alt_title in job.alt_titles)) pref.player_alt_titles -= job.title -/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 17, list/splitJobs = list("Chief Medical Officer")) +/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 18, list/splitJobs = list("Chief Medical Officer")) if(!job_master) return @@ -70,13 +70,14 @@ if (!job_master) return for(var/datum/job/job in job_master.occupations) if(job.latejoin_only) continue //VOREStation Code - index += 1 - if((index >= limit) || (job.title in splitJobs)) + if((++index >= limit) || (job.title in splitJobs)) +/******* if((index < limit) && (lastJob != null)) //If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with - //the last job's selection color. Creating a rather nice effect. - for(var/i = 0, i < (limit - index), i += 1) - . += "  " + //the last job's selection color and blank buttons that do nothing. Creating a rather nice effect. + for(var/i = 0, i < (limit - index), i++) + . += "//>  " +*******/ . += "" index = 0 diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index a39b6809c6..8eb3ad56c9 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -17,7 +17,7 @@ species_restricted = list("exclude","Diona") preserve_item = 1 phoronproof = 1 - flash_protection = FLASH_PROTECTION_NONE + flash_protection = FLASH_PROTECTION_MAJOR var/obj/machinery/camera/camera var/list/camera_networks diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index b66c6b8b2d..6404e2a579 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -53,11 +53,9 @@ processing_objects |= src /obj/item/device/electronic_assembly/Destroy() - battery = null + battery = null // It will be qdel'd by ..() if still in our contents processing_objects -= src - for(var/atom/movable/AM in contents) - qdel(AM) - ..() + return ..() /obj/item/device/electronic_assembly/process() handle_idle_power() diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 7d22bc49a4..3e53a069f3 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -25,8 +25,8 @@ power_draw_per_use = 50 // The targeting mechanism uses this. The actual gun uses its own cell for firing if it's an energy weapon. /obj/item/integrated_circuit/manipulation/weapon_firing/Destroy() - qdel(installed_gun) - ..() + installed_gun = null // It will be qdel'd by ..() if still in our contents + return ..() /obj/item/integrated_circuit/manipulation/weapon_firing/attackby(var/obj/O, var/mob/user) if(istype(O, /obj/item/weapon/gun)) diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm index 54b08c74d9..4307149b5f 100644 --- a/code/modules/maps/tg/map_template.dm +++ b/code/modules/maps/tg/map_template.dm @@ -98,7 +98,7 @@ var/list/global/map_templates = list() admin_notice("[i] pipe\s initialized.", R_DEBUG) admin_notice("Rebuilding powernets due to submap creation.", R_DEBUG) - makepowernets() + SSmachines.makepowernets() admin_notice("Submap initializations finished.", R_DEBUG) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 821f655524..75d4fcf836 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -726,8 +726,6 @@ add_clothing_protection(glasses) if(istype(src.wear_mask, /obj/item/clothing/mask)) add_clothing_protection(wear_mask) - if(istype(back,/obj/item/weapon/rig)) - add_clothing_protection(back) return flash_protection diff --git a/code/modules/mob/living/simple_animal/aliens/alien.dm b/code/modules/mob/living/simple_animal/aliens/alien.dm index dbe990e366..d31efe6df8 100644 --- a/code/modules/mob/living/simple_animal/aliens/alien.dm +++ b/code/modules/mob/living/simple_animal/aliens/alien.dm @@ -6,6 +6,7 @@ icon_living = "alienh_running" icon_dead = "alien_l" icon_gib = "syndicate_gib" + icon_rest = "alienh_sleep" faction = "xeno" intelligence_level = SA_HUMANOID @@ -50,6 +51,7 @@ icon_state = "aliend_running" icon_living = "aliend_running" icon_dead = "aliend_l" + icon_rest = "aliend_sleep" health = 60 melee_damage_lower = 15 melee_damage_upper = 15 @@ -59,6 +61,7 @@ icon_state = "aliens_running" icon_living = "aliens_running" icon_dead = "aliens_l" + icon_rest = "aliens_sleep" health = 120 melee_damage_lower = 15 melee_damage_upper = 15 @@ -72,6 +75,7 @@ icon_state = "prat_s" icon_living = "prat_s" icon_dead = "prat_dead" + icon_rest = "prat_sleep" move_to_delay = 5 maxHealth = 200 health = 200 @@ -85,6 +89,7 @@ icon_state = "alienq_running" icon_living = "alienq_running" icon_dead = "alienq_l" + icon_rest = "alienq_sleep" health = 250 maxHealth = 250 melee_damage_lower = 15 @@ -102,6 +107,7 @@ icon_state = "queen_s" icon_living = "queen_s" icon_dead = "queen_dead" + icon_rest = "queen_sleep" move_to_delay = 4 maxHealth = 400 health = 400 @@ -117,6 +123,7 @@ icon_state = "empress_s" icon_living = "empress_s" icon_dead = "empress_dead" + icon_rest = "empress_rest" maxHealth = 600 health = 600 meat_amount = 10 diff --git a/code/modules/mob/living/simple_animal/animals/cat.dm b/code/modules/mob/living/simple_animal/animals/cat.dm index d9fd5eb6dc..fa5915c33d 100644 --- a/code/modules/mob/living/simple_animal/animals/cat.dm +++ b/code/modules/mob/living/simple_animal/animals/cat.dm @@ -7,6 +7,7 @@ item_state = "cat2" icon_living = "cat2" icon_dead = "cat2_dead" + icon_rest = "cat2_rest" hostile = 1 //To mice, anyway. investigates = 1 @@ -160,6 +161,7 @@ item_state = "cat" icon_living = "cat" icon_dead = "cat_dead" + icon_rest = "cat_rest" befriend_job = "Chief Medical Officer" /mob/living/simple_animal/cat/kitten @@ -186,6 +188,7 @@ item_state = "cat3" icon_living = "cat3" icon_dead = "cat3_dead" + icon_rest = "cat3_rest" holder_type = /obj/item/weapon/holder/cat/fluff/bones var/friend_name = "Erstatz Vryroxes" diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 868fd2aaec..273e6fe716 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -1172,7 +1172,7 @@ //They ran away! else ai_log("AttackTarget() out of range!",3) - sleep(1) // Unfortunately this is needed to protect from ClosestDistance() sometimes not updating fast enough to prevent an infinite loop. + stoplag(1) // Unfortunately this is needed to protect from ClosestDistance() sometimes not updating fast enough to prevent an infinite loop. handle_stance(STANCE_ATTACK) return 0 diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 4148856d72..93b1f0e9c6 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -85,10 +85,12 @@ /mob/living/simple_animal/slime/purple ) var/type_on_death = null // Set this if you want dying slimes to split into a specific type and not their type. + var/rainbow_core_candidate = TRUE // If false, rainbow cores cannot make this type randomly. var/reagent_injected = null // Some slimes inject reagents on attack. This tells the game what reagent to use. var/injection_amount = 5 // This determines how much. + can_enter_vent_with = list( /obj/item/clothing/head, ) diff --git a/code/modules/mob/living/simple_animal/slime/subtypes.dm b/code/modules/mob/living/simple_animal/slime/subtypes.dm index c064048945..b7610d466b 100644 --- a/code/modules/mob/living/simple_animal/slime/subtypes.dm +++ b/code/modules/mob/living/simple_animal/slime/subtypes.dm @@ -209,9 +209,9 @@ /mob/living/simple_animal/slime/dark_blue/get_cold_protection() return 1 // This slime is immune to cold. -// Surfave variant -/mob/living/simple_animal/slime/dark_blue/wild - name = "wild slime" +// Surface variant +/mob/living/simple_animal/slime/dark_blue/feral + name = "feral slime" desc = "The result of slimes escaping containment from some xenobiology lab. The slime makes other entities near it feel much colder, \ and it is more resilient to the cold. These qualities have made this color of slime able to thrive on a harsh, cold world and is able to rival \ the ferocity of other apex predators in this region of Sif. As such, it is a very invasive species." @@ -220,13 +220,14 @@ icon_scale = 2 optimal_combat = TRUE // Gotta be sharp to survive out there. rabid = TRUE + rainbow_core_candidate = FALSE cores = 6 - maxHealth = 150 // Base health + maxHealth = 150 maxHealth_adult = 250 type_on_death = /mob/living/simple_animal/slime/dark_blue // Otherwise infinite slimes might occur. pixel_y = -10 // Since the base sprite isn't centered properly, the pixel auto-adjustment needs some help. -/mob/living/simple_animal/slime/dark_blue/wild/New() +/mob/living/simple_animal/slime/dark_blue/feral/New() ..() make_adult() @@ -735,6 +736,7 @@ /mob/living/simple_animal/slime/rainbow/kendrick name = "Kendrick" desc = "The Research Director's pet slime. It shifts colors constantly." + rainbow_core_candidate = FALSE /mob/living/simple_animal/slime/rainbow/kendrick/New() pacify() diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 0a8189fc06..97fe494880 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -400,7 +400,7 @@ proc/is_blind(A) return // Can't talk in deadchat if you can't see it. for(var/mob/M in player_list) - if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || M.client.holder) && M.is_preference_enabled(/datum/client_preference/show_dsay)) //VOREStation Edit - Why'd you make it so admins can't see deadchat? + if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && M.client.holder.rights)) && M.is_preference_enabled(/datum/client_preference/show_dsay)) var/follow var/lname if(M.forbid_seeing_deadchat && !M.client.holder) @@ -615,4 +615,4 @@ var/list/global/organ_rel_size = list( ) /mob/proc/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash) - return \ No newline at end of file + return diff --git a/code/modules/multiz/hoist.dm b/code/modules/multiz/hoist.dm new file mode 100644 index 0000000000..9277d17ff9 --- /dev/null +++ b/code/modules/multiz/hoist.dm @@ -0,0 +1,270 @@ +/////////////////////////// +// Dost thou even hoist? // +/////////////////////////// + +#define NORMAL_LAYER 3 + +/obj/item/hoist_kit + name = "hoist kit" + desc = "A setup kit for a hoist that can be used to lift things. The hoist will deploy in the direction you're facing." + icon = 'icons/obj/hoists.dmi' + icon_state = "hoist_case" + +/obj/item/hoist_kit/attack_self(mob/user) + new /obj/structure/hoist (get_turf(user), user.dir) + user.visible_message(span("warning", "[user] deploys the hoist kit!"), span("notice", "You deploy the hoist kit!"), span("notice", "You hear the sound of parts snapping into place.")) + qdel(src) + +/obj/effect/hoist_hook + name = "hoist clamp" + desc = "A clamp used to lift people or things." + icon = 'icons/obj/hoists.dmi' + icon_state = "hoist_hook" + var/obj/structure/hoist/source_hoist + can_buckle = 1 + anchored = 1 + description_info = "Click and drag someone (or any object) to this to attach them to the clamp. If you are within reach, when you click and drag this to a turf adjacent to you, it will move the attached object there and release it." + +/obj/effect/hoist_hook/attack_hand(mob/living/user) + return // This has to be overridden so that it works properly. + +/obj/effect/hoist_hook/MouseDrop_T(atom/movable/AM,mob/user) + if (use_check(user, USE_DISALLOW_SILICONS)) + return + + if (!AM.simulated || AM.anchored) + to_chat(user, span("notice", "You can't do that.")) + return + if (source_hoist.hoistee) + to_chat(user, span("notice", "\The [source_hoist.hoistee] is already attached to \the [src]!")) + return + source_hoist.attach_hoistee(AM) + user.visible_message(span("danger", "[user] attaches \the [AM] to \the [src]."), span("danger", "You attach \the [AM] to \the [src]."), span("danger", "You hear something clamp into place.")) + +/obj/structure/hoist/proc/attach_hoistee(atom/movable/AM) + if (get_turf(AM) != get_turf(source_hook)) + AM.forceMove(get_turf(source_hook)) + hoistee = AM + if(ismob(AM)) + source_hook.buckle_mob(AM) + AM.anchored = 1 // why isn't this being set by buckle_mob for silicons? + source_hook.layer = AM.layer + 0.1 + +/obj/effect/hoist_hook/MouseDrop(atom/dest) + ..() + if(!Adjacent(usr) || !dest.Adjacent(usr)) return // carried over from the default proc + + if (!ishuman(usr)) + return + + if (usr.incapacitated()) + to_chat(usr, span("notice", "You can't do that while incapacitated.")) + return + + if (!usr.IsAdvancedToolUser()) + to_chat(usr, span("notice", "You stare cluelessly at \the [src].")) + return + + if (!source_hoist.hoistee) + return + if (!isturf(dest)) + return + if (!dest.Adjacent(source_hoist.hoistee)) + return + + source_hoist.check_consistency() + + var/turf/desturf = dest + source_hoist.hoistee.forceMove(desturf) + usr.visible_message(span("danger", "[usr] detaches \the [source_hoist.hoistee] from the hoist clamp."), span("danger", "You detach \the [source_hoist.hoistee] from the hoist clamp."), span("danger", "You hear something unclamp.")) + source_hoist.release_hoistee() + +// This will handle mobs unbuckling themselves. +/obj/effect/hoist_hook/unbuckle_mob() + . = ..() + if (. && !QDELETED(source_hoist)) + var/mob/M = . + source_hoist.hoistee = null + M.fall() + +/obj/structure/hoist + icon = 'icons/obj/hoists.dmi' + icon_state = "hoist_base" + var/broken = 0 + density = 1 + anchored = 1 + name = "hoist" + desc = "A manual hoist, uses a clamp and pulley to hoist things." + var/atom/movable/hoistee + var/movedir = UP + var/obj/effect/hoist_hook/source_hook + description_info = "Click this to raise or lower the hoist, or to switch directions if it can't move any further. It can also be collapsed into a hoist kit." + +/obj/structure/hoist/initialize(mapload, ndir) + . = ..() + dir = ndir + var/turf/newloc = get_step(src, dir) + source_hook = new(newloc) + source_hook.source_hoist = src + +/obj/structure/hoist/Destroy() + if(hoistee) + release_hoistee() + qdel_null(src.source_hook) + return ..() + +/obj/effect/hoist_hook/Destroy() + source_hoist = null + return ..() + +/obj/structure/hoist/proc/check_consistency() + if (!hoistee) + return + if (hoistee.z != source_hook.z) + release_hoistee() + return + +/obj/structure/hoist/proc/release_hoistee() + if(ismob(hoistee)) + source_hook.unbuckle_mob(hoistee) + else + hoistee.anchored = 0 + hoistee = null + layer = NORMAL_LAYER + +/obj/structure/hoist/proc/break_hoist() + if(broken) + return + broken = 1 + desc += " It looks broken, and the clamp has retracted back into the hoist. Seems like you'd have to re-deploy it to get it to work again." + if(hoistee) + release_hoistee() + qdel_null(source_hook) + +/obj/structure/hoist/ex_act(severity) + switch(severity) + if(1.0) + qdel(src) + return + if(2.0) + if(prob(50)) + qdel(src) + else + visible_message("\The [src] shakes violently, and neatly collapses as its damage sensors go off.") + collapse_kit() + return + if(3.0) + if(prob(50) && !broken) + break_hoist() + return + +/obj/effect/hoist_hook/ex_act(severity) + switch(severity) + if(1.0) + source_hoist.break_hoist() + return + if(2.0) + if(prob(50)) + source_hoist.break_hoist() + return + if(3.0) + if(prob(25)) + source_hoist.break_hoist() + return + + +/obj/structure/hoist/attack_hand(mob/living/user) + if (!ishuman(user)) + return + + if (user.incapacitated()) + to_chat(user, span("notice", "You can't do that while incapacitated.")) + return + + if (!user.IsAdvancedToolUser()) + to_chat(user, span("notice", "You stare cluelessly at \the [src].")) + return + + if(broken) + to_chat(user, span("warning", "The hoist is broken!")) + return + var/can = can_move_dir(movedir) + var/movtext = movedir == UP ? "raise" : "lower" + if (!can) // If you can't... + movedir = movedir == UP ? DOWN : UP // switch directions! + to_chat(user, span("notice", "You switch the direction of the pulley.")) + return + + if (!hoistee) + user.visible_message(span("notice", "[user] begins to [movtext] the clamp."), span("notice", "You begin to [movtext] the clamp."), span("notice", "You hear the sound of a crank.")) + move_dir(movedir, 0) + return + + check_consistency() + + var/size + if (ismob(hoistee)) + var/mob/M = hoistee + size = M.mob_size + else if (isobj(hoistee)) + var/obj/O = hoistee + size = O.w_class + + user.visible_message(span("notice", "[user] begins to [movtext] \the [hoistee]!"), span("notice", "You begin to [movtext] \the [hoistee]!"), span("notice", "You hear the sound of a crank.")) + if (do_after(user, (1 SECONDS) * size / 4, act_target = src)) + move_dir(movedir, 1) + +/obj/structure/hoist/proc/collapse_kit() + new /obj/item/hoist_kit(get_turf(src)) + qdel(src) + +/obj/structure/hoist/verb/collapse_hoist() + set name = "Collapse Hoist" + set category = "Object" + set src in range(1) + + if (!ishuman(usr)) + return + + if (isobserver(usr) || usr.incapacitated()) + return + if (!usr.IsAdvancedToolUser()) // thanks nanacode + to_chat(usr, span("notice", "You stare cluelessly at \the [src].")) + return + + if (hoistee) + to_chat(usr, span("notice", "You cannot collapse the hoist with \the [hoistee] attached!")) + return + collapse_kit() + +/obj/structure/hoist/proc/can_move_dir(direction) + var/turf/dest = direction == UP ? GetAbove(source_hook) : GetBelow(source_hook) + switch(direction) + if (UP) + if (!isopenspace(dest)) // can't move into a solid tile + return 0 + if (source_hook in get_step(src, dir)) // you don't get to move above the hoist + return 0 + if (DOWN) + if (!isopenspace(get_turf(source_hook))) // can't move down through a solid tile + return 0 + if (!dest) // can't move if there's nothing to move to + return 0 + return 1 + +/obj/structure/hoist/proc/move_dir(direction, ishoisting) + var/can = can_move_dir(direction) + if (!can) + return 0 + var/turf/move_dest = direction == UP ? GetAbove(source_hook) : GetBelow(source_hook) + source_hook.forceMove(move_dest) + if (!ishoisting) + return 1 + hoistee.hoist_act(move_dest) + return 1 + +/atom/movable/proc/hoist_act(turf/dest) + forceMove(dest) + return TRUE + +#undef NORMAL_LAYER diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index a43533e73a..587bcd0686 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -877,6 +877,7 @@ Note that amputating the affected organ does in fact remove the infection from t switch(disintegrate) if(DROPLIMB_EDGE) + appearance_flags &= ~PIXEL_SCALE compile_icon() add_blood(victim) var/matrix/M = matrix() diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 4c937d5d2a..6a2dc58056 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -151,7 +151,7 @@ proc/cardinalrange(var/center) /obj/machinery/am_shielding/proc/setup_core() processing = 1 - machines.Add(src) + START_MACHINE_PROCESSING(src) if(!control_unit) return control_unit.linked_cores.Add(src) control_unit.reported_core_efficiency += efficiency diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm index fc5b58709a..b6b904e65a 100644 --- a/code/modules/power/pacman2.dm +++ b/code/modules/power/pacman2.dm @@ -84,7 +84,7 @@ user << "You secure the generator to the floor." else user << "You unsecure the generator from the floor." - makepowernets() + SSmachines.makepowernets() else if(istype(O, /obj/item/weapon/screwdriver)) open = !open playsound(loc, O.usesound, 50, 1) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 76320db479..ba833d858f 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -230,22 +230,6 @@ . += C return . -/hook/startup/proc/buildPowernets() - return makepowernets() - -// rebuild all power networks from scratch - only called at world creation or by the admin verb -/proc/makepowernets() - for(var/datum/powernet/PN in powernets) - qdel(PN) - powernets.Cut() - - for(var/obj/structure/cable/PC in cable_list) - if(!PC.powernet) - var/datum/powernet/NewPN = new() - NewPN.add_cable(PC) - propagate_network(PC,PC.powernet) - return 1 - //remove the old powernet and replace it with a new one throughout the network. /proc/propagate_network(var/obj/O, var/datum/powernet/PN) //world.log << "propagating new network" diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index ebd88df3e2..d8f57baf3b 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -15,7 +15,7 @@ var/problem = 0 // If this is not 0 there is some sort of issue in the powernet. Monitors will display warnings. /datum/powernet/New() - powernets += src + START_PROCESSING_POWERNET(src) ..() /datum/powernet/Destroy() @@ -25,7 +25,7 @@ for(var/obj/machinery/power/M in nodes) nodes -= M M.powernet = null - powernets -= src + STOP_PROCESSING_POWERNET(src) return ..() //Returns the amount of excess power (before refunding to SMESs) from last tick. diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm index fe9aa576ef..82f10cae24 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm @@ -16,6 +16,7 @@ var/initial_capacitor_type = /obj/item/weapon/stock_parts/capacitor/adv var/slowdown_held = 2 var/slowdown_worn = 1 + var/empty_sound = 'sound/machines/twobeep.ogg' /obj/item/weapon/gun/magnetic/railgun/New() capacitor = new initial_capacitor_type(src) @@ -43,14 +44,13 @@ var/obj/item/weapon/rcd_ammo/ammo = loaded ammo.remaining-- if(ammo.remaining <= 0) - spawn(3) - playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 1) out_of_ammo() /obj/item/weapon/gun/magnetic/railgun/proc/out_of_ammo() - qdel(loaded) + loaded.forceMove(get_turf(src)) loaded = null - visible_message("\The [src] beeps and ejects its empty cartridge.") + visible_message("\The [src] beeps and ejects its empty cartridge.","There's a beeping sound!") + playsound(get_turf(src), empty_sound, 40, 1) /obj/item/weapon/gun/magnetic/railgun/automatic // Adminspawn only, this shit is absurd. name = "\improper RHR accelerator" @@ -92,13 +92,9 @@ projectile_type = /obj/item/projectile/bullet/magnetic/flechette loaded = /obj/item/weapon/magnetic_ammo fire_sound = 'sound/weapons/rapidslice.ogg' + empty_sound = 'sound/weapons/smg_empty_alarm.ogg' firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, one_handed_penalty=1, burst_accuracy=null, dispersion=null), list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=2, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), ) - -/obj/item/weapon/gun/magnetic/railgun/flechette/out_of_ammo() - audible_message("\The [src] beeps to indicate the magazine is empty.") - playsound(loc, 'sound/weapons/smg_empty_alarm.ogg', 40, 1) - ..() diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 6ecd4caf63..f7fed5fa76 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -2172,7 +2172,7 @@ result = "mojito" required_reagents = list("rum" = 3, "limejuice" = 1, "mint" = 1) result_amount = 5 - + /datum/chemical_reaction/drinks/piscosour name = "Pisco Sour" id = "piscosour" @@ -2186,8 +2186,8 @@ result = "coldfront" required_reagents = list("icecoffee" = 1, "whiskey" = 1, "mint" = 1) result_amount = 3 - - + + //R-UST Port /datum/chemical_reaction/hyrdophoron name = "Hydrophoron" diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 9949550182..0f40a83e20 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -14,19 +14,25 @@ new /obj/item/weapon/reagent_containers/blood/empty(src) /obj/item/weapon/reagent_containers/blood - name = "BloodPack" - desc = "Contains blood used for transfusion." + name = "IV pack" + var/base_name = " " + desc = "Holds liquids used for transfusion." + var/base_desc = " " icon = 'icons/obj/bloodpack.dmi' icon_state = "empty" item_state = "bloodpack_empty" volume = 200 + var/label_text = "" var/blood_type = null /obj/item/weapon/reagent_containers/blood/New() ..() + base_name = name + base_desc = desc if(blood_type != null) - name = "BloodPack [blood_type]" + label_text = "[blood_type]" + update_iv_label() reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) update_icon() @@ -45,6 +51,30 @@ icon_state = "full" item_state = "bloodpack_full" +/obj/item/weapon/reagent_containers/blood/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) + var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN) + if(length(tmp_label) > 50) + to_chat(user, "The label can be at most 50 characters long.") + else if(length(tmp_label) > 10) + to_chat(user, "You set the label.") + label_text = tmp_label + update_iv_label() + else + to_chat(user, "You set the label to \"[tmp_label]\".") + label_text = tmp_label + update_iv_label() + +/obj/item/weapon/reagent_containers/blood/proc/update_iv_label() + if(label_text == "") + name = base_name + else if(length(label_text) > 10) + var/short_label_text = copytext(label_text, 1, 11) + name = "[base_name] ([short_label_text]...)" + else + name = "[base_name] ([label_text])" + desc = "[base_desc] It is labeled \"[label_text]\"." + /obj/item/weapon/reagent_containers/blood/APlus blood_type = "A+" diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 0a1816e4c8..f15c2faf3f 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -2,8 +2,8 @@ /// Droppers. //////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/dropper - name = "Dropper" - desc = "A dropper. Transfers 5 units." + name = "dropper" + desc = "A dropper. Transfers up to 5 units at a time." icon = 'icons/obj/chemical.dmi' icon_state = "dropper0" amount_per_transfer_from_this = 5 @@ -12,17 +12,25 @@ slot_flags = SLOT_EARS volume = 5 +/obj/item/weapon/reagent_containers/dropper/examine(var/mob/user) + if(!..(user, 2)) + return + if(reagents && reagents.reagent_list.len) + to_chat(user, "It contains [reagents.total_volume] units of liquid.") + else + to_chat(user, "It is empty.") + /obj/item/weapon/reagent_containers/dropper/afterattack(var/obj/target, var/mob/user, var/proximity) if(!target.reagents || !proximity) return if(reagents.total_volume) if(!target.reagents.get_free_space()) - user << "[target] is full." + to_chat(user, "[target] is full.") return if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit. - user << "You cannot directly fill this object." + to_chat(user, "You cannot directly fill this object.") return var/trans = 0 @@ -50,7 +58,7 @@ safe_thing = victim.glasses if(safe_thing) - trans = reagents.splash(safe_thing, amount_per_transfer_from_this, max_spill=30) + trans = reagents.splash(safe_thing, min(amount_per_transfer_from_this, reagents.total_volume), max_spill=30) user.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", "You transfer [trans] units of the solution.") return @@ -60,30 +68,30 @@ user.attack_log += text("\[[time_stamp()]\] Used the [name] to squirt [M.name] ([M.key]). Reagents: [contained]") msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - trans += reagents.splash(target, reagents.total_volume/2, max_spill=30) - trans += reagents.trans_to_mob(target, reagents.total_volume/2, CHEM_BLOOD) //I guess it gets into the bloodstream through the eyes or something - user.visible_message("[user] squirts something into [target]'s eyes!", "You transfer [trans] units of the solution.") + trans += reagents.trans_to_mob(target, min(amount_per_transfer_from_this, reagents.total_volume)/2, CHEM_INGEST) //Half injected, half ingested + trans += reagents.trans_to_mob(target, min(amount_per_transfer_from_this, reagents.total_volume), CHEM_BLOOD) //I guess it gets into the bloodstream through the eyes or something + user.visible_message("[user] squirts something into [target]'s eyes!", "You transfer [trans] units of the solution.") return else - trans = reagents.splash(target, amount_per_transfer_from_this, max_spill=0) //sprinkling reagents on generic non-mobs - user << "You transfer [trans] units of the solution." + trans = reagents.trans_to_obj(target, amount_per_transfer_from_this) + to_chat(user, "You transfer [trans] units of the solution.") else // Taking from something if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - user << "You cannot directly remove reagents from [target]." + to_chat(user, "You cannot directly remove reagents from [target].") return if(!target.reagents || !target.reagents.total_volume) - user << "[target] is empty." + to_chat(user, "[target] is empty.") return var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this) - user << "You fill the dropper with [trans] units of the solution." + to_chat(user, "You fill the dropper with [trans] units of the solution.") return @@ -98,7 +106,7 @@ /obj/item/weapon/reagent_containers/dropper/industrial name = "Industrial Dropper" - desc = "A larger dropper. Transfers 10 units." + desc = "A larger dropper. Transfers up to 10 units at a time." amount_per_transfer_from_this = 10 possible_transfer_amounts = list(1,2,3,4,5,6,7,8,9,10) volume = 10 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index b7d489e067..b2cbcb9b3e 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -376,7 +376,7 @@ return Bumped(var/atom/movable/AM) //Go straight into the chute - if(istype(AM, /obj/item/projectile) || istype(AM, /obj/effect)) return + if(istype(AM, /obj/item/projectile) || istype(AM, /obj/effect) || istype(AM, /obj/mecha)) return switch(dir) if(NORTH) if(AM.loc.y != src.loc.y+1) return diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 8efeec6c0d..5936c3c9bc 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -290,6 +290,14 @@ id = "mech_taser" build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser +/datum/design/item/mecha/shocker + name = "Exosuit Electrifier" + desc = "A device to electrify the external portions of a mecha in order to increase its defensive capabilities." + id = "mech_shocker" + req_tech = list(TECH_COMBAT = 3, TECH_POWER = 6, TECH_MAGNET = 1) + build_path = /obj/item/mecha_parts/mecha_equipment/shocker + materials = list(DEFAULT_WALL_MATERIAL = 3500, "gold" = 750, "glass" = 1000) + /datum/design/item/mecha/lmg name = "Ultra AC 2" id = "mech_lmg" @@ -407,7 +415,13 @@ materials = list(DEFAULT_WALL_MATERIAL = 7500, "gold" = 750, "silver" = 1500, "glass" = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid -//obj/item/mecha_parts/mecha_equipment/jetpack, //TODO MECHA JETPACK SPRITE MISSING +/datum/design/item/mecha/jetpack + name = "Ion Jetpack" + desc = "Using directed ion bursts and cunning solar wind reflection technique, this device enables controlled space flight." + id = "mech_jetpack" + req_tech = list(TECH_ENGINEERING = 3, TECH_MAGNET = 4) //One less magnet than the actual got-damn teleporter. + build_path = /obj/item/mecha_parts/mecha_equipment/tool/jetpack + materials = list(DEFAULT_WALL_MATERIAL = 7500, "silver" = 300, "glass" = 600) /datum/design/item/mecha/phoron_generator desc = "Phoron Reactor" diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index da600a2e68..2e1c5d67d4 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -223,7 +223,7 @@ break if(update_power) - makepowernets() + SSmachines.makepowernets() return //returns 1 if the shuttle has a valid arrive time diff --git a/code/modules/turbolift/turbolift.dm b/code/modules/turbolift/turbolift.dm index 7a670954a0..395cbe608d 100644 --- a/code/modules/turbolift/turbolift.dm +++ b/code/modules/turbolift/turbolift.dm @@ -164,7 +164,7 @@ origin.move_contents_to(destination) if((locate(/obj/machinery/power) in destination) || (locate(/obj/structure/cable) in destination)) - makepowernets() + SSmachines.makepowernets() current_floor = next_floor control_panel_interior.visible_message("The elevator [moving_upwards ? "rises" : "descends"] smoothly.") diff --git a/code/modules/xenoarcheaology/tools/suspension_generator.dm b/code/modules/xenoarcheaology/tools/suspension_generator.dm index 6819531706..ac56f7de92 100644 --- a/code/modules/xenoarcheaology/tools/suspension_generator.dm +++ b/code/modules/xenoarcheaology/tools/suspension_generator.dm @@ -247,5 +247,5 @@ /obj/effect/suspension_field/Destroy() for(var/atom/movable/I in src) - I.loc = src.loc - ..() + I.dropInto(loc) + return ..() diff --git a/code/modules/xenobio/items/extracts.dm b/code/modules/xenobio/items/extracts.dm index 42ca365773..be22c32851 100644 --- a/code/modules/xenobio/items/extracts.dm +++ b/code/modules/xenobio/items/extracts.dm @@ -956,15 +956,21 @@ result_amount = 1 required = /obj/item/slime_extract/rainbow -/datum/chemical_reaction/slime/rainbow_random_slime/on_reaction(var/datum/reagents/holder) - var/list/forbidden_types = list( - /mob/living/simple_animal/slime/rainbow/kendrick - ) - var/list/potential_types = typesof(/mob/living/simple_animal/slime) - forbidden_types - var/slime_type = pick(potential_types) - new slime_type(get_turf(holder.my_atom)) - ..() +/datum/chemical_reaction/slime/rainbow_random_slime/on_reaction(var/datum/reagents/holder) + var/mob/living/simple_animal/slime/S + var/list/slime_types = typesof(/mob/living/simple_animal/slime) + + while(slime_types.len) + S = pick(slime_types) + if(initial(S.rainbow_core_candidate) == TRUE) + break + else + slime_types -= S + S = null + + if(S) + new S(get_turf(holder.my_atom)) /datum/chemical_reaction/slime/rainbow_unity name = "Slime Unity" diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm index c3d0d5349d..de67e760c3 100644 --- a/code/unit_tests/map_tests.dm +++ b/code/unit_tests/map_tests.dm @@ -42,9 +42,9 @@ ) // Some maps have areas specific to the map, so include those. - exempt_areas += using_map.unit_test_exempt_areas - exempt_from_atmos += using_map.unit_test_exempt_from_atmos - exempt_from_apc += using_map.unit_test_exempt_from_apc + exempt_areas += using_map.unit_test_exempt_areas.Copy() + exempt_from_atmos += using_map.unit_test_exempt_from_atmos.Copy() + exempt_from_apc += using_map.unit_test_exempt_from_apc.Copy() for(var/area/A in world) if(A.z == 1 && !(A.type in exempt_areas)) diff --git a/code/world.dm b/code/world.dm index a896c1ad5d..fea68e841b 100644 --- a/code/world.dm +++ b/code/world.dm @@ -34,7 +34,7 @@ var/global/datum/global_init/init = new () turf = /turf/space area = /area/space view = "15x15" - cache_lifespan = 0 //stops player uploaded stuff from being kept in the rsc past the current session + cache_lifespan = 7 diff --git a/html/changelogs/Atermonera - Weatherapp.yml b/html/changelogs/Atermonera - Weatherapp.yml new file mode 100644 index 0000000000..2a513366f1 --- /dev/null +++ b/html/changelogs/Atermonera - Weatherapp.yml @@ -0,0 +1,5 @@ +author: Atermonera + +delete-after: True + + - rscadd: "Communicators now have a weather app." diff --git a/html/changelogs/Leshana-ss-machines.yml b/html/changelogs/Leshana-ss-machines.yml new file mode 100644 index 0000000000..28faf35197 --- /dev/null +++ b/html/changelogs/Leshana-ss-machines.yml @@ -0,0 +1,4 @@ +author: Leshana +delete-after: True +changes: + - tweak: "Convert the machinery controller to a StonedMC subsystem" diff --git a/html/changelogs/Leshana-tgport.yml b/html/changelogs/Leshana-tgport.yml new file mode 100644 index 0000000000..eeceacc2e7 --- /dev/null +++ b/html/changelogs/Leshana-tgport.yml @@ -0,0 +1,4 @@ +author: MrStonedOne +delete-after: True +changes: + - rscadd: "Added admin verb 'Display del() Log' displaying garabage collector statistics." diff --git a/icons/effects/96x96.dmi b/icons/effects/96x96.dmi index 5580e9a5da..841c17d3f5 100644 Binary files a/icons/effects/96x96.dmi and b/icons/effects/96x96.dmi differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 930e724d22..d13c430c8f 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/icons/mob/96x96.dmi b/icons/mob/96x96.dmi index 7368d30bb1..f1f7fac7b5 100644 Binary files a/icons/mob/96x96.dmi and b/icons/mob/96x96.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi b/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi index 129bcba490..934440632f 100644 Binary files a/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi and b/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi differ diff --git a/icons/obj/doors/door_assembly.dmi b/icons/obj/doors/door_assembly.dmi index 769304eb54..a9c889fec3 100644 Binary files a/icons/obj/doors/door_assembly.dmi and b/icons/obj/doors/door_assembly.dmi differ diff --git a/icons/obj/hoists.dmi b/icons/obj/hoists.dmi new file mode 100644 index 0000000000..1decaff104 Binary files /dev/null and b/icons/obj/hoists.dmi differ diff --git a/interface/interface.dm b/interface/interface.dm index 98fb3080a9..0a4852b3b1 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -100,8 +100,8 @@ Hotkey-Mode: (hotkey-mode must be on) \t2 = disarm-intent \t3 = grab-intent \t4 = harm-intent -\tCtrl = drag -\tShift = examine +\tCtrl+Click = pull +\tShift+Click = examine "} var/other = {" @@ -125,7 +125,7 @@ Any-Mode: (hotkey doesn't need to be on) \tF2 = ooc \tF3 = say \tF4 = emote -\tDEL = pull +\tDEL = stop pulling \tINS = cycle-intents-right \tHOME = drop \tPGUP = swap-hand @@ -151,8 +151,8 @@ Hotkey-Mode: (hotkey-mode must be on) \t3 = activate module 3 \t4 = toggle intents \t5 = emote -\tCtrl = drag -\tShift = examine +\tCtrl+Click = pull +\tShift+Click = examine "} var/robot_other = {" @@ -174,7 +174,7 @@ Any-Mode: (hotkey doesn't need to be on) \tF2 = ooc \tF3 = say \tF4 = emote -\tDEL = pull +\tDEL = stop pulling \tINS = toggle intents \tPGUP = cycle active modules \tPGDN = activate held object diff --git a/maps/northern_star/northern_star_defines.dm b/maps/northern_star/northern_star_defines.dm index b9db5ad425..3e56c91fe9 100644 --- a/maps/northern_star/northern_star_defines.dm +++ b/maps/northern_star/northern_star_defines.dm @@ -104,3 +104,47 @@ name = "Empty" flags = MAP_LEVEL_PLAYER transit_chance = 60 + + +//Unit test stuff. + +/datum/unit_test/zas_area_test/supply_centcomm + name = "ZAS: Supply Shuttle (CentCom)" + area_path = /area/supply/dock + +/datum/unit_test/zas_area_test/emergency_shuttle + name = "ZAS: Emergency Shuttle" + area_path = /area/shuttle/escape/centcom + +/datum/unit_test/zas_area_test/ai_chamber + name = "ZAS: AI Chamber" + area_path = /area/ai + +/datum/unit_test/zas_area_test/mining_shuttle_at_station + name = "ZAS: Mining Shuttle (Station)" + area_path = /area/shuttle/mining/station + +/datum/unit_test/zas_area_test/cargo_maint + name = "ZAS: Cargo Maintenance" + area_path = /area/maintenance/cargo + +/datum/unit_test/zas_area_test/eng_shuttle + name = "ZAS: Construction Site Shuttle (Station)" + area_path = /area/shuttle/constructionsite/station + +/datum/unit_test/zas_area_test/virology + name = "ZAS: Virology" + area_path = /area/medical/virology + +/datum/unit_test/zas_area_test/xenobio + name = "ZAS: Xenobiology" + area_path = /area/rnd/xenobiology + +/datum/unit_test/zas_area_test/mining_area + name = "ZAS: Mining Area (Vacuum)" + area_path = /area/mine/explored + expectation = UT_VACUUM + +/datum/unit_test/zas_area_test/cargo_bay + name = "ZAS: Cargo Bay" + area_path = /area/quartermaster/storage \ No newline at end of file diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index d06a9cab0f..358882bf18 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -312,7 +312,7 @@ "afZ" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) "aga" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fore) "agb" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"agc" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agc" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "agd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "age" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "agf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) @@ -1424,9 +1424,9 @@ "aBt" = (/turf/simulated/wall,/area/quartermaster/storage) "aBu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/storage) "aBv" = (/turf/simulated/wall/r_wall,/area/quartermaster/hallway) -"aBw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(31)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) +"aBw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(50)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) "aBx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/hallway) -"aBy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(31)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) +"aBy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) "aBz" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) "aBA" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) "aBB" = (/obj/structure/dispenser/oxygen,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) @@ -5745,7 +5745,7 @@ "cgy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) "cgz" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) "cgA" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/tiled,/area/teleporter) -"cgB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cgB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/ascenter) "cgC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) "cgD" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) "cgE" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) @@ -5836,7 +5836,7 @@ "cil" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) "cim" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) "cin" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cio" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cio" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/starboard) "cip" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) "ciq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) "cir" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) @@ -5965,10 +5965,10 @@ "ckK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) "ckL" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) "ckM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"ckN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = -24; req_access = list(39)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ckN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = 24; req_access = list(39)},/turf/simulated/floor/tiled/steel_grid,/area/medical/virology) "ckO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) "ckP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = 24; req_access = list(39)},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ckQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = -24; req_access = list(39)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/virology) "ckR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) "ckS" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "ckT" = (/obj/structure/table/glass,/obj/item/weapon/storage/lockbox/vials,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -6118,7 +6118,7 @@ "cnH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/rack,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/central) "cnI" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) "cnJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "HoP Maintenance Access"; req_one_access = list(57)},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) -"cnK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/ascenter) "cnL" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) "cnM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) "cnN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/flora/pottedplant/xmas,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) @@ -6136,11 +6136,11 @@ "cnZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) "coa" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/item/weapon/storage/bag/circuits/basic,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research_medical) "cob" = (/turf/simulated/wall/r_wall,/area/medical/medbay2) -"coc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Medical Access"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"coc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Medical Access"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay2) "cod" = (/obj/effect/floor_decal/industrial/loading,/obj/machinery/door/firedoor/border_only,/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/south{location = "Medbay"},/turf/simulated/floor/tiled,/area/medical/medbay2) "coe" = (/turf/simulated/wall/r_wall,/area/medical/genetics) "cof" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/medical/genetics) -"cog" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/research{name = "Genetics Lab"; req_one_access = list(5,47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/genetics) +"cog" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/research{name = "Genetics Lab"; req_one_access = list(5,47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/seconddeck/research_medical) "coh" = (/obj/effect/decal/warning_stripes,/obj/machinery/atmospherics/tvalve/mirrored/bypass,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/medical/virology) "coi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "coj" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -6253,7 +6253,7 @@ "cqm" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine_room) "cqn" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) "cqo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "SMES Access"; req_access = list(10)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_smes) -"cqp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = 26; req_access = list(10); specialfunctions = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"cqp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = 26; req_access = list(10); specialfunctions = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/turf/simulated/floor/tiled,/area/engineering/engine_smes) "cqq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) "cqr" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) "cqs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_smes) @@ -6402,8 +6402,8 @@ "ctf" = (/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) "ctg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) "cth" = (/turf/simulated/wall/r_wall,/area/medical/medbay_emt_bay) -"cti" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"ctj" = (/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cti" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"ctj" = (/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) "ctk" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "ctl" = (/turf/simulated/wall/r_wall,/area/medical/reception) "ctm" = (/turf/simulated/wall,/area/medical/reception) @@ -6875,7 +6875,7 @@ "cCk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cCl" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cCm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cCn" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Medical Restroom"},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cCn" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Medical Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_restroom) "cCo" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) "cCp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) "cCq" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) @@ -6902,8 +6902,8 @@ "cCL" = (/turf/simulated/wall,/area/quartermaster/office) "cCM" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/southleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_x = -32},/turf/simulated/floor/tiled,/area/quartermaster/office) "cCN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office) -"cCO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(31)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) -"cCP" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(31)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) +"cCO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) +"cCP" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) "cCQ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "quart_tint"; pixel_x = -36; pixel_y = 6},/obj/structure/flora/pottedplant/tropical,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cCR" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/qm) "cCS" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/qm) @@ -6927,11 +6927,11 @@ "cDk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) "cDl" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) "cDm" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/medbay) -"cDn" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cDo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cDn" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"cDo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) "cDp" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/medbay_emt_bay) "cDq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "exam_window_tint"},/turf/simulated/floor/plating,/area/medical/exam_room) -"cDr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Examination Room"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cDr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Examination Room"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/medical/exam_room) "cDs" = (/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) "cDt" = (/obj/structure/filingcabinet/chestdrawer{name = "Medical Forms"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/medical/reception) "cDu" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/reception) @@ -6958,7 +6958,7 @@ "cDP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cDQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cDR" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cDS" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cDS" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cDT" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cDU" = (/obj/structure/table/glass,/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/soap/nanotrasen,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) "cDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) @@ -7022,15 +7022,15 @@ "cFb" = (/obj/structure/sign/examroom{pixel_x = 32; pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) "cFc" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/reception) "cFd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/reception) -"cFe" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_medical{name = "Medical Reception"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cFe" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_medical{name = "Medical Reception"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/medical/reception) "cFf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/foyer) "cFg" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/foyer) -"cFh" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cFh" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/chemistry) "cFi" = (/obj/machinery/smartfridge/secure/medbay{req_one_access = list(33,66)},/turf/simulated/wall/r_wall,/area/medical/chemistry) "cFj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) -"cFk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cFk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_primary_storage) "cFl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) -"cFm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Secondary Storage"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cFm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Secondary Storage"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/biostorage) "cFn" = (/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cFo" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cFp" = (/obj/structure/undies_wardrobe,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) @@ -7133,7 +7133,7 @@ "cHi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cHj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cHk" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Medical Restroom"; req_access = list(5)},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cHl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Medical Restroom"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_restroom) "cHm" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor,/area/maintenance/disposal) "cHn" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/disposal) "cHo" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/disposal) @@ -7162,7 +7162,7 @@ "cHL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) "cHM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) "cHN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "QM Office"; sortType = "QM Office"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(31)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/lockerroom) +"cHO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/lockerroom) "cHP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) "cHQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) "cHR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) @@ -7258,7 +7258,7 @@ "cJD" = (/turf/simulated/wall,/area/maintenance/substation/medical) "cJE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) "cJF" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) -"cJG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cJG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo) "cJH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) "cJI" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo) "cJJ" = (/turf/simulated/wall,/area/medical/sleeper) @@ -7272,7 +7272,7 @@ "cJR" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/cryo) "cJS" = (/turf/simulated/wall,/area/medical/psych) "cJT" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "psyco_tint"},/turf/simulated/floor/plating,/area/medical/psych) -"cJU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/turf/simulated/floor/tiled/white,/area/medical/psych) +"cJU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/turf/simulated/floor/tiled/steel_grid,/area/medical/psych) "cJV" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) "cJW" = (/obj/structure/table/glass,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) "cJX" = (/obj/structure/table/glass,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) @@ -7354,7 +7354,7 @@ "cLv" = (/turf/simulated/wall,/area/medical/morgue) "cLw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cLx" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cLy" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Locker Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cLy" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Locker Room"; req_access = list(5)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_lockerroom) "cLz" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) "cLA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) "cLB" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Locker Room"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) @@ -7401,7 +7401,7 @@ "cMq" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) "cMr" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) "cMs" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cMt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cMt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo) "cMu" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "cMv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "cMw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -7610,7 +7610,7 @@ "cQr" = (/obj/machinery/sleeper{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/cryo) "cQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) "cQt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cQu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cQu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/genetics_cloning) "cQv" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "cQw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "cQx" = (/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/machinery/camera/network/medbay{c_tag = "MED - Cloning"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) @@ -7665,9 +7665,9 @@ "cRu" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/sleeper) "cRv" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/sleeper) "cRw" = (/turf/simulated/wall,/area/medical/ward) -"cRx" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cRx" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/ward) "cRy" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/ward) -"cRz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cRz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/ward) "cRA" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/cryo) "cRB" = (/turf/simulated/wall,/area/medical/genetics_cloning) "cRC" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "GeneticsDoor"; name = "Door Control"; pixel_x = -26; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) @@ -7675,11 +7675,11 @@ "cRE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "cRF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) "cRG" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cRH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/turf/simulated/floor/tiled,/area/medical/morgue) +"cRH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/morgue) "cRI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) "cRJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/medical/morgue) "cRK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) -"cRL" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor/tiled,/area/medical/morgue) +"cRL" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor/tiled/steel_grid,/area/medical/morgue) "cRM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cRN" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/medbay2) "cRO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/cargo) @@ -7797,9 +7797,9 @@ "cTW" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) "cTX" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) "cTY" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Cloning Laboratory"; req_access = list(66)},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cUa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cUb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cTZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Cloning Laboratory"; req_access = list(66)},/turf/simulated/floor/tiled/steel_grid,/area/medical/genetics_cloning) +"cUa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) +"cUb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) "cUc" = (/turf/simulated/wall/r_wall,/area/medical/patient_wing) "cUd" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) "cUe" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/cargo) @@ -7978,21 +7978,21 @@ "cXv" = (/turf/simulated/wall/r_wall,/area/medical/surgery) "cXw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "st1_tint"},/turf/simulated/floor/plating,/area/medical/surgery) "cXx" = (/turf/simulated/wall,/area/medical/surgery) -"cXy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"cXy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery) "cXz" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) "cXA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) "cXB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) "cXC" = (/turf/simulated/wall/r_wall,/area/medical/surgery2) -"cXD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"cXD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery2) "cXE" = (/turf/simulated/wall,/area/medical/surgery2) "cXF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "st2_tint"},/turf/simulated/floor/plating,/area/medical/surgery2) -"cXG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Operating Theatre Storage"; req_access = list(45)},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"cXG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Operating Theatre Storage"; req_access = list(45)},/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery_storage) "cXH" = (/turf/simulated/wall,/area/medical/surgery_storage) "cXI" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "pr1_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) -"cXJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room A"},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"cXJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room A"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_a) "cXK" = (/turf/simulated/wall,/area/medical/patient_a) "cXL" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "pr2_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) -"cXM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room B"},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"cXM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room B"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_b) "cXN" = (/turf/simulated/wall/r_wall,/area/medical/patient_b) "cXO" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/medical/patient_wing) "cXP" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/medical/patient_wing) @@ -8036,7 +8036,7 @@ "cYB" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) "cYC" = (/obj/structure/sink{pixel_y = 16},/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_x = 26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) "cYD" = (/turf/simulated/wall,/area/medical/surgeryobs) -"cYE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/medical{id_tag = "surgery_observation"; name = "Observation Room"; req_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"cYE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/medical{id_tag = "surgery_observation"; name = "Observation Room"; req_access = newlist()},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/medical/surgeryobs) "cYF" = (/obj/structure/sink{pixel_y = 16},/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "cYG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) "cYH" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "st2_tint"; pixel_x = -11; pixel_y = 22},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/machinery/button/holosign{pixel_x = -11; pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/pink/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) @@ -8393,9 +8393,9 @@ "dfu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/holodeck_control) "dfv" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) "dfw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) -"dfx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) "dfy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) -"dfz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) "dfA" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hydroponics) "dfB" = (/obj/machinery/ai_status_display,/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics) "dfC" = (/turf/simulated/wall,/area/maintenance/chapel) @@ -10872,7 +10872,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgceicejcekcelcemcenbVWceobZqbZqbZqbZqcepceqcercescetceuceucevcewcexcexcexcexcexcexcexccSccSccSceycezceAceBceCceDceEceFceGceHceGceGceGceGceGceIceIceIceIceJceIceIceIceKceLbsZbKkbKkbKjceMcbCceNceOcePceQceRceRceScdjceTbVbbVbbVbbVbbVbbVbbVbceTbVfceUceVceWbVeceXceYceZcfacfbbKlcfccfcbuObTmbwbbCybBibBjcfdbwbcfebwbcffcfgcfhcficfjcfgcfkcdFcflcfmcfncfocfpcfqcfrcfscftcftcfucbXcbXcbXcbXcbXcbXcbXcdRcbZcfvbwmcfwcfxcfybZbcfzcfAcfBcaVcaWccmcfCcfDbZjbZlcfEcfFcfGbZlbZmcfHbZmbZlbZlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSfbSgcfIcfIbSgcfJcfKcfLbVWcfMcfNcfOcfPcfQcfRcfScfTcfUcfVcfWcfXcfYcfZcexcgacgacgacgacgacgbcgccgdccScgeckncggcghcgicgjcgkbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZcglcgmcgncgobKjcgpcgqcgrcgscgtceQceQcgucgvcdjcgwbVbcgxcgxcgxcgxcgxbVbcgybVecgzcgAbVebVecgBcgCcgBcgDcgEcgFcgGcgHcgIcgJbtJbuObuObuObuObuObuObuObuOcgKcgLckocgNcgKcdEcdEcdEcgOcdEcdEcdEcdEcgPcgQcftcgRcgScgTcgUcgUcgUcgUcgUcbXcbZcbZbZkbwmcgVbwmbwmbZbcgWbZbbZbcaVbZjbZkbZlbZlbZlbZlcgXcfFcgYcgZchachbchcchdbZlbZlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachebSgchfchgchhchichjchkchlchmchnchochpchqchrchschtchuchvchwchxceuchychzcexcgacgacgacgacgachAchBchCchDchEchFchGchHckqchIchJchKchLcgichIchMchNchHchOchPchQchJchHchRchSchCchTchUchVchWchXchYchZbSYbSYciacibciccidceQcdjcdjcdjcbGbVbcgxcgxcgxcgxcgxbVbceTbVebVebVebVecgGciecifcigcihcihciicijcikcilcimcinciocipciqcirciscitciucivcircisckrcixciycizciAciBcixcizciCciDciEcgPciFciGciHciIciJcgUcgUcgUcgUcgUcbXciKcbZciLciMciNciObZkciPciQciRciSbZgciTciUbZlciVciWbZlciXcfFccqccqccqcfFccqciYciZbZmaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjbcjccjdcjecjfcjgcjhcjicjjcjkcjlcjmcjncjocjpcfTbJOcjqceuceucjrccScexcgacgacgacgacgacjscjtcjucjvcjwcksckucnUcjzcnUcqVckscrlcksckscsQcupcksckscwBcxJcwlcwtcxXcyicjKcjLcjMcCYczWcCXczWczWczWczWczWcjQcjRcjScjTcjUcjVcdmcjWbVbcgxcgxcgxcgxcgxbVbcjXbYncjYcjZckackbckcckdcCZcCZcCZcCZcCZcDicDacDhckickjckkcDjcJxcDjcDjcDkcKMcDjcJxckpcDjcMecDjcDjcTxcDjcDjcOKcktcDkcUCckvckwckxckyckzcgUcgUcgUcgUcgUcbXckAcbZckBckCckDckEckFckGckHckIckJckKckLckMckNckOckPckQckRckSckTckUckVckWckXccqckYckZaafaafaafaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjbcjccjdcjecjfcjgcjhcjicjjcjkcjlcjmcjncjocjpcfTbJOcjqceuceucjrccScexcgacgacgacgacgacjscjtcjucjvcjwcksckucnUcjzcnUcqVckscrlcksckscsQcupcksckscwBcxJcwlcwtcxXcyicjKcjLcjMcCYczWcCXczWczWczWczWczWcjQcjRcjScjTcjUcjVcdmcjWbVbcgxcgxcgxcgxcgxbVbcjXbYncjYcjZckackbckcckdcCZcCZcCZcCZcCZcDicDacDhckickjckkcDjcJxcDjcDjcDkcKMcDjcJxckpcDjcMecDjcDjcTxcDjcDjcOKcktcDkcUCckvckwckxckyckzcgUcgUcgUcgUcgUcbXckAcbZckBckCckDckEckFckGckHckIckJckKckLckMckQckOckPckNckRckSckTckUckVckWckXccqckYckZaafaafaafaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgclachgclbclccldcleclfclgclhclicljclkcllclmclncloceuceuceuclpclqclrcexcgacgacgacgacgaclscltchCchDcluclvclwclxckqclyclzclAclBcgiclyclCclDclxclEclFclGclHclIclJclKclLclMclNclOclPclQclRclSbSYbSYclTclUclVclWbVbclXclYcbHcbHbVbcgxcgxcgxcgxcgxbVbclZcmacmbcmcbVbcmdcmecmfcmgcmhcmhcmicmjcmkcmlcmmcmnciocipcitcmocitcitcmpcmqcmrcmscmtcmucmvcmvcmwcmxcmpcmvcmycYecmzcmAciFciGcmBcmCcmDcgUcgUcgUcgUcgUcbXcmEcmFbZkcmGcmHcmIbZkcmJcmKcmJcmLcmMcmNcmObZlcmPcmQbZlcmRcmScmTccqcmUcfFccqcmVcmWbZmaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSfbSgcfIcfIbSgcmXcfKcmYbVWcmZcfNcnacnbcnccndcnecnfcngcnhcnicnjcnkclpcexcgacgacgacgacgacgbcnlcnmccSccScnncgkcnocgicnpcnqcnrcnrcnrcnrcnrcnrcnscnscntcnucnscnvcnwcnxcnycnzcnAcnBcgmcnCclWbKjcnDcgqcgrcnEcgtbKjbVbceTcnFcnGcnHbVbcgxcgxcgxcgxcgxcnIcnIcnJcnIcnIcnIcnIcnKcgCcgBcgDcnLcgFcnMcnNcgIcnOcnPcnPcnPcnQcnRcnScnScnScnScnScnTcnScnScnScnScnScnScZhcnVcnWcYecnXcgKcnYcftcnZcgKcgTcgUcgUcgUcgUcgUcbXcoacbZbZkcobcoccodcoecoecoecofcoecogcoecoebZlbZlbZlbZlcohcoicojcokcolcomconcoobZlbZlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgcopcoqcorcoscemcotbVWcoucovcovcowcovcoxcoycovcngclpclpcozcoAclpcexcexcexcexcexcexcexccSccSccScoBcoCcoDcoEcoFcoGcoDcoHcoIcoJcoKcoLcoMcoNcoOcoPcoQcoRcnscoScoTcoScoUcoVcoWcnAbKkbKkcoXcoYcoZcpacpbcpcbVacpdcpecpfcpfcpfcpgcpgcphcpicpjcoXcnIcpkcplcpmcpncpocnIcppcpqcigcprcpscgFcfccfccnPcptcpucpvcpwcpxcpxcpycpzcpAcpBcpCcpDcpEcpFcpGcpHcpIcpIcpJcpKcpLcpMcpNcpOcpPcpPcpPcpQcbXcbXcbXcbXcbXcbXcbXcdRcbZcpRcobcpScpTcpUcpVcpWcpXcpYcpZcqacqbcqccqdcqdbZlcqecfFcqfbZlbZmcqgbZmbZlbZlaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10895,7 +10895,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaaaaaaaaaaaacLEcPucPucLEcLEcKscHwcFDcFDcEecEecFDcFDcFDcFDcFDcFDcPvcPvcPvcCLcCLcCLcCLcPwcPxcJocKDcKDcKDcKDcKDcKEcKFcPycKFcKFcnAcnAcnAcPzcPAcPBcGgcPCcPDcPEcGgcOHcPFcPGcPHcPIcPJcOBczJcOBcOBcPKcPLcnAcPMcPNcPOcnPcPPcPQcPPcPRcPScPTcPUcOVcPTcrqcrqcPVcJzcJzcPWcJzcJzcOVcnPcETcPXcPYcJIcPZcQacQbcQccQdcJHcQecQfcQgcQhcQicJJcQjcQkcQlcQmcQncQocQpcQqcQrcQscQtcQucQvcQwcQxcQycQzcLvcQAcQBcOacQCcLvcQDcQEcobaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaadaadaaaaaaaaacLEcQFcQGcQHcLEcQIcJdcQJcQKcQLcQMcQNcQOcHwcQPcHwcQQcQRcQRcQRcQScQTcQTcCLcCLcCLcJocJocJocJocJocJocJocPvcQUcPvcFDcQVcFDcQWczMcEEczMcQXcQYcOzcQZczMcOBcOBcPKcOBcOBcRaczJcRbcRccRdcRbcRbcRbcRecRfcRgcRhcRhcRhcRhcRhcRhcRhcRicRjcRkcRkcRkcRlcRmcRncRocRkcRkcRpcRqcRrcRscRtcJIcJIcJIcJIcJIcJIcJIcRucJJcJJcJJcRvcJJcRwcRxcRycRzcRwcJPcRAcJPcJPcJPcLpcRBcRCcRDcREcRFcRGcRHcOacRIcRJcRKcRLcRMcRNcobaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabetaafaafaafaafaaaaaaaaacLEcLEcQIcJccJccJccROcRPcRPcRPcRQcRPcRPcRPcRRcJccJccJccJccROcJccJccJccJccJccJccJccJccRScRTcRUcRVcRWcJccRXcRYcRZcSacSbcSbcSbcSbcSbcSbcSbcRbcRbcRbcRbcRbcRbcRbcSccSdcSecSfcRbcSgcShcSicRhcSjcSkcSlcSmcSncRhcSocrqcrpcrqcrqcSpcSqcSqcSqcSqcSqcSqcSrcSscrqcStcSucSvcSwcSxcSxcSycSzcSAcSBcSCcSDcSEcRycSFcSGcSHcSIcSJcRycSKcSDcSCcSBcSLcRBcSMcSNcSOcSPcSQcLvcSRcSScSTcSUcSVcSWcSXcobaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacLEcLEcLFcLFcLFcLEcLEcLEcLFcLFcLFcLEcLEcLEcLEcLEcLEcLEcLEcHwcHwcHwcHwcHwcHwcHwcHwcHwcHwcHwcLEcLEcLEcLEcSYcSZcTacSbcTbcTccTdcTecTfcSbcTgcThcTicTjcTkcTlcTmcTncTncTocTpcRbcTqdxKcTrcTscTtcTucTvcTwdFqcRhcTycTzcnPcTAcTBcPTcSqcTCcTDcTEcTFcTGcrqcSscTHcTIcTJcTKcTLcTMcTNcETcSzcTOcSHcTPcTQcTRcRycTScTTcTUcTVcTWcRycTXcTQcTPcSHcTYcRBcRBcRBcRBcTZcRBcLvcLvcLvcLvcLvcLvcUacUbcUcaafaafaafaaTaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacLEcLEcLFcLFcLFcLEcLEcLEcLFcLFcLFcLEcLEcLEcLEcLEcLEcLEcLEcHwcHwcHwcHwcHwcHwcHwcHwcHwcHwcHwcLEcLEcLEcLEcSYcSZcTacSbcTbcTccTdcTecTfcSbcTgcThcTicTjcTkcTlcTmcTncTncTocTpcRbcTqdxKcTrcTscTtcTucTvcTwdFqcRhcTycTzcnPcTAcTBcPTcSqcTCcTDcTEcTFcTGcrqcSscTHcTIcTJcTKcTLcTMcTNcETcSzcTOcSHcTPcTQcTRcRycTScTTcTUcTVcTWcRycTXcTQcTPcSHcTYcRBcRBcRBcRBcTZcRBcLvcLvcLvcLvcLvcLvcUbcUacUcaafaafaafaaTaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacLEcLEcUdcUecUfcUgcUhcUicUjcUkcUlcLEcLEaaaaaaaaacxVcUmcUncSbcSbcSbcUocUpcUqcSbcUrcUscUtcUucUvcUwcRbcUxcUycUzcUAcRbcUBdGdcUDcRhcUEcUFcUGcUHcUIcRhcUJcUKcSqcSqcSqcSqcSqcULcUMcUNcUOcUPcpucUQcURcUScUScURcUTcUUcUVcUWcUXcUYcUZcVacVbcVccVdcVecVfcVgcVecVecVdcVgcVhcVicVecVjcVkcVlcVmcVncVocVpcVqcVrcVscVtcVucVvcVwcVxcVyaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacLEcLEcLEcLFcLFcLFcLFcLFcLEcLEcLEaaaaaaaaaaaacxVcVzcVAcSbcVBcVCcVDcVEcVFcSbcVGcVHcVIcVJcVKcVLcRbcRbcVMcRbcRbcRbcVNdxKcVOcRhcRhcVPcVQcVRcVScRhcVTcVUcVVcVWcVXcVYcSqcVZcWacWbcWccSqcWdcOVcWecWfcWgcWhcWicWicWjcETcSzcWkcWlcWmcWncWocWpcWqcWrcWscWtcWqcWucWvcWwcWxcWycWzcWAcWBcWCcWDcWEcWFcWGcWHcWIcWJcWKcWLcWMcWNcWOaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaabaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacSYcUmcUncSbcSbcSbcSbcWPcSbcWQcWRcWRcWScWRcWRcWTcWUcWVcWWcWXcWYcWZcXadxKcXbcXccXdcXecXfcXgcXhcXicXjcXkcXlcXmcXncXocSqcSqcSqcXpcSqcSqcnPcXqcXrcXscXtcXucSycymcymcSycSzcSzcXvcXwcXxcXycXxcRwcXzcXAcXBcRwcXCcXDcXEcXFcXEcXGcXHcXHcXHcXIcXJcXIcXKcXLcXMcXLcXNcXOcXPcXOcVyaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/southern_cross/southern_cross-3.dmm b/maps/southern_cross/southern_cross-3.dmm index 7ed5b7319d..35406babf8 100644 --- a/maps/southern_cross/southern_cross-3.dmm +++ b/maps/southern_cross/southern_cross-3.dmm @@ -1,7 +1,7 @@ "aa" = (/turf/unsimulated/wall/planetary/sif,/area/surface/northwest) "ab" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/northwest) "ac" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/north) -"ad" = (/turf/unsimulated/wall,/area/surface/north) +"ad" = (/turf/simulated/wall/dungeon,/area/surface/north) "ae" = (/obj/effect/step_trigger/teleporter/mine/to_mining,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/north) "af" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/northeast) "ag" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/northwest) @@ -63,1523 +63,1523 @@ "bk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 2"; dir = 2},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) "bl" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) "bm" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) -"bn" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"bo" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"bp" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/mining) -"bq" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"br" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"bs" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/mining) -"bt" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"by" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Mining Storage"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bC" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining_airlock_control2"; name = "Mining Access Console"; pixel_x = 26; pixel_y = 26; tag_exterior_door = "mining_airlock_exterior2"; tag_interior_door = "mining_airlock_interior2"},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bG" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bI" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bJ" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bK" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown/full,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bL" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bM" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bN" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bO" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bP" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bQ" = (/obj/effect/floor_decal/corner/brown{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bS" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bT" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bU" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bV" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bW" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bX" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bY" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/ninja_dojo/planet) -"bZ" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/storage) -"ca" = (/turf/simulated/wall,/area/surface/outpost/mining_main/storage) -"cb" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cd" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/corner/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ce" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cf" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cg" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ch" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ci" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"cj" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"ck" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"cl" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cm" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cn" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"co" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/emergencystorage) -"cp" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cq" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cr" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cs" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"ct" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"cu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"cv" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"cw" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/machinery/light/small{dir = 1},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"cx" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gateway) -"cy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) -"cz" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) -"cA" = (/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/contraband,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) -"cB" = (/obj/random/maintenance/clean,/obj/random/contraband,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) -"cC" = (/obj/structure/closet/hydrant{pixel_x = -32; pixel_y = 0},/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cD" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cE" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cF" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westright{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cH" = (/obj/machinery/mineral/input,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/structure/sign/warning/moving_parts{pixel_y = 32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"cI" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"cJ" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cK" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cL" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cM" = (/obj/machinery/conveyor{dir = 9; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cN" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cO" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/machinery/mineral/input,/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"cP" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"cQ" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/tiled/steel/sif/planetuse{tag = "icon-dark"; icon_state = "dark"},/area/surface/outpost/mining_main/gen_room) -"cR" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/security) -"cS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) -"cT" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) -"cU" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cV" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cW" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gateway"},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cX" = (/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cY" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cZ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/first_aid) -"da" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) -"db" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) -"dc" = (/turf/simulated/wall,/area/surface/outpost/mining_main/emergencystorage) -"dd" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"de" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"df" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westleft{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dh" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"di" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dj" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"dk" = (/obj/machinery/conveyor_switch{id = "mining_external"},/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"dl" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 5; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"dm" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/guncabinet/rifle,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dn" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"do" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dp" = (/obj/structure/closet/secure_closet/guncabinet/rifle,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dq" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) -"dr" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"ds" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"dt" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"du" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) -"dv" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/weapon/screwdriver,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dw" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dx" = (/obj/machinery/sleep_console{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dy" = (/obj/structure/bed/roller,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dz" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/computer/guestpass{pixel_y = 30},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"dA" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"dB" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dD" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dE" = (/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dF" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Production Area"; req_access = list(48)},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"dH" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"dI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"dJ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"dK" = (/obj/machinery/mineral/input,/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dL" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"dM" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"dN" = (/obj/structure/window/reinforced,/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dP" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dR" = (/turf/simulated/wall,/area/surface/outpost/main/gateway) -"dS" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"dT" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"dU" = (/obj/machinery/cryopod/robot/door/gateway,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"dV" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"dW" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"dX" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dY" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dZ" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ea" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"eb" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) -"ec" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ed" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"ee" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"ef" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining1_airlock_control"; name = "Mining Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "mining1_airlock_exterior"; tag_interior_door = "mining1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eh" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ei" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ej" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ek" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"el" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Hallway 1"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"em" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"en" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eo" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"ep" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eq" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Production Room"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"er" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"es" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"et" = (/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eu" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/standard,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ev" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ew" = (/obj/machinery/computer/cryopod/gateway{pixel_x = -30},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"ex" = (/obj/machinery/gateway{dir = 10},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"ey" = (/obj/machinery/gateway,/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"ez" = (/obj/machinery/gateway{dir = 6},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"eA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atm{pixel_x = 30},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"eB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eC" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eD" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"eE" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"eF" = (/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"eG" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"eH" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 1"; dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"eI" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eJ" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eK" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"eL" = (/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eN" = (/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eO" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"eP" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/glass,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"eQ" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Security Checkpoint"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eR" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eS" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"eY" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"eZ" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fa" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fb" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) -"fc" = (/turf/simulated/wall,/area/surface/outpost/mining_main) -"fd" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - FA Station"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ff" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fg" = (/obj/effect/floor_decal/corner/brown,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"fi" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"fj" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"fk" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fl" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fm" = (/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fo" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"fr" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"fs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"ft" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"fu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"fv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"fx" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fz" = (/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fA" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fB" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fC" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"fD" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"fE" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"fF" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"fG" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"fH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"fI" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/sign/warning/moving_parts{pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fJ" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fK" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fL" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fM" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fN" = (/obj/machinery/conveyor{dir = 5; icon_state = "conveyor0"; id = "miningout_internal"},/obj/machinery/mineral/input,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fO" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) -"fP" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"fQ" = (/obj/machinery/computer/security,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fR" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fS" = (/obj/structure/closet/crate,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/device/flash,/obj/item/weapon/pen,/obj/item/weapon/crowbar,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fU" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fW" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"fX" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"fY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"fZ" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"ga" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"gb" = (/obj/structure/closet/l3closet/scientist,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"gc" = (/obj/structure/table/glass,/obj/item/weapon/crowbar,/obj/item/bodybag,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/obj/item/bodybag/cryobag,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"gd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ge" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"gf" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"gg" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gh" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gi" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gk" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gl" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Mining"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gm" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/mining_main/gen_room) -"gn" = (/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"go" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gp" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"gq" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/telecomms) -"gr" = (/turf/simulated/wall,/area/surface/outpost/main/teleporter) -"gs" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) -"gt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Gateway Access"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"gu" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/garage) -"gv" = (/turf/simulated/wall,/area/surface/outpost/main/garage) -"gw" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power West"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gx" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gz" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gE" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gF" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gG" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gH" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gI" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/telecomms/relay/preset/southerncross/cave,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"gK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/telecomms/relay/preset/southerncross/planet,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"gL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Telecomm"},/obj/machinery/telecomms/relay/preset/southerncross/wild,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"gM" = (/turf/simulated/wall,/area/surface/outpost/main/security) -"gN" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gO" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gP" = (/obj/machinery/door/window/northright,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gQ" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) -"gR" = (/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gT" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gU" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"gV" = (/obj/structure/table/steel,/obj/item/weapon/weldpack,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"gW" = (/obj/machinery/space_heater,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"gX" = (/obj/item/stack/tile/floor/steel_dirty,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"gY" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"gZ" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ha" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"hb" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"hc" = (/obj/structure/table/steel,/obj/random/tool,/obj/random/tool,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"he" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/pipedispenser,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hf" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hh" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hi" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hk" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hl" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hm" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hn" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power East"; dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ho" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hq" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"hs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"ht" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"hu" = (/turf/simulated/wall,/area/surface/outpost/main/first_aid) -"hv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hw" = (/obj/structure/window/reinforced{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hx" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"hy" = (/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"hz" = (/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"hA" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"hB" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"hC" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"hD" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"hE" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) -"hF" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hG" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hH" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hI" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hK" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hL" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hM" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hN" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 7; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hO" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 5; tag_south = 6; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hP" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hR" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Telecommunication Hub"; req_one_access = list(10,48,65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hT" = (/obj/structure/table/standard,/obj/item/weapon/crowbar/red,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/weapon/crowbar/red,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"hU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"hV" = (/obj/machinery/door/window/northleft,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hW" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"hX" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) -"hY" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"hZ" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ia" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 2"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ib" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/toolcloset,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ic" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"id" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"ie" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Atmospherics"; dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"if" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ig" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ih" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room) -"ii" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"ij" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"ik" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"il" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room) -"im" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/computer/guestpass{pixel_y = 30},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"in" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"io" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ip" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/item/frame/light,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"iq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ir" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"is" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"it" = (/obj/structure/cable,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"iu" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) -"iv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) -"iw" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"ix" = (/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iy" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iz" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter Access"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iA" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iC" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iD" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iE" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Explorer Prep"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"iF" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"iG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"iH" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) -"iI" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) -"iJ" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) -"iK" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) -"iL" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) -"iM" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) -"iN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iR" = (/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"iS" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"iT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"iZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ja" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jd" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"je" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jg" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 1"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jh" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"ji" = (/obj/machinery/status_display,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main) -"jj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jl" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jm" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jn" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jo" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jp" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"jr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"js" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - SAR Prep"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"jt" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main) -"ju" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jw" = (/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jy" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jz" = (/obj/machinery/mech_recharger,/obj/effect/decal/mecha_wreckage/ripley,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jA" = (/obj/item/inflatable/door/torn,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/surface/outpost/main/garage) -"jB" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jD" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gym) -"jE" = (/turf/simulated/wall,/area/surface/outpost/main/gym) -"jF" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"jG" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jI" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jJ" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jL" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/construction_area) -"jM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"jN" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room/smes) -"jO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"jP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/bar) -"jQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"jR" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"jS" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"jT" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"jU" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"jV" = (/obj/machinery/vending/fitness,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"jW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"jX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gym) -"jY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ka" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/junction,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kc" = (/obj/effect/floor_decal/corner/brown/full,/obj/structure/closet,/obj/item/clothing/suit/storage/hooded/wintercoat/cargo,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"kd" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"ke" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"kf" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main) -"kg" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ki" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main) -"kj" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"kk" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kl" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"km" = (/obj/machinery/alarm{pixel_y = 22},/obj/random/toolbox,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kn" = (/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ko" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kp" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) -"kq" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal{dir = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"kr" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Dorms"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"ks" = (/turf/simulated/wall,/area/surface/outpost/main/bar) -"kt" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ku" = (/obj/machinery/button/remote/blast_door{id = "barout"; name = "Bar Shutters"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"kv" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"kw" = (/obj/item/weapon/stool,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"kx" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ky" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"kz" = (/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"kA" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"kB" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"kC" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"kD" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"kE" = (/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"kF" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"kG" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"kH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"kI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main5_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main5_airlock_exterior"; tag_interior_door = "main5_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"kK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kP" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kQ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main2_airlock_control"; name = "Main Access Console"; pixel_x = 26; pixel_y = -26; tag_exterior_door = "main2_airlock_exterior"; tag_interior_door = "main2_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kR" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kS" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kT" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kU" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"kW" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kY" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kZ" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"la" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"lb" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar West"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ld" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{dir = 8; icon_state = "register_idle"; tag = "icon-register_idle (WEST)"},/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"le" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lf" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lg" = (/obj/structure/bed/chair/wood,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"li" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lj" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"lk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"ll" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"lm" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"ln" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gym) -"lo" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lp" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lq" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lr" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"ls" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lt" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lv" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"lx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ly" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Explorer Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"lz" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lA" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lB" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"lC" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/obj/item/frame/light,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"lF" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"lG" = (/obj/machinery/light{dir = 8},/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lH" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lI" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lJ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lK" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lL" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lM" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar East"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"lO" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access North"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"lP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"lQ" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"lR" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lS" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lT" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lV" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/restroom) -"lW" = (/turf/simulated/wall,/area/surface/outpost/main/restroom) -"lX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"lY" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ma" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mb" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mc" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"md" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"me" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mg" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mh" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mi" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mj" = (/obj/structure/bed/chair/wood{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ml" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mm" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mn" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mo" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mp" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mr" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"ms" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mu" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mw" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"my" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mz" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mA" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mB" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mC" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mD" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mF" = (/turf/simulated/wall,/area/surface/outpost/main/construction_area) -"mG" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"mH" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"mI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mJ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "SAR Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"mK" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mL" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mM" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mN" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mO" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mQ" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gym"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mR" = (/obj/item/weapon/stool/padded,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mS" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"mU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mV" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) -"mW" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"mZ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/dorms) -"na" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nc" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nd" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ne" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"nf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ng" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"ni" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nj" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nk" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"nl" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) -"nm" = (/obj/structure/closet/secure_closet/personal,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nn" = (/obj/structure/table/bench/marble,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"no" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"np" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nq" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"nr" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) -"ns" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"nt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Access"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"nu" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) -"nv" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"nw" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"nx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/device/gps/explorer{pixel_x = -5; pixel_y = -5},/obj/item/device/gps/explorer{pixel_x = -3; pixel_y = -3},/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ny" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"nz" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nA" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nB" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/light,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/item/device/paicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"nC" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"nD" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"nE" = (/obj/structure/closet/secure_closet/explorer,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"nF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nG" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main/corridor) -"nH" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nI" = (/obj/structure/table/steel,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"nJ" = (/obj/machinery/mech_recharger,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"nK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/steel,/obj/item/roller/adv,/obj/item/roller/adv{pixel_y = 5},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/white/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nL" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"nM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nP" = (/obj/structure/closet/secure_closet/sar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nQ" = (/obj/structure/closet/secure_closet/sar,/obj/machinery/light,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nR" = (/obj/structure/table/steel,/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nS" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"nT" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nV" = (/obj/structure/disposalpipe/junction/yjunction{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nW" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nX" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"nZ" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oa" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"ob" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oc" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"od" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main1_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main1_airlock_exterior"; tag_interior_door = "main1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oe" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"of" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"og" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oh" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oi" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oj" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ok" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ol" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"om" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"on" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oo" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"op" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"or" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"os" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ot" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ou" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"ov" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ow" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"ox" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"oy" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oz" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oA" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oC" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oD" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oE" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oF" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oG" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oI" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/surface/outpost/main/dorms) -"oJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oK" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"oL" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oO" = (/obj/machinery/bluespace_beacon,/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"oP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"oQ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oR" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"oS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/teleporter) -"oT" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oV" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room) -"oW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 2"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"oY" = (/turf/simulated/wall,/area/surface/outpost/main/corridor) -"oZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pc" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pe" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pg" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ph" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"pi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pk" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pl" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"po" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"pp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pq" = (/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pr" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"ps" = (/turf/simulated/wall,/area/surface/outpost/main/dorms) -"pt" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"pu" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pw" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"px" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"py" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pz" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway East"; dir = 9},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pA" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"pB" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pC" = (/obj/machinery/mech_recharger,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"pD" = (/turf/simulated/wall,/area/surface/outpost/main) -"pE" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"pF" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) -"pG" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pH" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pI" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pJ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) -"pK" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/purpledouble,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"pL" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"pM" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"pN" = (/obj/machinery/door/airlock{id_tag = "modorm1"; name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pO" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pQ" = (/obj/machinery/door/airlock{id_tag = "modorm2"; name = "Room 2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pR" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"pS" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"pT" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/yellow,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"pU" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"pV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm5"; name = "Room 5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm6"; name = "Room 6"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pX" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"pY" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"pZ" = (/obj/item/weapon/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"qa" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"qb" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = -6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qc" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"qd" = (/turf/simulated/wall,/area/surface/outpost/main/pool) -"qe" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main) -"qf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"qg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qh" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qj" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"qk" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"ql" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"qm" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qn" = (/obj/machinery/button/remote/airlock{id = "modorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"qo" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"qp" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"qq" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm5"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"qr" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qs" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm6"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"qt" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"qu" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"qv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"qw" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"qx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qz" = (/obj/machinery/space_heater,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qA" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qB" = (/obj/machinery/light/spot{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qC" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qD" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool North"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qG" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qH" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qI" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qJ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qK" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qL" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qM" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qN" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qO" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"qP" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"qQ" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access South"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"qS" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"qZ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"ra" = (/obj/machinery/door/airlock{id_tag = "modorm3"; name = "Room 3"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 1"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm4"; name = "Room 4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"re" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rf" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rg" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rh" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"ri" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm7"; name = "Room 7"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm8"; name = "Room 8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rl" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rm" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"rn" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"ro" = (/obj/structure/table/glass,/obj/item/device/paicard,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rq" = (/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"rr" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"rs" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"rt" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"ru" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rv" = (/obj/structure/table/glass,/obj/item/weapon/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rw" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rx" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm3"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"ry" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm4"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rz" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rA" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rB" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm7"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"rC" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm8"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rD" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rE" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"rF" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"rG" = (/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"rH" = (/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"rI" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"rJ" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool West"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rL" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/weapon/beach_ball,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rM" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rN" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rP" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool East"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rQ" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/northwest) -"rR" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/center) -"rS" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/center) -"rT" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/effect/zone_divider,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"rU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/effect/zone_divider,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"rV" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rX" = (/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rY" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"rZ" = (/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"sa" = (/obj/effect/floor_decal/spline/plain{dir = 10},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sb" = (/obj/effect/floor_decal/spline/plain,/obj/machinery/hologram/holopad,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sc" = (/obj/effect/floor_decal/spline/plain{dir = 6},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sd" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"se" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"sf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sg" = (/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sh" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/center) -"si" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/northeast) -"sj" = (/turf/unsimulated/wall/planetary/sif,/area/surface/west) -"sk" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/west) -"sl" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/center) -"sm" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/center) -"sn" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"so" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sq" = (/turf/simulated/mineral/sif,/area/surface/center) -"sr" = (/turf/simulated/mineral/sif,/area/surface/east) -"ss" = (/turf/unsimulated/wall/planetary/sif,/area/surface/east) -"st" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"su" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"sv" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"sw" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"sx" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"sy" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sz" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"sA" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sB" = (/obj/machinery/light/spot,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sC" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sD" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sE" = (/obj/structure/table/glass,/obj/item/inflatable{pixel_x = 6; pixel_y = 6},/obj/item/inflatable{pixel_x = 2; pixel_y = 2},/obj/item/inflatable{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sF" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_1"; name = "shuttle bay controller"; pixel_x = -26; pixel_y = 0; tag_door = "surface_dock_1_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"sG" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sH" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_2"; name = "shuttle bay controller"; pixel_x = 26; pixel_y = 0; tag_door = "surface_dock_2_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"sI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sJ" = (/obj/structure/table/glass,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool South"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sK" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sL" = (/obj/machinery/light{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"sM" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sN" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sO" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sP" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sQ" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sR" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/planet) -"sS" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"sT" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/planet) -"sU" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"sV" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"sW" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"sX" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/center) -"sY" = (/turf/simulated/floor/water,/area/surface/east) -"sZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"ta" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) -"tb" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) -"tc" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"td" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"te" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_exterior"; locked = 1; name = "Research Exterior Airlock"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -24; pixel_y = 0; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) -"tf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"tg" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/emergencystorage) -"th" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/smes) -"ti" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tj" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/restroom) -"tk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) -"tl" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tn" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"to" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch) -"tp" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"tq" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"tr" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/smes) -"ts" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Research"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/heavyduty,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tu" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light/small{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tv" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/restroom) -"tw" = (/obj/structure/toilet{dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"tx" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"ty" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"tz" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"tA" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"tB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tC" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tD" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Airlock"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tF" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tG" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tH" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tI" = (/obj/item/weapon/storage/box/donkpockets,/obj/structure/table/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tJ" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"tK" = (/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"tL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"tM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"tN" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/center) -"tO" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/east) -"tP" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/east) -"tQ" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (WEST)"; icon_state = "shorelinecorner"; dir = 8},/area/surface/east) -"tR" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHEAST)"; icon_state = "shoreline"; dir = 5},/area/surface/east) -"tS" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/hydrant{pixel_x = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"tT" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"tU" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"tV" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/item/weapon/weldpack,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tW" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Research Outpost"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tX" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"tY" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"tZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"ua" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"ub" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uc" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"ud" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_interior"; locked = 1; name = "Research Interior Airlock"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -26; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"ue" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"ug" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uh" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"ui" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"ul" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"um" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/east) -"un" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/east) -"uo" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/emergencystorage) -"up" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"ur" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Research Restroom"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"us" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"ut" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "research_airlock_control"; name = "Research Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "research_airlock_exterior"; tag_interior_door = "research_airlock_interior"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uu" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uv" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"ux" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uy" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uz" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uA" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"uC" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"uD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"uE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"uF" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"uG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 1"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uL" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"uZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"va" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vd" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"ve" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vf" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"vg" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vh" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vk" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/bot/secbot/slime,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vl" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vm" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vq" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vs" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vu" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vy" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 4"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vB" = (/turf/simulated/floor/water/deep,/area/surface/east) -"vC" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vD" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vF" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"vG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"vH" = (/obj/structure/bed/chair,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -28; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"vI" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"vJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"vK" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"vL" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"vM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vN" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vO" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 3"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"vQ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"vR" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"vS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vT" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vV" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenoflora) -"vW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"vX" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"vY" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"vZ" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wa" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wb" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced,/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/xenobiology) -"wc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"wd" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"we" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wg" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wh" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - First Aid Station"; dir = 2},/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wi" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/defib_kit/loaded,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"wk" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"wl" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"wm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wn" = (/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"wo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"wp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"wq" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wr" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"ws" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wt" = (/obj/structure/table/standard,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wu" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/closet/l3closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wv" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"ww" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Access"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wx" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wy" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wz" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/pen,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wA" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wB" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wD" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/corner/paleblue,/obj/structure/table/rack,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wE" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"wF" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"wG" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"wH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora North"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wI" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wK" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wL" = (/obj/machinery/atmospherics/tvalve{dir = 1; name = "siphon switching valve"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"wM" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wN" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wO" = (/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"wP" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"wQ" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wR" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 6; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wT" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wU" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wV" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"wW" = (/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"wX" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wY" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"wZ" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/bodybag/cryobag,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xa" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"xb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"xc" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"xd" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"xe" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xf" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xg" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xh" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xi" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xj" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xk" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) -"xl" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xm" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xn" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -6; pixel_y = 28; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xo" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "xeno_airlock_control"; name = "Xenobiology Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "xeno_airlock_exterior"; tag_interior_door = "xeno_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xp" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xq" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xr" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xs" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"xt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xv" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xx" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xy" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xB" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xC" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"xD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"xE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"xF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xG" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xJ" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xL" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"xM" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xN" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xO" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xP" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xQ" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xR" = (/obj/structure/table/glass,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/hatchet,/obj/item/weapon/material/hatchet,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xS" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xT" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xU" = (/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xV" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xW" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xX" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xY" = (/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"xZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"ya" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yc" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"ye" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction/yjunction{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yg" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yi" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"yl" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"ym" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yn" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yo" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/door/window/westright{name = "Xenoflora Containment"; req_access = list(55)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"yp" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yq" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yr" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"ys" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yt" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/botany/editor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/botany/extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yv" = (/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yw" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora East"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yx" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yy" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"yz" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yA" = (/obj/machinery/disposal,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yC" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yD" = (/obj/structure/window/reinforced,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yE" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yF" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yG" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/botanydisk,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yH" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yJ" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yL" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"yM" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"yN" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology West"; dir = 4},/obj/structure/closet/firecloset/full/double,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yO" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yP" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yQ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yR" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yS" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology East"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yT" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"yU" = (/obj/machinery/door/blast/regular{desc = "Blastdoor divider"; id = "xenobioout7"; name = "Containment Divider"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"yV" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora West"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yW" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yX" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"za" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zb" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zd" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"ze" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zf" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zg" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zh" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zi" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"zj" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zk" = (/obj/machinery/smartfridge/secure/extract,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zl" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/button/remote/blast_door{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zm" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"zn" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zo" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zp" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zt" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zv" = (/obj/structure/closet/emcloset,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"zw" = (/mob/living/simple_animal/slime,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zx" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zC" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/processor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zF" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zG" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Port to Isolation"},/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zH" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zI" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"zJ" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zK" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zL" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zM" = (/obj/structure/window/reinforced,/obj/machinery/biogenerator,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zN" = (/obj/structure/window/reinforced,/obj/machinery/seed_extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zO" = (/obj/machinery/seed_storage/xenobotany,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zP" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zQ" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zR" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 2"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zS" = (/turf/simulated/floor/water/shoreline/corner,/area/surface/east) -"zT" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHEAST)"; icon_state = "shoreline"; dir = 6},/area/surface/east) -"zU" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"zX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Aa" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ab" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ac" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/item/weapon/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ad" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ae" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Af" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ag" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) -"Ah" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ai" = (/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aj" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ak" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Al" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Am" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the divider between pens."; id = "xenobioout7"; name = "Containment Divider Switch"; pixel_x = 28; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"An" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ao" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ap" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aq" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ar" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"As" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"At" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Au" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Av" = (/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ax" = (/obj/structure/closet,/obj/item/toy/figure/scientist,/obj/item/clothing/accessory/armband/science,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ay" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Az" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AA" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology South"; dir = 1},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AD" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AE" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AF" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AG" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AI" = (/obj/structure/closet/radiation,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"AJ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"AK" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenobiology) -"AL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"AM" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"AN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"AO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"AP" = (/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AQ" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"AS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"AT" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"AU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"AV" = (/turf/simulated/wall,/area/surface/center) -"AW" = (/turf/simulated/floor/wood,/area/surface/center) -"AX" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AY" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"AZ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ba" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bb" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bc" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bd" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Be" = (/obj/structure/closet/l3closet/general,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bf" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bg" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bh" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bi" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bj" = (/obj/structure/closet/crate/hydroponics{name = "exotic seeds crate"},/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/libertymycelium,/obj/item/seeds/reishimycelium,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/kudzuseed,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bk" = (/obj/machinery/door/window/eastright{name = "Bar"; req_access = null; req_one_access = list(25,43,67)},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"Bl" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bm" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bn" = (/obj/structure/closet/bombcloset,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bo" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"Bp" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) -"Bq" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/south) -"Br" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bs" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bw" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 1"; dir = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bx" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"By" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bz" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"BA" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) -"BB" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BF" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"BG" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"BH" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BI" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BJ" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"BK" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/west) -"BL" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"BM" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/response_ship/planet) -"BN" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHWEST)"; icon_state = "shoreline"; dir = 9},/area/surface/east) -"BO" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTH)"; icon_state = "shoreline"; dir = 1},/area/surface/east) -"BP" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (EAST)"; icon_state = "shorelinecorner"; dir = 4},/area/surface/east) -"BQ" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (EAST)"; icon_state = "shoreline"; dir = 4},/area/surface/east) -"BR" = (/turf/simulated/floor/water/shoreline,/area/surface/east) -"BS" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHWEST)"; icon_state = "shoreline"; dir = 10},/area/surface/east) -"BT" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (NORTH)"; icon_state = "shorelinecorner"; dir = 1},/area/surface/east) -"BU" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/west) -"BV" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"BW" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/syndicate_station/planet) -"BX" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/west) -"BY" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/center) -"BZ" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/center) -"Ca" = (/turf/unsimulated/wall/planetary/sif,/area/surface/southwest) -"Cb" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/southwest) -"Cc" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/southeast) -"Cd" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/southeast) -"Ce" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/southeast) -"Cf" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/southeast) -"Cg" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/southeast) -"Ch" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/southeast) -"Ci" = (/turf/unsimulated/wall/planetary/sif,/area/surface/southeast) -"Cj" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/southwest) -"Ck" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) -"Cl" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) -"Cm" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/south) -"Cn" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Co" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/south) -"Cp" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/south) -"Cq" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/southeast) -"Cr" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/southeast) -"Cs" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/southeast) -"Ct" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (WEST)"; icon_state = "shorelinecorner"; dir = 8},/area/surface/southeast) -"Cu" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHEAST)"; icon_state = "shoreline"; dir = 5},/area/surface/southeast) -"Cv" = (/turf/simulated/floor/water,/area/surface/southeast) -"Cw" = (/turf/simulated/floor/water/deep,/area/surface/southeast) -"Cx" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/southeast) -"Cy" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Cz" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTH)"; icon_state = "shoreline"; dir = 1},/area/surface/southeast) -"CA" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/skipjack_station/planet) -"CB" = (/obj/item/weapon/caution/cone,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) -"CC" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/southwest) -"CD" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/south) -"CE" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) -"CF" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/southeast) -"CG" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"CH" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main4_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = 26; tag_exterior_door = "main4_airlock_exterior"; tag_interior_door = "main4_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"CI" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) -"CJ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"CK" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CL" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CM" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CO" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CP" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CS" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"CW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"CX" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"CY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"CZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Da" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/junction/yjunction,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Db" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Dc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Dd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"De" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Df" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Dg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Dh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Di" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Dj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Dk" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dl" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Dm" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "hos"; name = "Statue"; pixel_y = 2},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/corridor) -"Dn" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"Do" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"Dp" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dq" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/crate,/obj/item/weapon/bedsheet,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/bedsheet/brown,/obj/item/weapon/bedsheet/green,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/purple,/obj/item/weapon/bedsheet/red,/obj/item/weapon/bedsheet/yellow,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dr" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Ds" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dt" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Du" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway East"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dx" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dy" = (/obj/machinery/vending/snack,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"Dz" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"DA" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"DB" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"DC" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"DD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DE" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DF" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DG" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DH" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DI" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DJ" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DK" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"DL" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway West"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"DM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"DN" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"DO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"DP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"DQ" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light,/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DR" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main3_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = -26; tag_exterior_door = "main3_airlock_exterior"; tag_interior_door = "main3_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DS" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"DU" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"DV" = (/obj/structure/closet/wardrobe/suit,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"DW" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"DX" = (/obj/structure/closet/wardrobe/grey,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"DY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"DZ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Ea" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"Eb" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"Ec" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"Ed" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) -"Ee" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) -"Ef" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"Eg" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"Eh" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"Ei" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"Ej" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ek" = (/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"El" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Em" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"En" = (/turf/simulated/floor/wood,/area/surface/outside/river/indalsalven) -"Eo" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Ep" = (/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"Eq" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Er" = (/turf/simulated/floor/wood,/area/surface/outside/river/faxalven) -"Es" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"Et" = (/turf/simulated/floor/water,/area/surface/outside/lake/romsele) -"Eu" = (/turf/simulated/floor/water/deep,/area/surface/outside/lake/romsele) -"Ev" = (/obj/item/weapon/caution/cone,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/south) +"bn" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gateway) +"bo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) +"bp" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) +"bq" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"br" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"bs" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/mining) +"bt" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"bu" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"bv" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/mining) +"bw" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"by" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Mining Storage"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bF" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining_airlock_control2"; name = "Mining Access Console"; pixel_x = 26; pixel_y = 26; tag_exterior_door = "mining_airlock_exterior2"; tag_interior_door = "mining_airlock_interior2"},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bJ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bL" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bM" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bN" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/security) +"bO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) +"bP" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) +"bQ" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bR" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bS" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gateway"},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bT" = (/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bU" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bV" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/first_aid) +"bW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) +"bX" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) +"bY" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown/full,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bZ" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"ca" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"cb" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"cc" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"cd" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"ce" = (/obj/effect/floor_decal/corner/brown{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cg" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"ch" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"ci" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cj" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"ck" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"cl" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"cm" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cn" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/guncabinet/rifle,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"co" = (/obj/structure/closet/secure_closet/guncabinet/rifle,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cp" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cq" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) +"cr" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cs" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"ct" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cu" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) +"cv" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/weapon/screwdriver,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cw" = (/obj/machinery/sleep_console{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cx" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cy" = (/obj/structure/bed/roller,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cz" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/ninja_dojo/planet) +"cA" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/storage) +"cB" = (/turf/simulated/wall,/area/surface/outpost/mining_main/storage) +"cC" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cE" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/corner/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cF" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cG" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cH" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cI" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cJ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) +"cK" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"cL" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"cM" = (/obj/structure/window/reinforced,/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cO" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cQ" = (/turf/simulated/wall,/area/surface/outpost/main/gateway) +"cR" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"cS" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cT" = (/obj/machinery/cryopod/robot/door/gateway,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cU" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cV" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"cW" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cX" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cY" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cZ" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"da" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"db" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"dc" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"dd" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/emergencystorage) +"de" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"df" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"dg" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dh" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"di" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) +"dj" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"dk" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"dl" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/machinery/light/small{dir = 1},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) +"dm" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/standard,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dn" = (/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"do" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dp" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dq" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dr" = (/obj/machinery/computer/cryopod/gateway{pixel_x = -30},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"ds" = (/obj/machinery/gateway{dir = 10},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"dt" = (/obj/machinery/gateway,/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"du" = (/obj/machinery/gateway{dir = 6},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"dv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atm{pixel_x = 30},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"dw" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"dx" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/glass,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"dy" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"dz" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"dA" = (/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/contraband,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) +"dB" = (/obj/random/maintenance/clean,/obj/random/contraband,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) +"dC" = (/obj/structure/closet/hydrant{pixel_x = -32; pixel_y = 0},/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"dD" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"dE" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"dF" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"dG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westright{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"dH" = (/obj/machinery/mineral/input,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/structure/sign/warning/moving_parts{pixel_y = 32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"dI" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) +"dJ" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dK" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dL" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dM" = (/obj/machinery/conveyor{dir = 9; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dN" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dO" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/machinery/mineral/input,/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"dP" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) +"dQ" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/tiled/steel/sif/planetuse{tag = "icon-dark"; icon_state = "dark"},/area/surface/outpost/mining_main/gen_room) +"dR" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Security Checkpoint"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dS" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dT" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dU" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"dV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"dW" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"dX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"dY" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"dZ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"ea" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"ec" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - FA Station"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"ed" = (/turf/simulated/wall,/area/surface/outpost/mining_main/emergencystorage) +"ee" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) +"ef" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westleft{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"ei" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) +"ej" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"ek" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) +"el" = (/obj/machinery/conveyor_switch{id = "mining_external"},/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) +"em" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 5; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"en" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eo" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"ep" = (/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"er" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"es" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"et" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) +"eu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"ev" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"ew" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"ex" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"ey" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"ez" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eA" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eC" = (/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eD" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eE" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"eF" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/computer/guestpass{pixel_y = 30},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"eG" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"eH" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eI" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eJ" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eK" = (/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eL" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"eM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Production Area"; req_access = list(48)},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"eN" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"eO" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"eP" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"eQ" = (/obj/machinery/mineral/input,/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"eR" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"eS" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"eT" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eU" = (/obj/machinery/computer/security,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eV" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/device/flash,/obj/item/weapon/pen,/obj/item/weapon/crowbar,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eW" = (/obj/structure/closet/crate,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eY" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"eZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"fa" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"fb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"fc" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"fd" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"fe" = (/obj/structure/closet/l3closet/scientist,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"ff" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"fg" = (/obj/structure/table/glass,/obj/item/weapon/crowbar,/obj/item/bodybag,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/obj/item/bodybag/cryobag,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"fh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"fi" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"fj" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"fk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) +"fl" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"fn" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"fo" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining1_airlock_control"; name = "Mining Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "mining1_airlock_exterior"; tag_interior_door = "mining1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fq" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fr" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fs" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"ft" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fu" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Hallway 1"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"fw" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"fx" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) +"fy" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"fz" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Production Room"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"fA" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) +"fB" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"fC" = (/turf/simulated/wall,/area/surface/outpost/main/security) +"fD" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fE" = (/obj/machinery/door/window/northright,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fF" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Gateway Access"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) +"fH" = (/turf/simulated/wall,/area/surface/outpost/main/first_aid) +"fI" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"fJ" = (/obj/machinery/door/window/northleft,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"fK" = (/obj/structure/window/reinforced{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"fL" = (/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/gen_room) +"fM" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"fN" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 1"; dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"fO" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fP" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fQ" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"fR" = (/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"fS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"fT" = (/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"fU" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"fV" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) +"fW" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/computer/guestpass{pixel_y = 30},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"fX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"fY" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fZ" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Explorer Prep"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"ga" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gb" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gc" = (/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ge" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 1"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gf" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gg" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gi" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - SAR Prep"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gj" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gk" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) +"gl" = (/turf/simulated/wall,/area/surface/outpost/mining_main) +"gm" = (/obj/effect/floor_decal/corner/brown/full,/obj/structure/closet,/obj/item/clothing/suit/storage/hooded/wintercoat/cargo,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"go" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gp" = (/obj/effect/floor_decal/corner/brown,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) +"gr" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) +"gs" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) +"gt" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"gu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"gv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"gw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main5_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main5_airlock_exterior"; tag_interior_door = "main5_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Explorer Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) +"gB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "SAR Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"gF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gI" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gJ" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gK" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gL" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gM" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gN" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gO" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"gP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gR" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/sign/warning/moving_parts{pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"gS" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gT" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gU" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gV" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gW" = (/obj/machinery/conveyor{dir = 5; icon_state = "conveyor0"; id = "miningout_internal"},/obj/machinery/mineral/input,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gX" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/north) +"gY" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"gZ" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) +"ha" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"hb" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"hc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/device/gps/explorer{pixel_x = -5; pixel_y = -5},/obj/item/device/gps/explorer{pixel_x = -3; pixel_y = -3},/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hd" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/light,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/item/device/paicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"he" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hf" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hg" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hh" = (/obj/structure/closet/secure_closet/explorer,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hi" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hk" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hl" = (/obj/machinery/mech_recharger,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"hm" = (/obj/structure/table/steel,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"hn" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"ho" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/steel,/obj/item/roller/adv,/obj/item/roller/adv{pixel_y = 5},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/white/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hp" = (/obj/structure/closet/secure_closet/sar,/obj/machinery/light,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hq" = (/obj/structure/closet/secure_closet/sar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hr" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hs" = (/obj/structure/table/steel,/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"ht" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hu" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hw" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hx" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Mining"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hy" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/mining_main/gen_room) +"hz" = (/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hB" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"hC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/telecomms) +"hD" = (/turf/simulated/wall,/area/surface/outpost/main/teleporter) +"hE" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) +"hF" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hG" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hH" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/garage) +"hI" = (/turf/simulated/wall,/area/surface/outpost/main/garage) +"hJ" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power West"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hM" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hP" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hR" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hS" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hT" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hU" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hV" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/telecomms/relay/preset/southerncross/cave,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"hX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/telecomms/relay/preset/southerncross/planet,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"hY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Telecomm"},/obj/machinery/telecomms/relay/preset/southerncross/wild,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"hZ" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"ia" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"ib" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"ic" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"id" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) +"ie" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"if" = (/obj/structure/table/steel,/obj/item/weapon/weldpack,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ig" = (/obj/machinery/space_heater,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ih" = (/obj/item/stack/tile/floor/steel_dirty,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ii" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ij" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"ik" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"il" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"im" = (/obj/structure/table/steel,/obj/random/tool,/obj/random/tool,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"in" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"io" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/pipedispenser,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ip" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ir" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"is" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"it" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iu" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iv" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iw" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ix" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power East"; dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iy" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"iz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"iA" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"iB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iE" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"iF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"iG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"iH" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"iI" = (/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"iJ" = (/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"iK" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"iL" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) +"iM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"iN" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"iO" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/north) +"iP" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iQ" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iR" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iS" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iU" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iV" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iW" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iX" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 7; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iY" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 5; tag_south = 6; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iZ" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ja" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jb" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Telecommunication Hub"; req_one_access = list(10,48,65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"jd" = (/obj/structure/table/standard,/obj/item/weapon/crowbar/red,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/weapon/crowbar/red,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"je" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"jf" = (/obj/machinery/bluespace_beacon,/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"jg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"jh" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ji" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jj" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jk" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 2"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/toolcloset,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jm" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"jo" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Atmospherics"; dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jp" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jq" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jr" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room) +"js" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jt" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"ju" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jv" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room) +"jw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/teleporter) +"jx" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jy" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jz" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/item/frame/light,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"jA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jB" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jC" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jD" = (/obj/structure/cable,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"jE" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) +"jF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) +"jG" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jH" = (/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jI" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jJ" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room) +"jK" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter Access"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jL" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jN" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jO" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jP" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 2"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"jS" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) +"jT" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) +"jU" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) +"jV" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) +"jW" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/north) +"jX" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/north) +"jY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"ka" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kc" = (/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ke" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"km" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"kn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"ko" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kp" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kr" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ks" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kt" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ku" = (/obj/machinery/status_display,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main) +"kv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kx" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ky" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kz" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kA" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kB" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kC" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) +"kD" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) +"kE" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) +"kF" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main) +"kG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kI" = (/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kL" = (/obj/machinery/mech_recharger,/obj/effect/decal/mecha_wreckage/ripley,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kM" = (/obj/item/inflatable/door/torn,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/surface/outpost/main/garage) +"kN" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"kO" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"kP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gym) +"kQ" = (/turf/simulated/wall,/area/surface/outpost/main/gym) +"kR" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kS" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kV" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kX" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/construction_area) +"kY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"kZ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room/smes) +"la" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"lb" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/bar) +"lc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"ld" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"le" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lf" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lg" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lh" = (/obj/machinery/vending/fitness,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"li" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gym) +"lk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ll" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ln" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/junction,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lo" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lq" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lr" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway East"; dir = 9},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ls" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main) +"lt" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main) +"lw" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) +"lx" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ly" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lz" = (/obj/machinery/alarm{pixel_y = 22},/obj/random/toolbox,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lA" = (/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lB" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lC" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) +"lD" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal{dir = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"lE" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Dorms"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"lF" = (/turf/simulated/wall,/area/surface/outpost/main/bar) +"lG" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lH" = (/obj/machinery/button/remote/blast_door{id = "barout"; name = "Bar Shutters"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lI" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lJ" = (/obj/item/weapon/stool,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lK" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lL" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lM" = (/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lN" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"lO" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) +"lP" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) +"lQ" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lR" = (/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lS" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lT" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lU" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) +"lV" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lX" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main) +"lY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ma" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"md" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"me" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main2_airlock_control"; name = "Main Access Console"; pixel_x = 26; pixel_y = -26; tag_exterior_door = "main2_airlock_exterior"; tag_interior_door = "main2_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mf" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mg" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mh" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mi" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mj" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) +"mk" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ml" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mn" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mo" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mp" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar West"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mr" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{dir = 8; icon_state = "register_idle"; tag = "icon-register_idle (WEST)"},/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"ms" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mt" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mu" = (/obj/structure/bed/chair/wood,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mw" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mx" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) +"my" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) +"mz" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"mA" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) +"mB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gym) +"mC" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mD" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mE" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mF" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mH" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mJ" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mM" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mN" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mO" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mP" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) +"mQ" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/obj/item/frame/light,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mS" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mT" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mU" = (/obj/machinery/light{dir = 8},/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mV" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mW" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mX" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mY" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"mZ" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"na" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar East"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) +"nc" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access North"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nd" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"ne" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nf" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"ng" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nh" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"ni" = (/obj/structure/closet/emcloset,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nk" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nl" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/restroom) +"nm" = (/turf/simulated/wall,/area/surface/outpost/main/restroom) +"nn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"no" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"np" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nr" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ns" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nt" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) +"nu" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"nv" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nx" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"ny" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nz" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nA" = (/obj/structure/bed/chair/wood{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nC" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"nD" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nE" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nF" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nI" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nL" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nN" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nP" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nQ" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nR" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nS" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nT" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nU" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nW" = (/turf/simulated/wall,/area/surface/outpost/main/construction_area) +"nX" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"nY" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"nZ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"oa" = (/obj/machinery/door/window/eastright{name = "Bar"; req_access = null; req_one_access = list(25,43,67)},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"ob" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"oc" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"od" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oe" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"of" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"og" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"oh" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gym"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"oi" = (/obj/item/weapon/stool/padded,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"oj" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"ok" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"ol" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"om" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) +"on" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"op" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oq" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/dorms) +"or" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"os" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ot" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"ou" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"ov" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"ow" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) +"ox" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oy" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oz" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oA" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main4_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = 26; tag_exterior_door = "main4_airlock_exterior"; tag_interior_door = "main4_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oB" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) +"oD" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"oE" = (/obj/structure/closet/secure_closet/personal,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oF" = (/obj/structure/table/bench/marble,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oG" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oH" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"oJ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) +"oK" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"oL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Access"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"oM" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) +"oN" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oO" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oP" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oQ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oT" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oU" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oV" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oY" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pb" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main/corridor) +"pc" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pg" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/junction/yjunction,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"ph" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"po" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ps" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pt" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pv" = (/obj/structure/disposalpipe/junction/yjunction{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pw" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"px" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"py" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"pz" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"pA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"pB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pC" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pD" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main1_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main1_airlock_exterior"; tag_interior_door = "main1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pE" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pF" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pG" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pH" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pI" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pJ" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pK" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pL" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pM" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pN" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pO" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pP" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pT" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pV" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "hos"; name = "Statue"; pixel_y = 2},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/corridor) +"pW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pY" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) +"pZ" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qa" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qb" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qd" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qe" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qf" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qh" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qi" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"qj" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/surface/outpost/main/dorms) +"qk" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"ql" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qm" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/crate,/obj/item/weapon/bedsheet,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/bedsheet/brown,/obj/item/weapon/bedsheet/green,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/purple,/obj/item/weapon/bedsheet/red,/obj/item/weapon/bedsheet/yellow,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qo" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qp" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qr" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qs" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qt" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway East"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qv" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qw" = (/obj/machinery/vending/snack,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qx" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qy" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qz" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qA" = (/turf/simulated/wall,/area/surface/outpost/main/corridor) +"qB" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qD" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qE" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qF" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qJ" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qK" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qL" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway West"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qM" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qO" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qR" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qS" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qY" = (/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qZ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ra" = (/turf/simulated/wall,/area/surface/outpost/main/dorms) +"rb" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light,/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"rc" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main3_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = -26; tag_exterior_door = "main3_airlock_exterior"; tag_interior_door = "main3_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"rd" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"re" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"rf" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"rg" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"rh" = (/obj/structure/closet/wardrobe/suit,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"ri" = (/obj/structure/closet/wardrobe/grey,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"rj" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"rk" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"rl" = (/obj/machinery/mech_recharger,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"rm" = (/turf/simulated/wall,/area/surface/outpost/main) +"rn" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ro" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"rp" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"rq" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) +"rr" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rs" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rt" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ru" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rv" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/purpledouble,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rw" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rx" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"ry" = (/obj/machinery/door/airlock{id_tag = "modorm1"; name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rB" = (/obj/machinery/door/airlock{id_tag = "modorm2"; name = "Room 2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rC" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rD" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rE" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/yellow,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rF" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm5"; name = "Room 5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm6"; name = "Room 6"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rI" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rJ" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rK" = (/obj/item/weapon/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rL" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) +"rM" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = -6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"rN" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) +"rO" = (/turf/simulated/wall,/area/surface/outpost/main/pool) +"rP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) +"rQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"rR" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) +"rS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rU" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rV" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rW" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rX" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rY" = (/obj/machinery/button/remote/airlock{id = "modorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rZ" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"sa" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"sb" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm5"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"sc" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sd" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm6"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"se" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"sf" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"sg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) +"sh" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"si" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sk" = (/obj/machinery/space_heater,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sl" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sm" = (/obj/machinery/light/spot{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sn" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"so" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sp" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool North"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sr" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ss" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"st" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"su" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sv" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sw" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sx" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sy" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sz" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sA" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"sB" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"sC" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access South"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"sD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"sE" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sL" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"sM" = (/obj/machinery/door/airlock{id_tag = "modorm3"; name = "Room 3"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 1"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm4"; name = "Room 4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sQ" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sR" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sS" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sT" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm7"; name = "Room 7"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm8"; name = "Room 8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sX" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"sY" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"sZ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"ta" = (/obj/structure/table/glass,/obj/item/device/paicard,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tc" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"td" = (/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"te" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tf" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tg" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"th" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ti" = (/obj/structure/table/glass,/obj/item/weapon/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tj" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"tk" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm3"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"tl" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm4"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"tm" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"tn" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"to" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm7"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"tp" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm8"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"tq" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"tr" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) +"ts" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tt" = (/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tu" = (/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tv" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tw" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool West"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ty" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/weapon/beach_ball,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tz" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tA" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tC" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool East"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tD" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/northwest) +"tE" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/center) +"tF" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/center) +"tG" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/effect/zone_divider,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"tH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/effect/zone_divider,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"tI" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tK" = (/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tL" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tM" = (/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tN" = (/obj/effect/floor_decal/spline/plain{dir = 10},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tO" = (/obj/effect/floor_decal/spline/plain,/obj/machinery/hologram/holopad,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tP" = (/obj/effect/floor_decal/spline/plain{dir = 6},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tQ" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tR" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tT" = (/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tU" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/center) +"tV" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/northeast) +"tW" = (/turf/unsimulated/wall/planetary/sif,/area/surface/west) +"tX" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/west) +"tY" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/center) +"tZ" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/center) +"ua" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"ub" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ud" = (/turf/simulated/mineral/sif,/area/surface/center) +"ue" = (/turf/simulated/mineral/sif,/area/surface/east) +"uf" = (/turf/unsimulated/wall/planetary/sif,/area/surface/east) +"ug" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"uh" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"ui" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"uj" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"uk" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) +"ul" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"um" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) +"un" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uo" = (/obj/machinery/light/spot,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"up" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uq" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ur" = (/obj/structure/table/glass,/obj/item/inflatable{pixel_x = 6; pixel_y = 6},/obj/item/inflatable{pixel_x = 2; pixel_y = 2},/obj/item/inflatable{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"us" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_1"; name = "shuttle bay controller"; pixel_x = -26; pixel_y = 0; tag_door = "surface_dock_1_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"ut" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uu" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_2"; name = "shuttle bay controller"; pixel_x = 26; pixel_y = 0; tag_door = "surface_dock_2_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"uv" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uw" = (/obj/structure/table/glass,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool South"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ux" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uy" = (/obj/machinery/light{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"uz" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uA" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uB" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uC" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uD" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uE" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/planet) +"uF" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"uG" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/planet) +"uH" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"uI" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"uJ" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"uK" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/center) +"uL" = (/turf/simulated/floor/water,/area/surface/east) +"uM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"uN" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) +"uO" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) +"uP" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) +"uQ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) +"uR" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_exterior"; locked = 1; name = "Research Exterior Airlock"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -24; pixel_y = 0; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) +"uS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"uT" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/emergencystorage) +"uU" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/smes) +"uV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"uW" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/restroom) +"uX" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) +"uY" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"uZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"va" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vb" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch) +"vc" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vd" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"ve" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/smes) +"vf" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Research"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/heavyduty,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vh" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light/small{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vi" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/restroom) +"vj" = (/obj/structure/toilet{dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vk" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vl" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vm" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vn" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vo" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vp" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vq" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Airlock"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vs" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vt" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vu" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vv" = (/obj/item/weapon/storage/box/donkpockets,/obj/structure/table/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vw" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vx" = (/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vz" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vA" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/center) +"vB" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/east) +"vC" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/east) +"vD" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (WEST)"; icon_state = "shorelinecorner"; dir = 8},/area/surface/east) +"vE" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHEAST)"; icon_state = "shoreline"; dir = 5},/area/surface/east) +"vF" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/hydrant{pixel_x = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vG" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vH" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vI" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/item/weapon/weldpack,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vJ" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Research Outpost"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vK" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vL" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vP" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vQ" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_interior"; locked = 1; name = "Research Interior Airlock"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -26; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vR" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vT" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vU" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vV" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vW" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vZ" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/east) +"wa" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/east) +"wb" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/emergencystorage) +"wc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"wd" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"we" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Research Restroom"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"wf" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wg" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "research_airlock_control"; name = "Research Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "research_airlock_exterior"; tag_interior_door = "research_airlock_interior"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wh" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wi" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wk" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wl" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wm" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wn" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"wp" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"wq" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"wr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"ws" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"wt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"ww" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 1"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wy" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wQ" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wS" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"wT" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wU" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/bot/secbot/slime,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wY" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wZ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xd" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xf" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xh" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xk" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xl" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 4"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xo" = (/turf/simulated/floor/water/deep,/area/surface/east) +"xp" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xq" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xs" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"xt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xu" = (/obj/structure/bed/chair,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -28; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xv" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xx" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xy" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) +"xz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xA" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xB" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 3"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) +"xD" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xE" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) +"xF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xG" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"xI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenoflora) +"xJ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xK" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xL" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"xM" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xN" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xO" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced,/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/xenobiology) +"xP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xQ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xR" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xT" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xU" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - First Aid Station"; dir = 2},/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xV" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/defib_kit/loaded,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"xX" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"xY" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"xZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"ya" = (/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"yb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"yc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"yd" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"ye" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yf" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yg" = (/obj/structure/table/standard,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yh" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/closet/l3closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yi" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yj" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Access"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yk" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yl" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"ym" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/pen,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yn" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yo" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yq" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/corner/paleblue,/obj/structure/table/rack,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yr" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"ys" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yt" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora North"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yv" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yx" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yy" = (/obj/machinery/atmospherics/tvalve{dir = 1; name = "siphon switching valve"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"yz" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yA" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yB" = (/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yC" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"yD" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yE" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 6; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yG" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yH" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yI" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yJ" = (/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"yK" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yL" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yM" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/bodybag/cryobag,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yN" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenoflora) +"yO" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yP" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yQ" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yS" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yT" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yU" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yV" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yW" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yX" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) +"yY" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yZ" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"za" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -6; pixel_y = 28; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "xeno_airlock_control"; name = "Xenobiology Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "xeno_airlock_exterior"; tag_interior_door = "xeno_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zc" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zd" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"ze" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zf" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zi" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zk" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zl" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zo" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zp" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zr" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zs" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"zt" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zu" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zw" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"zy" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zz" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zA" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zB" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zC" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zD" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zE" = (/obj/structure/table/glass,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/hatchet,/obj/item/weapon/material/hatchet,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zF" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zG" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zH" = (/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zI" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zJ" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zK" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zL" = (/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zM" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zN" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zP" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction/yjunction{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zV" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zW" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zX" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zY" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zZ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Aa" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ab" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/door/window/westright{name = "Xenoflora Containment"; req_access = list(55)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ac" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ad" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ae" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Af" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ag" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/botany/editor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ah" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/botany/extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ai" = (/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Aj" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora East"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ak" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Al" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"Am" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"An" = (/obj/machinery/disposal,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ao" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ap" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Aq" = (/obj/structure/window/reinforced,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ar" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"As" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"At" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/botanydisk,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Au" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Av" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Aw" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ax" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ay" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"Az" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"AA" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology West"; dir = 4},/obj/structure/closet/firecloset/full/double,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"AB" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"AC" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AD" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AE" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AF" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology East"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"AG" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"AH" = (/obj/machinery/door/blast/regular{desc = "Blastdoor divider"; id = "xenobioout7"; name = "Containment Divider"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"AI" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora West"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AJ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AL" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AM" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AN" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AO" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AQ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AR" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AT" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AU" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AV" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"AW" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AX" = (/obj/machinery/smartfridge/secure/extract,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AY" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/button/remote/blast_door{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AZ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ba" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bb" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bc" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Be" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bg" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bi" = (/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"Bj" = (/mob/living/simple_animal/slime,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/processor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Br" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bs" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bt" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Port to Isolation"},/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bu" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bv" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bw" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bx" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"By" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bz" = (/obj/structure/window/reinforced,/obj/machinery/biogenerator,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"BA" = (/obj/structure/window/reinforced,/obj/machinery/seed_extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"BB" = (/obj/machinery/seed_storage/xenobotany,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"BC" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BD" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BE" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 2"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BF" = (/turf/simulated/floor/water/shoreline/corner,/area/surface/east) +"BG" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHEAST)"; icon_state = "shoreline"; dir = 6},/area/surface/east) +"BH" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"BI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"BJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"BK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"BL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"BM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"BN" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"BO" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/item/weapon/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BQ" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BR" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BS" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BT" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BU" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BV" = (/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BW" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BX" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BY" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"BZ" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the divider between pens."; id = "xenobioout7"; name = "Containment Divider Switch"; pixel_x = 28; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ca" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cb" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cd" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ce" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cf" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cg" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ch" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ci" = (/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ck" = (/obj/structure/closet,/obj/item/toy/figure/scientist,/obj/item/clothing/accessory/armband/science,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cl" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cm" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cn" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Co" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cp" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology South"; dir = 1},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cq" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cr" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cs" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ct" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cv" = (/obj/structure/closet/radiation,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cx" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cy" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"Cz" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CC" = (/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"CD" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"CE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CF" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CG" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CH" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"CI" = (/turf/simulated/wall,/area/surface/center) +"CJ" = (/turf/simulated/floor/wood,/area/surface/center) +"CK" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"CL" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CM" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"CN" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CO" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CP" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"CQ" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CR" = (/obj/structure/closet/l3closet/general,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"CS" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CU" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CV" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CW" = (/obj/structure/closet/crate/hydroponics{name = "exotic seeds crate"},/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/libertymycelium,/obj/item/seeds/reishimycelium,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/random,/obj/item/seeds/kudzuseed,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CX" = (/turf/simulated/floor/wood,/area/surface/outside/river/indalsalven) +"CY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"CZ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Da" = (/obj/structure/closet/bombcloset,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"Db" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"Dc" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/center) +"Dd" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/south) +"De" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) +"Df" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Di" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dj" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 1"; dir = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dk" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dl" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dm" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/center) +"Dn" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Do" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dr" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ds" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dt" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Du" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dv" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dw" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/west) +"Dx" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"Dy" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/response_ship/planet) +"Dz" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHWEST)"; icon_state = "shoreline"; dir = 9},/area/surface/east) +"DA" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTH)"; icon_state = "shoreline"; dir = 1},/area/surface/east) +"DB" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (EAST)"; icon_state = "shorelinecorner"; dir = 4},/area/surface/east) +"DC" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (EAST)"; icon_state = "shoreline"; dir = 4},/area/surface/east) +"DD" = (/turf/simulated/floor/water/shoreline,/area/surface/east) +"DE" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHWEST)"; icon_state = "shoreline"; dir = 10},/area/surface/east) +"DF" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (NORTH)"; icon_state = "shorelinecorner"; dir = 1},/area/surface/east) +"DG" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/west) +"DH" = (/turf/simulated/floor/water,/area/surface/outside/river/faxalven) +"DI" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"DJ" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/syndicate_station/planet) +"DK" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/west) +"DL" = (/turf/simulated/floor/wood,/area/surface/outside/river/faxalven) +"DM" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/center) +"DN" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/center) +"DO" = (/turf/unsimulated/wall/planetary/sif,/area/surface/southwest) +"DP" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/southwest) +"DQ" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/faxalven) +"DR" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/southeast) +"DS" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/southeast) +"DT" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/southeast) +"DU" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/southeast) +"DV" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/southeast) +"DW" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/southeast) +"DX" = (/turf/unsimulated/wall/planetary/sif,/area/surface/southeast) +"DY" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/southwest) +"DZ" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) +"Ea" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) +"Eb" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/south) +"Ec" = (/turf/simulated/floor/water,/area/surface/outside/lake/romsele) +"Ed" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/south) +"Ee" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/south) +"Ef" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/southeast) +"Eg" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/southeast) +"Eh" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/southeast) +"Ei" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (WEST)"; icon_state = "shorelinecorner"; dir = 8},/area/surface/southeast) +"Ej" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHEAST)"; icon_state = "shoreline"; dir = 5},/area/surface/southeast) +"Ek" = (/turf/simulated/floor/water,/area/surface/southeast) +"El" = (/turf/simulated/floor/water/deep,/area/surface/southeast) +"Em" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/southeast) +"En" = (/turf/simulated/floor/water/deep,/area/surface/outside/lake/romsele) +"Eo" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTH)"; icon_state = "shoreline"; dir = 1},/area/surface/southeast) +"Ep" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/skipjack_station/planet) +"Eq" = (/obj/item/weapon/caution/cone,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) +"Er" = (/obj/item/weapon/caution/cone,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/south) +"Es" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/southwest) +"Et" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/south) +"Eu" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/south) +"Ev" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/southeast) (1,1,1) = {" aaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadaeaeaeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf @@ -1604,238 +1604,237 @@ aaagagagagagagagagagagagagagagagagagagagagagagagagagagagahahahahahahahahahahahah aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaDamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapakakakakakakakakakajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagahahahahahahahahahahahahahahahahahahahahahagagagagagagagagagaEapapapapapapapapapaFapapapapapapapapapapapapapapapapapapapapapapapaGapapapaHaHaIaIaIaHaHaJaJaJaJaKaKaKaJaJapapapapapapaDamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapakakakakakakakakakajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagahahahahahahagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapaLaMapapapapapapapapapaMaLaMapapapapapapapapapaMaLapapaHaHaNaOaPaQaRaHaSaTaUaVaVaVaWaXaJaJaJaJapapapaDamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapakakakakakakakakakajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapaYaZbabababababababababbaYaZbabababababababababbaYapapaHbcbdbebebfbgaIbhbibibibibibibjaJbkblaJbmbmbmaDamamamapapapapapapapapapapapapapapapapapcxcxcyczcycxcxapapapapapapapapapapapapapapapapapapakakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobobpbpbpbpbpbobobqbrbnbsbsbobobobobobsbsbqapapapaIbtbebubvbwbxbybzbAbBbCbBbDbEbFbGbHbIbJbmbmbmaDamamamapapapapapapapapapapapapcRcScTcScRcxcUcVcWcXcYcxcZdadbdacZapapapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobpbpbpbpbpbpbpbobqbrbnbsbsbsbobobobsbsbsbqapapapaIbKbLbMbNbObPaIbQbRbibSbTbUbTbVaKbWbXaKbmbmbmaDamamamapapapapapapapapapapapcRcRdndmdpdodqcXdrdsdtcXdudvdxdwdycZcZapapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYagagagbYagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobpbpbpbpbpbpbpbobqbrbnbsbsbsbsbsbsbsbsbsbqapapapaHbZbZcacacacaaHcbcccdaKcecfcgchcicicicicjcjcjckamamamapapapapapapapapapapcRcRdNdNdOdPdQdRdSdTdUdVdWdRdXdYdYeadZcZcZapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYagagagbYagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobpbpbpbpbpbpbpbobqbrbnbsbsbsbsbsbsbsbsbsbqapapapaHcacacaclcmcncocpbRcqcicicicicicicrcsctcucvcvcwamamamapapapapapapapapapapcSeueteBevdPeCdRewexeyezeAdReKdYdYePeDeEdaapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYagagagbYagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobpbpbpbpbpbpbpbobqbrbnbsbsbsbsbsbsbsbsbsbqapapapaHcAcBcacCcDcEcocFbRcGcicHcIcJcKcLcMcNcOcPcPcPcQamamamapapapapapapapapapapcTeQdPeSdPeReWcSeTeUeUeUeVdaeYeXdYfaeZfddbapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobpbpbpbpbpbpbpbobqbrbnbsbsbsbsbsbsbsbsbsbqapapapaHaHaHaHdcddcocodedfdgcidhdidicidicrcicidjdkcjdlamamamapapapapapapapapapapcSfkflfmfnfofpfrfqfsftfsfufwfvfxfyfzfAfBdaapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbobpbpbpbpbpbpbpbobqbrbnbsbsbsbsbsbsbsbsbsbqbmbmbmaKdzdAaKdBdCdDdEbhdFbidGdHdHdIdJdidKcidLdLdLdLdMamamamapapapapapapapapapapcRfRfQfTfSfVfUcSfWfXfYfZgadagbgdgcgfgeggcZapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbpbpbpbpbpbpbpbqbrbnbobsbsbsbsbsbsbsbobqbmbmebecedeeefegeheiejeiekelemeneoepeqerescidLdLdLdLdMamamamamapapapapapapapcRcRcRgMgMgMgNgPgOgMdRcygtcydRhugThVhwhuhuhucZcZapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbpbpbpbpbpbpbpbqbrbnbobsbsbsbsbsbsbsbobqbmbmeFaJeGeHaJeIeJhWbQbidFbidGdHeLeMeNdieOcidLdLdLdLdMamamamamamamamamamamhXcSimikcSiniEiodPdPiScSgRjfjgdajqjhjhjrjsjhjhjFdaapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbpbpbpbpbpbpbpbqbrbnbobsbsbsbsbsbsbsbobqamamamaJaJfbaJfcfcaJkcfefffgcifhdidifidicrcidLdLdLdLfjamamamamamamamamamamhXkdkHkelwkJdPlxfnfnlElymxlTmPmJngmTmTnhjhjhnjnidaapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbpbpbpbpbpbpbpbqbrbnbobsbsbsbsbsbsbsbobqamamamaLfCfDfEfDfFaLnkfGfHfGcifIfJfKfLfMfNcifOfOfOfOfPamamamamamamamamamamnlcRnwnvcRnxnBnynDnCnEgMnFgSnHhunJnInLnKnQnPnSnRcZapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbpbpbpbpbpbpbpbqbrbnbobsbsbsbsbsbsbsbobqapamamaLaLghgigjgkglgmgngogngpaLaLaLaLaLaLaLapapapapaqamamamamamapapapapapapcRgqgqgqgqgqgrgrgrgsgsnTgSoogugugugugugvgvgvguguapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYbYbYagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbpbobobobpbpbpbqbrbnbobsbsbsbsbsbsbsbobqapamamamaLgwgxgngygzgAgBgCgDgEgFgGgHgHgIaLapapapapapaqamamamamapapapapapapapapgqgJgKgLgqouoxowoKgQnTgSoogugUgVgWgXgYgZhahbguapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagbYbYbYbYbYagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbnbpbpbobobobobobpbpbqbrbnbobobsbsbsbsbsbobobqapamamamaLhcgxgnhdhehfhghhhihjhkhkhlhmhnaLapapapapapaqamamamapapapapapapapapapgqhohphqgqhrhshshtgroLhvoNguhxhyhyhyhzhzhyhAguapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapaphBhChDhDhDhDhDhDhDhDhDhEhBhChDhDhDhDhDhDhDhDhDhEhBapamamaLhFhGhHgygnhIhJhKhLhMhNhOhPhQhRaLapapapapapaqamamamapapapapapapapapapgqgqhSgqgqhThUoOoPgrnTgSoQguhzhzhYhahahzhzhygvapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapaLaMapapapamamamapapapaMaLaMapapapamamamapapapaMaLapamamaLaLhZiaibicaLaLidaLaLieifigigaLaLapapapapapaqamamamapapapapapapapapapihiiijoRilgrgroSgrgroTgSoUgviphziqirishyhzhzgvapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapamamamamapapapapapapapapamamamapapapapapamamamaLaLaLaLitaLiuiviuaLaLaLaLaLaLapapapapapapaqamamamapapapapapapapapapihiwixiyoViziAoWiCiDgRgSoXgviFhziGhzhyhyhzhzgvapamamapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapamamamamamapapapapapapapapamamamapapapapamamamiHiIiIiIiJiIiIiKiLiLiLiLiLiLiLiLiLiLiLiLiLiMiLiLiLiLiLiLiLiLiLiLiLiLiNiOiPiQiRoZiTiUiTiViTiWiXiYiZjajbjajajchzhzgvapapamapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapamamamamamamamamamamamamamamamamamamamamamamaqamamamamamamamamamamamamamamamamamamamamaqamamamapapapapapapapapapihjdixjeilpapcpbpgjijjjkjlgvjmhyiqhzhzhzhzhzguapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapamamamamamamamamamamamamamamamamamamamamaqamamamamamamamamamamamamamamamamamamamamaqamamamapapapapapapapapapihjnjojpilphptpojtjtiDjujvgugujwjxjyjzjAjBjCguapapapapamapapapapapajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapamamamamamapapapapapapapapapaqapapapapapapapapapapapapapapapapapapapapaqamamamapapapapapapapapapjDjEjEjEjEjEjEjEjDpujGjHjIjJgugvjKgvgvguguguguapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapamamamamapapjLjLjLjLjMjMjNjOjNjPjPjPjPjQjQjPjPjPjPapapapapapapapapapaqamamamapapapapapapapapapjDjRjSjTjSjUjVjWjXpvjZkakbgRiDpwpypxpzkfkgkhkikjamapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapjLjLkkklkmknkokpkqkrksktkukvkwkxkykzkAjPjPapapapapapapapapaqkBkBkCapapapapapapapapapjDkDkEkEkEkEkFpEpJpHkIqekKkLkMkNkOkPkQkRkSkTkUkVamamamapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapjLkWknknknkXkYkpkZlakslblcldlelflglglhlijPapapapapapapapapljlklllmlmapapapapapapapaplnlolplplplplqlrlnnFlsltlugRiDlvqFqgqJjtlzlAjtlBapamamapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapjLkkknlCknlDknkpxslFkslGkzlHlIlJlKlLkzlMjPapapapapapapapaplNlOlPlQlkapapapapapapapaplnkGlRkGlRkGkGlSjDzvgRiBjIlUlVlWlXlWlWjtjtjtjtapapapamamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapjLlYknlZmambmckpAgmdksmemfmgmhmimjmjmkmljPapapapapapapapaplNmmmnmolkapapapapapapapapjDmpmqmrmsmtkGmujDjtiDmvjvlVlVmwAUmymzmAlVapapapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapjLmBmCknknmDmEmFmGmHksmIkzBkkzmKmLkzkzmIjPapapapapapapaplmljlkmMlmlmlmapapapapapapapjDmNmOBxmQmRkGmSjEBLgRhvmUmVmWmymXmYlWlWlVapapapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapmZjLjLjLjMjMnanbmFncndksnejQjQksnfksjQjQnejPlmlmlklklmlklklmBVCyCnCHCGlmlklklmlklklmlmjDjElnCIlnjElnlnjECJgRiBjIlWnmmynnmynonplVapapapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamnqnrnsntnuCKCMCLCOCNnznACQCPCRCRCTCSCUCRCVCPCRnGCXCWCWCYCWCZCWDanMnNnODbDcCWCWDdCZCWCWnGDfDepvDgDhDeDiDeDjjYjYnUnVlWnWmynnnXlWlWlVlVlVapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamnYnZoaobocodncoeofogohoiojogogokogologogomogDkonDlopoqoqoqoroqosotDmovoqoqoqopoqoroqDoDnmxkLkLoyozozoAozozoziToBoClWoDmynnnXlWoEoFoGlVapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamoHmZoIoJmZDpDqoMncDrDtDsDvDuDxDwncoMDzDyDBDADCoYDEDDDEDFDEDEDHDGpdpepfDIDEDEDDDJDEDEDEoYDLDKDKDMDKDKDKDKDNgRpipjpklWplpmpnDOppDPpqprlVapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapmZmZmZmZpspsoMncpspspspspspspsncoMpspsmZmZmZlmlmlklklmlklklmDQDRmnDTDSlmlklklmlklklmlmjtDUDWDVDXpApBpCpDgRDZDYEapFpGmyEbpIlWoEEcoGlVapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapmZpKpLpMpNpOpPpQpRpSpspTpUpVpPpOpWpXpYpZmZapapapapapapaplmqalmqblklmlmapapapapapapapjtqcqdqdqdqdqdqdqdqdEdqfEelWlWlWqhlWlWlWqilVlVapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapnrqjqkqlpsoMqmpsqnqopsqpqqpsqroMpsqsqtqunrapapapapapapapapqvqwlPlQlkapapapapapapapapapqcqxqyqzqzqAqBqCqDEfqEEgqGqHqIEhqKqLqMEiqcapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapmZpspspspsoMncpspspspspspspsncoMpspspspsmZapapapapapapapapqvqOqPqQlkapapapapapapapapapqRqSqTqUqVqVqVqVqVqVqWqVqVqVqVqVqVqXqYqSqRapapapapamapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamamapmZqZpLpMrarbrcrdrerfpsrgrhrirjrbrkpXpYrlmZapapapapapapapapqalmrmlklmapapapapapapapapaprnroqSrpqNrqrrrrrrrrrrrrrsrsrsrtqNruqSrvrnapapapapamapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamamapmZmZrwrxpsnrnrpsryrzpsrArBpsnrnrpsrCrDmZmZapapapapapapapapaDrEkBkBapapapapapapapapapapqRqSqNrpqNrFrGrGrGrGrGrGrHrHrHrIqNruqNqSqRapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapmZnrmZmZapapmZmZnrmZnrmZmZapapmZmZnrmZapapapapapapapapapaDamamamapapapapapapapapapapqcqcrJrKqNrFrGrGrGrLrMrNrHrHrHrIqNrOrPqcqcapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao -aarQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrQrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrSrSrSrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrRrTrSrSrSrRrRrRrRrRrRrRrRrRrRrRrUrVrWrXrYrZrZrZsasbscsdsdsdserXsfsgrUrRrRrRrRrRrRrRrRrRrRrRrRshshshshshshshshshshshshshshshshshshshshshshshshsisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisisiao -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslslslsnsmsmsmsmslslslslslslslslslslrnqSsoqNrFrGrGrGrHrHrHrHrHrHrIqNspqSrnslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslslsnsmsmsmsmslslslslslslslslslslqRqNqNqNstsusususvsvsvsvsvsvswqNqNqNqRslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslsnsmsmsmsmslslslslslslslslslslqcsxsyqNqNqNqNqNqNqNqNqNqNqNqNqNqNszqcslslslsmslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmslslslslslslslslslslslslslslslslslslslslslslslsnsmsmsmsmslslslslslslslslslslslqcqcqSsAsBsCqNqNqNqNqNsDsBsEqSqcqcslslslslsmslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsllmsFsmsmslslslslslslslsGlmsGslslslslslslslslslsHlmslsnslsmsmsmslslslslslslslslslslslslqcqRrnqRqcsAsIsJsKsAqcqRrnqRqcslslslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsLsMsNsNsNsNsNsNsNsNsNsOsLsMsNsNsNsNsNsNsNsNsNsOsLslsnslsmsmsmslslslslslslslslslslslslslslslslqcqcqRrnqRqcqcslslslslslslslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsQsRsRsRsRsRsQsQsSsGsPsTsTsQsQsQsQsQsTsTsSslslsnsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsRsRsRsRsRsRsRsQsSsGsPsTsTsTsQsQsQsTsTsTsSslsmsnsmsmsmsmsmsmsmsmsmsmsmsmsmsmslslslslslslslslslslslslslslslslslslsmsmslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsRsRsRsRsRsRsRsQsSsGsPsTsTsTsTsTsTsTsTsTsSsmsmsnsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsRsRsRsRsRsRsRsQsSsGsPsTsTsTsTsTsTsTsTsTsSsmsmsnslsmsmsmslsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsRsRsRsRsRsRsRsQsSsGsPsTsTsTsTsTsTsTsTsTsSsmslsUsVsVsVsVsVsVsVsVsVsVsVsVsVsWsmsmsmsmsmsmsmsmslslslslslsmsmsmslslslslslslslslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsRsRsRsRsRsRsRsQsSsGsPsTsTsTsTsTsTsTsTsTsSslslslsmsmsmsmslslslslslslslslslsnslslslslsmsmsmsmsmsmslslsmsmslslslslslslslslslslslslslslslslslslslslslslslsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsQsRsRsRsRsRsRsRsQsSsGsPsTsTsTsTsTsTsTsTsTsSslslslsmsmsmslslslslslslslslslslsnslslslslslslsmsmsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslslsXsXsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsRsRsRsRsRsRsRsSsGsPsQsTsTsTsTsTsTsTsQsSslslslsmsmsmslslslslslslslslslslsnslslslslslslslslsmsmsmslslslslslslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsqsqsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsRsRsRsRsRsRsRsSsGsPsQsTsTsTsTsTsTsTsQsSslslslsmsmsmslslslslslslslslslslsZslslslslslslslsltatbtbslslslslslslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsqsqsqsqsqsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsRsRsRsRsRsRsRsSsGsPsQsTsTsTsTsTsTsTsQsSslslslsmsmsmslslslslslslslslslslsZslslslslslslsltctdtetftcslslslslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsqsqsqsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsRsRsRsRsRsRsRsSsGsPsQsTsTsTsTsTsTsTsQsSslslslsmsmsmslslslslsltgtgtgththtithtjtjtjtjtjtjtjtktltmtdtdtdtftntftdtdtftdtotdtftdslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsqsqsqsqshsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsRsRsRsRsRsRsRsSsGsPsQsTsTsTsTsTsTsTsQsSslslslsmsmsmslslslsltgtgtptqtrtstttutvtwtxtytztAtjtBtCtDtdtEtFtGtHtItJtotKtKtKtLtMtdtdslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOsrsrsrsrsrsrsrsrsrsrsrsrsrtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsRsQsQsQsRsRsRsSsGsPsQsTsTsTsTsTsTsTsQsSslslslsmsmsmslslslsltgtStTtUtrtVtWtXtvtYtZuaubuctjtdudtftdueufuguhuiujtotKtKtKukultotdslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsPsRsRsQsQsQsQsQsRsRsSsGsPsQsQsTsTsTsTsTsQsQsSslslslsmsmsmslslslsltguoupuotrtruqtrtvtvtvurtvtvtvusutuutouvuwuxuyuzuAtotototouBtototdslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsluCuDuEuEuEuEuEuEuEuEuEuFuCuDuEuEuEuEuEuEuEuEuEuFuCslslsmsmsmslslslsltfuGuHuIuJuKuLuMuNuOuPuQuPuRuSuPuTuPuUuVuWuXuYuPuZvauXuPvbvcvdvetfslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsllmvfslslslslslslslslslvflmvfslslslslslslslslslvflmslslsmsmsmslslslsltnvgvhvivjvkvlvmvnvovpvqvpvpvrvpvsvpvtvuvpvvvpvpvpvwvxvyvzvAvgvgtnslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmslslslsltfvCvDvEvFvFvGvFvFvHvIvJvKvLtftfvMtftftdvNvOvDvgvPvPvQvRvPvSvDvTvUvVslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmslslslvFvFvWvXvWvYvZwawbvYwcwdwcvFvFwewfwgwhwivPvPwjwkwjvPwlwmwnvPwowkwpvPvPslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmslslvFvFwqwrwswtvFwuwvwwvFwxwywzwAvFvFwBwCwDvPvPwEwFwGwHwIwnwJwnwKwLwMwNwOvPvPslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmslslslvFwPwQwRwQwQvFvFwSvFvFwTwUwRwVwWvFwXwYwZvPxaxbxcxdxexfwnwJwnxgxhxixjxjxkvPslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmslslvFvFvFvFvFxlwRwQxmxnxoxpxqwQwRxrvFvFvFvFvFvPvPEjwnxjxtxuxvxwxxwnxyxzxAxBxaxavPvPvPslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmslslslvFxCxDxExFxGwQxHwRwRxIwRwRxHwQxJxKxExDxLvFxMxNxOxPxjxQxRxSwnwJwnxTxUxVxjwjxWxXwnwjsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmsmslslslslvFxYxYxYxZyawRybycydyeyfygyhyiyjykxYxYxYvFylymynyoypyqyryswnwJwnytyuyvywwjwnwnyxwksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmsmslslslslslslvFxYxYxYyyyzwQwRwQwQyAwQwQwRyByCxKxYxYxYvFyDyEyExPyFwnwnwnwnyGyHyHyIyHyHyJyHyKyxwjsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmsmsmslslslslslslslvFyLyLyLyMyNwQwRyOyPyQyRwQwRyBySyTyUyUyUvFyVyWyWyXxzyYyZyZzazbzcxjxjzdzexazfzgzhvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmsmsmslslslslslslslslslvFxYxYxYzizjwQwRwQwQzkwQwQwRyBzlzmxYxYxYvPznzozpyXyFwnwnwnzqzrzsxwxwxwxwztxwzuyxwjsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmsmslslslslslslslslslslslvFxYzwxYzxyawRzyzzzAzBydzCzDzEyjzFxYxYxYvPzGxjzHzIzJzKzLzMzqxjwnzNzOzPzQwjzRwnyxwksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmsmslslslslslslslslslslslslslvFzUzVxEzWzXwQxHwRwRwRwRwRxHyBzYzZxEzVAavPAbAcxjyXxjAdAeAfzqxjwnElAhAixjwjwnAjAkwjsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmsmslslslslslslslslslslslslslslslvFvFvFvFvFAlwRwQwRwQwQwQwRwQzEAmvFvFvFvFvPvPvPAnAoxjApyZAqArAsxwAtxuAuAvxaAwvPvPvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslsmsmsmslslslslslslslslslslslslslslslslslslvFAxwQwRAyAzAAABACADAAAEAFAGAHAIAJAKALALvPAMANAOAPxjxfzqAQwnxgxjxjARASATvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEmEmEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslAVAWAWAVslslslslslslslslslslslslslslslslslslvFvFAXwQvFAYAZBayLBbBcBdvFwQBevFvFALALsGvPvPBfBgxawjwjBhxaBiwjwjxaASBjvPvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEkEmEmEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEnEnEkEkEkEkslslslslslslslslslslslslslslslslvFvFBlvFBmxYxYyLxYxYBmvFBnvFvFBoBpBpsGBqvPvPBrxaBswnBtBuBvBwwnAwATvPvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjEkEkEkEkEmEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEnEnEmEmEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkslvFvFvFByxYxYyLxYzwBzvFvFvFslBABABABABAslvPvPvPBBwnBCzgBDwnBEvPvPvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskEkEkEkEmEmEmEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEmEnEnEmEmEmEmEmEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkslslvFBFxYxYyLxYxYBGvFslslslslslslslslslslslvPwnyxyxBHyxyxBIvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskEkEkEkEkEmEmEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEmEmEnEnEmEkEkEmEmEmEmEmEmEmEmEmEmEmEmEmEmEmEmEmEkEkEkvFBJBJBJvFvFvFvFvFslslslslslslslslslslsXvPwjwkwjvPwjwkwjvPsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEmEmEmEmEkEnEnEkEkEkEkEkEkEkEkEkEkEmEmEmEkEmEmEmEmEmEmEmEkEkEkslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskEkEkEkEkEkEkEkEkEkEmEmEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEmEmEkEkEkEkEnEnEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEmEmEmEmEkEkEkEkEkEkslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskEkEkEkEkEkEkEmEmEmEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEkEkEkEkEkEkEkEnEnEkEkslslslslslslslslslslslslslslslslEkEkEkEkEmEmEmEmEmEkEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskEkEkEkEkEkEmEmEmEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEkEkEkEkEkEkslAVAWAWAVslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEmEmEmEmEkEkEkEkEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEkEkEkEkEkslslslslslsmsmslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEmEmEmEmEmEmEkEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEmEmEmEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEmEmEkEkEkEkEkslslslslslslslsmsmsmslslslslslslslslslslslslslslslslslslslslsXsXsXsXEkEkEkEkEkEkEkEmEmEmEmEmEmEmEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEmEmEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEmEmEkEkEkEkslslslslslslslslslslsmsmslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEkEkEmEmEmEmEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEmEmEmEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEmEkEkEkslslslslslslslslslslslslslsmsmslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEkEkEkEmEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEkEkEkslslslslslslslslslslslslslslsmsmsmslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEmEmEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEkEkEkslslslslslslslslslslslslslslslslslsmsmslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEmEmEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslslEkEkEkEkEkEkEkEkEkslslslslslslslslslslslslslslslslslslsmsmslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEmEmEmEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEmEmEkEkEkEkskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslslslEkEkEkEmEmEkEkEkEkslslslslslslslslslslslslslslslslslslslsmsmslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEmEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEmEmEkEkEkEkEkskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslEkEkEkEmEmEmEkEkEkslslslslslslslslslslslslslslslslslslslslslsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEmEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEmEmEkEkEkEkEkskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslEkEkEkEkEkEmEkEkEkEkslslslslslslslslslslslslslslslslslslslslslslsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslEkEkEkEkEkEmEmEkEkEkslslslslslslslslslslslslslslslslslslslslslsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskskskrRslslslslslslslslslslslEkEkEkEkEmEmEkEkEkEkslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskskskrRslslslslslslslslslEkEkEkEkEkEmEmEkEkEkslslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkEkskskskskskskskskskskskrRslslslslslslslEkEkEkEkEkEkEmEmEkEkEkslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEmEmEkEkEkEkEkEkskskskskskEkEkEkEoEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEmEmEmEkEkEkEkEkEkEkEkEkEkEkEkEoEkEkEkEkEkEkEmEmEmEmEkEkEkEkEkEkslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEmEmEkEkEkEkEkEkEkEkEkEoEkEmEmEmEmEmEkEkEkEkEkEkEkEkslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEmEmEmEmEmEkEkEkEkEkEoEkEkEkEkEkEkEkEkEkEkEkslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOumumumumumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEmEmEkEkEkEkEoEkEkEkEkEkEkEkslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEmEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOumumumumumumumumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkEkEkEkEkEkEkEoEkEkslslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsXsXsXsXsXsXsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEmEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOumumumumumumumumumumumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskEkEkEkEkEkskskskrRslslslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEmEkEkEksXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOumumumumumumumumumumumumumumumumumtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEkEksXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmrSumumumumumtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskskskskskrRslslslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEmEkEkEksXsXsXsXsXsXsmsmsmsmsmsmsmsmsmrSumumumtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskskskskskskskskskskskrRslslslslslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsmsXsXsXsXsmsmsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXEkEkEmEmEmEkEksXsXsXsXsmsmsmsmsmsmsXsXsXsXsXtNumBMBMBMBMBMBMBMBMBMBMBMtOumumumumumumtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKskskskrRslslslslslslslslslsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsXsXsXsXsXsXAVEkEkEmEmEmEkEksXAVsmsmsmsmsXsXsXsXsXsXsXsXtNumBMBMBMBMBMBMBMBMBMBMBMBMumumumumumumtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsmsmsmAWAWEnEnEnEnEnEnAWAWsmsmsXsXsXsXsXsXsXsXsXsXtNumBMBMBMBMBMBMBMBMBMBMBMBMumumumumumumtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYvBvBvBvBvBvBsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmAWAWEnEnEnEnEnEnAWAWsmsXsXsXsXsXsXsXsXsXsXsXtNtOBMBMBMBMBMBMBMBMBMBMBMBMumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBvBvBsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXAVsXEkEkEmEmEmEkEkAVsXsXsXsXsXsXsXsXsXsXsXsXtNtOBMBMBMBMBMBMBMBMBMBMBMumumumumumumumumtPtPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBvBvBsYsYsYBNBOBOBOtRsYsYsYsYvBvBvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXsXsXsXsXEkEkEkEmEmEkEksXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOumumumumumtOtOtOumumumumumumumumumtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYvBvBvBvBsYsYBNBPtPtPtPtQBOtRsYsYsYsYvBvBvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEksXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBvBsYsYBQtPumumtPtPtPtQBOtRsYsYsYsYvBvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEksXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBsYsYsYBQtPtPumumumtPtPtPtQtRsYsYsYsYvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEksXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPunsYsYsYvBvBvBsYsYsYBNBPtPtPumumumumumtPtPtQBOtRsYsYvBvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsXsXsXsXsXsXsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEkEkEksXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPzSBRzTsYsYsYvBvBvBsYsYBNBPtPtPumumtOtOtOumtPtPtPtPunsYsYsYvBvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEksXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPzSBRBRBRzTsYsYsYsYsYvBvBvBsYsYBQtPtPumumtOtOtOtOumumumumtPtQtRsYsYsYvBss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsXsXsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEkEksXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPBRBRBRzTsYsYsYsYsYsYsYsYsYvBvBvBvBsYBSBTtPumumumtOtOtOtOumumumumtPtQtRsYsYsYss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEksXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumEkEksYsYsYsYsYsYsYsYsYsYsYsYsYsYvBvBvBsYsYBSBTtPumumumumtOtOtOtOumumumtPtQtRsYsYss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEmEkEksXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumEkEkEkEkEksYsYsYsYBNBOBOBOBOBOBOtRsYsYvBvBvBsYsYsYBSBTtPtPumumumumumumumumumtPtPunsYsYss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEkEksXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOEkEkEkEkEkEkEkEkEkEksYsYBNBOBPtPtPtPtPtPtPunsYsYsYvBvBvBsYsYsYBSBTtPtPumumumumumumtPtPtPtPunsYsYss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEmEkEkEkEksXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOEkEkEkEkEkEkEkEkEkEkEkEkBOBOBPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBsYsYsYBSBRBTtPtPtPtPtPtPtPzSBRBRzTsYsYss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEkEksXsXsXsXsXsXtNtOtOtOtOtOtOtOtOEkEkEkEkEkEkEkEkEkEkEkEkEkEktPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBvBsYsYsYsYBSBRBRBRBRBRBRBRzTsYsYsYsYsYss -sjBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEkEkEkEkEkEksXsXsXsXsXtNtOtOtOtOtOtOtOEkEkEkEkEkEkEkEkEkEkEkumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYvBvBvBvBvBvBvBsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYsYss -sjBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEkEkEmEmEkEkEkEkEkEkEkEkEoEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYvBvBvBvBvBvBvBsYsYsYsYsYsYsYsYsYsYsYsYvBvBvBss -sjBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEkEkEkEmEmEmEkEkEkEkEmEmEqEmEmEmEkEkEkEkEkEkEkEkEkumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEkEkEkEkEkEkEmEmEmEmEmEqEmEmEmEmEmEmEmEmEmEkEkEkumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEkEkEkEkEkEkEkEkEkEkEoEkEkEkEkEkEmEmEkEkEkEkEkEkumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBUBUBUBUBUBUBUBUBKBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXEkEkEoEkEkEkEkEkEkEkEkEkEkEkEkEkEkEkumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOEkEkEkEkEkEkEkEkEkEkEkEkEkumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBUBUBUBUBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOEkEkEkEkEkEkEkEkEkEkEkEkEkEktPtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBWBWBWBWBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOEkEkEkEkEkEkEkEktPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumEkEkEkEkEkEkEktPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumEkEkEkEkEkEkEktPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBUBUBUBUBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumEkEkEkEkEkEkBRBTtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBUBUBUBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumEkEkEkEksYBSBTtPtPtPtPzSzTsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPEkEkEksYsYBSBRBRBTtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBKBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsQsXsQsXAVAWAWAVsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPEkEksYsYsYsYsYBSBRzTsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBKBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpErErEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtQBOBOtRsYsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpEpEpErErEpEpEpEpEpEpEpEpEpsXsXsXsXEpEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpEpEpEpEpErErEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtQBOtRsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpEpEpEpEpEpErErEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpEpEpsQsXsQsXAVAWAWAVsXsXsXEpEpEpEpEpEpEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBUBUBUBUBUBUBKBKBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBUBWBWBWBWBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBUBUBUBUBUBUBUBXBKBKBKBKBKtNsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBUBUBUBUBUBUBUBUBUBWBWBWBWBWBWBWBWBWBWBWBWBUBUBUBUBUBUBUBUBUBUBUBUBUBXBXBXBXBXBYsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBXBXBXBXBYBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBUBXBXBXBYBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBUBUBXBUBUBUBXBXBXBXBXBYBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtQtRsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPtPunsYsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -sjBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBYBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZBZsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXEpEpEpsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsmsmsmsmsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXsXtNtOtOtOtOtOtOtOtOtOtOtOtOtOumumumumumumtPtPtPtPtPtPtPtPtPtPtPtPzSzTsYsYsYsYsYsYvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBss -CaCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbCbBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNEsEsEstNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNrSrSrSrStNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNCcCcCcCcCcCcCcCcCcCcCcCcCcCdCdCdCdCdCdCeCeCeCeCeCeCeCeCeCeCeCeCfCgCgCgCgCgCgCgChChChChChChChChChChChChChChChChChChChChChCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmCmCmCmCmCmCmCmCmCmCmEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmCmCmCmCmCmCmCmCmEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmCmCmCmCmEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEuEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEuEuEuEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCzCuCvCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEuEuEuEuEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEuEuEuEuEuEuEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEuEuEuEuEuEuEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEuEuEuEuEuEuEuEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCzCuCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCwCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCwCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCwCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCxCvCvCvCvCvCwCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCvCvCvCvCvCvCwCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtCoCoCoCoCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCwCwCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtCoCoCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCvCwCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtEtCoCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCzCuCvCvCvCvCvCwCwCwCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtCoCoCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCvCvCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCvCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtCoCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCuCvCvCvCvCvCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCzCzCuCvCvCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCtCzCzCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCACACACACrCrCrCACrCrCrCrCrCACrCrCrCACACACACrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCACACACACrCrCrCACACACACACACACrCrCrCACACACACrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCACACACACrCrCACACACACACACACACACrCrCACACACACrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCACACACACrCrCACACACACACACACACACrCrCACACACACrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtCoCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtCmCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCsCsCsCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCmCmCmCmCmCmCoCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCACACACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCmCmCmCmCmCmCmCmCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCACACACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCACACACACACACACACACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtEtEtEtEtEuEuEuEtEtEtEtEtEtEtEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCACACACACACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCACACACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCACACACACACACACrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCkClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClEtEtEtEtClClClClClClCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCpClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCoCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCpClClClClClClClClClClClClClClClClClClClClClCBClClClClClClClClClClClClClCBClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClClCmCmCmCmCmCmCmCmCmCmCmCmCmCmEvCmCmCmCmCmCmCmCmCmCmCmCmCmEvCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCmCpCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCqCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCrCi -CaCaCaCaCaCaCaCaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCaCaCaCaCaCaCaCaCaCaCaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECECDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECECDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCiCiCiCiCiCiCiCiCiCiCiCiCiCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapaYaZbabababababababababbaYaZbabababababababababbaYapapaHbcbdbebebfbgaIbhbibibibibibibjaJbkblaJbmbmbmaDamamamapapapapapapapapapapapapapapapapapbnbnbobpbobnbnapapapapapapapapapapapapapapapapapapakakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbrbsbsbsbsbsbrbrbtbubqbvbvbrbrbrbrbrbvbvbtapapapaIbwbebxbybzbAbBbCbDbEbFbEbGbHbIbJbKbLbMbmbmbmaDamamamapapapapapapapapapapapapbNbObPbObNbnbQbRbSbTbUbnbVbWbXbWbVapapapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbsbsbsbsbsbsbsbrbtbubqbvbvbvbrbrbrbvbvbvbtapapapaIbYbZcacbcccdaIcecfbicgchcichcjaKckclaKbmbmbmaDamamamapapapapapapapapapapapbNbNcmcncocpcqbTcrcsctbTcucvcwcxcybVbVapapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczagagagczagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbsbsbsbsbsbsbsbrbtbubqbvbvbvbvbvbvbvbvbvbtapapapaHcAcAcBcBcBcBaHcCcDcEaKcFcGcHcIcJcJcJcJcKcKcKcLamamamapapapapapapapapapapbNbNcMcMcNcOcPcQcRcScTcUcVcQcWcXcXcYcZbVbVapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczagagagczagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbsbsbsbsbsbsbsbrbtbubqbvbvbvbvbvbvbvbvbvbtapapapaHcBcBcBdadbdcdddecfdfcJcJcJcJcJcJdgdhdidjdkdkdlamamamapapapapapapapapapapbOdmdndodpcOdqcQdrdsdtdudvcQdwcXcXdxdydzbWapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczagagagczagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbsbsbsbsbsbsbsbrbtbubqbvbvbvbvbvbvbvbvbvbtapapapaHdAdBcBdCdDdEdddFcfdGcJdHdIdJdKdLdMdNdOdPdPdPdQamamamapapapapapapapapapapbPdRcOdScOdTdUbOdVdWdWdWdXbWdYdZcXeaebecbXapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbsbsbsbsbsbsbsbrbtbubqbvbvbvbvbvbvbvbvbvbtapapapaHaHaHaHedeeddddefegehcJeiejejcJejdgcJcJekelcKemamamamapapapapapapapapapapbOeneoepeqereseteuevewevexeyezeAeBeCeDeEbWapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczczczagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbrbsbsbsbsbsbsbsbrbtbubqbvbvbvbvbvbvbvbvbvbtbmbmbmaKeFeGaKeHeIeJeKbheLbieMeNeNeOePejeQcJeReReReReSamamamapapapapapapapapapapbNeTeUeVeWeXeYbOeZfafbfcfdbWfefffgfhfifjbVapapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczczczczczagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbsbsbsbsbsbsbsbtbubqbrbvbvbvbvbvbvbvbrbtbmbmfkflfmfnfofpfqfrfsfrftfufvfwfxfyfzfAfBcJeReReReReSamamamamapapapapapapapbNbNbNfCfCfCfDfEfFfCcQbofGbocQfHfIfJfKfHfHfHbVbVapapapapapapapapapapapakakakakakakakajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczczczczczagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbsbsbsbsbsbsbsbtbubqbrbvbvbvbvbvbvbvbrbtbmbmfLaJfMfNaJfOfPfQcebieLbieMeNfRfSfTejfUcJeReReReReSamamamamamamamamamamfVbOfWfXbOfYfZgacOcOgbbOgcgdgebWgfggggghgigggggjbWapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczczczczczagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbsbsbsbsbsbsbsbtbubqbrbvbvbvbvbvbvbvbrbtamamamaJaJgkaJglglaJgmgngogpcJgqejejgrejdgcJeReReReRgsamamamamamamamamamamfVgtgugvgwgxcOgyeqeqgzgAgBgCgDgEgFgGgGgHgggggIgJbWapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczczczczczagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbsbsbsbsbsbsbsbtbubqbrbvbvbvbvbvbvbvbrbtamamamaLgKgLgMgLgNaLgOgPgQgPcJgRgSgTgUgVgWcJgXgXgXgXgYamamamamamamamamamamgZbNhahbbNhchdhehfhghhfChihjhkfHhlhmhnhohphqhrhsbVapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczczczagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbsbsbsbsbsbsbsbtbubqbrbvbvbvbvbvbvbvbrbtapamamaLaLhthuhvhwhxhyhzhAhzhBaLaLaLaLaLaLaLapapapapaqamamamamamapapapapapapbNhChChChChChDhDhDhEhEhFhjhGhHhHhHhHhHhIhIhIhHhHapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczczczagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbsbrbrbrbsbsbsbtbubqbrbvbvbvbvbvbvbvbrbtapamamamaLhJhKhzhLhMhNhOhPhQhRhShThUhUhVaLapapapapapaqamamamamapapapapapapapaphChWhXhYhChZiaibicidhFhjhGhHieifigihiiijikilhHapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagczczczczczagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapbqbsbsbrbrbrbrbrbsbsbtbubqbrbrbvbvbvbvbvbrbrbtapamamamaLimhKhzinioipiqirisitiuiuiviwixaLapapapapapaqamamamapapapapapapapapaphCiyiziAhCiBiCiCiDhDiEiFiGhHiHiIiIiIiJiJiIiKhHapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapiLiMiNiNiNiNiNiNiNiNiNiOiLiMiNiNiNiNiNiNiNiNiNiOiLapamamaLiPiQiRhLhziSiTiUiViWiXiYiZjajbaLapapapapapaqamamamapapapapapapapapaphChCjchChCjdjejfjghDhFhjjhhHiJiJjiikikiJiJiIhIapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapaLaMapapapamamamapapapaMaLaMapapapamamamapapapaMaLapamamaLaLjjjkjljmaLaLjnaLaLjojpjqjqaLaLapapapapapaqamamamapapapapapapapapapjrjsjtjujvhDhDjwhDhDjxhjjyhIjziJjAjBjCiIiJiJhIapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapamamamamapapapapapapapapamamamapapapapapamamamaLaLaLaLjDaLjEjFjEaLaLaLaLaLaLapapapapapapaqamamamapapapapapapapapapjrjGjHjIjJjKjLjMjNjOgchjjPhIjQiJjRiJiIiIiJiJhIapamamapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapamamamamamapapapapapapapapamamamapapapapamamamjSjTjTjTjUjTjTjVjWjWjWjWjWjWjWjWjWjWjWjWjWjXjWjWjWjWjWjWjWjWjWjWjWjWjYjZkakbkckdkekfkekgkekhkikjkkklkmklklkniJiJhIapapamapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapamamamamamamamamamamamamamamamamamamamamamamaqamamamamamamamamamamamamamamamamamamamamaqamamamapapapapapapapapapjrkojHkpjvkqkrksktkukvkwkxhIkyiIjAiJiJiJiJiJhHapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapamamamamamamamamamamamamamamamamamamamamaqamamamamamamamamamamamamamamamamamamamamaqamamamapapapapapapapapapjrkzkAkBjvkCkDkEkFkFjOkGkHhHhHkIkJkKkLkMkNkOhHapapapapamapapapapapajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapamamamamamapapapapapapapapapaqapapapapapapapapapapapapapapapapapapapapaqamamamapapapapapapapapapkPkQkQkQkQkQkQkQkPkRkSkTkUkVhHhIkWhIhIhHhHhHhHapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapamamamamapapkXkXkXkXkYkYkZlakZlblblblblclclblblblbapapapapapapapapapaqamamamapapapapapapapapapkPldlelflelglhliljlklllmlngcjOlolplqlrlsltlulvlwamapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapkXkXlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlblbapapapapapapapapaqlOlOlPapapapapapapapapapkPlQlRlRlRlRlSlTlUlVlWlXlYlZmambmcmdmemfmgmhmimjamamamapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapkXmklAlAlAmlmmlCmnmolFmpmqmrmsmtmumumvmwlbapapapapapapapapmxmymzmAmAapapapapapapapapmBmCmDmDmDmDmEmFmBhimGmHmIgcjOmJmKmLmMkFmNmOkFmPapamamapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapkXlxlAmQlAmRlAlCmSmTlFmUlMmVmWmXmYmZlMnalbapapapapapapapapnbncndnemyapapapapapapapapmBnfngnfngnfnfnhkPnigcnjkUnknlnmnnnmnmkFkFkFkFapapapamamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapkXnolAnpnqnrnslCntnulFnvnwnxnynznAnAnBnClbapapapapapapapapnbnDnEnFmyapapapapapapapapkPnGnHnInJnKnfnLkPkFjOnMkHnlnlnNnOnPnQnRnlapapapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapkXnSnTlAlAnUnVnWnXnYlFnZlMoalMoboclMlMnZlbapapapapapapapmAmxmyodmAmAmAapapapapapapapkPoeofogohoinfojkQokgciFolomonnPooopnmnmnlapapapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapoqkXkXkXkYkYorosnWotoulFovlclclFowlFlclcovlbmAmAmymymAmymymAoxoyozoAoBmAmymymAmymymAmAkPkQmBoCmBkQmBmBkQoDgcnjkUnmoEnPoFnPoGoHnlapapapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoWoXoYoZoWpaoVoWpbpcpdpdpepdpfpdpgphpipjpkplpdpdpmpfpdpdpbpnpolkpppqpoprpopsptptpupvnmpwnPoFpxnmnmnlnlnlapapapapamapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamampypzpApBpCpDotpEpFpGpHpIpJpGpGpKpGpLpGpGpMpGpNpOpPpQpRpRpRpSpRpTpUpVpWpRpRpRpQpRpSpRpXpYgBlZlZpZqaqaqbqaqaqakeqcqdnmqenPoFpxnmqfqgqhnlapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamqioqqjqkoqqlqmqnotqoqpqqqrqsqtquotqnqvqwqxqyqzqAqBqCqBqDqBqBqEqFqGqHqIqJqBqBqCqKqBqBqBqAqLqMqMqNqMqMqMqMqOgcqPqQqRnmqSqTqUqVqWqXqYqZnlapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapoqoqoqoqraraqnotrararararararaotqnraraoqoqoqmAmAmymymAmymymArbrcnErdremAmymymAmymymAmAkFrfrgrhrirjrkrlrmgcrnrorprqrrnPrsrtnmqfruqhnlapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapoqrvrwrxryrzrArBrCrDrarErFrGrArzrHrIrJrKoqapapapapapapapmArLmArMmymAmAapapapapapapapkFrNrOrOrOrOrOrOrOrOrPrQrRnmnmnmrSnmnmnmrTnlnlapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapoJrUrVrWraqnrXrarYrZrasasbrascqnrasdsesfoJapapapapapapapapsgshndnemyapapapapapapapapaprNsisjskskslsmsnsospsqsrssstsusvswsxsyszrNapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapoqrarararaqnotrararararararaotqnrarararaoqapapapapapapapapsgsAsBsCmyapapapapapapapapapsDsEsFsGsHsHsHsHsHsHsIsHsHsHsHsHsHsJsKsEsDapapapapamapapapapajajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamamapoqsLrwrxsMsNsOsPsQsRrasSsTsUsVsNsWrIrJsXoqapapapapapapapaprLmAsYmymAapapapapapapapapapsZtasEtbtctdtetetetetetetftftftgtcthsEtisZapapapapamapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapamamamapoqoqtjtkraoJoJratltmratntoraoJoJratptqoqoqapapapapapapapapaDtrlOlOapapapapapapapapapapsDsEtctbtctstttttttttttttutututvtcthtcsEsDapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaEapapapapapapapapapapapapapapapapapapapapapapapapapapapamamapapoqoJoqoqapapoqoqoJoqoJoqoqapapoqoqoJoqapapapapapapapapapaDamamamapapapapapapapapapaprNrNtwtxtctstttttttytztAtutututvtctBtCrNrNapapapapapapapapapapapajajajajajajajajajajajajajajajajajajajajajajajaiananananananananananananananananananananananananananananananananananananananananananananananananananananananananananananao +aatDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtDtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtFtFtFtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtGtFtFtFtEtEtEtEtEtEtEtEtEtEtEtHtItJtKtLtMtMtMtNtOtPtQtQtQtRtKtStTtHtEtEtEtEtEtEtEtEtEtEtEtEtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVao +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuatZtZtZtZtYtYtYtYtYtYtYtYtYtYsZsEubtctstttttttututututututvtcucsEsZtYtYtYtYtYtYtYtYtYtYtYtYudududududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuatZtZtZtZtYtYtYtYtYtYtYtYtYtYsDtctctcuguhuhuhuiuiuiuiuiuiujtctctcsDtYtYtYtYtYtYtYtYtYtYtYtYudududududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuatZtZtZtZtYtYtYtYtYtYtYtYtYtYrNukultctctctctctctctctctctctctctcumrNtYtYtYtZtYtYtYtYtYtYtYtYudududududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuatZtZtZtZtYtYtYtYtYtYtYtYtYtYtYrNrNsEunuouptctctctctcuquoursErNrNtYtYtYtYtZtYtYtYtYtYtYtYtYtYududududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYmAustZtZtYtYtYtYtYtYtYutmAuttYtYtYtYtYtYtYtYtYuumAtYuatYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYrNsDsZsDrNunuvuwuxunrNsDsZsDrNtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYududududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuyuzuAuAuAuAuAuAuAuAuAuBuyuzuAuAuAuAuAuAuAuAuAuBuytYuatYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYrNrNsDsZsDrNrNtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYududududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuDuEuEuEuEuEuDuDuFutuCuGuGuDuDuDuDuDuGuGuFtYtYuatZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtYtYtYtYtYtYtYtYtYtYtYtYtYudududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuEuEuEuEuEuEuEuDuFutuCuGuGuGuDuDuDuGuGuGuFtYtZuatZtZtZtZtZtZtZtZtZtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYudududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuEuEuEuEuEuEuEuDuFutuCuGuGuGuGuGuGuGuGuGuFtZtZuatZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuEuEuEuEuEuEuEuDuFutuCuGuGuGuGuGuGuGuGuGuFtZtZuatYtZtZtZtYtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYududududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuEuEuEuEuEuEuEuDuFutuCuGuGuGuGuGuGuGuGuGuFtZtYuHuIuIuIuIuIuIuIuIuIuIuIuIuIuJtZtZtZtZtZtZtZtZtYtYtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYududududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuEuEuEuEuEuEuEuDuFutuCuGuGuGuGuGuGuGuGuGuFtYtYtYtZtZtZtZtYtYtYtYtYtYtYtYtYuatYtYtYtYtZtZtZtZtZtZtYtYtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYudududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuDuEuEuEuEuEuEuEuDuFutuCuGuGuGuGuGuGuGuGuGuFtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYuatYtYtYtYtYtYtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKududududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuEuEuEuEuEuEuEuFutuCuDuGuGuGuGuGuGuGuDuFtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYuatYtYtYtYtYtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKududududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuEuEuEuEuEuEuEuFutuCuDuGuGuGuGuGuGuGuDuFtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYuMtYtYtYtYtYtYtYtYuNuOuOtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKududududududududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuEuEuEuEuEuEuEuFutuCuDuGuGuGuGuGuGuGuDuFtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYuMtYtYtYtYtYtYtYuPuQuRuSuPtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKudududududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuEuEuEuEuEuEuEuFutuCuDuGuGuGuGuGuGuGuDuFtYtYtYtZtZtZtYtYtYtYtYuTuTuTuUuUuVuUuWuWuWuWuWuWuWuXuYuZuQuQuQuSvauSuQuQuSuQvbuQuSuQtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKududududtUueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuEuEuEuEuEuEuEuFutuCuDuGuGuGuGuGuGuGuDuFtYtYtYtZtZtZtYtYtYtYuTuTvcvdvevfvgvhvivjvkvlvmvnuWvovpvquQvrvsvtvuvvvwvbvxvxvxvyvzuQuQtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBueueueueueueueueueueueueuevCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuEuDuDuDuEuEuEuFutuCuDuGuGuGuGuGuGuGuDuFtYtYtYtZtZtZtYtYtYtYuTvFvGvHvevIvJvKvivLvMvNvOvPuWuQvQuSuQvRvSvTvUvVvWvbvxvxvxvXvYvbuQtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuCuEuEuDuDuDuDuDuEuEuFutuCuDuDuGuGuGuGuGuDuDuFtYtYtYtZtZtZtYtYtYtYuTwbwcwbvevewdveviviviweviviviwfwgwhvbwiwjwkwlwmwnvbvbvbvbwovbvbuQtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYwpwqwrwrwrwrwrwrwrwrwrwswpwqwrwrwrwrwrwrwrwrwrwswptYtYtZtZtZtYtYtYtYuSwtwuwvwwwxwywzwAwBwCwDwCwEwFwCwGwCwHwIwJwKwLwCwMwNwKwCwOwPwQwRuStYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYmAwStYtYtYtYtYtYtYtYtYwSmAwStYtYtYtYtYtYtYtYtYwSmAtYtYtZtZtZtYtYtYtYvawTwUwVwWwXwYwZxaxbxcxdxcxcxexcxfxcxgxhxcxixcxcxcxjxkxlxmxnwTwTvatYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtYtYtYtYuSxpxqxrxsxsxtxsxsxuxvxwxxxyuSuSxzuSuSuQxAxBxqwTxCxCxDxExCxFxqxGxHxItYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtYtYtYxsxsxJxKxJxLxMxNxOxLxPxQxPxsxsxRxSxTxUxVxCxCxWxXxWxCxYxZyaxCybxXycxCxCtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtYtYxsxsydyeyfygxsyhyiyjxsykylymynxsxsyoypyqxCxCyrysytyuyvyaywyayxyyyzyAyBxCxCtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtYtYtYxsyCyDyEyDyDxsxsyFxsxsyGyHyEyIyJxsyKyLyMxCyNyOyPyQyRySyaywyayTyUyVyWyWyXxCtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtYtYxsxsxsxsxsyYyEyDyZzazbzczdyDyEzexsxsxsxsxsxCxCzfyayWzgzhzizjzkyazlzmznzoyNyNxCxCxCtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtYtYtYxszpzqzrzsztyDzuyEyEzvyEyEzuyDzwzxzrzqzyxszzzAzBzCyWzDzEzFyaywyazGzHzIyWxWzJzKyaxWuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtZtYtYtYtYxszLzLzLzMzNyEzOzPzQzRzSzTzUzVzWzXzLzLzLxszYzZAaAbAcAdAeAfyaywyaAgAhAiAjxWyayaAkxXuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtZtYtYtYtYtYtYxszLzLzLAlAmyDyEyDyDAnyDyDyEAoApzxzLzLzLxsAqArArzCAsyayayayaAtAuAuAvAuAuAwAuAxAkxWuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtZtZtYtYtYtYtYtYtYxsAyAyAyAzAAyDyEABACADAEyDyEAoAFAGAHAHAHxsAIAJAJAKzmALAMAMANAOAPyWyWAQARyNASATAUxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtZtZtYtYtYtYtYtYtYtYtYxszLzLzLAVAWyDyEyDyDAXyDyDyEAoAYAZzLzLzLxCBaBbBcAKAsyayayaBdBeBfzjzjzjzjBgzjBhAkxWuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYxszLBjzLBkzNyEBlBmBnBozQBpBqBrzWBszLzLzLxCBtyWBuBvBwBxByBzBdyWyaBABBBCBDxWBEyaAkxXuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYxsBHBIzrBJBKyDzuyEyEyEyEyEzuAoBLBMzrBIBNxCBOBPyWAKyWBQBRBSBdyWyaBTBUBVyWxWyaBWBXxWuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYxsxsxsxsxsBYyEyDyEyDyDyDyEyDBrBZxsxsxsxsxCxCxCCaCbyWCcAMCdCeCfzjCgzhChCiyNCjxCxCxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYxsCkyDyEClCmCnCoCpCqCnCrCsCtCuCvCwCxCyCyxCCzCACBCCyWySBdCDyayTyWyWCECFCGxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWCHCHBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYCICJCJCItYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYxsxsCKyDxsCLCMCNAyCOCPCQxsyDCRxsxsCyCyutxCxCCSCTyNxWxWCUyNCVxWxWyNCFCWxCxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWBiCHCHBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiCXCXBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYxsxsCYxsCZzLzLAyzLzLCZxsDaxsxsDbDcDcutDdxCxCDeyNDfyaDgDhDiDjyaCjCGxCxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWBiBiBiBiCHBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiCXCXCHCHBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBitYxsxsxsDkzLzLAyzLBjDlxsxsxstYDmDmDmDmDmtYxCxCxCDnyaDoATDpyaDqxCxCxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXBiBiBiCHCHCHBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiCHCXCXCHCHCHCHCHBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBitYtYxsDrzLzLAyzLzLDsxstYtYtYtYtYtYtYtYtYtYtYxCyaAkAkDtAkAkDuxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXBiBiBiBiCHCHBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHCHCXCXCHBiBiCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHBiBiBixsDvDvDvxsxsxsxsxstYtYtYtYtYtYtYtYtYtYuKxCxWxXxWxCxWxXxWxCuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiCHCHCHCHBiCXCXBiBiBiBiBiBiBiBiBiBiCHCHCHBiCHCHCHCHCHCHCHBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiCHCHBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHCHBiBiBiBiCXCXBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiCHCHCHCHBiBiBiBiBiBitYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiCHCHCHBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiBiBiBiBiBiBiBiCXCXBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiCHCHCHCHCHBiBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiCHCHCHBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiBiBiBiBiBiBitYCICJCJCItYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHCHCHCHBiBiBiBiBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiBiBiBiBiBitYtYtYtYtYtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiCHCHCHCHCHCHBiBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiCHCHCHBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiCHCHBiBiBiBiBitYtYtYtYtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKBiBiBiBiBiBiBiCHCHCHCHCHCHCHBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiCHCHBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiCHCHBiBiBiBitYtYtYtYtYtYtYtYtYtYtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiBiCHCHCHCHBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiCHCHCHBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiBiBiCHBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiCHCHBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiCHCHBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiCHCHCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiCHCHBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiCHCHBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiCHCHBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiCHCHCHBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiCHCHBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHCHBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYBiBiBiBiCHCHBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYBiBiBiBiBiCHCHBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBiBitXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYBiBiBiBiBiBiCHCHBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiCHCHBiBiBiBiBiBitXtXtXtXtXBiBiBiDxBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiCHCHCHBiBiBiBiBiBiBiBiBiBiBiBiDxBiBiBiBiBiBiCHCHCHCHBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiCHCHBiBiBiBiBiBiBiBiBiDxBiCHCHCHCHCHBiBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiCHCHCHCHCHBiBiBiBiBiDxBiBiBiBiBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiCHCHBiBiBiBiDxBiBiBiBiBiBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvZvZvZvZvZvZvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBiBiBiBiBiBiBiDxBiBitYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZuKuKuKuKuKuKtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHCHBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvZvZvZvZvZvZvZvZvZvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXBiBiBiBiBitXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvZvZvZvZvZvZvZvZvZvZvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiBiuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtFvZvZvZvZvZvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHCHBiBiBiuKuKuKuKuKuKtZtZtZtZtZtZtZtZtZtFvZvZvZvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtXtXtXtXtXtXtXtXtXtXtEtYtYtYtYtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZtZuKuKuKuKtZtZtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKBiBiCHCHCHBiBiuKuKuKuKtZtZtZtZtZtZuKuKuKuKuKvAvZDyDyDyDyDyDyDyDyDyDyDyvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwtXtXtXtEtYtYtYtYtYtYtYtYtYuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZuKuKuKuKuKuKCIBiBiCHCHCHBiBiuKCItZtZtZtZuKuKuKuKuKuKuKuKvAvZDyDyDyDyDyDyDyDyDyDyDyDyvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKtZtZtZCJCJCXCXCXCXCXCXCJCJtZtZuKuKuKuKuKuKuKuKuKuKvAvZDyDyDyDyDyDyDyDyDyDyDyDyvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLxoxoxoxoxoxouLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZCJCJCXCXCXCXCXCXCJCJtZuKuKuKuKuKuKuKuKuKuKuKvAvBDyDyDyDyDyDyDyDyDyDyDyDyvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxoxoxouLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKCIuKBiBiCHCHCHBiBiCIuKuKuKuKuKuKuKuKuKuKuKuKvAvBDyDyDyDyDyDyDyDyDyDyDyvZvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxoxoxouLuLuLDzDADADAvEuLuLuLuLxoxoxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKuKuKuKuKBiBiBiCHCHBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvZvZvZvZvZvBvBvBvZvZvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLxoxoxoxouLuLDzDBvCvCvCvDDAvEuLuLuLuLxoxoxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxoxouLuLDCvCvZvZvCvCvCvDDAvEuLuLuLuLxoxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxouLuLuLDCvCvCvZvZvZvCvCvCvDvEuLuLuLuLxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCwauLuLuLxoxoxouLuLuLDzDBvCvCvZvZvZvZvZvCvCvDDAvEuLuLxoxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKuKuKuKuKuKuKtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHBiBiBiuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCBFDDBGuLuLuLxoxoxouLuLDzDBvCvCvZvZvBvBvBvZvCvCvCvCwauLuLuLxoxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCBFDDDDDDBGuLuLuLuLuLxoxoxouLuLDCvCvCvZvZvBvBvBvBvZvZvZvZvCvDvEuLuLuLxouf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZuKuKtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiBiuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCDDDDDDBGuLuLuLuLuLuLuLuLuLxoxoxoxouLDEDFvCvZvZvZvBvBvBvBvZvZvZvZvCvDvEuLuLuLuf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZBiBiuLuLuLuLuLuLuLuLuLuLuLuLuLuLxoxoxouLuLDEDFvCvZvZvZvZvBvBvBvBvZvZvZvCvDvEuLuLuf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHCHBiBiuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZBiBiBiBiBiuLuLuLuLDzDADADADADADAvEuLuLxoxoxouLuLuLDEDFvCvCvZvZvZvZvZvZvZvZvZvCvCwauLuLuf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiBiuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBBiBiBiBiBiBiBiBiBiBiuLuLDzDADBvCvCvCvCvCvCwauLuLuLxoxoxouLuLuLDEDFvCvCvZvZvZvZvZvZvCvCvCvCwauLuLuf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiCHBiBiBiBiuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBBiBiBiBiBiBiBiBiBiBiBiBiDADADBvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxouLuLuLDEDDDFvCvCvCvCvCvCvCBFDDDDBGuLuLuf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiBiuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBBiBiBiBiBiBiBiBiBiBiBiBiBiBivCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxoxouLuLuLuLDEDDDDDDDDDDDDDDBGuLuLuLuLuLuf +tWDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiBiBiBiBiBiBiuKuKuKuKuKvAvBvBvBvBvBvBvBBiBiBiBiBiBiBiBiBiBiBivZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLxoxoxoxoxoxoxouLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuLuf +tWDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKBiBiCHCHBiBiBiBiBiBiBiBiDxBiBiBiBiBiBiBiBiBiBiBiBiBiBiBivZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLxoxoxoxoxoxoxouLuLuLuLuLuLuLuLuLuLuLuLxoxoxouf +tWDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHBiBiBiCHCHCHBiBiBiBiCHCHDICHCHCHBiBiBiBiBiBiBiBiBivZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHBiBiBiBiBiBiCHCHCHCHCHDICHCHCHCHCHCHCHCHCHBiBiBivZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHBiBiBiBiBiBiBiBiBiBiDxBiBiBiBiBiCHCHBiBiBiBiBiBivZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDGDGDGDGDGDGDGDGDwDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKBiBiDxBiBiBiBiBiBiBiBiBiBiBiBiBiBiBivZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBBiBiBiBiBiBiBiBiBiBiBiBiBivZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDGDGDGDGDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBBiBiBiBiBiBiBiBiBiBiBiBiBiBivCvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDJDJDJDJDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBBiBiBiBiBiBiBiBivCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZBiBiBiBiBiBiBivCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZBiBiBiBiBiBiBivCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDGDGDGDGDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZBiBiBiBiBiBiDDDFvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDGDGDGDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZBiBiBiBiuLDEDFvCvCvCvCBFBGuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCBiBiBiuLuLDEDDDDDFvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDwDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuDuKuDuKCICJCJCIuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCBiBiuLuLuLuLuLDEDDBGuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDwDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHDLDLDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvDDADAvEuLuLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHDHDHDLDLDHDHDHDHDHDHDHDHDHuKuKuKuKDHDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHDHDHDHDHDLDLDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvDDAvEuLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHDHDHDHDHDHDLDLDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHDHDHuDuKuDuKCICJCJCIuKuKuKDHDHDHDHDHDHDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDGDGDGDGDGDGDwDwDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDGDJDJDJDJDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDGDGDGDGDGDGDGDKDwDwDwDwDwvAuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDGDGDGDGDGDGDGDGDGDJDJDJDJDJDJDJDJDJDJDJDJDGDGDGDGDGDGDGDGDGDGDGDGDGDKDKDKDKDKDMuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDKDKDKDKDMDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDGDKDKDKDMDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDGDGDKDGDGDGDKDKDKDKDKDMDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvDvEuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCvCwauLuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +tWDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDMDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKDHDHDHuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKtZtZtZtZuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKuKvAvBvBvBvBvBvBvBvBvBvBvBvBvBvZvZvZvZvZvZvCvCvCvCvCvCvCvCvCvCvCvCBFBGuLuLuLuLuLuLxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxouf +DODPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDPDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMDMvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvADQDQDQvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAtFtFtFtFvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvAvADRDRDRDRDRDRDRDRDRDRDRDRDRDSDSDSDSDSDSDTDTDTDTDTDTDTDTDTDTDTDTDUDVDVDVDVDVDVDVDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEbEbEbEbEbEbEbEbEbEbEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEbEbEbEbEbEbEbEbEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEbEbEbEbEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkElElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkElElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkElElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkElElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkElElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkEkElElElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkEkEkEkElElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEnEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkEkEkEkEkElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEnEnEnEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEoEjEkEkEkEkEkEkEkElElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEnEnEnEnEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkEkEkElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEnEnEnEnEnEnEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkEkElElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEnEnEnEnEnEnEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkEkEkElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEnEnEnEnEnEnEnEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkEkElElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEoEjEkEkEkEkEkElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkElElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkElElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkElElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEmEkEkEkEkEkElElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEkEkEkEkEkEkElElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEdEdEdEdEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkElElElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEdEdEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkEkElElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEcEdEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEoEjEkEkEkEkEkElElElDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEdEdEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkEkEkDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkEkDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEdEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEjEkEkEkEkEkDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEoEoEjEkEkDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEiEoEoDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEpEpEpEpEgEgEgEpEgEgEgEgEgEpEgEgEgEpEpEpEpEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEpEpEpEpEgEgEgEpEpEpEpEpEpEpEgEgEgEpEpEpEpEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEpEpEpEpEgEgEpEpEpEpEpEpEpEpEpEgEgEpEpEpEpEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEpEpEpEpEgEgEpEpEpEpEpEpEpEpEpEgEgEpEpEpEpEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEdEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEbEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEhEhEhDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEbEbEbEbEbEbEdEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEbEbEbEbEbEbEbEbEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEcEnEnEnEnEnEnEnEnEnEnEcEcEcEcEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEcEcEcEcEnEnEnEcEcEcEcEcEcEcEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEpEpEpEpEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEpEpEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEcEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEpEpEpEpEpEpEpEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDZEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEcEcEcEcEaEaEaEaEaEaEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYEeEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEdEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYEeEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEqEaEaEaEaEaEaEaEaEaEaEaEaEaEqEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEbEbEbEbEbEbEbEbEbEbEbEbEbEbErEbEbEbEbEbEbEbEbEbEbEbEbEbErEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEeEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEfEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgEgDX +DODODODODODODODOEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsDODODODODODODODODODODOEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEsEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEuEuEuEuEuEuEuEuEuEuEuEuEuEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEtEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvDXDXDXDXDXDXDXDXDXDXDXDXDXEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEvEv "} - diff --git a/maps/southern_cross/southern_cross-4.dmm b/maps/southern_cross/southern_cross-4.dmm index fab736ada5..5dcb0cb8bf 100644 --- a/maps/southern_cross/southern_cross-4.dmm +++ b/maps/southern_cross/southern_cross-4.dmm @@ -415,7 +415,7 @@ "hY" = (/obj/machinery/radiocarbon_spectrometer,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoarcheology/analysis) "hZ" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/glasses/science,/obj/item/device/suit_cooling_unit,/obj/item/weapon/extinguisher,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoarcheology/emergencystorage) "ia" = (/obj/structure/cable/ender{icon_state = "1-2"; id = "surface_cave"},/turf/simulated/floor/plating{tag = "icon-asteroidplating2"; icon_state = "asteroidplating2"},/area/mine/explored) -"ib" = (/turf/unsimulated/wall,/area/mine/unexplored) +"ib" = (/turf/simulated/wall/dungeon,/area/mine/unexplored) "ic" = (/obj/effect/step_trigger/teleporter/mine/from_mining,/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/space) (1,1,1) = {" @@ -675,4 +675,3 @@ aaababababababababababababababababababababababababababababababababababababababab aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababiaacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibicicicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/southern_cross/southern_cross-5.dmm b/maps/southern_cross/southern_cross-5.dmm index fa8d8fdb88..177679ae24 100644 --- a/maps/southern_cross/southern_cross-5.dmm +++ b/maps/southern_cross/southern_cross-5.dmm @@ -61,13 +61,13 @@ "bm" = (/obj/machinery/computer/pod{id = "oldship_gun"},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bn" = (/obj/structure/table/standard,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "bo" = (/obj/structure/table/standard,/obj/item/device/radio/off,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"bp" = (/turf/simulated/mineral,/area/mine/unexplored) -"bq" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) -"br" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) +"bp" = (/turf/simulated/mineral/vacuum,/area/mine/unexplored) +"bq" = (/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) +"br" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) "bs" = (/obj/structure/girder,/turf/simulated/floor/airless,/area/wreck/ufoship) "bt" = (/turf/simulated/wall/skipjack,/area/wreck/ufoship) "bu" = (/turf/simulated/floor/airless,/area/wreck/ufoship) -"bv" = (/obj/effect/floor_decal/asteroid,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) +"bv" = (/obj/effect/floor_decal/asteroid,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) "bw" = (/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) "bx" = (/obj/item/stack/material/steel,/turf/simulated/floor/airless,/area/wreck/ufoship) "by" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/stack/rods,/turf/simulated/floor/airless,/area/wreck/ufoship) @@ -82,7 +82,7 @@ "bH" = (/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "bI" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/white/airless,/area/wreck/ufoship) "bJ" = (/turf/simulated/floor/tiled/airless,/area/wreck/ufoship) -"bK" = (/obj/effect/floor_decal/asteroid,/obj/effect/decal/cleanable/molten_item,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) +"bK" = (/obj/effect/floor_decal/asteroid,/obj/effect/decal/cleanable/molten_item,/turf/simulated/mineral/floor/ignore_mapgen/vacuum,/area/mine/explored) "bL" = (/obj/effect/decal/mecha_wreckage/gygax/dark,/turf/simulated/floor/airless,/area/wreck/ufoship) "bM" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/airless,/area/wreck/ufoship) "bN" = (/obj/structure/table/rack,/turf/simulated/floor/airless,/area/wreck/ufoship) diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm index 5cf0e522fb..87a0530da3 100644 --- a/maps/southern_cross/southern_cross-6.dmm +++ b/maps/southern_cross/southern_cross-6.dmm @@ -1742,7 +1742,6 @@ "HV" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "HW" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "HX" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) -"HY" = (/obj/machinery/mech_recharger,/turf/space,/area/syndicate_mothership/elite_squad) "HZ" = (/turf/simulated/shuttle/wall/dark,/area/shuttle/syndicate_elite/mothership) "Ia" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) "Ib" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/syndicate_elite/mothership) @@ -2425,7 +2424,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjHvGoHwFjHxHxHxFjFyFyFyFyFyFyFyFyFyFyFyFyFyFyFyFyHyHjHjFjaaaaaaaaaaFkGYGZGZGZGZGZGZGZGZGZGZGZGZGZGZGZGZGZGZGZGYFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjHzHAHBFjHxHxHxFjFyFyFyFyFyFyFyFyFyFyFyFyFyFyFyFyFjHCHDFjaaaaaaaaaaFkGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjHEHFHGFjHHHIHJFjHcFjHcFjHKHKHKHKHKHKHKHKFyFyFBHLHMHMHMHMHMHMHMHMHMHMHMabababababababababababababababababababababaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababHNHNHNHNHNHNHNHNHNHNHNHNHNababababababababababHOHOHOHOHOHOHOHOHOHOHOHOHOababHKHKHPHQHRHSHTHUHKHKHKHKHKHMHVHWHXHWHXHWHYHWHYHMaaaaaaaaHZIaIbIcHZaaIdIdIdIdIdIdIdIdIdIdabaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababHNHNHNHNHNHNHNHNHNHNHNHNHNababababababababababHOHOHOHOHOHOHOHOHOHOHOHOHOababHKHKHPHQHRHSHTHUHKHKHKHKHKHMHVHWHXHWHXHWHXHWHXHMaaaaaaaaHZIaIbIcHZaaIdIdIdIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdIdIdIdIdIdIeIeIeIfHNIgIgIhHNIiIjIjHNIeIdIdIdIdIdIdIdIdIdIdHOIkIlHOIkIlHOIkIlHOIkIlHOIdIdHKImInInInInInInIoHKHKIpHKHMHVHVHVHVHVHVHVHVHVHMaaaaaaaaHZIqIqIqHZaaIdIdIdIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdIdIdIdIdIdIeIfIfIfIrIjIjIjHNIjIjIsItIeIeIeIdIdIdIdIdIdIdIdHOHOHOHOHOHOHOHOHOHOHOHOHOIdIdHKIuInInIvIwInInIoHKInInIxHMHMHMHMHMIyHMHMHMHMHMHMHMIzHMIAIBIBIBIAaaIdIdIdIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdIdIdIdIdIdIeIeIfIfICIfIjIjIDIjIjIjHNIEIFIeIeIdIdIdIdIdIdIdHOIkIlHOIkIlHOIkIlHOIkIlHOIdIdHKIGInInIHIIInInIJHKIKIKIKHMHVHVHVHVHVHVHVHVHVHVHVILIMINIOIPIPIPHZaaIdIdIdIdIdIdIdIdIdIdabaaaa diff --git a/maps/southern_cross/southern_cross_defines.dm b/maps/southern_cross/southern_cross_defines.dm index e85b765c10..dae2282210 100644 --- a/maps/southern_cross/southern_cross_defines.dm +++ b/maps/southern_cross/southern_cross_defines.dm @@ -42,13 +42,9 @@ station_networks = list() allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage") - unit_test_exempt_areas = list( - /area/ninja_dojo - ) + unit_test_exempt_areas = list(/area/ninja_dojo, /area/ninja_dojo/firstdeck, /area/ninja_dojo/arrivals_dock) - unit_test_exempt_from_atmos = list( - /area/tcomm/chamber - ) + unit_test_exempt_from_atmos = list(/area/tcomm/chamber) // Short range computers see only the six main levels, others can see the surrounding surface levels. @@ -115,19 +111,19 @@ /datum/map_z_level/southern_cross/surface z = Z_LEVEL_SURFACE name = "Planet" - flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER + flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks /datum/map_z_level/southern_cross/surface_mine z = Z_LEVEL_SURFACE_MINE name = "Planet" - flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER + flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks /datum/map_z_level/southern_cross/surface_wild z = Z_LEVEL_SURFACE_WILD name = "Wild" - flags = MAP_LEVEL_PLAYER + flags = MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks /datum/map_z_level/southern_cross/misc diff --git a/maps/southern_cross/southern_cross_jobs.dm b/maps/southern_cross/southern_cross_jobs.dm index ad73abb120..8a8c3b5b11 100644 --- a/maps/southern_cross/southern_cross_jobs.dm +++ b/maps/southern_cross/southern_cross_jobs.dm @@ -112,7 +112,7 @@ var/const/access_explorer = 43 total_positions = 2 spawn_positions = 2 supervisors = "the chief medical officer" - selection_color = "#013D3B" + selection_color = "#515151" idtype = /obj/item/weapon/card/id/medical economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist, access_explorer) diff --git a/maps/southern_cross/structures/closets/engineering.dm b/maps/southern_cross/structures/closets/engineering.dm index 7bea46071e..ee3972df3f 100644 --- a/maps/southern_cross/structures/closets/engineering.dm +++ b/maps/southern_cross/structures/closets/engineering.dm @@ -13,29 +13,28 @@ icon_off = "secureceoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) - else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - new /obj/item/clothing/accessory/storage/brown_vest(src) - new /obj/item/blueprints(src) - new /obj/item/clothing/head/hardhat/white(src) - new /obj/item/clothing/head/welding(src) - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/device/radio/headset/heads/ce(src) - new /obj/item/device/radio/headset/heads/ce/alt(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/device/multitool(src) - new /obj/item/weapon/weldingtool/experimental(src) - new /obj/item/device/flash(src) - new /obj/item/taperoll/engineering(src) - return - - +/obj/structure/closet/secure_closet/engineering_chief/lite/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/industrial(src) + else + new /obj/item/weapon/storage/backpack/satchel/eng(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/eng(src) + new /obj/item/clothing/accessory/storage/brown_vest(src) + new /obj/item/blueprints(src) + new /obj/item/clothing/head/hardhat/white(src) + new /obj/item/clothing/head/welding(src) + new /obj/item/clothing/gloves/yellow(src) + new /obj/item/device/radio/headset/heads/ce(src) + new /obj/item/device/radio/headset/heads/ce/alt(src) + new /obj/item/weapon/storage/toolbox/mechanical(src) + new /obj/item/device/multitool(src) + new /obj/item/weapon/storage/belt/utility/chief/full(src) + new /obj/item/device/flash(src) + new /obj/item/device/t_scanner/upgraded + new /obj/item/taperoll/engineering(src) + return /obj/structure/closet/secure_closet/engineering_chief/wardrobe name = "chief engineer's locker" @@ -48,24 +47,24 @@ icon_off = "secureceoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) - else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - new /obj/item/clothing/under/rank/chief_engineer(src) - new /obj/item/clothing/under/rank/chief_engineer/skirt(src) - new /obj/item/clothing/head/hardhat/white(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/weapon/cartridge/ce(src) - new /obj/item/device/radio/headset/heads/ce(src) - new /obj/item/device/radio/headset/heads/ce/alt(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - return \ No newline at end of file +/obj/structure/closet/secure_closet/engineering_chief/wardrobe/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/industrial(src) + else + new /obj/item/weapon/storage/backpack/satchel/eng(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/eng(src) + new /obj/item/clothing/under/rank/chief_engineer(src) + new /obj/item/clothing/under/rank/chief_engineer/skirt(src) + new /obj/item/clothing/head/hardhat/white(src) + new /obj/item/clothing/shoes/brown(src) + new /obj/item/weapon/cartridge/ce(src) + new /obj/item/device/radio/headset/heads/ce(src) + new /obj/item/device/radio/headset/heads/ce/alt(src) + new /obj/item/clothing/suit/storage/hazardvest(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/weapon/tank/emergency/oxygen/engi(src) + new /obj/item/taperoll/engineering(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) + return \ No newline at end of file diff --git a/maps/southern_cross/structures/closets/medical.dm b/maps/southern_cross/structures/closets/medical.dm index 258a724ac1..0ab97a79a6 100644 --- a/maps/southern_cross/structures/closets/medical.dm +++ b/maps/southern_cross/structures/closets/medical.dm @@ -12,23 +12,23 @@ icon_broken = "cmosecurebroken" icon_off = "cmosecureoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) - else - new /obj/item/weapon/storage/backpack/satchel/med(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/suit/bio_suit/cmo(src) - new /obj/item/clothing/head/bio_hood/cmo(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/device/radio/headset/heads/cmo/alt(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/reagent_containers/hypospray/vial(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/clothing/mask/gas(src) - return +/obj/structure/closet/secure_closet/CMO/lite/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/medic(src) + else + new /obj/item/weapon/storage/backpack/satchel/med(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/med(src) + new /obj/item/clothing/suit/bio_suit/cmo(src) + new /obj/item/clothing/head/bio_hood/cmo(src) + new /obj/item/clothing/gloves/sterile/latex(src) + new /obj/item/device/radio/headset/heads/cmo/alt(src) + new /obj/item/device/flash(src) + new /obj/item/weapon/reagent_containers/hypospray/vial(src) + new /obj/item/weapon/storage/box/freezer(src) + new /obj/item/clothing/mask/gas(src) + return @@ -42,38 +42,38 @@ icon_broken = "cmosecurebroken" icon_off = "cmosecureoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) - else - new /obj/item/weapon/storage/backpack/satchel/med(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/shoes/white(src) - switch(pick("blue", "green", "purple", "black", "navyblue")) - if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) - if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) - if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) - if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) - if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/under/rank/chief_medical_officer(src) - new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) - new /obj/item/weapon/cartridge/cmo(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/clothing/shoes/brown (src) - new /obj/item/device/radio/headset/heads/cmo(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - return \ No newline at end of file +/obj/structure/closet/secure_closet/CMO/wardrobe/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/medic(src) + else + new /obj/item/weapon/storage/backpack/satchel/med(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/med(src) + new /obj/item/clothing/shoes/white(src) + switch(pick("blue", "green", "purple", "black", "navyblue")) + if ("blue") + new /obj/item/clothing/under/rank/medical/scrubs(src) + new /obj/item/clothing/head/surgery/blue(src) + if ("green") + new /obj/item/clothing/under/rank/medical/scrubs/green(src) + new /obj/item/clothing/head/surgery/green(src) + if ("purple") + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) + new /obj/item/clothing/head/surgery/purple(src) + if ("black") + new /obj/item/clothing/under/rank/medical/scrubs/black(src) + new /obj/item/clothing/head/surgery/black(src) + if ("navyblue") + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) + new /obj/item/clothing/head/surgery/navyblue(src) + new /obj/item/clothing/under/rank/chief_medical_officer(src) + new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) + new /obj/item/weapon/cartridge/cmo(src) + new /obj/item/clothing/gloves/sterile/latex(src) + new /obj/item/clothing/shoes/brown (src) + new /obj/item/device/radio/headset/heads/cmo(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) + return \ No newline at end of file diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm index c0efbb19e3..9f442f7b46 100644 --- a/maps/southern_cross/structures/closets/misc.dm +++ b/maps/southern_cross/structures/closets/misc.dm @@ -4,27 +4,27 @@ name = "emergency weapon cabinet" req_one_access = list(access_armory,access_captain) - New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/gun/energy/gun(src) - return +/obj/structure/closet/secure_closet/guncabinet/sidearm/New() + ..() + for(var/i = 1 to 4) + new /obj/item/weapon/gun/energy/gun(src) + return /obj/structure/closet/secure_closet/guncabinet/rifle name = "rifle cabinet" req_access = list(access_explorer) - New() - ..() - for(var/i = 1 to 9) - new /obj/item/ammo_magazine/clip/c762/hunter(src) - if(prob(85)) - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) - else - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever(src) +/obj/structure/closet/secure_closet/guncabinet/rifle/New() + ..() + for(var/i = 1 to 9) + new /obj/item/ammo_magazine/clip/c762/hunter(src) + if(prob(85)) new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) - return + else + new /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever(src) + new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) + new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) + return //Explorer Lockers @@ -32,26 +32,26 @@ name = "explorer locker" req_access = list(access_explorer) - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack(src) - else - new /obj/item/weapon/storage/backpack/satchel/norm(src) - new /obj/item/clothing/under/explorer(src) - new /obj/item/clothing/suit/storage/hooded/explorer(src) - new /obj/item/clothing/mask/gas/explorer(src) - new /obj/item/clothing/shoes/boots/winter/explorer(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/device/radio/headset(src) - new /obj/item/device/flashlight(src) - new /obj/item/device/gps/explorer(src) - new /obj/item/weapon/material/hatchet/tacknife/survival(src) - new /obj/item/weapon/storage/box/flare(src) - new /obj/item/device/geiger(src) - new /obj/item/weapon/cell/device(src) - new /obj/item/device/radio(src) - return +/obj/structure/closet/secure_closet/explorer/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack(src) + else + new /obj/item/weapon/storage/backpack/satchel/norm(src) + new /obj/item/clothing/under/explorer(src) + new /obj/item/clothing/suit/storage/hooded/explorer(src) + new /obj/item/clothing/mask/gas/explorer(src) + new /obj/item/clothing/shoes/boots/winter/explorer(src) + new /obj/item/clothing/gloves/black(src) + new /obj/item/device/radio/headset(src) + new /obj/item/device/flashlight(src) + new /obj/item/device/gps/explorer(src) + new /obj/item/weapon/material/hatchet/tacknife/survival(src) + new /obj/item/weapon/storage/box/flare(src) + new /obj/item/device/geiger(src) + new /obj/item/weapon/cell/device(src) + new /obj/item/device/radio(src) + return /obj/structure/closet/secure_closet/sar name = "search and rescue locker" @@ -65,30 +65,30 @@ req_access = list(access_medical_equip) - New() - ..() - new /obj/item/weapon/storage/backpack/dufflebag/emt(src) - new /obj/item/weapon/storage/box/autoinjectors(src) - new /obj/item/weapon/storage/box/syringes(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - new /obj/item/weapon/storage/belt/medical/emt(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar(src) - new /obj/item/clothing/shoes/boots/winter/explorer(src) - new /obj/item/device/radio/headset/headset_med/alt(src) - new /obj/item/weapon/cartridge/medical(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/clothing/glasses/hud/health(src) - new /obj/item/device/healthanalyzer(src) - new /obj/item/device/radio/off(src) - new /obj/random/medical(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/extinguisher/mini(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/clothing/accessory/storage/white_vest(src) - new /obj/item/taperoll/medical(src) - new /obj/item/device/gps(src) - new /obj/item/device/geiger(src) - return +/obj/structure/closet/secure_closet/sar/New() + ..() + new /obj/item/weapon/storage/backpack/dufflebag/emt(src) + new /obj/item/weapon/storage/box/autoinjectors(src) + new /obj/item/weapon/storage/box/syringes(src) + new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) + new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) + new /obj/item/weapon/storage/belt/medical/emt(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar(src) + new /obj/item/clothing/shoes/boots/winter/explorer(src) + new /obj/item/device/radio/headset/headset_med/alt(src) + new /obj/item/weapon/cartridge/medical(src) + new /obj/item/device/flashlight(src) + new /obj/item/weapon/tank/emergency/oxygen/engi(src) + new /obj/item/clothing/glasses/hud/health(src) + new /obj/item/device/healthanalyzer(src) + new /obj/item/device/radio/off(src) + new /obj/random/medical(src) + new /obj/item/weapon/crowbar(src) + new /obj/item/weapon/extinguisher/mini(src) + new /obj/item/weapon/storage/box/freezer(src) + new /obj/item/clothing/accessory/storage/white_vest(src) + new /obj/item/taperoll/medical(src) + new /obj/item/device/gps(src) + new /obj/item/device/geiger(src) + return diff --git a/maps/southern_cross/structures/closets/research.dm b/maps/southern_cross/structures/closets/research.dm index 02c001be98..87eb4bb40b 100644 --- a/maps/southern_cross/structures/closets/research.dm +++ b/maps/southern_cross/structures/closets/research.dm @@ -12,16 +12,16 @@ icon_broken = "rdsecurebroken" icon_off = "rdsecureoff" - New() - ..() - new /obj/item/clothing/suit/bio_suit/scientist(src) - new /obj/item/clothing/head/bio_hood/scientist(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/device/radio/headset/heads/rd/alt(src) - new /obj/item/weapon/tank/air(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flash(src) - return +/obj/structure/closet/secure_closet/RD/lite/New() + ..() + new /obj/item/clothing/suit/bio_suit/scientist(src) + new /obj/item/clothing/head/bio_hood/scientist(src) + new /obj/item/clothing/gloves/sterile/latex(src) + new /obj/item/device/radio/headset/heads/rd/alt(src) + new /obj/item/weapon/tank/air(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/device/flash(src) + return @@ -35,15 +35,15 @@ icon_broken = "rdsecurebroken" icon_off = "rdsecureoff" - New() - ..() - new /obj/item/clothing/under/rank/research_director(src) - new /obj/item/clothing/under/rank/research_director/rdalt(src) - new /obj/item/clothing/under/rank/research_director/dress_rd(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/weapon/cartridge/rd(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/leather(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/device/radio/headset/heads/rd(src) - return \ No newline at end of file +/obj/structure/closet/secure_closet/RD/wardrobe/New() + ..() + new /obj/item/clothing/under/rank/research_director(src) + new /obj/item/clothing/under/rank/research_director/rdalt(src) + new /obj/item/clothing/under/rank/research_director/dress_rd(src) + new /obj/item/clothing/suit/storage/toggle/labcoat(src) + new /obj/item/weapon/cartridge/rd(src) + new /obj/item/clothing/shoes/white(src) + new /obj/item/clothing/shoes/leather(src) + new /obj/item/clothing/gloves/sterile/latex(src) + new /obj/item/device/radio/headset/heads/rd(src) + return \ No newline at end of file diff --git a/maps/southern_cross/structures/closets/security.dm b/maps/southern_cross/structures/closets/security.dm index 7ebdf6bd64..7f41dbd46b 100644 --- a/maps/southern_cross/structures/closets/security.dm +++ b/maps/southern_cross/structures/closets/security.dm @@ -12,33 +12,33 @@ icon_broken = "hossecurebroken" icon_off = "hossecureoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - new /obj/item/clothing/head/helmet/HoS(src) - new /obj/item/clothing/suit/storage/vest/hos(src) - new /obj/item/clothing/head/helmet/HoS/dermal(src) - new /obj/item/device/radio/headset/heads/hos/alt(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/taperoll/police(src) - new /obj/item/weapon/shield/riot(src) - new /obj/item/weapon/shield/riot/tele(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/crowbar/red(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/cell/device/weapon(src) - new /obj/item/weapon/melee/telebaton(src) - new /obj/item/device/flashlight/maglight(src) - return +/obj/structure/closet/secure_closet/hos/lite/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/security(src) + else + new /obj/item/weapon/storage/backpack/satchel/sec(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/sec(src) + new /obj/item/clothing/head/helmet/HoS(src) + new /obj/item/clothing/suit/storage/vest/hos(src) + new /obj/item/clothing/head/helmet/HoS/dermal(src) + new /obj/item/device/radio/headset/heads/hos/alt(src) + new /obj/item/clothing/glasses/sunglasses/sechud(src) + new /obj/item/taperoll/police(src) + new /obj/item/weapon/shield/riot(src) + new /obj/item/weapon/shield/riot/tele(src) + new /obj/item/weapon/reagent_containers/spray/pepper(src) + new /obj/item/weapon/crowbar/red(src) + new /obj/item/weapon/storage/box/flashbangs(src) + new /obj/item/weapon/storage/belt/security(src) + new /obj/item/device/flash(src) + new /obj/item/weapon/melee/baton/loaded(src) + new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/cell/device/weapon(src) + new /obj/item/weapon/melee/telebaton(src) + new /obj/item/device/flashlight/maglight(src) + return @@ -52,24 +52,24 @@ icon_broken = "hossecurebroken" icon_off = "hossecureoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - new /obj/item/clothing/under/rank/head_of_security/jensen(src) - new /obj/item/clothing/under/rank/head_of_security/corp(src) - new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src) - new /obj/item/clothing/suit/storage/vest/hoscoat(src) - new /obj/item/weapon/cartridge/hos(src) - new /obj/item/device/radio/headset/heads/hos(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/weapon/storage/box/holobadge/hos(src) - new /obj/item/clothing/accessory/badge/holo/hos(src) - new /obj/item/clothing/accessory/holster/waist(src) - new /obj/item/clothing/head/beret/sec/corporate/hos(src) - new /obj/item/clothing/mask/gas/half(src) - return \ No newline at end of file +/obj/structure/closet/secure_closet/hos/wardrobe/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/security(src) + else + new /obj/item/weapon/storage/backpack/satchel/sec(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/sec(src) + new /obj/item/clothing/under/rank/head_of_security/jensen(src) + new /obj/item/clothing/under/rank/head_of_security/corp(src) + new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src) + new /obj/item/clothing/suit/storage/vest/hoscoat(src) + new /obj/item/weapon/cartridge/hos(src) + new /obj/item/device/radio/headset/heads/hos(src) + new /obj/item/clothing/glasses/sunglasses/sechud(src) + new /obj/item/weapon/storage/box/holobadge/hos(src) + new /obj/item/clothing/accessory/badge/holo/hos(src) + new /obj/item/clothing/accessory/holster/waist(src) + new /obj/item/clothing/head/beret/sec/corporate/hos(src) + new /obj/item/clothing/mask/gas/half(src) + return \ No newline at end of file diff --git a/maps/southern_cross/turfs/outdoors.dm b/maps/southern_cross/turfs/outdoors.dm index 08b8626730..80eb784938 100644 --- a/maps/southern_cross/turfs/outdoors.dm +++ b/maps/southern_cross/turfs/outdoors.dm @@ -75,4 +75,56 @@ /turf/simulated/mineral/floor/ignore_mapgen/sif oxygen = MOLES_O2SIF nitrogen = MOLES_N2SIF - temperature = TEMPERATURE_SIF \ No newline at end of file + temperature = TEMPERATURE_SIF + +/turf/simulated/floor/outdoors/mud/sif/planetuse + oxygen = MOLES_O2SIF + nitrogen = MOLES_N2SIF + temperature = TEMPERATURE_SIF + +// PoI compatability, to stop active edges. +// In hindsight it would've been better to do this first instead of making a billion /sif subtypes above, +// but maybe we can transition to this instead now and over time get rid of the /sif subtypes. +// The downside is if someone wants to use this in normal/vaccum they'll need to make a new subtype, but since the typical use case has changed, this might be acceptable. + +/turf/simulated/mineral + oxygen = MOLES_O2SIF + nitrogen = MOLES_N2SIF + temperature = TEMPERATURE_SIF + +/turf/simulated/floor/outdoors + oxygen = MOLES_O2SIF + nitrogen = MOLES_N2SIF + temperature = TEMPERATURE_SIF + +/turf/simulated/floor/water + oxygen = MOLES_O2SIF + nitrogen = MOLES_N2SIF + temperature = TEMPERATURE_SIF + +/turf/simulated/shuttle/floor/alienplating/external + oxygen = MOLES_O2SIF + nitrogen = MOLES_N2SIF + temperature = TEMPERATURE_SIF + +// Space mineral tiles are now not the default, so they get demoted to subtype status. + +/turf/simulated/mineral/vacuum + oxygen = 0 + nitrogen = 0 + temperature = TCMB + +/turf/simulated/mineral/ignore_mapgen/vacuum + oxygen = 0 + nitrogen = 0 + temperature = TCMB + +/turf/simulated/mineral/floor/vacuum + oxygen = 0 + nitrogen = 0 + temperature = TCMB + +/turf/simulated/mineral/floor/ignore_mapgen/vacuum + oxygen = 0 + nitrogen = 0 + temperature = TCMB \ No newline at end of file diff --git a/maps/submaps/cave_submaps/Scave1.dmm b/maps/submaps/cave_submaps/Scave1.dmm index 110fb5f663..59872d153a 100644 --- a/maps/submaps/cave_submaps/Scave1.dmm +++ b/maps/submaps/cave_submaps/Scave1.dmm @@ -1,41 +1,21 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/mineral,/area/submap/cave/Scave1) -"c" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"d" = (/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"e" = (/obj/effect/spider/spiderling,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"f" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"g" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"h" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"i" = (/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"j" = (/obj/random/toolbox,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"k" = (/mob/living/simple_animal/hostile/giant_spider,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"l" = (/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"m" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"n" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"o" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"p" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"q" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"r" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) "b" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/cave/Scave1) -"c" = (/turf/simulated/mineral,/area/submap/cave/Scave1) -"d" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"e" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"f" = (/obj/effect/spider/spiderling,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"g" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"h" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"i" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"j" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"k" = (/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"l" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"m" = (/mob/living/simple_animal/hostile/giant_spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"n" = (/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"o" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"p" = (/turf/simulated/mineral/floor,/area/submap/cave/Scave1) -"q" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"r" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"s" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"t" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"u" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"c" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"d" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"e" = (/obj/effect/spider/spiderling,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"f" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"g" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"h" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"i" = (/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"j" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"k" = (/mob/living/simple_animal/hostile/giant_spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"l" = (/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"m" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"n" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"o" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"p" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"q" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"r" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -80,9 +60,9 @@ aabbbccbpeeccccccdeenedbcbaaaa aaebbccbpekcccccccddeeebcbaaaa aarebccbppcccccccccmdeebbbaaaa aaeebbbbpppcccccccccceebbeaaaa -aaeeeseeeeeeccccccccefebbeaaaa -aaeessdeeeeeetcdeeeeedbbbeaaaa -aauebbbbbeeeeeeeeeeedbbbbeaaaa +aaeeepeeeeeeccccccccefebbeaaaa +aaeeppdeeeeeeqcdeeeeedbbbeaaaa +aarebbbbbeeeeeeeeeeedbbbbeaaaa aabbbbccbbdeeedeeeeedbccbbaaaa aabbcccccbbbbbbbbkbbbbccbbaaaa aabbbbccbbbbbbccbbbbbcccbbaaaa diff --git a/maps/submaps/cave_submaps/crashed_ufo.dmm b/maps/submaps/cave_submaps/crashed_ufo.dmm index e6911eb76a..e977d9ba4d 100644 --- a/maps/submaps/cave_submaps/crashed_ufo.dmm +++ b/maps/submaps/cave_submaps/crashed_ufo.dmm @@ -1,111 +1,112 @@ "aa" = (/turf/template_noop,/area/template_noop) -"ab" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ab" = (/turf/simulated/shuttle/floor/alienplating/external,/area/submap/cave/crashed_ufo) "ac" = (/turf/simulated/shuttle/wall/alien,/area/submap/cave/crashed_ufo) "ad" = (/obj/structure/closet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "ae" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"af" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ag" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ah" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ai" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aj" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ak" = (/obj/item/weapon/wrench/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"al" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"am" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"an" = (/obj/structure/table/alien,/obj/item/clothing/head/helmet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ao" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ap" = (/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aq" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ar" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/cave/crashed_ufo) -"as" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"at" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"au" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"av" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aw" = (/obj/structure/prop/alien/computer{dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"ax" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"ay" = (/obj/machinery/door/airlock/alien/locked{welded = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"az" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aA" = (/obj/item/weapon/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aB" = (/obj/item/weapon/wirecutters/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aC" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aD" = (/obj/item/device/multitool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aE" = (/obj/structure/prop/alien/computer/camera/flipped{tag = "icon-camera_flipped (EAST)"; icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aF" = (/obj/structure/prop/alien/computer/camera{tag = "icon-camera (WEST)"; icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aG" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aH" = (/obj/machinery/door/airlock/alien/locked{p_open = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aI" = (/obj/effect/decal/remains/robot,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aJ" = (/obj/item/weapon/crowbar/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aK" = (/obj/item/stack/cable_coil/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aL" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aM" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/alien_vessel,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aN" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aO" = (/obj/structure/table/alien,/obj/item/clothing/accessory/medal/dungeon/alien_ufo,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aP" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aQ" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aR" = (/obj/structure/prop/alien/computer/camera,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aS" = (/obj/structure/closet/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aT" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aU" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aV" = (/obj/structure/table/alien,/obj/item/weapon/surgical/circular_saw/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aW" = (/obj/structure/table/alien,/obj/item/weapon/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aX" = (/obj/structure/table/alien,/obj/item/weapon/surgical/scalpel/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aY" = (/obj/item/weapon/surgical/hemostat/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"aZ" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"ba" = (/obj/effect/decal/remains/lizard,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"bb" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"bc" = (/obj/structure/table/alien,/obj/item/weapon/surgical/bone_clamp/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"bd" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"be" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"bf" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bg" = (/obj/effect/decal/remains/mouse,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) -"bh" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bi" = (/obj/machinery/porta_turret/alien/destroyed{tag = "icon-destroyed_target_prism (SOUTHEAST)"; icon_state = "destroyed_target_prism"; dir = 6},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bj" = (/obj/item/weapon/cell/device/weapon/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bk" = (/obj/machinery/porta_turret/alien/destroyed{tag = "icon-destroyed_target_prism (SOUTHWEST)"; icon_state = "destroyed_target_prism"; dir = 10},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bl" = (/obj/item/weapon/gun/energy/retro/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bm" = (/obj/item/device/gps{gps_tag = "COMDOM1"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bn" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/used,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bo" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bp" = (/obj/effect/decal/remains/human{desc = "They look like human remains. Based on the equipment you saw nearby when you walked in, they were some kind of command person, and a poor one at that."},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bq" = (/obj/item/clothing/gloves/yellow,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"br" = (/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bs" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bt" = (/obj/item/clothing/suit/storage/hooded/wintercoat/captain,/obj/item/clothing/shoes/boots/winter/command,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"bu" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) +"af" = (/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ag" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ah" = (/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ai" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aj" = (/obj/structure/loot_pile/surface/alien/engineering,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ak" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"al" = (/obj/item/weapon/wrench/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"am" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"an" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"ao" = (/obj/structure/table/alien,/obj/item/clothing/head/helmet/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ap" = (/obj/structure/prop/alien/power,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aq" = (/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"ar" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"as" = (/turf/simulated/shuttle/wall/alien/hard_corner,/area/submap/cave/crashed_ufo) +"at" = (/obj/structure/prop/alien/computer,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"au" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"av" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aw" = (/obj/structure/loot_pile/surface/alien/security,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"ax" = (/obj/structure/prop/alien/computer{dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"ay" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"az" = (/obj/machinery/door/airlock/alien/locked{welded = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aA" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aB" = (/obj/item/weapon/screwdriver/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aC" = (/obj/item/weapon/wirecutters/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aD" = (/obj/structure/table/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aE" = (/obj/item/device/multitool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aF" = (/obj/structure/prop/alien/computer/camera/flipped{tag = "icon-camera_flipped (EAST)"; icon_state = "camera_flipped"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aG" = (/obj/structure/prop/alien/computer/camera{tag = "icon-camera (WEST)"; icon_state = "camera"; dir = 8},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aH" = (/obj/machinery/porta_turret/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aI" = (/obj/machinery/door/airlock/alien/locked{p_open = 1},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aJ" = (/obj/effect/decal/remains/robot,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aK" = (/obj/item/weapon/crowbar/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aL" = (/obj/item/stack/cable_coil/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aM" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aN" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/alien_vessel,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aO" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aP" = (/obj/structure/table/alien,/obj/item/clothing/accessory/medal/dungeon/alien_ufo,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aQ" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aR" = (/obj/structure/bed/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aS" = (/obj/structure/prop/alien/computer/camera,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aT" = (/obj/structure/closet/alien,/obj/item/weapon/paper/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aU" = (/obj/structure/bed/alien,/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aV" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aW" = (/obj/structure/table/alien,/obj/item/weapon/surgical/circular_saw/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aX" = (/obj/structure/table/alien,/obj/item/weapon/surgical/FixOVein/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aY" = (/obj/structure/table/alien,/obj/item/weapon/surgical/scalpel/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"aZ" = (/obj/item/weapon/surgical/hemostat/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"ba" = (/obj/machinery/door/airlock/alien/locked,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"bb" = (/obj/effect/decal/remains/lizard,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"bc" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"bd" = (/obj/structure/table/alien,/obj/item/weapon/surgical/bone_clamp/alien,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"be" = (/obj/structure/loot_pile/surface/alien/medical,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bf" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"bg" = (/obj/structure/prop/alien/dispenser,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bh" = (/obj/effect/decal/remains/mouse,/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) +"bi" = (/obj/structure/closet/alien,/obj/item/prop/alien/junk,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bj" = (/obj/machinery/porta_turret/alien/destroyed{tag = "icon-destroyed_target_prism (SOUTHEAST)"; icon_state = "destroyed_target_prism"; dir = 6},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bk" = (/obj/item/weapon/cell/device/weapon/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bl" = (/obj/machinery/porta_turret/alien/destroyed{tag = "icon-destroyed_target_prism (SOUTHWEST)"; icon_state = "destroyed_target_prism"; dir = 10},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bm" = (/obj/item/weapon/gun/energy/retro/empty,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bn" = (/obj/item/device/gps{gps_tag = "COMDOM1"},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bo" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/used,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bp" = (/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bq" = (/obj/effect/decal/remains/human{desc = "They look like human remains. Based on the equipment you saw nearby when you walked in, they were some kind of command person, and a poor one at that."},/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"br" = (/obj/item/clothing/gloves/yellow,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bs" = (/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bt" = (/obj/machinery/door/airlock/alien/public,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bu" = (/obj/item/clothing/suit/storage/hooded/wintercoat/captain,/obj/item/clothing/shoes/boots/winter/command,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"bv" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaababababacacacacacacacababababaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaabababacacacacadadaeadadacacacacabababaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaababacacacabafabababagabababafabacacacababaaaaaaaaaaaaaa -aaaaaaaaaaaaababacacabababacabababababababacabababacacababaaaaaaaaaaaa -aaaaaaaaaaababacacababacacacacahabababahacacacacababacacababaaaaaaaaaa -aaaaaaaaababacacababacacaiajacacababakacacalagacacababacacababaaaaaaaa -aaaaaaababacacababacacahababamacacabacacanabagaeacacababacacababaaaaaa -aaaaaaabacacababacacaoababapamaqarafaracacafacacacacacababacacabaaaaaa -aaaaababacababacacaoababapapapabarabarahapapasatatacacacababacababaaaa -aaaaabacacabacacahababapapapababafabafababapapapauacaeacacabacacabaaaa -aaaaabacababacaiababapapapababaiarabaravababapapawacabagacababacabaaaa -aaababacafacacaxabapapapababadacarayaracavababapapafabazacacafacababaa -aaabacacababacacamamapaAaBadacacasabasacacavababapacaCacacababacacabaa -aaabacadababahacacaCaDagaiacacaEapabapaFacacavabaGacacacahababaeacabaa -aaabacadababababacararaHaracapapapaIapapapacarafararacabababaJadacabaa -aaabacaeabaKabababafabababacahapaLaMaqapahacabababafabababababadacabaa -aaabacaeababababacararafaracaNapaOagaPapawacarafararacagabababaeacabaa -aaabacadababahacacasacapaQacacapapapapapacacaRapapaSacacahababadacabaa -aaabacacababacacapapacapapaTacacahaUahacacaVapapapacacacacababacacabaa -aaababacafacacaWapaTaracapapaQacacacacacaXaGapaparacaYacacacafacababaa -aaaaabacababacauapapaZapapapapaTarabaraEapapapapaZapbaapacababacabaaaa -aaaaabacacabacacbbbcarahapacapapafabafapapapapaparacapacacabacacabaaaa -aaaaababacababacacacacarafaracacarabarapaparaZaracacacacababacababaaaa -aaaaaaabacacababacacacbdabababbdarafarbeacacapacacacacababacacabaaaaaa -aaaaaaababacacababacacbfababbdacacabacacacapbgapacacababacacababaaaaaa -aaaaaaaaababacacababacacbhbdacacabababacacacapacacababacacababaaaaaaaa -aaaaaaaaaaababacacababacacacacbibjababbkacacacacababacacababaaaaaaaaaa -aaaaaaaaaaaaababacacabababarabababblbmbnboarabababacacababaaaaaaaaaaaa -aaaaaaaaaaaaaaababacacacabafabbjababbpbqbrafabacacacababaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaabababacacaracabarbsarbtacaracacabababaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaababababacararabaracacababababaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaabububuabababarbsarabababbububuaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaabububububububububububububububuaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaababacacacafagafafafahafafafagafacacacababaaaaaaaaaaaaaa +aaaaaaaaaaaaababacacafafafacafafafafafafafacafafafacacababaaaaaaaaaaaa +aaaaaaaaaaababacacafafacacacacaiafafafaiacacacacafafacacababaaaaaaaaaa +aaaaaaaaababacacafafacacajakacacafafalacacamahacacafafacacababaaaaaaaa +aaaaaaababacacafafacacaiafafanacacafacacaoafahaeacacafafacacababaaaaaa +aaaaaaabacacafafacacapafafaqanarasagasacacagacacacacacafafacacabaaaaaa +aaaaababacafafacacapafafaqaqaqafasafasaiaqaqatauauacacacafafacababaaaa +aaaaabacacafacacaiafafaqaqaqafafagafagafafaqaqaqavacaeacacafacacabaaaa +aaaaabacafafacajafafaqaqaqafafajasafasawafafaqaqaxacafahacafafacabaaaa +aaababacagacacayafaqaqaqafafadacasazasacawafafaqaqagafaAacacagacababaa +aaabacacafafacacananaqaBaCadacacatafatacacawafafaqacaDacacafafacacabaa +aaabacadafafaiacacaDaEahajacacaFaqafaqaGacacawafaHacacacaiafafaeacabaa +aaabacadafafafafacasasaIasacaqaqaqaJaqaqaqacasagasasacafafafaKadacabaa +aaabacaeafaLafafafagafafafacaiaqaMaNaraqaiacafafafagafafafafafadacabaa +aaabacaeafafafafacasasagasacaOaqaPahaQaqaxacasagasasacahafafafaeacabaa +aaabacadafafaiacacatacaqaRacacaqaqaqaqaqacacaSaqaqaTacacaiafafadacabaa +aaabacacafafacacaqaqacaqaqaUacacaiaVaiacacaWaqaqaqacacacacafafacacabaa +aaababacagacacaXaqaUasacaqaqaRacacacacacaYaHaqaqasacaZacacacagacababaa +aaaaabacafafacavaqaqbaaqaqaqaqaUasafasaFaqaqaqaqbaaqbbaqacafafacabaaaa +aaaaabacacafacacbcbdasaiaqacaqaqagafagaqaqaqaqaqasacaqacacafacacabaaaa +aaaaababacafafacacacacasagasacacasafasaqaqasbaasacacacacafafacababaaaa +aaaaaaabacacafafacacacbeafafafbeasagasbfacacaqacacacacafafacacabaaaaaa +aaaaaaababacacafafacacbgafafbeacacafacacacaqbhaqacacafafacacababaaaaaa +aaaaaaaaababacacafafacacbibeacacafafafacacacaqacacafafacacababaaaaaaaa +aaaaaaaaaaababacacafafacacacacbjbkafafblacacacacafafacacababaaaaaaaaaa +aaaaaaaaaaaaababacacafafafasafafafbmbnbobpasafafafacacababaaaaaaaaaaaa +aaaaaaaaaaaaaaababacacacafagafbkafafbqbrbsagafacacacababaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaabababacacasacafasbtasbuacasacacabababaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaababababacasasafasacacababababaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabvbvbvabababasbtasabababbvbvbvaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabvbvbvbvbvbvbvbvbvbvbvbvbvbvbvaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/cave_submaps/quarantineshuttle.dmm b/maps/submaps/cave_submaps/quarantineshuttle.dmm index 9b952dba2c..e71c4f8c5d 100644 --- a/maps/submaps/cave_submaps/quarantineshuttle.dmm +++ b/maps/submaps/cave_submaps/quarantineshuttle.dmm @@ -94,28 +94,27 @@ "bP" = (/obj/item/weapon/contraband/poster,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) "bQ" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) "bR" = (/obj/structure/sign/biohazard,/turf/simulated/shuttle/wall/hard_corner,/area/submap/cave/qShuttle) -"bS" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/space) -"bT" = (/obj/item/tape/medical{icon_state = "tape_v_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bU" = (/obj/item/taperoll/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bV" = (/obj/item/tape/medical{dir = 1; icon_state = "tape_dir_0"},/obj/item/tape/medical{dir = 4; icon_state = "tape_dir_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bW" = (/obj/item/tape/medical{icon_state = "tape_h_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bX" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bY" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) -"bZ" = (/obj/structure/sign/kiddieplaque{desc = "By order of the S.D.D.C, this site or craft is to be buried and not disturbed until such time that sterility can be confirmed. Dated: 20/12/2491 "; name = "\improper Sif Department of Disease Control notice"},/turf/simulated/wall/iron,/area/submap/cave/qShuttle) -"ca" = (/obj/structure/sign/warning,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) -"cb" = (/obj/item/bodybag,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cc" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cd" = (/obj/structure/table/steel,/obj/item/clothing/suit/bio_suit,/obj/random/medical/lite,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ce" = (/obj/structure/closet/l3closet/virology,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cf" = (/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cg" = (/obj/structure/dispenser/oxygen,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ch" = (/obj/structure/table/steel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ci" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cj" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ck" = (/obj/structure/table/steel,/obj/item/weapon/crowbar/power,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cl" = (/obj/structure/table/rack,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cm" = (/obj/item/weapon/weldingtool/largetank,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cn" = (/obj/structure/closet/crate/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bS" = (/obj/item/tape/medical{icon_state = "tape_v_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bT" = (/obj/item/taperoll/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bU" = (/obj/item/tape/medical{dir = 1; icon_state = "tape_dir_0"},/obj/item/tape/medical{dir = 4; icon_state = "tape_dir_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bV" = (/obj/item/tape/medical{icon_state = "tape_h_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bW" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bX" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) +"bY" = (/obj/structure/sign/kiddieplaque{desc = "By order of the S.D.D.C, this site or craft is to be buried and not disturbed until such time that sterility can be confirmed. Dated: 20/12/2491 "; name = "\improper Sif Department of Disease Control notice"},/turf/simulated/wall/iron,/area/submap/cave/qShuttle) +"bZ" = (/obj/structure/sign/warning,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) +"ca" = (/obj/item/bodybag,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cb" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cc" = (/obj/structure/table/steel,/obj/item/clothing/suit/bio_suit,/obj/random/medical/lite,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cd" = (/obj/structure/closet/l3closet/virology,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ce" = (/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cf" = (/obj/structure/dispenser/oxygen,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cg" = (/obj/structure/table/steel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ch" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ci" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cj" = (/obj/structure/table/steel,/obj/item/weapon/crowbar/power,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ck" = (/obj/structure/table/rack,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cl" = (/obj/item/weapon/weldingtool/largetank,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cm" = (/obj/structure/closet/crate/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -134,11 +133,11 @@ aaabaiaJbmbnadbobpbqbrbsbtbqaNbuaUbvaAbwaVbxaYabaa aaabadadadadadaDbyaAbzaAbAbBbCbDadbEaGbFadadbGabaa aaababadadbHbIbJaoadbKaQbLadbMbNadbObPbQadagahabaa ababacabadaiajakakbRaiadaiadadadadadadadadadadaaaa -bSabababbTabaeaeafaeababababbUabababababadagahaaaa -aaabababbVbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWadadadaaaa -aaaaababababababababbXbYbZcacbcbcbabcccdceabcfaaaa -aaaaacababcgchcicjckclababcmabcbcbababababababaaaa -aaaaaaababcnchababababababababaaaaaaaaaaababacaaaa +ababababbSabaeaeafaeababababbTabababababadagahaaaa +aaabababbUbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVadadadaaaa +aaaaababababababababbWbXbYbZcacacaabcbcccdabceaaaa +aaaaacababcfcgchcicjckababclabcacaababababababaaaa +aaaaaaababcmcgababababababababaaaaaaaaaaababacaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/Blackshuttledown.dmm b/maps/submaps/surface_submaps/Blackshuttledown.dmm index 04d9db0a3c..7feb3726b6 100644 --- a/maps/submaps/surface_submaps/Blackshuttledown.dmm +++ b/maps/submaps/surface_submaps/Blackshuttledown.dmm @@ -1,17 +1,17 @@ "aa" = (/turf/template_noop,/area/template_noop) -"ab" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) -"ac" = (/obj/effect/decal/remains/human,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) -"ad" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) -"ae" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) -"af" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Blackshuttledown) -"ag" = (/obj/structure/table/steel,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) -"ah" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual."; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) -"ai" = (/turf/simulated/floor/outdoors/grass/sif/forest,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"; tag = "icon-dark6"},/area/submap/Blackshuttledown) +"ab" = (/turf/template_noop,/area/submap/Blackshuttledown) +"ac" = (/obj/effect/decal/remains/human,/turf/template_noop,/area/submap/Blackshuttledown) +"ad" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Blackshuttledown) +"ae" = (/obj/effect/decal/cleanable/blood,/turf/template_noop,/area/submap/Blackshuttledown) +"af" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Blackshuttledown) +"ag" = (/obj/structure/table/steel,/turf/template_noop,/area/submap/Blackshuttledown) +"ah" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual."; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/template_noop,/area/submap/Blackshuttledown) +"ai" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"; tag = "icon-dark6"},/area/submap/Blackshuttledown) "aj" = (/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) -"ak" = (/turf/simulated/floor/outdoors/grass/sif/forest,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"; tag = "icon-dark10"},/area/submap/Blackshuttledown) +"ak" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"; tag = "icon-dark10"},/area/submap/Blackshuttledown) "al" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) "am" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) -"an" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Blackshuttledown) +"an" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/template_noop,/area/submap/Blackshuttledown) "ao" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "ap" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aq" = (/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -37,7 +37,7 @@ "aK" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aM" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aN" = (/obj/machinery/door/airlock/security,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aN" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aO" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aP" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"; tag = "icon-dark10"},/area/submap/Blackshuttledown) "aQ" = (/obj/machinery/computer/communications,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) @@ -45,64 +45,67 @@ "aS" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aT" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) "aU" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aV" = (/obj/structure/window,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) "aW" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aX" = (/obj/structure/table/steel,/obj/item/pizzabox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aY" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aZ" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = 24},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) -"ba" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bb" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bc" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bd" = (/obj/machinery/atmospherics/pipe/tank/oxygen,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"be" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bf" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bg" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bh" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bi" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bj" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bk" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bl" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/gun/projectile/shotgun/pump,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bm" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bn" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bo" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bp" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bq" = (/turf/simulated/floor/outdoors/grass/sif/forest,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"; tag = "icon-dark5"},/area/submap/Blackshuttledown) -"br" = (/turf/simulated/floor/outdoors/grass/sif/forest,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"; tag = "icon-dark9"},/area/submap/Blackshuttledown) +"aX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) +"aY" = (/obj/structure/table/steel,/obj/item/pizzabox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aZ" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ba" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) +"bb" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = 24},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) +"bc" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bd" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"be" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bf" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bg" = (/obj/machinery/atmospherics/pipe/tank/oxygen,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bh" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bi" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bj" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bk" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bl" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bn" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bo" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/gun/projectile/shotgun/pump,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bp" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bq" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"br" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bs" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bt" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"; tag = "icon-dark5"},/area/submap/Blackshuttledown) +"bu" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"; tag = "icon-dark9"},/area/submap/Blackshuttledown) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabababababacabababababababababababacabababababacabababababababababaa -aaababababababadababababababababababababababababababababababaeababacaa -aaabababababababababababababababababababababababababadabababababababaa -aaababaeabafafafababababaeabababababababababababababababababababababaa -aaabababababafafafabacababababagagagagagagabababababacabaeabababababaa -aaababababababafafababababababagahabababagabababababababababababababaa -aaabababababababaiajajajakababagabababahagabababaeaiajajajajakabababaa +aaabababababacababababababababadadabacabababababacabababababababababaa +aaababababababaeabababababababadadababababababababababababadafababacaa +aaabababababababababababababadadababababababababababaeababadadabababaa +aaababafabadadadababababafababababababababababababababababadadabababaa +aaabababababadadadabacababababagagagagagagabababababacabafabadabababaa +aaababababababadadababababababagahabababagabababababababababababababaa +aaabababababababaiajajajakababagabababahagabababafaiajajajajakabababaa aaabababababababajajajajajajajajajalalajajajajajajajajajajajamanababaa -aaababababaeababajajajajajajaoapajaqarajaqaqasaqatajajajajajamanababaa +aaababababafababajajajajajajaoapajaqarajaqaqasaqatajajajajajamanababaa aaabababababababauajajaqavajaqaqajawawajaqaxaqaqaqaqayajajazababababaa aaabababababababaAajajaBaCajaqaqaqaqaqajaqaqaqaqaDaqaEajazabababababaa -aaabaeababababaAajaFajaqaFajaqaqaqaqaEajaGaHaqaqaIaJaKajababababaeabaa +aaabafababababaAajaFajaqaFajaqaqaqaqaEajaGaHaqaqaIaJaKajababababafabaa aaabababababaAajaLaMajaNajajaqaqajajajajajajaOajajajajajaPabababababaa -aaabababababajaQaqaqajaqaqaqaqaqajaRaSaqaqaqaDaqajaTaTaUajaPababababaa +aaabababababajaQaqaqajaqaqaqaqaqajaRaSaqasaqaDaqajaTaTaUajaPababababaa aaabababababaVaFaqaqajaLaqaqaqaEajaqaqaWaWaWaqaqajaFaqaqaqamanabababaa -aaabababababaVaFaqaqaOaqaqaqaqaqaOaqaqaXaFaFaqaqaYaqaqaqaqamanabababaa -aaabababababaVaFaqaqaOaqaqaqaqaqaOaqaqaFaFaFaqaqaYaqaqaqaqamanabababaa -aaabababababaVaFaqaqajaLaqaqaqaEajaqaqaWaWaWaqaqaZaqaqaqaDamanabababaa -aaabababababajbaaqaDajaqaqaqaqaqajaFaFaqaqaDaqaqajbbbcbdajazababababaa -aaabababababauajaLbeajaNajajaqaqajajajajajajaOajajajajajazabababababaa -aaababababababauajaFajaqbfajaqaqaqaqaEajbgaqaqaqaqaYaqajababababababaa -aaabaeabababababauajajbhbiajaqaqaqaqaqajbjaqbgaqbgajarajaPabaeabababaa -aaabababababababaAajajbkblajaqaDajawawajbgaqbgaqbgajbmajajaPababababaa -aaabababababababajajajajajajbnapajaqarajbgaqboaqbpajajajajamanabababaa +aaabababababaXaFaqaqaOaqaqaqaqaqaOaqaqaYaFaFaqaqaZaqaqaqaqamanabababaa +aaabababababaXaFaqaqaOaqaqaqaqaqaOaqaqaFaFaFaqaqaZaqaqaqaqamanabababaa +aaabababababbaaFaqaqajaLaqaqaqaEajaqaqaWaWaWaqaqbbaqaqaqaDamanabababaa +aaabababababajbcaqaDajaqaqaqaqaqajaFaFaqbdaDaqaqajbebfbgajazababababaa +aaabababababauajaLbhajaNajajaqaqajajajajajajaOajajajajajazabababababaa +aaababababababauajaFajaqbiajaqaqaqaqaEajbjaqaqaqaqaZaqajababababababaa +aaabafabababababauajajbkblajaqaqaqaqaqajbmaqbjaqbjajarajaPabafabababaa +aaabababababababaAajajbnboajaqaDajawawajbjaqbjaqbjajbpajajaPababababaa +aaabababababababajajajajajajbqapajaqarajbjaqbraqbsajajajajamanabababaa aaabababababababajajajajajajajajajalalajajajajajajajajajajamanabababaa -aaababaeababababbqajajajbrababagahabababagabababbqajajajajbrababababaa -aaabababafabababababaeababababagabababahagababababaeabababafafafababaa -aaababafafabacababababababababagagagagagagababababacababafafafafababaa -aaabafafafabababababababadabababababababababababababababafafafafababaa -aaababafafababacabababababababababababababababababababababafafabababaa -aaabababababababababaeababababababababacababababaeabababababababababaa -aaabababaeababababababababababababababababababababababababababaeababaa -aaababababababababababacababababababababababababadabacaeababababababaa +aaababafababababbtajajajbuababagahabababagabababbtajajajajbuababababaa +aaabababadabababababafababababagabababahagababababafabababadadadababaa +aaababadadabacababababababababagagagagagagababababacababadadadadababaa +aaabadadadabababababababaeababababababababababadadabababadadadadababaa +aaababadadababacabadababababababababababababadadadababababadadabababaa +aaabababababababadadafababababababababacabadadadafabababababababababaa +aaabababafababadadadababababababababababadadadadabababababababafababaa +aaabababababababadadabacabababababababababababadaeabacafababababababaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/Boombase.dmm b/maps/submaps/surface_submaps/Boombase.dmm index 14d5a3a936..4af40a47cd 100644 --- a/maps/submaps/surface_submaps/Boombase.dmm +++ b/maps/submaps/surface_submaps/Boombase.dmm @@ -1,7 +1,7 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) -"c" = (/obj/effect/decal/remains/human,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) -"d" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) +"b" = (/turf/template_noop,/area/submap/BoomBase) +"c" = (/obj/effect/decal/remains/human,/turf/template_noop,/area/submap/BoomBase) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/BoomBase) "e" = (/turf/simulated/wall/r_wall,/area/submap/BoomBase) "f" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/submap/BoomBase) "g" = (/obj/structure/girder,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/BoomBase) @@ -14,7 +14,6 @@ "n" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "o" = (/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "p" = (/mob/living/simple_animal/hostile/giant_spider/phorogenic{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"p" = (/mob/living/simple_animal/hostile/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "q" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) "r" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) "s" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/BoomBase) @@ -33,7 +32,6 @@ "F" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-burned2"; icon_state = "burned2"},/area/submap/BoomBase) "G" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) "H" = (/obj/structure/table,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"I" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/giant_spider/phorogenic{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "I" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "J" = (/turf/simulated/floor/tiled/steel{tag = "icon-burned2"; icon_state = "burned2"},/area/submap/BoomBase) "K" = (/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) @@ -41,23 +39,14 @@ "M" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) "N" = (/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) "O" = (/obj/item/device/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) -"P" = (/mob/living/simple_animal/hostile/giant_spider/webslinger{returns_home = 1},/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) -"Q" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) -"R" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/BoomBase) -"S" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"T" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/mob/living/simple_animal/hostile/giant_spider/phorogenic{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"U" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"V" = (/obj/effect/spider/stickyweb,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) -"W" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) -"X" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) -"P" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) +"P" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/BoomBase) "Q" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/BoomBase) "R" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "S" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "T" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) "U" = (/obj/effect/spider/stickyweb,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) -"V" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) -"W" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/BoomBase) +"V" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/template_noop,/area/submap/BoomBase) +"W" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/BoomBase) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaa @@ -78,14 +67,6 @@ abbbbfAgbuuuuuuuuuuuuASba abbbbbbAbuuuuuuuuuuAAToba abbbbbbfAbuuuuuuuuAAUVeba abbbbbbAfbuubbbuuuAeeheba -abWbbbbbXbbbbbbuubbbbbbca -abbbbeoNuuuuuKKOKuuuuuuba -abbbPeAzuuuuuKKKKuuuubbba -adbbbeQyuuuuuKuuuuuuubAba -abbbbfAgbuuuuuuuuuuuuARba -abbbbbbAbuuuuuuuuuuAASoba -abbbbbbfAbuuuuuuuuAATUeba -abbbbbbAfbuubbbuuuAeeheba -abVbbbbbWbbbbbbuubbbbbbca +abWbbbbbWbbbbbbuubbbbbbca aaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/Cragzone1.dmm b/maps/submaps/surface_submaps/Cragzone1.dmm index 0591185915..b876135d09 100644 --- a/maps/submaps/surface_submaps/Cragzone1.dmm +++ b/maps/submaps/surface_submaps/Cragzone1.dmm @@ -1,6 +1,6 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Cragzone1) -"c" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Cragzone1) +"b" = (/turf/template_noop,/area/submap/Cragzone1) +"c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Cragzone1) "d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Cragzone1) "e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Cragzone1) diff --git a/maps/submaps/surface_submaps/Epod.dmm b/maps/submaps/surface_submaps/Epod.dmm index 5da9131ca5..23ad06ceb5 100644 --- a/maps/submaps/surface_submaps/Epod.dmm +++ b/maps/submaps/surface_submaps/Epod.dmm @@ -1,8 +1,8 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Epod1) -"c" = (/obj/item/weapon/airlock_electronics,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Epod1) -"d" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Epod1) -"e" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Epod1) +"b" = (/turf/template_noop,/area/submap/Epod1) +"c" = (/obj/item/weapon/airlock_electronics,/turf/template_noop,/area/submap/Epod1) +"d" = (/obj/structure/door_assembly/door_assembly_ext,/turf/template_noop,/area/submap/Epod1) +"e" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Epod1) "f" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 1},/turf/simulated/shuttle/wall,/area/submap/Epod1) "g" = (/turf/simulated/shuttle/floor,/area/submap/Epod1) "h" = (/turf/simulated/shuttle/wall,/area/submap/Epod1) diff --git a/maps/submaps/surface_submaps/Field1.dmm b/maps/submaps/surface_submaps/Field1.dmm index a893a964f0..73f1fad901 100644 --- a/maps/submaps/surface_submaps/Field1.dmm +++ b/maps/submaps/surface_submaps/Field1.dmm @@ -1,43 +1,42 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Field1) -"c" = (/turf/template_noop,/area/submap/Field1) -"d" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Field1) -"e" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Field1) -"f" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"g" = (/obj/structure/ore_box,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"h" = (/obj/item/device/radio,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"i" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"j" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"k" = (/obj/item/device/flashlight,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"b" = (/turf/template_noop,/area/submap/Field1) +"c" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/Field1) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Field1) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"f" = (/obj/structure/ore_box,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"g" = (/obj/item/device/radio,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"h" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"i" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"j" = (/obj/item/device/flashlight,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaabbbbcccccccbbbba -abbaaaaaaaaaabbbbbbccccccbbbaa -adbaaaaaabbbbbbebbbbbbccbebbaa +aaaaaaaaaaaaaabbbbbbbbbbbbbbba +abbaaaaaaaaaabbbbbbbbbbbbbbbaa +acbaaaaaabbbbbbdbbbbbbbbbdbbaa abbbaaabbbbbbbbbbbbbbbbbbbbaaa -abbbbbbbbbbbbbbbbbbebbbbbbbaaa +abbbbbbbbbbbbbbbbbbdbbbbbbbaaa abbbbbbbbbbbbbbbbbbbbbbbbbbaaa -abbbbbbbbbdbbbbbbbbbbbbbbbaaaa -abbbebbbbbbbbbbbbbbbbbbbbbaaaa +abbbbbbbbbcbbbbbbbbbbbbbbbaaaa +abbbdbbbbbbbbbbbbbbbbbbbbbaaaa aabbbbbbbbbbbbbbbbbbbbbbbbaaaa aabbbbbbbbbbbbbbbbbbbbbbbbbaaa -aaabbbbbbbbbbbfffbbbbbbbbbbaaa -aaabbbbbbbbbffffffffffbbbbbbba -aaaabbbbbbbffffffffffffbbbbbba -aaaabbbbbbbffffffffffffbbbbeba -aaaabbbbbbbfffgfhffffbbbbbbbba -aaabbbbbbbbbfgiijfffbbbbbbbbca -aaabbbbbbbbbbbfkbfbbbbbbbbbbca -aabbbbbbbbbbbbbbbbbbbbbbbebbca -abbbebbbbbbbbbbbbbbbbbbbbbbbca -abbbbbbbbbbbbbbbbbbbbbbbbbbcca -abbbbbbbbbbbbbbbbbbbdbbbbbbcca -abbbbbbbbbbbbbbbbbbbbbbbbbbcca -abbbbbbbebbbbbbbbbbbbbbbbbbbca -abbbbbbbbbbbbbbbbbbbbbbbbbbbca -abdbbbbbbbbbbbbbbbbbbbbbebbbba -aabbbbbbebbbbaaaabaaabbbbbbeba +aaabbbbbbbbbbbeeebbbbbbbbbbaaa +aaabbbbbbbbbeeeeeeeeeebbbbbbba +aaaabbbbbbbeeeeeeeeeeeebbbbbba +aaaabbbbbbbeeeeeeeeeeeebbbbdba +aaaabbbbbbbeeefegeeeebbbbbbbba +aaabbbbbbbbbefhhieeebbbbbbbbba +aaabbbbbbbbbbbejbebbbbbbbbbbba +aabbbbbbbbbbbbbbbbbbbbbbbdbbba +abbbdbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbcbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbdbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abcbbbbbbbbbbbbbbbbbbbbbdbbbba +aabbbbbbdbbbbaaaabaaabbbbbbdba aaaaaaabbbbbaaaaaaaaaabbbbbbba aaaaaaaaabbaaaaaaaaaaabbbbbbba aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/Flake.dmm b/maps/submaps/surface_submaps/Flake.dmm index b43addfe29..222cc15912 100644 --- a/maps/submaps/surface_submaps/Flake.dmm +++ b/maps/submaps/surface_submaps/Flake.dmm @@ -1,14 +1,14 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1) -"c" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1) -"d" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1) -"e" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1) +"b" = (/turf/template_noop,/area/submap/Lake1) +"c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Lake1) +"d" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/Lake1) +"e" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Lake1) "f" = (/turf/simulated/floor/outdoors/rocks,/area/submap/Lake1) -"g" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1) +"g" = (/obj/structure/flora/ausbushes/palebush,/turf/template_noop,/area/submap/Lake1) "h" = (/turf/simulated/floor/water,/area/submap/Lake1) "i" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Lake1) "j" = (/turf/simulated/mineral,/area/submap/Lake1) -"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1) +"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/template_noop,/area/submap/Lake1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/Lab1.dmm b/maps/submaps/surface_submaps/Lab1.dmm index f0da00f9a3..f19ff17e2a 100644 --- a/maps/submaps/surface_submaps/Lab1.dmm +++ b/maps/submaps/surface_submaps/Lab1.dmm @@ -1,5 +1,5 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Lab1) +"b" = (/turf/template_noop,/area/submap/Lab1) "c" = (/turf/simulated/wall/r_wall,/area/submap/Lab1) "d" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Lab1) "e" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/submap/Lab1) diff --git a/maps/submaps/surface_submaps/MCamp1.dmm b/maps/submaps/surface_submaps/MCamp1.dmm index 0cc8210172..df9dd6ecaa 100644 --- a/maps/submaps/surface_submaps/MCamp1.dmm +++ b/maps/submaps/surface_submaps/MCamp1.dmm @@ -34,24 +34,6 @@ "H" = (/obj/machinery/light,/obj/structure/table/standard,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) "I" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/MilitaryCamp1) "J" = (/obj/effect/mine,/turf/template_noop,/area/submap/MilitaryCamp1) -"p" = (/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"q" = (/obj/effect/mine,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"r" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/gun,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"s" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"t" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syndie_kit/space,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"u" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"v" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"w" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"x" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"y" = (/obj/machinery/computer/security,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"z" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/holofloor/tiled,/area/submap/MilitaryCamp1) -"A" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"B" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"C" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"D" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"E" = (/obj/machinery/light,/obj/structure/table/standard,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"F" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"G" = (/obj/effect/mine,/turf/template_noop,/area/submap/MilitaryCamp1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa @@ -73,17 +55,5 @@ abedddlllmmllldcceda abcddddlldnlldkcddba achceddddedjddchibba abccfbJdigddeccdbbba -abbdlltmmmpuvpllddda -abdnlllllwpllllxdeda -adddmlplyppzlpllddda -agedmlpuAvpAuvlldeda -adddxlpllllllplxdBda -adddllwpppCpppllddda -aBddllDoppppEollndga -addfdllllFmlllldedda -abedddlllmmllldcceda -abcddddlldnlldkcddba -achceddddedjddchibba -abccfbGdigddeccdbbba aaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/Rocky1.dmm b/maps/submaps/surface_submaps/Rocky1.dmm index 8bc7506c9f..bbe9827a67 100644 --- a/maps/submaps/surface_submaps/Rocky1.dmm +++ b/maps/submaps/surface_submaps/Rocky1.dmm @@ -1,36 +1,35 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/Rocky1) -"c" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky1) -"d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) -"e" = (/obj/structure/boulder,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) -"f" = (/turf/simulated/mineral,/area/submap/Rocky1) -"g" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky1) -"h" = (/obj/random/handgun/sec,/obj/effect/decal/remains/human,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) +"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) +"d" = (/obj/structure/boulder,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) +"e" = (/turf/simulated/mineral,/area/submap/Rocky1) +"f" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky1) +"g" = (/obj/random/handgun/sec,/obj/effect/decal/remains/human,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaa -aabbbccccbccccbbbccccccaa -aabbddefccbbgccbccffffcaa -aabddfffdccbbcbbcfffffcaa -aacddfffddccbbbcddeffffaa -aaccdfffeddccccdddddfffaa -aaccdddddddcccdddddhfffaa -aacccdccddccccddddddfffaa -aacccccddddcccdddddffffaa -aagcbccdddddcccdddeffffaa -aacbcdccddddddddddfffffaa -aabbcdddddffffffdeffffcaa -aabccdfffffffffffffccccaa -aabcddfffffffffffccgcccaa -aacddfffddccfffccccccccaa -aacdfffddccccccccccccbbaa -aacdfffdcccccccgcccbbbbaa -aaccddfdcccccccccccbbbcaa -aabccddddccccccbbccccccaa -aabccccccccgcccbccgccbbaa -aabcccbbbbccccbbcccbbbbaa -aacgcbbbbbbbcbbcccbbbbcaa +aabbbbbbbbbbbbbbbbbbbbbaa +aabbccdebbbbfbbbbbeeeebaa +aabcceeecbbbbbbbbeeeeebaa +aabcceeeccbbbbbbccdeeeeaa +aabbceeedccbbbbccccceeeaa +aabbcccccccbbbcccccgeeeaa +aabbbcbbccbbbbcccccceeeaa +aabbbbbccccbbbccccceeeeaa +aafbbbbcccccbbbcccdeeeeaa +aabbbcbbcccccccccceeeeeaa +aabbbccccceeeeeecdeeeebaa +aabbbceeeeeeeeeeeeebbbbaa +aabbcceeeeeeeeeeebbfbbbaa +aabcceeeccbbeeebbbbbbbbaa +aabceeeccbbbbbbbbbbbbbbaa +aabceeecbbbbbbbfbbbbbbbaa +aabbccecbbbbbbbbbbbbbbbaa +aabbbccccbbbbbbbbbbbbbbaa +aabbbbbbbbbfbbbbbbfbbbbaa +aabbbbbbbbbbbbbbbbbbbbbaa +aabfbbbbbbbbbbbbbbbbbbbaa aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/Rocky2.dmm b/maps/submaps/surface_submaps/Rocky2.dmm index b9103f6477..eaa06c481a 100644 --- a/maps/submaps/surface_submaps/Rocky2.dmm +++ b/maps/submaps/surface_submaps/Rocky2.dmm @@ -1,41 +1,40 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/Rocky2) -"c" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky2) -"e" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"f" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky2) -"g" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"h" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"i" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"j" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"k" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"l" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) -"m" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky2) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky2) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky2) +"f" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/Rocky2) +"g" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/Rocky2) +"h" = (/obj/structure/flora/ausbushes/fullgrass,/turf/template_noop,/area/submap/Rocky2) +"i" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/template_noop,/area/submap/Rocky2) +"j" = (/obj/structure/flora/ausbushes/sunnybush,/turf/template_noop,/area/submap/Rocky2) +"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/template_noop,/area/submap/Rocky2) +"l" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Rocky2) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaa -abbbbbbcccbbbbbbccddcbbba -abbbbcccdddddddddcdddcbea -abbccccddddddddcccddddcca -acccffdddddddddccdddddcca -agccfdddddddcddcdddddddca -acccfdddddddhcccdddddddca -abcccddddddcccccddddddfca -abbccdddddcicgcccddddfffa -abcccccdddccccccjddddfffa -abbccccdddcecciccddddfffa -abecccddddccccccccdddfffa -abcccddddcciccccccddffffa -acccddddddgcccecccddddffa -accfddddddccccccgjddddffa -accfddddddchciccccddddcca -accffdddddccccccccdddddca -accffdddddkcecccicdddddba -abccfdddddcccccccddddddba -abbcfdddffcclccccddddddba -abbccdddffddccgcdddddccca -accccdddfffddddddddddccca -acmccdddcfddddddcccdbbmba -abcbbbccccccdddcccccbbbba +abbbbbbbbbbbbbbbbbccbbbba +abbbbbbbcccccccccbcccbbda +abbbbbbccccccccbbbccccbba +abbbeecccccccccbbcccccbba +afbbecccccccbccbcccccccba +abbbecccccccgbbbcccccccba +abbbbccccccbbbbbcccccceba +abbbbcccccbhbfbbbcccceeea +abbbbbbcccbbbbbbicccceeea +abbbbbbcccbdbbhbbcccceeea +abdbbbccccbbbbbbbbccceeea +abbbbccccbbhbbbbbbcceeeea +abbbccccccfbbbdbbbcccceea +abbeccccccbbbbbbficccceea +abbeccccccbgbhbbbbccccbba +abbeecccccbbbbbbbbcccccba +abbeecccccjbdbbbhbcccccba +abbbecccccbbbbbbbccccccba +abbbeccceebbkbbbbccccccba +abbbbccceeccbbfbcccccbbba +abbbbccceeeccccccccccbbba +ablbbcccbeccccccbbbcbblba +abbbbbbbbbbbcccbbbbbbbbba aaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/Rocky3.dmm b/maps/submaps/surface_submaps/Rocky3.dmm index dcb80f0828..ad6350078b 100644 --- a/maps/submaps/surface_submaps/Rocky3.dmm +++ b/maps/submaps/surface_submaps/Rocky3.dmm @@ -1,8 +1,8 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/snow,/area/submap/Rocky3) -"c" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/snow,/area/submap/Rocky3) +"b" = (/turf/template_noop,/area/submap/Rocky3) +"c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky3) "d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky3) -"e" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/snow,/area/submap/Rocky3) +"e" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/Rocky3) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/Rocky4.dmm b/maps/submaps/surface_submaps/Rocky4.dmm index c95fb291a4..fa99e25ee0 100644 --- a/maps/submaps/surface_submaps/Rocky4.dmm +++ b/maps/submaps/surface_submaps/Rocky4.dmm @@ -1,7 +1,7 @@ "a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Rocky4) +"b" = (/turf/template_noop,/area/submap/Rocky4) "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky4) -"d" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/Rocky4) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky4) "e" = (/turf/simulated/floor/outdoors/rocks,/area/submap/Rocky4) "f" = (/turf/simulated/floor/water,/area/submap/Rocky4) diff --git a/maps/submaps/surface_submaps/Shack1.dmm b/maps/submaps/surface_submaps/Shack1.dmm index 75bd03dcbe..ba80b01555 100644 --- a/maps/submaps/surface_submaps/Shack1.dmm +++ b/maps/submaps/surface_submaps/Shack1.dmm @@ -1,6 +1,6 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/log_sif,/area/submap/Shack1) -"c" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Shack1) +"c" = (/turf/template_noop,/area/submap/Shack1) "d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Shack1) "e" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken1"; icon_state = "wood_broken1"},/area/submap/Shack1) "f" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/Shack1) @@ -9,7 +9,7 @@ "i" = (/turf/simulated/floor/wood,/area/submap/Shack1) "j" = (/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken0"; icon_state = "wood_broken0"},/area/submap/Shack1) "k" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken5"; icon_state = "wood_broken5"},/area/submap/Shack1) -"l" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Shack1) +"l" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Shack1) "m" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Shack1) "n" = (/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken3"; icon_state = "wood_broken3"},/area/submap/Shack1) "o" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/wood,/area/submap/Shack1) @@ -18,7 +18,7 @@ "r" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/wood,/area/submap/Shack1) "s" = (/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken6"; icon_state = "wood_broken6"},/area/submap/Shack1) "t" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor/wood,/area/submap/Shack1) -"u" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Shack1) +"u" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Shack1) (1,1,1) = {" aaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/Snowrock1.dmm b/maps/submaps/surface_submaps/Snowrock1.dmm index 4d25521839..5bf7acdbc6 100644 --- a/maps/submaps/surface_submaps/Snowrock1.dmm +++ b/maps/submaps/surface_submaps/Snowrock1.dmm @@ -2,16 +2,10 @@ "b" = (/turf/template_noop,/area/submap/SnowR1) "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/SnowR1) "d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/SnowR1) -"e" = (/obj/structure/loot_pile/maint,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) +"e" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) "f" = (/obj/structure/closet/crate/trashcart,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) "g" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) "h" = (/obj/random/trash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) -"e" = (/obj/structure/loot_pile/surface,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) -"f" = (/obj/structure/closet/crate/trashcart,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) -"g" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) -"h" = (/obj/random/trash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1) -"i" = (/turf/simulated/floor/outdoors/snow,/area/submap/SnowR1) -"j" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/snow,/area/submap/SnowR1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa @@ -33,18 +27,5 @@ abbbccccccccccccbbba abbbbbcccccccbcbbbba abbbbbbbbbbbbbbbbdba abdbbbbbbbbbbbbbbbba -abbccccchggggcccibba -abbcccccggggiiiiiiba -abbcciiiiiiiiiijiiba -abbciiiiiiiiiiiiiiba -abbiiiiiiiiiiiiiiiia -abbbiiiiiijiiiiiiiba -abbbjiiiiiiiiiiiiiba -abiiiiiiiiicccccibba -abbiiiiiccccccccibba -abbicccccccccccciiba -abbbbiccccccciciibba -abbbbbiiiiiiiiiiidba -abdbbbbiiiiiiiibbbba aaaaaaaaaaaaaaaaaaaa "} diff --git a/nano/css/icons.css b/nano/css/icons.css index b2eacc0ab8..68ac412aba 100644 --- a/nano/css/icons.css +++ b/nano/css/icons.css @@ -50,222 +50,241 @@ /* positioning */ .uiIcon16.icon-blank { background-position: 16px 16px; } -.uiIcon16.icon-carat-1-n { background-position: 0 0; } -.uiIcon16.icon-carat-1-ne { background-position: -16px 0; } -.uiIcon16.icon-carat-1-e { background-position: -32px 0; } -.uiIcon16.icon-carat-1-se { background-position: -48px 0; } -.uiIcon16.icon-carat-1-s { background-position: -64px 0; } -.uiIcon16.icon-carat-1-sw { background-position: -80px 0; } -.uiIcon16.icon-carat-1-w { background-position: -96px 0; } -.uiIcon16.icon-carat-1-nw { background-position: -112px 0; } + +.uiIcon16.icon-carat-1-n { background-position: 0 0; } +.uiIcon16.icon-carat-1-ne { background-position: -16px 0; } +.uiIcon16.icon-carat-1-e { background-position: -32px 0; } +.uiIcon16.icon-carat-1-se { background-position: -48px 0; } +.uiIcon16.icon-carat-1-s { background-position: -64px 0; } +.uiIcon16.icon-carat-1-sw { background-position: -80px 0; } +.uiIcon16.icon-carat-1-w { background-position: -96px 0; } +.uiIcon16.icon-carat-1-nw { background-position: -112px 0; } .uiIcon16.icon-carat-2-n-s { background-position: -128px 0; } .uiIcon16.icon-carat-2-e-w { background-position: -144px 0; } -.uiIcon16.icon-triangle-1-n { background-position: 0 -16px; } -.uiIcon16.icon-triangle-1-ne { background-position: -16px -16px; } -.uiIcon16.icon-triangle-1-e { background-position: -32px -16px; } -.uiIcon16.icon-triangle-1-se { background-position: -48px -16px; } -.uiIcon16.icon-triangle-1-s { background-position: -64px -16px; } -.uiIcon16.icon-triangle-1-sw { background-position: -80px -16px; } -.uiIcon16.icon-triangle-1-w { background-position: -96px -16px; } -.uiIcon16.icon-triangle-1-nw { background-position: -112px -16px; } + +.uiIcon16.icon-triangle-1-n { background-position: 0 -16px; } +.uiIcon16.icon-triangle-1-ne { background-position: -16px -16px; } +.uiIcon16.icon-triangle-1-e { background-position: -32px -16px; } +.uiIcon16.icon-triangle-1-se { background-position: -48px -16px; } +.uiIcon16.icon-triangle-1-s { background-position: -64px -16px; } +.uiIcon16.icon-triangle-1-sw { background-position: -80px -16px; } +.uiIcon16.icon-triangle-1-w { background-position: -96px -16px; } +.uiIcon16.icon-triangle-1-nw { background-position: -112px -16px; } .uiIcon16.icon-triangle-2-n-s { background-position: -128px -16px; } .uiIcon16.icon-triangle-2-e-w { background-position: -144px -16px; } -.uiIcon16.icon-arrow-1-n { background-position: 0 -32px; } -.uiIcon16.icon-arrow-1-ne { background-position: -16px -32px; } -.uiIcon16.icon-arrow-1-e { background-position: -32px -32px; } -.uiIcon16.icon-arrow-1-se { background-position: -48px -32px; } -.uiIcon16.icon-arrow-1-s { background-position: -64px -32px; } -.uiIcon16.icon-arrow-1-sw { background-position: -80px -32px; } -.uiIcon16.icon-arrow-1-w { background-position: -96px -32px; } -.uiIcon16.icon-arrow-1-nw { background-position: -112px -32px; } -.uiIcon16.icon-arrow-2-n-s { background-position: -128px -32px; } + +.uiIcon16.icon-arrow-1-n { background-position: 0 -32px; } +.uiIcon16.icon-arrow-1-ne { background-position: -16px -32px; } +.uiIcon16.icon-arrow-1-e { background-position: -32px -32px; } +.uiIcon16.icon-arrow-1-se { background-position: -48px -32px; } +.uiIcon16.icon-arrow-1-s { background-position: -64px -32px; } +.uiIcon16.icon-arrow-1-sw { background-position: -80px -32px; } +.uiIcon16.icon-arrow-1-w { background-position: -96px -32px; } +.uiIcon16.icon-arrow-1-nw { background-position: -112px -32px; } +.uiIcon16.icon-arrow-2-n-s { background-position: -128px -32px; } .uiIcon16.icon-arrow-2-ne-sw { background-position: -144px -32px; } -.uiIcon16.icon-arrow-2-e-w { background-position: -160px -32px; } +.uiIcon16.icon-arrow-2-e-w { background-position: -160px -32px; } .uiIcon16.icon-arrow-2-se-nw { background-position: -176px -32px; } + .uiIcon16.icon-arrowstop-1-n { background-position: -192px -32px; } .uiIcon16.icon-arrowstop-1-e { background-position: -208px -32px; } .uiIcon16.icon-arrowstop-1-s { background-position: -224px -32px; } .uiIcon16.icon-arrowstop-1-w { background-position: -240px -32px; } -.uiIcon16.icon-arrowthick-1-n { background-position: 0 -48px; } -.uiIcon16.icon-arrowthick-1-ne { background-position: -16px -48px; } -.uiIcon16.icon-arrowthick-1-e { background-position: -32px -48px; } -.uiIcon16.icon-arrowthick-1-se { background-position: -48px -48px; } -.uiIcon16.icon-arrowthick-1-s { background-position: -64px -48px; } -.uiIcon16.icon-arrowthick-1-sw { background-position: -80px -48px; } -.uiIcon16.icon-arrowthick-1-w { background-position: -96px -48px; } -.uiIcon16.icon-arrowthick-1-nw { background-position: -112px -48px; } -.uiIcon16.icon-arrowthick-2-n-s { background-position: -128px -48px; } + +.uiIcon16.icon-arrowthick-1-n { background-position: 0 -48px; } +.uiIcon16.icon-arrowthick-1-ne { background-position: -16px -48px; } +.uiIcon16.icon-arrowthick-1-e { background-position: -32px -48px; } +.uiIcon16.icon-arrowthick-1-se { background-position: -48px -48px; } +.uiIcon16.icon-arrowthick-1-s { background-position: -64px -48px; } +.uiIcon16.icon-arrowthick-1-sw { background-position: -80px -48px; } +.uiIcon16.icon-arrowthick-1-w { background-position: -96px -48px; } +.uiIcon16.icon-arrowthick-1-nw { background-position: -112px -48px; } +.uiIcon16.icon-arrowthick-2-n-s { background-position: -128px -48px; } .uiIcon16.icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.uiIcon16.icon-arrowthick-2-e-w { background-position: -160px -48px; } +.uiIcon16.icon-arrowthick-2-e-w { background-position: -160px -48px; } .uiIcon16.icon-arrowthick-2-se-nw { background-position: -176px -48px; } + .uiIcon16.icon-arrowthickstop-1-n { background-position: -192px -48px; } .uiIcon16.icon-arrowthickstop-1-e { background-position: -208px -48px; } .uiIcon16.icon-arrowthickstop-1-s { background-position: -224px -48px; } .uiIcon16.icon-arrowthickstop-1-w { background-position: -240px -48px; } + .uiIcon16.icon-arrowreturnthick-1-w { background-position: 0 -64px; } .uiIcon16.icon-arrowreturnthick-1-n { background-position: -16px -64px; } .uiIcon16.icon-arrowreturnthick-1-e { background-position: -32px -64px; } .uiIcon16.icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.uiIcon16.icon-arrowreturn-1-w { background-position: -64px -64px; } -.uiIcon16.icon-arrowreturn-1-n { background-position: -80px -64px; } -.uiIcon16.icon-arrowreturn-1-e { background-position: -96px -64px; } -.uiIcon16.icon-arrowreturn-1-s { background-position: -112px -64px; } + +.uiIcon16.icon-arrowreturn-1-w { background-position: -64px -64px; } +.uiIcon16.icon-arrowreturn-1-n { background-position: -80px -64px; } +.uiIcon16.icon-arrowreturn-1-e { background-position: -96px -64px; } +.uiIcon16.icon-arrowreturn-1-s { background-position: -112px -64px; } .uiIcon16.icon-arrowrefresh-1-w { background-position: -128px -64px; } .uiIcon16.icon-arrowrefresh-1-n { background-position: -144px -64px; } .uiIcon16.icon-arrowrefresh-1-e { background-position: -160px -64px; } .uiIcon16.icon-arrowrefresh-1-s { background-position: -176px -64px; } -.uiIcon16.icon-arrow-4 { background-position: 0 -80px; } -.uiIcon16.icon-arrow-4-diag { background-position: -16px -80px; } -.uiIcon16.icon-extlink { background-position: -32px -80px; } -.uiIcon16.icon-newwin { background-position: -48px -80px; } -.uiIcon16.icon-refresh { background-position: -64px -80px; } -.uiIcon16.icon-shuffle { background-position: -80px -80px; } -.uiIcon16.icon-transfer-e-w { background-position: -96px -80px; } + +.uiIcon16.icon-arrow-4 { background-position: 0 -80px; } +.uiIcon16.icon-arrow-4-diag { background-position: -16px -80px; } +.uiIcon16.icon-extlink { background-position: -32px -80px; } +.uiIcon16.icon-newwin { background-position: -48px -80px; } +.uiIcon16.icon-refresh { background-position: -64px -80px; } +.uiIcon16.icon-shuffle { background-position: -80px -80px; } +.uiIcon16.icon-transfer-e-w { background-position: -96px -80px; } .uiIcon16.icon-transferthick-e-w { background-position: -112px -80px; } -.uiIcon16.icon-radiation { background-position: -128px -80px; } -.uiIcon16.icon-folder-collapsed { background-position: 0 -96px; } -.uiIcon16.icon-folder-open { background-position: -16px -96px; } -.uiIcon16.icon-document { background-position: -32px -96px; } -.uiIcon16.icon-document-b { background-position: -48px -96px; } -.uiIcon16.icon-note { background-position: -64px -96px; } -.uiIcon16.icon-mail-closed { background-position: -80px -96px; } -.uiIcon16.icon-mail-open { background-position: -96px -96px; } -.uiIcon16.icon-suitcase { background-position: -112px -96px; } -.uiIcon16.icon-comment { background-position: -128px -96px; } -.uiIcon16.icon-person { background-position: -144px -96px; } -.uiIcon16.icon-print { background-position: -160px -96px; } -.uiIcon16.icon-trash { background-position: -176px -96px; } -.uiIcon16.icon-locked { background-position: -192px -96px; } -.uiIcon16.icon-unlocked { background-position: -208px -96px; } -.uiIcon16.icon-bookmark { background-position: -224px -96px; } -.uiIcon16.icon-tag { background-position: -240px -96px; } -.uiIcon16.icon-home { background-position: 0 -112px; } -.uiIcon16.icon-flag { background-position: -16px -112px; } -.uiIcon16.icon-calendar { background-position: -32px -112px; } -.uiIcon16.icon-cart { background-position: -48px -112px; } -.uiIcon16.icon-pencil { background-position: -64px -112px; } -.uiIcon16.icon-clock { background-position: -80px -112px; } -.uiIcon16.icon-disk { background-position: -96px -112px; } -.uiIcon16.icon-calculator { background-position: -112px -112px; } -.uiIcon16.icon-zoomin { background-position: -128px -112px; } -.uiIcon16.icon-zoomout { background-position: -144px -112px; } -.uiIcon16.icon-search { background-position: -160px -112px; } -.uiIcon16.icon-wrench { background-position: -176px -112px; } -.uiIcon16.icon-gear { background-position: -192px -112px; } -.uiIcon16.icon-heart { background-position: -208px -112px; } -.uiIcon16.icon-star { background-position: -224px -112px; } -.uiIcon16.icon-link { background-position: -240px -112px; } -.uiIcon16.icon-cancel { background-position: 0 -128px; } -.uiIcon16.icon-plus { background-position: -16px -128px; } -.uiIcon16.icon-plusthick { background-position: -32px -128px; } -.uiIcon16.icon-minus { background-position: -48px -128px; } -.uiIcon16.icon-minusthick { background-position: -64px -128px; } -.uiIcon16.icon-close { background-position: -80px -128px; } -.uiIcon16.icon-closethick { background-position: -96px -128px; } -.uiIcon16.icon-key { background-position: -112px -128px; } -.uiIcon16.icon-lightbulb { background-position: -128px -128px; } -.uiIcon16.icon-scissors { background-position: -144px -128px; } -.uiIcon16.icon-clipboard { background-position: -160px -128px; } -.uiIcon16.icon-copy { background-position: -176px -128px; } -.uiIcon16.icon-contact { background-position: -192px -128px; } -.uiIcon16.icon-image { background-position: -208px -128px; } -.uiIcon16.icon-video { background-position: -224px -128px; } -.uiIcon16.icon-script { background-position: -240px -128px; } -.uiIcon16.icon-alert { background-position: 0 -144px; } -.uiIcon16.icon-alert-red { background-image: url(uiIcons16Red.png); background-position: 0 -144px; } -.uiIcon16.icon-info { background-position: -16px -144px; } -.uiIcon16.icon-notice { background-position: -32px -144px; } -.uiIcon16.icon-help { background-position: -48px -144px; } -.uiIcon16.icon-check { background-position: -64px -144px; } -.uiIcon16.icon-bullet { background-position: -80px -144px; } -.uiIcon16.icon-radio-on { background-position: -96px -144px; } -.uiIcon16.icon-radio-off { background-position: -112px -144px; } -.uiIcon16.icon-pin-w { background-position: -128px -144px; } -.uiIcon16.icon-pin-s { background-position: -144px -144px; } -.uiIcon16.icon-phone { background-position: -160px -144px; } -.uiIcon16.icon-list { background-position: -176px -144px; } -.uiIcon16.icon-syringe { background-position: -192px -144px; } -.uiIcon16.icon-play { background-position: 0 -160px; } -.uiIcon16.icon-pause { background-position: -16px -160px; } -.uiIcon16.icon-seek-next { background-position: -32px -160px; } -.uiIcon16.icon-seek-prev { background-position: -48px -160px; } -.uiIcon16.icon-seek-end { background-position: -64px -160px; } -.uiIcon16.icon-seek-start { background-position: -80px -160px; } +.uiIcon16.icon-radiation { background-position: -128px -80px; } +.uiIcon16.icon-folder-collapsed { background-position: 0 -96px; } +.uiIcon16.icon-folder-open { background-position: -16px -96px; } +.uiIcon16.icon-document { background-position: -32px -96px; } +.uiIcon16.icon-document-b { background-position: -48px -96px; } +.uiIcon16.icon-note { background-position: -64px -96px; } +.uiIcon16.icon-mail-closed { background-position: -80px -96px; } +.uiIcon16.icon-mail-open { background-position: -96px -96px; } +.uiIcon16.icon-suitcase { background-position: -112px -96px; } +.uiIcon16.icon-comment { background-position: -128px -96px; } +.uiIcon16.icon-person { background-position: -144px -96px; } +.uiIcon16.icon-print { background-position: -160px -96px; } +.uiIcon16.icon-trash { background-position: -176px -96px; } +.uiIcon16.icon-locked { background-position: -192px -96px; } +.uiIcon16.icon-unlocked { background-position: -208px -96px; } +.uiIcon16.icon-bookmark { background-position: -224px -96px; } +.uiIcon16.icon-tag { background-position: -240px -96px; } +.uiIcon16.icon-home { background-position: 0 -112px; } +.uiIcon16.icon-flag { background-position: -16px -112px; } +.uiIcon16.icon-calendar { background-position: -32px -112px; } +.uiIcon16.icon-cart { background-position: -48px -112px; } +.uiIcon16.icon-pencil { background-position: -64px -112px; } +.uiIcon16.icon-clock { background-position: -80px -112px; } +.uiIcon16.icon-disk { background-position: -96px -112px; } +.uiIcon16.icon-calculator { background-position: -112px -112px; } +.uiIcon16.icon-zoomin { background-position: -128px -112px; } +.uiIcon16.icon-zoomout { background-position: -144px -112px; } +.uiIcon16.icon-search { background-position: -160px -112px; } +.uiIcon16.icon-wrench { background-position: -176px -112px; } +.uiIcon16.icon-gear { background-position: -192px -112px; } +.uiIcon16.icon-heart { background-position: -208px -112px; } +.uiIcon16.icon-star { background-position: -224px -112px; } +.uiIcon16.icon-link { background-position: -240px -112px; } +.uiIcon16.icon-cancel { background-position: 0 -128px; } +.uiIcon16.icon-plus { background-position: -16px -128px; } +.uiIcon16.icon-plusthick { background-position: -32px -128px; } +.uiIcon16.icon-minus { background-position: -48px -128px; } +.uiIcon16.icon-minusthick { background-position: -64px -128px; } +.uiIcon16.icon-close { background-position: -80px -128px; } +.uiIcon16.icon-closethick { background-position: -96px -128px; } +.uiIcon16.icon-key { background-position: -112px -128px; } +.uiIcon16.icon-lightbulb { background-position: -128px -128px; } +.uiIcon16.icon-scissors { background-position: -144px -128px; } +.uiIcon16.icon-clipboard { background-position: -160px -128px; } +.uiIcon16.icon-copy { background-position: -176px -128px; } +.uiIcon16.icon-contact { background-position: -192px -128px; } +.uiIcon16.icon-image { background-position: -208px -128px; } +.uiIcon16.icon-video { background-position: -224px -128px; } +.uiIcon16.icon-script { background-position: -240px -128px; } +.uiIcon16.icon-alert { background-position: 0 -144px; } +.uiIcon16.icon-alert-red { background-image: url(uiIcons16Red.png); background-position: 0 -144px; } +.uiIcon16.icon-info { background-position: -16px -144px; } +.uiIcon16.icon-notice { background-position: -32px -144px; } +.uiIcon16.icon-help { background-position: -48px -144px; } +.uiIcon16.icon-check { background-position: -64px -144px; } +.uiIcon16.icon-bullet { background-position: -80px -144px; } +.uiIcon16.icon-radio-on { background-position: -96px -144px; } +.uiIcon16.icon-radio-off { background-position: -112px -144px; } +.uiIcon16.icon-pin-w { background-position: -128px -144px; } +.uiIcon16.icon-pin-s { background-position: -144px -144px; } +.uiIcon16.icon-phone { background-position: -160px -144px; } +.uiIcon16.icon-list { background-position: -176px -144px; } +.uiIcon16.icon-syringe { background-position: -192px -144px; } +.uiIcon16.icon-play { background-position: 0 -160px; } +.uiIcon16.icon-pause { background-position: -16px -160px; } +.uiIcon16.icon-seek-next { background-position: -32px -160px; } +.uiIcon16.icon-seek-prev { background-position: -48px -160px; } +.uiIcon16.icon-seek-end { background-position: -64px -160px; } +.uiIcon16.icon-seek-start { background-position: -80px -160px; } + /* uiIcon-seek-first is deprecated, use uiIcon-seek-start instead */ -.uiIcon16.icon-seek-first { background-position: -80px -160px; } -.uiIcon16.icon-stop { background-position: -96px -160px; } -.uiIcon16.icon-eject { background-position: -112px -160px; } -.uiIcon16.icon-volume-off { background-position: -128px -160px; } -.uiIcon16.icon-volume-on { background-position: -144px -160px; } -.uiIcon16.icon-power { background-position: 0 -176px; } -.uiIcon16.icon-signal-diag { background-position: -16px -176px; } -.uiIcon16.icon-signal { background-position: -32px -176px; } +.uiIcon16.icon-seek-first { background-position: -80px -160px; } +.uiIcon16.icon-stop { background-position: -96px -160px; } +.uiIcon16.icon-eject { background-position: -112px -160px; } +.uiIcon16.icon-volume-off { background-position: -128px -160px; } +.uiIcon16.icon-volume-on { background-position: -144px -160px; } +.uiIcon16.icon-power { background-position: 0 -176px; } +.uiIcon16.icon-signal-diag { background-position: -16px -176px; } +.uiIcon16.icon-signal { background-position: -32px -176px; } .uiIcon16.icon-signal-green { background-image: url(uiIcons16Green.png); background-position: -32px -176px; } + .uiIcon16.icon-battery-0 { background-position: -48px -176px; } .uiIcon16.icon-battery-1 { background-position: -64px -176px; } .uiIcon16.icon-battery-2 { background-position: -80px -176px; } .uiIcon16.icon-battery-3 { background-position: -96px -176px; } -.uiIcon16.icon-circle-plus { background-position: 0 -192px; } -.uiIcon16.icon-circle-minus { background-position: -16px -192px; } -.uiIcon16.icon-circle-close { background-position: -32px -192px; } + +.uiIcon16.icon-circle-plus { background-position: 0 -192px; } +.uiIcon16.icon-circle-minus { background-position: -16px -192px; } +.uiIcon16.icon-circle-close { background-position: -32px -192px; } .uiIcon16.icon-circle-triangle-e { background-position: -48px -192px; } .uiIcon16.icon-circle-triangle-s { background-position: -64px -192px; } .uiIcon16.icon-circle-triangle-w { background-position: -80px -192px; } .uiIcon16.icon-circle-triangle-n { background-position: -96px -192px; } -.uiIcon16.icon-circle-arrow-e { background-position: -112px -192px; } -.uiIcon16.icon-circle-arrow-s { background-position: -128px -192px; } -.uiIcon16.icon-circle-arrow-w { background-position: -144px -192px; } -.uiIcon16.icon-circle-arrow-n { background-position: -160px -192px; } -.uiIcon16.icon-circle-zoomin { background-position: -176px -192px; } -.uiIcon16.icon-circle-zoomout { background-position: -192px -192px; } -.uiIcon16.icon-circle-check { background-position: -208px -192px; } -.uiIcon16.icon-circlesmall-plus { background-position: 0 -208px; } +.uiIcon16.icon-circle-arrow-e { background-position: -112px -192px; } +.uiIcon16.icon-circle-arrow-s { background-position: -128px -192px; } +.uiIcon16.icon-circle-arrow-w { background-position: -144px -192px; } +.uiIcon16.icon-circle-arrow-n { background-position: -160px -192px; } +.uiIcon16.icon-circle-zoomin { background-position: -176px -192px; } +.uiIcon16.icon-circle-zoomout { background-position: -192px -192px; } +.uiIcon16.icon-circle-check { background-position: -208px -192px; } + +.uiIcon16.icon-circlesmall-plus { background-position: 0 -208px; } .uiIcon16.icon-circlesmall-minus { background-position: -16px -208px; } .uiIcon16.icon-circlesmall-close { background-position: -32px -208px; } -.uiIcon16.icon-squaresmall-plus { background-position: -48px -208px; } + +.uiIcon16.icon-squaresmall-plus { background-position: -48px -208px; } .uiIcon16.icon-squaresmall-minus { background-position: -64px -208px; } .uiIcon16.icon-squaresmall-close { background-position: -80px -208px; } -.uiIcon16.icon-grip-dotted-vertical { background-position: 0 -224px; } + +.uiIcon16.icon-grip-dotted-vertical { background-position: 0 -224px; } .uiIcon16.icon-grip-dotted-horizontal { background-position: -16px -224px; } -.uiIcon16.icon-grip-solid-vertical { background-position: -32px -224px; } -.uiIcon16.icon-grip-solid-horizontal { background-position: -48px -224px; } -.uiIcon16.icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.uiIcon16.icon-grip-diagonal-se { background-position: -80px -224px; } +.uiIcon16.icon-grip-solid-vertical { background-position: -32px -224px; } +.uiIcon16.icon-grip-solid-horizontal { background-position: -48px -224px; } +.uiIcon16.icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.uiIcon16.icon-grip-diagonal-se { background-position: -80px -224px; } + .uiIcon16.icon-batt_full { background-image: url(c_max.gif); background-position: 0px 0px } .uiIcon16.icon-batt_disc { background-image: url(c_discharging.gif); background-position: 0px 0px } .uiIcon16.icon-batt_chrg { background-image: url(c_charging.gif); background-position: 0px 0px } -/*yes, defining these all like this is awful, but unless the javascript for icon handling is sorted out this will have to do*/ -.uiIcon16.icon-empty64 { background-image: url(uiIcons64.png); background-position: 0 0; width: 64px; height: 64px; } -.uiIcon16.icon-phone64 { background-image: url(uiIcons64.png); background-position: -64px 0; width: 64px; height: 64px; } -.uiIcon16.icon-comment64 { background-image: url(uiIcons64.png); background-position: -128px 0; width: 64px; height: 64px; } -.uiIcon16.icon-list64 { background-image: url(uiIcons64.png); background-position: -192px 0; width: 64px; height: 64px; } -.uiIcon16.icon-gear64 { background-image: url(uiIcons64.png); background-position: -256px 0; width: 64px; height: 64px; } -.uiIcon16.icon-person64 { background-image: url(uiIcons64.png); background-position: -320px 0; width: 64px; height: 64px; } -.uiIcon16.icon-newspaper64 { background-image: url(uiIcons64.png); background-position: 0 -64px; width: 64px; height: 64px; } -.uiIcon16.icon-note64 { background-image: url(uiIcons64.png); background-position: -64px -64px; width: 64px; height: 64px; } -.uiIcon16.icon-close64 { background-image: url(uiIcons64.png); background-position: -128px -64px; width: 64px; height: 64px; } -.uiIcon16.icon-pill { background-image: url(pills32.png); width: 32px; height: 32px;} -.uiIcon16.icon-pill.pill1 { background-position: 0 0; } -.uiIcon16.icon-pill.pill2 { background-position: -32px 0; } -.uiIcon16.icon-pill.pill3 { background-position: -64px 0; } -.uiIcon16.icon-pill.pill4 { background-position: -96px 0; } -.uiIcon16.icon-pill.pill5 { background-position: -128px 0; } -.uiIcon16.icon-pill.pill6 { background-position: 0 -32px; } -.uiIcon16.icon-pill.pill7 { background-position: -32px -32px; } -.uiIcon16.icon-pill.pill8 { background-position: -64px -32px; } -.uiIcon16.icon-pill.pill9 { background-position: -96px -32px; } -.uiIcon16.icon-pill.pill10 { background-position: -128px -32px; } -.uiIcon16.icon-pill.pill11 { background-position: 0 -64px; } -.uiIcon16.icon-pill.pill12 { background-position: -32px -64px; } -.uiIcon16.icon-pill.pill13 { background-position: -64px -64px; } -.uiIcon16.icon-pill.pill14 { background-position: -96px -64px; } -.uiIcon16.icon-pill.pill15 { background-position: -128px -64px; } -.uiIcon16.icon-pill.pill16 { background-position: 0 -96px; } -.uiIcon16.icon-pill.pill17 { background-position: -32px -96px; } -.uiIcon16.icon-pill.pill18 { background-position: -64px -96px; } -.uiIcon16.icon-pill.pill19 { background-position: -96px -96px; } -.uiIcon16.icon-pill.pill20 { background-position: -128px -96px; } +/*yes, defining these all like this is awful, but unless the javascript for icon handling is sorted out this will have to do*/ +.uiIcon16.icon-empty64 { background-image: url(uiIcons64.png); background-position: 0 0; width: 64px; height: 64px; } +.uiIcon16.icon-phone64 { background-image: url(uiIcons64.png); background-position: -64px 0; width: 64px; height: 64px; } +.uiIcon16.icon-comment64 { background-image: url(uiIcons64.png); background-position: -128px 0; width: 64px; height: 64px; } +.uiIcon16.icon-list64 { background-image: url(uiIcons64.png); background-position: -192px 0; width: 64px; height: 64px; } +.uiIcon16.icon-gear64 { background-image: url(uiIcons64.png); background-position: -256px 0; width: 64px; height: 64px; } +.uiIcon16.icon-person64 { background-image: url(uiIcons64.png); background-position: -320px 0; width: 64px; height: 64px; } +.uiIcon16.icon-newspaper64 { background-image: url(uiIcons64.png); background-position: 0 -64px; width: 64px; height: 64px; } +.uiIcon16.icon-note64 { background-image: url(uiIcons64.png); background-position: -64px -64px; width: 64px; height: 64px; } +.uiIcon16.icon-close64 { background-image: url(uiIcons64.png); background-position: -128px -64px; width: 64px; height: 64px; } +.uiIcon16.icon-sun64 { background-image: url(uiIcons64.png); background-position: -192px -64px; width: 64px; height: 64px; } +.uiIcon16.icon-external64 { background-image: url(uiIcons64.png); background-position: -256px -64px; width: 64px; height: 64px; } + +.uiIcon16.icon-pill { background-image: url(pills32.png); width: 32px; height: 32px;} +.uiIcon16.icon-pill.pill1 { background-position: 0 0; } +.uiIcon16.icon-pill.pill2 { background-position: -32px 0; } +.uiIcon16.icon-pill.pill3 { background-position: -64px 0; } +.uiIcon16.icon-pill.pill4 { background-position: -96px 0; } +.uiIcon16.icon-pill.pill5 { background-position: -128px 0; } +.uiIcon16.icon-pill.pill6 { background-position: 0 -32px; } +.uiIcon16.icon-pill.pill7 { background-position: -32px -32px; } +.uiIcon16.icon-pill.pill8 { background-position: -64px -32px; } +.uiIcon16.icon-pill.pill9 { background-position: -96px -32px; } +.uiIcon16.icon-pill.pill10 { background-position: -128px -32px; } +.uiIcon16.icon-pill.pill11 { background-position: 0 -64px; } +.uiIcon16.icon-pill.pill12 { background-position: -32px -64px; } +.uiIcon16.icon-pill.pill13 { background-position: -64px -64px; } +.uiIcon16.icon-pill.pill14 { background-position: -96px -64px; } +.uiIcon16.icon-pill.pill15 { background-position: -128px -64px; } +.uiIcon16.icon-pill.pill16 { background-position: 0 -96px; } +.uiIcon16.icon-pill.pill17 { background-position: -32px -96px; } +.uiIcon16.icon-pill.pill18 { background-position: -64px -96px; } +.uiIcon16.icon-pill.pill19 { background-position: -96px -96px; } +.uiIcon16.icon-pill.pill20 { background-position: -128px -96px; } .uiIcon16.icon-pill.bottle1 { background-position: 0 -128px; } .uiIcon16.icon-pill.bottle2 { background-position: -32px -128px; } .uiIcon16.icon-pill.bottle3 { background-position: -64px -128px; } diff --git a/nano/images/source/uiIcons64.xcf b/nano/images/source/uiIcons64.xcf index c167e3b686..76c06ea1b6 100644 Binary files a/nano/images/source/uiIcons64.xcf and b/nano/images/source/uiIcons64.xcf differ diff --git a/nano/images/uiIcons64.png b/nano/images/uiIcons64.png index b58eb78f62..d849b3e869 100644 Binary files a/nano/images/uiIcons64.png and b/nano/images/uiIcons64.png differ diff --git a/nano/templates/communicator.tmpl b/nano/templates/communicator.tmpl index 6157f45d61..00f58378be 100644 --- a/nano/templates/communicator.tmpl +++ b/nano/templates/communicator.tmpl @@ -234,9 +234,39 @@ Used In File(s): code\game\objects\items\devices\communicator\communicator.dm - + {{else data.currentTab == 6}} +

Weather

+ +
+
{{:helper.link('Home', 'home', {'switch_tab' : 1})}}

+ + {{for data.weather}} +
+
+ {{:value.Planet}}: +
+
+ Weather: {{:value.Weather}}, {{:value.Temperature - 273.15}}℃
+ High: {{:value.High - 273.15}}℃ | Low: {{:value.Low - 273.15}}℃
+ Wind: {{:value.Wind}} +
+
+ {{empty}} +
+
+ Error +
+
+ No weather reports available. Please try again later. +
+
+ {{/for}} + + + +{{else data.currentTab == 7}}

Settings

@@ -295,4 +325,12 @@ Used In File(s): code\game\objects\items\devices\communicator\communicator.dm -{{/if}} + + +{{else data.currentTab == 8}} + + + + + +{{/if}} \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index cee89d172a..3125a33ac7 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -21,6 +21,7 @@ #include "code\world.dm" #include "code\__defines\_compile_options.dm" #include "code\__defines\_planes+layers.dm" +#include "code\__defines\_tick.dm" #include "code\__defines\admin.dm" #include "code\__defines\appearance.dm" #include "code\__defines\atmos.dm" @@ -53,7 +54,6 @@ #include "code\__defines\species_languages_vr.dm" #include "code\__defines\subsystems.dm" #include "code\__defines\targeting.dm" -#include "code\__defines\tick.dm" #include "code\__defines\turfs.dm" #include "code\__defines\unit_tests.dm" #include "code\__defines\xenoarcheaology.dm" @@ -176,7 +176,6 @@ #include "code\controllers\Processes\event.dm" #include "code\controllers\Processes\game_master.dm" #include "code\controllers\Processes\inactivity.dm" -#include "code\controllers\Processes\machinery.dm" #include "code\controllers\Processes\nanoui.dm" #include "code\controllers\Processes\obj.dm" #include "code\controllers\Processes\planet.dm" @@ -193,6 +192,7 @@ #include "code\controllers\subsystems\creation.dm" #include "code\controllers\subsystems\garbage.dm" #include "code\controllers\subsystems\lighting.dm" +#include "code\controllers\subsystems\machines.dm" #include "code\controllers\subsystems\mobs.dm" #include "code\controllers\subsystems\transcore_vr.dm" #include "code\datums\ai_law_sets.dm" @@ -201,6 +201,7 @@ #include "code\datums\category.dm" #include "code\datums\computerfiles.dm" #include "code\datums\datacore.dm" +#include "code\datums\datum.dm" #include "code\datums\EPv2.dm" #include "code\datums\ghost_query.dm" #include "code\datums\hierarchy.dm" @@ -918,7 +919,12 @@ #include "code\game\objects\items\devices\uplink_random_lists.dm" #include "code\game\objects\items\devices\violin.dm" #include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\communicator\cartridge.dm" #include "code\game\objects\items\devices\communicator\communicator.dm" +#include "code\game\objects\items\devices\communicator\integrated.dm" +#include "code\game\objects\items\devices\communicator\messaging.dm" +#include "code\game\objects\items\devices\communicator\phone.dm" +#include "code\game\objects\items\devices\communicator\UI.dm" #include "code\game\objects\items\devices\PDA\cart.dm" #include "code\game\objects\items\devices\PDA\chatroom.dm" #include "code\game\objects\items\devices\PDA\PDA.dm" @@ -2116,6 +2122,7 @@ #include "code\modules\mob\new_player\sprite_accessories_vr.dm" #include "code\modules\multiz\_stubs.dm" #include "code\modules\multiz\basic.dm" +#include "code\modules\multiz\hoist.dm" #include "code\modules\multiz\ladder_assembly_vr.dm" #include "code\modules\multiz\movement.dm" #include "code\modules\multiz\movement_vr.dm"